cpu和电脑系统哪个难,电脑系统和cpu有关系吗
1.Windows操作系统和Linux操作系统都有什么优缺点,哪个好用些
2.手机的硬件,CPU,软件,操作系统各是指什么,还有那个JAVA又是什么,个操作系统有何区别?可以通过刷...
近日,龙芯在北京开了一场盛大的发布会,并声称和Intel最强技术只有30%的差距。因为从某个角度上看,龙芯更是一个自主设计的产品,作为一个中国人是应该感到兴奋的。但龙芯的发布会又让我们对国产CPU的真实状况和搭配的国产操作系统倍加关注,于是我们在知乎上找到了一篇对比较好的揭底文章:
先不谈制造,直说设计,打着国产旗号的CPU有很多,可以分为以下几个类型:
1. 龙芯这种从下到上都是自主设计,指令集虽然是模仿的,但也勉强算是自主的,现代CPU架构下指令集的差异性已经不大了。
2. 用开源的硬件方案的,代表类型有SPARC架构下的一些CPU,比如神舟飞船上用的就是这类,拿别人开源的东西改改就可以用了。
3. 直接买别人的硬件方案,这了指的是买了全套东西的那种,代表类型有alpha架构,也就是申威系列,太湖之光用的。
4. 拿别人的授权,然后生产CPU的,代表类型是华为海思这种,拿到ARM的授权,然后重新设计的,虽然ARM会提供公版,但像拿来直接用还是有点难度的。
5. 破解、抄袭、打磨别人家的CPU的,有一些研究所在做。
哪个是国产CPU的最好选择?
龙芯这种其实意义是最大的,基本上把CPU设计中所有的水都试过,虽然也出过能跑Linux的桌面版本,但整体技术来说有点落后,并且市场前景也不乐观,MIPS自己都快死了。
龙芯肯定会活着,至少作为国家战略的技术储备,也会有人让它活着,但活的好不好就难说了。玩硬件太烧钱了,看Intel挣的多,烧的钱更多。
SPARC和alpha其实在实际中差不多,一种是开源的,另一种是整体买过来的。问题在于,不管是开源还是买的,基本上搞不到太好的东西,虽然申威拿到的超算的第一,但申威自身的问题很多,比如内存设计就很弱,适合做并行计算,但不适合民用。
当年太湖之光拿下超算第一的时候,很多人觉得国产CPU成气候了,其实不是那么一回事,民用领域对单核性能要求很高的,申威的单核可能还不如龙芯(没研究过具体数据,可能有偏差),申威的优势在于浮点性能强悍,但普通用户要那么强的浮点性能干嘛?
SPARC多用在航天领域,欧洲人一直在用,我们在后面跟着学(之前写的有误,老美用的是PPC,欧洲人用SPARC),我们自己造的SPARC整体上还是有一定的差距,如果只是使用的话,已经足够了。
再次强调,这两类不太适合民用。
第四类就是拿授权,自己设计Soc之类的,这类包含很多,广义一点来说,兆芯(x86)、飞腾(ARM)、海思(ARM)、展讯(ARM)等等,好像PPC指令集在国内也有拿到授权的。龙芯拿到MIPS授权以后,其实也可以归到这类,但毕竟龙芯早期确实是全自主设计,只不过是“兼容”MIPS指令,而且龙芯发布的年代国内缺人缺钱,条件要困难的多。
狭义的看,像兆芯这种其实不算,因为没有什么自主性可言,其实就是VIA,但要是哪天VIA卖给国内也许不是什么坏事,起码可以合法生产x86的CPU了(评论里说最新的兆芯已经重新设计IP了,如果这样就跟海思之类的差不多)。
拿到的授权不同,自主的程度也不一样,有些可以做深度定制,有些就只能简单改改,因为这类厂商实在是太多了,我了解的不全,不好一一评价。但我个人认为,从商业化的角度上看,这条路是最好走的。兼容性上没有门槛,前期不需要烧特别多的钱(但也不少),对于商业化来说相对比较容易。
最后一类是拿别人的片子搞破解抄袭之类的,基本没有什么市场可言,要么是打着科研的旗号,要么打着国防的旗号,要么就是纯粹骗钱,当然可能两三种情况并存的也有。还有,特别注意区别一下龙芯是自己做出来的,汉芯是靠打磨骗钱的,两个不是一回事。
以上都是CPU设计方面的。
关于制造方面
生产方面,国内芯片工艺相对落后,光刻机被卡着脖子,高端的芯片生产不了。这里的芯片类型包括但不限于CPU、内存、Flash存储等,低端的可以做一些,高端的基本没戏。设计CPU已经很烧钱了,造CPU就更烧钱,这方面除了收购别人已经没有捷径可言,可是稍微好点的又限制中国收购(镁光),龙芯过去都是委托别人制造的。
光刻机虽然是别人不卖(编者按:据ASML相关人透露,现在是已经取消这个限制了),但主要原因还是工业积累的时间不够长。从科技树的角度上看,光刻机依赖于高精度机床、高精度光学设备(镜片),这些东西国产的都不行,说到尼康,都知道是做单反的,其实尼康还做光刻机,而国内就没有这样的企业,所以国产光刻机的路还很漫长。
国产操作系统的“烂账”
说的到国产操作系统,这个话题就太大了,因为广义上说国产操作系统太多了。大致分这么几类:
1. 全自主设计的;
2. 拿开源的改的;
3. 合法的拿闭源的改的;
4. 不合法的。
以上所有大类又可以细分为民用市场和专用领域两大块,其中2、3条又分为改logo改皮肤的,以及深度定制的。
软件不像硬件那么好界定,毕竟指令集什么的,是一下就能看出来的,软件想要搞清楚究竟是借鉴还是抄袭还是原创,有一定难度。
下面挨个细说一下:
全自主设计的,这个怎么说呢,要说多,也非常多,一个计算机专业的本科生或者研究生,水平高的就能自己搞一个简单的内核,16位的、32位的、64位的,基于SMP/SMT的,甚至带虚拟化的,我自己都写过类似的东西。难度一点也不高,但操作系统重要的是生态,这方面全自主设计的国产系统基本上是零。
全自主设计的国产系统,一般都在专用领域,总之民用的不多见,比如嵌入式的DJYOS(我不是太了解,只是听说)等等。
拿开源的改的,是国产系统里最常见的方式,因为这样可以避免生态系统的困局,但也很容易招骂,比如过去的麒麟、红旗之类的。基本上都是改Linux,或者BSD系列。这里也有一些深度定制的,比如deepin之类的。
安卓家族从广义上说也是这类,几家手机厂商都在搞,另外像阿里云之类的也属于类Linux系统。
普通用户接触的“国产”操作系统,大部分属于拿开源的改的这一类。同时,在超算、嵌入式领域,这种思路也行得通。
合法拿闭源的改的,这类里也有不少,只不过很多人不了解。跟硬件一样,软件一样可以拿到完整的授权(源码级),然后就可以自己DIY了,只不过要掏很多钱,代表类型是VxWorks这类,在嵌入式里很常见。我在上家公司做交换机的时候,OS的核心也是买的。
还有一类是不合法的,但这种却没人管,因为管不了,主要集中在国防,航天军工这类行业里。前面我已经说了,国内喜欢抄老美的方案,不管硬件还是软件,硬件的CPU抄完,操作系统也跟着抄,但因为不敢明面上直接抄,只好打着兼容XXX系统这种旗号了,究竟这类系统是全自主的还是全抄袭的还是混合的,我也搞不清楚,民用领域很难接触到,不做评价。
就出路而言,2、3、4其实差不多,论自主可控程度,基本上都是一致的(都有源码)。别觉得抄的东西不一定就好,其实抄别人的,本身也不那么容易,抄好了反过来把对方吞并,也不是不可能。
有些领域因为要紧跟着老美的步伐,不得不采用抄袭的方式,这其实是一种省钱办事的好方法,自己去试水需要付出的时间和金钱的代价都太大,本来我们就落后,再挨个试水,差距只会越来越大。
有人会说源码不是中国人写的,不安全。我想说的是:源码都给你了你还觉得不安全,那什么是安全?中国人自己写的就安全无bug?简直是笑话。是从头写一个操作系统更容易更稳定,还是拿现有的源码研究更容易更稳定?
至于民用系统,走Linux的路子其实也没什么问题,将来国内企业有钱了,保留Linux上层API,把内核换了就完事了,况且Linux社区里华人的贡献也不少呢。Linux是属于全世界的。
同时,也别把国产系统想的多么重要,从科技树的角度上看,国产系统依赖国产硬件,国产硬件依赖国产工业设备(机床、光刻),先把依赖性搞清楚了再看看哪个才是最重要的。真有一天美国对中国搞技术封锁了,最大的问题是芯片,而不是什么操作系统之类的东西。
而且建立一个完善的生态系统需要很多很多钱,可能是几倍十几倍三峡工程、京沪高铁的钱,国内缺钱的地方很多,搞IT的千万别觉得自己是个程序员,国内的所有资源都应该投放到软件行业。代码不能当饭吃,代码不能当水喝,代码也不能给谁生孩子。
Windows操作系统和Linux操作系统都有什么优缺点,哪个好用些
CPU决定了你的操作系统,操作系统决定了你的程序。
比如。X86只支持32位的操作系统。
有很多软件只能在32位平台运行,如果你装到64位平台上,软件不支持64位,就运行不了。
手机的硬件,CPU,软件,操作系统各是指什么,还有那个JAVA又是什么,个操作系统有何区别?可以通过刷...
1.Linux的操作比较复杂,windows的比较简单.
Linux速度比较快,安全性比windows好
但是有很多软件只能在windows里运行
与Linux兼容的软件正在开发中.
Linux适用在网络方面.
2. 什么是Linux?
简单地说, Linux是一套免费使用和自由传播的类 Unix操作系统,它主要用于基
于 Intel x86系列 CPU的计算机上。这个系统是由世界各地的成千上万的程序员
设计和实现的。其目的是建立不受任何商品化软件的版权制约的、全世界都能自
由使用的 Unix兼容产品。 Linux的出现,最早开始于一位名叫 Linus Torvalds
的计算机业余爱好者,当时他是芬兰赫尔辛基大学的学生。他的目的是想设计一
个代替 Minix(是由一位名叫 Andrew Tannebaum的计算机教授编写的一个操作系
统示教程序)的操作系统,这个操作系统可用于 386、 486或奔腾处理器的个人
计算机上,并且具有 Unix操作系统的全部功能,因而开始了 Linux雏形的设计。
Linux以它的高效性和灵活性著称。它能够在 PC计算机上实现全部的 Unix特性,
具有多任务、多用户的能力。 Linux是在 GNU公共许可权限下免费获得的,是一
个符合 POSIX标准的操作系统。 Linux操作系统软件包不仅包括完整的 Linux操
作系统,而且还包括了文本编辑器、高级语言编译器等应用软件。它还包括带有
多个窗口管理器的 X-Windows图形用户界面,如同我们使用 Windows NT一样,允
许我们使用窗口、图标和菜单对系统进行操作。
Linux与其他操作系统有什么区别:
Linux可以与 MS-DOS、 OS/2、 Windows等其他操作系统共存于同一台机器上。它
们均为操作系统,具有一些共性,但是互相之间各有特色,有所区别。
目前运行在 PC机上的操作系统主要有Microsoft的 MS-DOS、 Windows、 Windows
NT、 IBM的 OS/2等。早期的 PC机用户普遍使用 MS-DOS,因为这种操作系统对机
器的硬件配置要求不高,而随着计算机硬件技术的飞速发展,硬件设备价格越来
越低,人们可以相对容易地提高计算机的硬件配置,于是开始使用
Windows、Windows NT等具有图形界面的操作系统。 Linux是新近被人们所关注的
操作系统,它正在逐渐为 PC机的用户所接受。那么, Linux与其他操作系统的主
要区别是什么呢?下面从两个方面加以论述。
首先看一下Linux与 MS- DOS之间的区别。 在同一系统上运行 Linux和 MS-DOS
已很普遍,就发挥处理器功能来说, MS-DOS没有完全实现 x86处理器的功能,而
Linux完全在处理器保护模式下运行,并且开发了处理器的所有特性。 Linux可以
直接访问计算机内的所有可用内存,提供完整的 Unix接口。而 MS-DOS只支持部
分 Unix的接口。
就使用费用而言, Linux和 MS-DOS是两种完全不同的实体。与其他商业操作系统
相比, MS-DOS价格比较便宜,而且在 PC机用户中有很大的占有率,任何其他 PC
机操作系统都很难达到 MS-DOS的普及程度,因为其他操作系统的费用对大多数
PC机用户来说都是一个不小的负担。 Linux是免费的,用户可以从 internet上或
者其他途径获得它的版本,而且可以任意使用,不用考虑费用问题。 就操作系统
的功能来说, MS-DOS是单任务的操作系统,一旦用户运行了一个 MS-DOS的应用
程序,它就独占了系统的资源,用户不可能再同时运行其他应用程序。而 Linux
是多任务的操作系统,用户可以同时运行多个应用程序。 再看一下 Linux与
OS/2、 Windows、 Windows NT之间的区别。
从发展的背景看, Linux与其他操作系统的区别是, Linux是从一个比较成熟的
操作系统发展而来的,而其他操作系统,如 Windows NT等,都是自成体系,无对
应的相依托的操作系统。这一区别使得 Linux的用户能大大地从 Unix团体贡献中
获利。因为 Unix是世界上使用最普遍、发展最成熟的操作系统之一,它是七十年
代中期发展起来的微机和巨型机的多任务系统,虽然有时接口比较混乱,并缺少
相对集中的标准,但还是发展壮大成为了最广泛使用的操作系统之一。无论是
Unix的作者还是 Unix的用户,都认为只有 Unix才是一个真正的操作系统。
3. 首先你需要明白,Linux不是windows,它不是一个由一家商业公司维护的软件
,
只有一个包装。Linux是可以任意包装自由配置的东西。任何一个人,一家公司
都可以按照自己的想法,比如加一点功能,加中文支持,作一个Linux出来。这些
Linux虽然核心部分都一样,但是他们所带的各种软件,缺省的配置都不一样。区
别
是用一种Linux 发布 (不同的Linux我们叫做不同的发布)也许硬件很好配置,
各种软件也好安装,用另外一种也许速度快,再一种也许支持中文比较好。总之
没有白吃的午餐,在windows下想当然的东西在linux下也许需要你熬夜才能得到
。
所以从一开始选择distribution就必须非常小心,否则因为自己刚好随某个杂志
得到一个Linux发布就以为所有的都一样就开始安装,等硬盘数据毁了,
或者网络哭天跄地也配不出来的时候,就晚了。不是开玩笑,我知道windows下
安装驱动程序就是鼠标点几下,可是在Linux下,为了驱动一个网卡,折腾一夜
是不希奇的 -- 当然,我觉得这是值得的。
所以,面对那么多Linux distribution,你应当选择哪个呢?
比较著名的Linux distribution有:
RedHat:最新版本6.2, 7.0beta。由于RedHat公司已经上市,获得了很多
商业的支持,所以它在硬件软件兼容性上很好。实际上它已经是Linux的
工业标准。想象一下如果你是一个比如Oracle这样厂商的老板,你需要为
Linux开发一个版本,而不同的Linux dist需要单独开发维护,为成本考虑你
自然会只认准一个Linux。
Slackware(7.1)。很早就有的Linux,有很多老的忠实用户,但现在越来越不行了
。
SuSe Linux,德国人做的,在欧洲很流行,有一些驱动上的优势。
另外还有Debian,CorelLinux等dist,不一一介绍了。
还有你会看到国内媒体上吹捧的各种“中文Linux”,他们的优势主要是有
中文处理。但是如前一篇文章提到的,想用中文,用windows 2000最好。实际上
我觉得一个老7字班的前辈跟我说的一句话很好:“(对我们来说)在计算机上看
到
中文本身就是一件很古怪的事情”。如果你是抱着学习计算机的目的而来,那么
你不可能避免阅读英文文档。即使是microsoft的文档,有关编程的文档,最新的
也
全是英文。当然,要上BBS,看中文网页等,用英文的dist一样能做到
4. Linux和Windows的区别
和Linux 一样,Windows系列是完全的多任务操作系统。它们支持同样的用户接口
、网络和安全性。但是,Linux和Windows的真正区别在于,Linux 事实上是Unix
的一种版本,而且来自Unix的贡献非常巨大。是什么使得Unix如此重要?不仅在
于对多用户机器来说,Unix是最流行的操作系统,而且在于它是免费软件的基础
。在Internet上,大量免费软件都是针对Unix系统编写的。由于有众多的Unix厂
商,所以Unix也有许多实现方法。没有一个单独的组织负责Unix的分发。现在,
存在一股巨大的力量推动Unix社团以开放系统的形式走向标准化。另一方面Windo
ws系列是专用系统,由开发操作系统的公司控制接口和设计。在这个意义上这种
公司利润很高,因为它对程序设计和用户接口设计建立了严格的标准,和那些开
放系统社团完全不一样。一些组织正在试图完成标准化Unix程序设计接口的任务
。特别要指出的是,Linux完全兼容POSIX.1标准。
安全问题对于IT管理员来说是需要长期关注的。主管们需要一套框架来对操作系
统的安全性进行合理的评估,包括:基本安全、网络安全和协议,应用协议、发
布与操作、确信度、可信计算、开放标准。在本文中,我们将按照这七个类别比
较微软Windows和Linux的安全性。最终的定性结论是:目前为止,Linux提供了相
对于Windows更好的安全性能,只有一个方面例外(确信度)。
无论按照什么标准对Windows和Linux进行评估,都存在一定的问题:每个操作系
统都不止一个版本。微软的操作系统有Windows98、 Windows NT、 Windows 2000
、 Windows 2003 Server和Windows
CE,而Linux的发行版由于内核(基于2.2、2.4、2.6)的不同和软件包的不同也
有较大的差异。我们本文所使用的操作系统,都是目前的技术而不是那些"古老"
的解决方案。
用户需要记住:Linux和Windows在设计上就存在哲学性的区别。Windows操作系统
倾向于将更多的功能集成到操作系统内部,并将程序与内核相结合;而Linux不同
于Windows,它的内核空间与用户空间有明显的界限。根据设计架构的不同,两者
都可以使操作系统更加安全。
Linux和Windows安全性的基本改变
对于用户来说,Linux和Windows的不断更新引发了两者之间的竞争。用户可以有
自己喜欢的系统,同时也在关注竞争的发展。微软的主动性似乎更高一些――这
是由于业界"冷嘲热讽"的"激励"与Linux的不断发展。微软将在下几个月对Window
s安全进行改观,届时微软会发布Windows XP的WindowsXP Service Pack 2。这一
服务包增强了Windows的安全性,关闭了原先默认开放的许多服务,也提供了新的
补丁管理工具,例如:为了避免受到过多无用的信息,警告服务和信使服务都被
关闭。大多数情况下,关闭这些特性对于增强系统安全性是有好处的,不过很难
在安全性与软件的功能性、灵活性之间作出折衷。
最显著的表现是:微软更加关注改进可用性的同时增强系统的安全性。比如:200
3年许多针对微软的漏洞攻击程序都使用可执行文件作为电子邮件的附件(例如My
Doom)。Service Pack2包括一个附件执行服务,为Outlook/Exchange、 Windows
Messenger和Internet Explorer提供了统一的环境。这样就能降低用户运行可执
行文件时感染病毒或者蠕虫的威胁性。另外,禁止数据页的可执行性也会限制潜
在的缓冲区溢出的威胁。不过,微软在WindowsXP Service Pack
2中并没有修改Windows有问题的架构以及安全传输的部分,而是将这部分重担交
给了用户。
微软的重点显然是支持应用程序的安全性。WindowsXP Service Pack 2中增强的
许多方面都是以Outlook/Exchange和Internet
Explorer作为对象的。例如:Internet Explorer中有一个智能的MIME类型检查,
会对目标的内容类型进行检查,用户可以获悉该内容中是否存在潜在的有害程序
。不过这一软件是不是能将病毒与同事的电子数据表区分开来呢?
WindowsXP Service Pack 2的另一个新特性是能够卸载浏览器的多余插件,这需
要终端用户检查并判断需要卸载哪些插件。Outlook/Exchange可以预览电子邮件
消息,因此用户可以在打开之前就将电子邮件删除。另一个应用安全的增强,防
火墙在网络协议栈之前启动。对于软件开发者来说,远方过程调用中权限的改变
,使得安全性差的代码难以工作正常。
WindowsXP Service Pack 2也为Windows用户提供了许多华丽的新特性,但是问题
仍然存在:这些特性会不会对管理员甚至是终端用户造成负担?是不是在增加了W
indows操作系统代码安全性的同时让系统变得更加复杂?
Linux 与 Windows 的不同
虽然有一些类似之处,但Windows和Linux的工作方式还是存在一些根本的区别。
这些区别只有在您对两者都很熟悉以后才能体会到,但它们却是 Linux 思想的核
心。
Linux 的应用目标是网络而不是打印
Windows最初出现的时候,这个世界还是一个纸张的世界。Windows的伟大成就之
一在于您的工作成果可以方便地看到并打印出来。这样一个开端影响了 Windows
的后期发展。
同样,Linux 也受到了其起源的影响。Linux 的设计定位于网络操作系统。它的
设计灵感来自于 Unix 操作系统,因此它的命令的设计比较简单,或者说是比较
简洁。由于纯文本可以非常好地跨网络工作,所以 Linux 配置文件和数据都以文
本为基础。
对那些熟悉图形环境的人来说,Linux服务器初看可能比较原始。但是Linux开发
更多关注的是它的内在功能而不是表面上的东西。即使是在纯文本的环境中,Lin
ux同样拥有非常先进的网络、脚本和安全能力。执行一些任务所需的某些表面上
看起来比较奇怪的步骤是令人费解的,除非您认识到 Linux 是期望在网络上与其
他 Linux系统协同执行这些任务。Linux的自动执行能力也很强,只需要设计批处
理文件就可以让系统自动完成非常详细的任务。Linux 的这种能力来自于其基于
文本的本质。
可选的 GUI
Linux有图形组件。Linux支持高端的图形适配器和显示器,完全胜任图形相关的
工作。现在,许多数字效果艺术家在Linux工作站上来进行他们的设计工作,而以
前这些工作需要使用IRIX系统来完成。但是,图形环境并没有集成到 Linux 中,
而是运行于系统之上的单独一层。这意味着您可以只运行 GUI,或者在需要时才
运行 GUI。如果您的系统主要任务是提供Web应用,那么您可以停掉图形界面,而
将其所用的内存和CPU资源用于您的服务。如果您需要在 GUI 环境下做一些工作
,可以再打开它,工作完成后再将其关闭。
Linux 有图形化的管理工具,以及日常办公的工具,比如电子邮件、网络浏览器
和文档处理工具等。不过,在 Linux 中,图形化的管理工具通常是控制台 (命令
行) 工具的扩展。也就是说,用图形化工具能完成的所有工作,用控制台命令同
样可以完成。同样,使用图形化工具并不妨碍您对配置文件进行手工修改。其实
际意义可能并不是特别显而易见,但是,如果在图形化管理工具中所做的任何工
作都可以以命令行的方式完成,这就表示那些工作也可以由一个脚本来实现。脚
本化的命令可以成为自动执行的任务。Linux 同时支持这两种方式,并不要求您
只用文本或者只用 GUI。您可以根据您的需要选择最好的方法。
Linux 中的配置文件是人类可读的文本文件,这与过去的 Windows 中的 INI 文
件类似,但与 Windows 的注册表机制在思路上有本质的区别。每一个应用程序都
有其自己的配置文件,而且通常不与其他的配置文件放在一起。不过,大部分的
配置文件都存放于一个目录树 (/etc) 下的单个地方,所以看起来它们在逻辑上
是在一起。文本文件的配置方式使得不通过特殊的系统工具就可以完成配置文件
的备份、检查和编辑工作。
文件名扩展
Linux不使用文件名扩展来识别文件的类型。相反,Linux根据文件的头内容来识
别其类型。为了提高人类可读性您仍可以使用文件名扩展,但这对 Linux 系统来
说没有任何作用。不过,有一些应用程序,比如 Web 服务器,可能使用命名约定
来识别文件类型,但这只是特定的应用程序的要求而不是 Linux 系统本身的要求
。
Linux通过文件访问权限来判断文件是否为可执行文件。任何一个文件都可以赋予
可执行权限,这样程序和脚本的创建者或管理员可以将它们识别为可执行文件。
这样做有利于安全。保存到系统上的可执行的文件不能自动执行,这样就可以防
止许多脚本病毒。
重新引导是最后的手段
如果您使用Windows已经很长时间了,您可能已经习惯出于各种原因(从软件安装
到纠正服务故障)而重新引导系统。在Linux思想中您的这一习惯需要改变。Linu
x在本质上更遵循“牛顿运动定律”。一旦开始运行,它将保持运行状态,直到受
到外来因素的影响,比如硬件的故障。实际上,Linux系统的设计使得应用程序不
会导致内核的崩溃,因此不必经常重新引导(与Windows系统的设计相对而言)。
所以除了Linux内核之外,其他软件的安装、启动、停止和重新配置都不用重新引
导系统。
如果您确实重新引导了 Linux 系统,问题很可能得不到解决,而且还会使问题更
加恶化。学习并掌握 Linux 服务和运行级别是成功解决问题的关键。学习 Linux
最困难的就是克服重新引导系统的习惯。
另外,您可以远程地完成Linux中的很多工作。只要有一些基本的网络服务在运行
,您就可以进入到那个系统。而且,如果系统中一个特定的服务出现了问题,您
可以在进行故障诊断的同时让其他服务继续运行。当您在一个系统上同时运行多
个服务的时候,这种管理方式非常重要。
命令区分大小写
所有的 Linux 命令和选项都区分大小写。例如, -R 与 -r 不同,会去做不同的
事情。控制台命令几乎都是小写的。我们将在“ 第 2 部分. 控制台速成班”中
对命令进行更详细的介绍。
广泛的硬件支持可能是任何流行操作系统最基本的要求,也是可伸缩性的一个重要方面。Windows操作系统在这个方面做得的确非常出色:一方面,Windows的广泛使用使得任何硬件厂商在推出新的硬件时都会把Windows当作标准的平台加以支持,并且不断为新的Windows版本更新驱动程序;另一方面,大量的硬件支持又反过来推动了Windows平台的进一步普及。
Linux的硬件驱动程序通常都是由那些需要这些硬件的用户自己来开发的. Linux的共享性能够很快地给那些常用的硬件提供驱动程序,这些驱动程序需要后续的支持和帮助,来克服潜在的不稳定性。至于一些尚未普及的组件,如各式各样的USB设备,其驱动程序的开发将需要更多的支持,来满足不同用户的需要。
SMP(对称多处理器)支持
CPU是计算机系统的核心部分,是否具有良好的SMP支持将直接影响大型应用下的性能。
Windows 2000 Advanced Server的零售版本最多支持四路SMP,OEM版可以支持最多达32路的SMP。对CPU的支持级别和Windows 4.0相比没有什么变化,但是对SMP的实现代码进行了改进,使得高性能的缩放可以更为“线性”地进行。Windows NT Server 4.0企业版已经实现了创纪录的性能价格水平,随着对SMP缩放的改进,这一趋势将在Windows 2000 Advanced Server和Datacenter Server中得到延续。在采用八路设计或者多于八路设计的系统中,性能的提高最为明显。
而Linux正致力于解决核心部分中的SMP支持,以提高Linux在大型应用下的性能。尽管Linux不是为SMP而设计的,Linux Torvalds也曾经说过Linux的SMP评测表现很差,但是我们期望这些问题能够在2.4版本内核中得到解决,使更多的学校或者企业可以使用经过考验的Linux来实现他们的核心程序。
对群集的支持
Windows 2000 Server具有强大的群集功能。Compaq最近之所以能在TPC-C比赛中傲视群雄,击败所有对手,靠的就是一个巨大的有着12个节点,96个处理器的群集,而它们运行的是Windows 2000 Server。
尽管Linux没有在高端系统中运行关键性应用程序方面有出色记录,但最近Linux在群集项目也发布了不少东西,希望Linux的开发者大军可以开发出更完善的群集功能
对特定计算环境的支持
使每一个系统都有适合于自己的工作场合,这就是系统对特定计算环境的支持。
微软开发了不同的操作系统来完成不同类型的任务。Windows CE适用于小型的手持式电脑和笔记本电脑,Windows 95/98和Windows 2000 Professional适用于桌面计算机,而Windows NT 4.0和Windows 2000 Server则适用于大型服务器应用程序。作为一个系列操作系统家族,Windows对各种不同的工作环境提供了良好的伸缩性支持。
由于Linux大部分可用的平台处于开发的初始阶段,对于各种不同计算环境的支持将是Linux系统的下一步目标。
文档编制
众所周知,随着系统变得越来越复杂,功能越来越强大,编制一个好的文档是非常重要的。这有助于用户对系统的理解和管理。详尽的文档说明,有助于我们熟练地掌握它所有的功能和特性。
微软通常为其产品提供了深入细致的文档说明,在文档的本地化方面也做得很好。Linux产品的文档说明需要进一步的规范。
回答者:可爱的小刚丝 - 试用期 一级 9-6 13:12
1、从系统构成上来说,linux是开源软件,而windows不是。那就意味着,如果你喜欢你可以对linux系统做你想做的任何改动。而这点对于windows来说,是想也不要想的。
2、从运行的稳定性来说。各有利弊。但linux的任何程序都是相对独立的,哪怕gnome和kde(图形界面)也是独立的。而软件的崩溃只是软件的崩溃,很少造成系统的瘫痪(死机)。只有重新运行程序就好了。windows吗,就不用说了,没见过windows死机的人,我没见过。
3、从多用户来说,linux是真正的多用户系统。可以多个用户真正登录,这对于windows来说,虽然也有了雏形,但太儿戏化了,摆设而已。
4、对于中文的支持来说。windows的多个版本对于windows的支持是很强的。字体也很漂亮。而linux虽然也支持中文,但要完全支持中文是要手动做很多设置的,不过就算做的再好。总有机会看到中文乱码的(因为几乎每个软件都要设置字体和字符编码的)。而且中文的字体比较烦,不是很好看。(好看的基本都不是开源的。ps:如果你都不想为操作系统花钱,还会去买几个字体吗。当然也有盗版@不是用linux的初衷了。)
5、对于系统更新来说,apt是目前linux不二的选择了,快捷普遍、简单。而且无什么正版验证之虞的。windows也不错,可以漏洞总比补丁来的快,更何况我没用过正版的呢。
6、从安全性来说。其实上一条也说过这个问题了。我们用windows时,杀毒软件、防火墙、防垃圾软件、防间谍软件占去了大部分的系统资源。可这样还是防不胜防的。有谁没中过毒或木马、流氓软件呢?
linux?不用这些烦人的东西。
7、从应用软件来说,虽然linux下的软件有很多,但和windows来说,真的没办法比的。谁让windows几乎成了操作系统的代名了呢。
8、从易用性来说,我自我的感觉,在常用的windows、mac、linux中,无论界面、鼠标操作、文件格式,windows都是相当容易上手的。其他的操作系统,几乎都要是摸索中探索的。更何况linux的很多配置都是基于文档的,也就是要手工的修改一些配置文件。对于想我这样的老人来说,厄长的代码,明天还能记得否?
windows几乎一支鼠标就能解决所有问题。呵呵
9、综述:当然各种的优缺点远不至就这些,就不过说了。
如果要出于个人应用的话,还是用windows吧。学习容易,资料好早。
如果出于学习的话,还是用用linux吧,但你要做好不厌其烦的心理准备!对于混乱的linux版本来说,你要记得同样的问题,可以有n种解决办法,但可能只有一种合适你的。网上资料相对比较匮乏,比较单一,而且抄袭严重。
linux我推荐用新华linux,中文化很好了(少烦很多神的),论坛也做的不错。
“嵌入”的概念
主要从三个方面上来理解。
1、从硬件上,将基于CPU的处围器件,整合到CPU芯片内部,比如早期基于X86体系结构下的计算机,CPU只是有运算器和累加器的功能,一切芯片要造外部桥路来扩展实现,象串口之类的都是靠外部的16C550/2的串口控制器芯片实现,而目前的这种串口控制器芯片早已集成到CPU内部,还有PC机有显卡,而多数嵌入式处理器都带有LCD控制器,但其种意义上就相当于显卡。比较高端的ARM类Intel Xscale架构下的IXP网络处理器CPU内部集成PCI控制器(可配成支持4个PCI从设备或配成自身为CPI从设备);还集成3个NPE网络处理器引擎,其中两个对应于两个MAC地址,可用于网关交换用,而另外一个NPE网络处理器引擎支持DSL,只要外面再加个PHY芯片即可以实现DSL上网功能。IXP系列最高主频可以达到1.8G,支持2G内存,1G×10或10G×1的以太网口或Febre channel的光通道。IXP系列应该是目标基于ARM体系统结构下由intel进行整合后成Xscale内核的最高的处理器了。
2、从软件上前,就是在定制操作系统内核里将应用一并选入,编译后将内核下载到ROM中。而在定制操作系统内核时所选择的应用程序组件就是完成了软件的“嵌入”,比如WinCE在内核定制时,会有相应选择,其中就是wordpad,PDF,MediaPlay等等选择,如果我们选择了,在CE启动后,就可以在界面中找到这些东西,如果是以前PC上将的windows操作系统,多半的东西都需要我们得新再装。
3、把软件内核或应用文件系统等东西烧到嵌入式系统硬件平台中的ROM中就实现了一个真正的“嵌入”。
以上的定义是我在6、7年前给嵌入式系统下自话侧重于理解型的定义,书上的定义也有很多,但在这个领域范围内,谁都不敢说自己的定义是十分确切的,包括那些专家学者们,历为毕竟嵌入式系统是计算机范畴下的一门综合性学科
二、嵌入式系统的分层与专业的分类。
嵌入式系统分为4层,硬件层、驱动层、操作系统层和应用层。
1、硬件层,是整个嵌入式系统的根本,如果现在单片机及接口这块很熟悉,并且能用C和汇编语言来编程的话,从嵌入式系统的硬件层走起来相对容易,硬件层也是驱动层的基础,一个优秀的驱动工程师是要能够看懂硬件的电路图和自行完成CPLD的逻辑设计的,同时还要对操作系统内核及其调度性相当的熟悉的。但硬件平台是基础,增值还要靠软件。
硬件层比较适合于,电子、通信、自动化、机电一体、信息工程类专业的人来搞,需要掌握的专业基础知识有,单片机原理及接口技术、微机原理及接口技术、C语言。
2、驱动层,这部分比较难,驱动工程师不仅要能看懂电路图还要能对操作系统内核十分的精通,以便其所写的驱动程序在系统调用时,不会独占操作系统时间片,而导至其它任务不能动行,不懂操作系统内核架构和实时调度性,没有良好的驱动编写风格,按大多数书上所说添加的驱动的方式,很多人都能做到,但可能连个初级的驱动工程师的水平都达不到,这样所写的驱动在应用调用时就如同windows下我们打开一个程序运行后,再打开一个程序时,要不就是中断以前的程序,要不就是等上一会才能运行后来打开的程序。想做个好的驱动人员没有三、四年功底,操作系统内核不研究上几编,不是太容易成功的,但其工资在嵌入式系统四层中可是最高的。
驱动层比较适合于电子、通信、自动化、机电一体、信息工程类专业尤其是计算机偏体系结构类专业的人来搞,除硬件层所具备的基础学科外,还要对数据结构与算法、操作系统原理、编译原理都要十分精通了解。
3、操作系统层,对于操作系统层目前可能只能说是简单的移植,而很少有人来自已写操作系统,或者写出缺胳膊少腿的操作系统来,这部分工作大都由驱动工程师来完成。操作系统是负责系统任务的调试、磁盘和文件的管理,而嵌入式系统的实时性十分重要。据说,XP操作系统是微软投入300人用两年时间才搞定的,总时工时是600人年,中科院软件所自己的女娲Hopen操作系统估计也得花遇几百人年才能搞定。因此这部分工作相对来讲没有太大意义。
4、应用层,相对来讲较为容易的,如果会在windows下如何进行编程接口函数调用,到操作系统下只是编译和开发环境有相应的变化而已。如果涉及Jave方面的编程也是如此的。嵌入式系统中涉及算法的由专业算法的人来处理的,不必归结到嵌入式系统范畴内。但如果涉及嵌入式系统下面嵌入式数据库、基于嵌入式系统的网络编程和基于某此应用层面的协议应用开发(比如基于SIP、H.323、Astrisk)方面又较为复杂,并且有难度了。
三、目标与定位。
先有目标,再去定位。
学ARM,从硬件上讲,一方面就是学习接口电路设计,另一方面就是学习汇编和C语言的板级编程。如果从软件上讲,就是要学习基于ARM处理器的操作系统层面的驱动、移植了。这些对于初学都来说必须明确,要么从硬件着手开始学,要么从操作系统的熟悉到应用开始学,但不管学什么,只要不是纯的操作系统级以上基于API的应用层的编程,硬件的寄存器类的东西还是要能看懂的,基于板级的汇编和C编程还是要会的。因此针对于嵌入式系统的硬件层和驱动程的人,ARM的接口电路设计、ARM的C语言和汇编语言编程及调试开发环境还是需要掌握的。
因此对于初学者必然要把握住方向,自己的目标是什么,自己要在那一层面上走。然后再着手学习较好,与ARM相关的嵌入式系统的较为实际的两个层面硬件层和驱动层,不管学好了那一层都会很有前途的。
如果想从嵌入式系统的应用层面的走的话,可能与ARM及其它体系相去较远,要着重研究基嵌入式操作系统的环境应用与相应开发工具链,比如WinCe操作系统下的EVC应用开发(与windows下的VC相类似),如果想再有突破就往某些音视频类的协议上靠,比如VOIP领域的基于SIP或H.323协议的应用层开发,或是基于嵌入式网络数据库的开发等等。
对于初学者来讲,要量力而行,不要认为驱动层工资高就把它当成方向了,要结合自身特点,嵌入式系统四个层面上那个层面上来讲都是有高人存在,当然高人也对应的高工资,我是做硬件层的,以前每月工资中个人所得税要被扣上近3千大元,当然我一方面充当工程师的角色,一方面充当主管及人物的角色,两个职位我一个人干,但上班时间就那些。硬件这方面上可能与我PK的人很少了,才让我拿到那么多的工资。
四、开发系统选择。
很多ARM初学者都希望有一套自己能用的系统,但他们住住会产生一种错误认识就是认为处理器版本越高、性能越高越好,就象很多人认为ARM9与ARM7好,我想对于初学者在此方面以此入门还应该理智,开发系统的选择最终要看自己往嵌入式系统的那个方向上走,是做驱动开发还是应用,还是做嵌入式系统硬件层设计与板级测试。如果想从操作系统层面或应用层面上走,不管是驱动还是应用,那当然处理器性能越高越好了,但这个东西自学,有十分大的困难,不是几个月或半年或是一年二年能搞定的事。
在某种意义上请,ARM7与9的差别就是在某些功能指令集上丰富了些,主频提高一些而已,就比如286和386。对于用户来讲可能觉查不到什么,只能是感觉速度有些快而已。
ARM7比较适合于那些想从硬件层面上走的人,因为ARM7系列处理器内部带MMU的很少,而且比较好控制,就比如S3C44B0来讲,可以很容易将Cache关了,而且内部接口寄存器很容易看明白,各种接口对于用硬件程序控制或AXD单步命令行指令都可以控制起来,基于51单片机的思想很容易能把他搞懂,就当成个32位的单片机,从而消除很多51工程师想转为嵌入式系统硬件ARM开发工程师的困惑,从而不会被业界某此不是真正懂嵌入式烂公司带到操作系统层面上去,让他们望而失畏,让业界更加缺少这方面的人才。
而嵌入式系统不管硬件设计还是软件驱动方面都是十分注重接口这部分的,选择平台还要考察一个处理器的外部资源,你接触外部资源越多,越熟悉他们那你以后就业成功的机率就越高,这就是招聘时所说的有无“相关技能”,因为一个人不可能在短短几年内把所有的处理器都接触一遍,而招聘单位所用的处理器就可能是我们完全没有见过的,就拿台湾数十家小公司(市价几千万)的公司生产的ARM类处理器,也很好用,但这些东西通用性太差,用这些处理器的公司就只能招有相关工作经验的人了,那什么是相关工作经验,在硬件上讲的是外围接口设计,在软件上讲是操作系统方面相关接口驱动及应用开发经验。我从业近十年,2000年ARM出现,我一天始做ARM7,然后直接跑到了Xscale(这个板本在ARM10-11之间),一做就是五年,招人面试都不下数百人,在这些方面还是深有体会的。
我个人认为三星的S3C44b0对初学者来说比较合适,为什么这么说哪?因为接口资源比较丰富,技术成熟,资料较多,应该十分适合于初学者,有问题可能很容易找人帮且解决,因为大多数人都很熟悉,就如同51类的单片机,有N多位专家级的人物可以给你帮忙,相关问题得以很快解答,所然业界认为这款ARM都做用得烂了,但对于初学者来,就却是件好事。
因此开发系统的选择,要看自己的未来从来目标方向、要看开发板接口资源、还要看业界的通用性。
五、如何看待培训。
首先说说我自己,我目前从业近十年,与国内嵌入式系统行业共同起步,一直站在嵌入式系统行业前沿,设计过多款高端嵌入式系统平台产品并为众多公司提供过解决方案,离职前为从事VOIP的美资公司设计IP-PBX,历任项目经理、项目主管、技术总监、部门经理,积累众多人脉,并集多年经验所得,考虑到学生就业与公司招人的不相匹配,公司想招人招不到,而学生和刚毕业的工程师想找份工作也不太容易,于此力创知天行科技有限公司,开展嵌入式系统教育培训。
因一线的科研人员和一线的教师不相接触,导至国内嵌入式人才缺乏,国外高校的技术超前于业界公司,而国内情况是业界公司方面的嵌入式系统技术要远远领先于高校。为架构业界与高校沟通的桥梁,把先进技能带给高校学子,为学生在就业竞争中打造一张王牌,并为业界工程师快速提升实现自我创造机遇,我就这样辞去了外企年薪20多万的职位,做嵌入式系统方面的培训了。
对于培训来讲,是花钱来买时间,很多工程师都喜欢自己学,认为培训不值,这也是有可能的,纯为赚钱的培训当然不会太有价值,但对于实力型的培训他们可能就亏大了,有这样一笔帐不知他们算过没有,如果一个一周的培训,能带给他们自学两年后才能掌握的知识,在培训完后他们用三个月到半年时间消化培训内容,这样他会省约至少一年半的时间来学其它的或重新站在另一个高度上工作,那么他将最迟一年后会拿到他两年后水平所对应的工资,就是在工资与水平对应的关系上比同批人缩短一年,每月按最少1千计,再减去培训费用至少多1.0万,同时也省了一年时间,不管是休闲也好,再继续提高也好,总之是跑到了队伍的前面了。
另一层面上讲,对于新人的培训相当于他们为自己提前买了份失业保险,有师傅会带领他们入道,我今年暑假时班里最年轻的一个学生是大二的,今年才上大三,这学期才刚学单片机,但现在ARM方面的编程工作已经搞得有声有色了,再过一年多毕业,他还会失业吗?
再者通过培训,你可以知道很多业界不为常人所知的事,同时也为自己找了个师傅,就比如说,两个工程师分别用S3C2410和PXA255来做手持设备,同样两人都工作四年,再出去找工作,两人工资可能最多可相差一倍,为什么?这就是业界不为常人所知的规则,2410属于民品,被业界用烂了,做产品时成本特敏感,当然也对人才成本敏感了,PXA255是intel的东西,一个255 CPU能买三个2410,一直被业界定义为贵族产品,用的公司都是大公司或为军方服务的公司,不会在乎成本,只要把东西做好,一切都好说,但这方面做的人也少啊,因为开发系统贵啊。
对于说为自已找了个好师傅,我想是这样的,因为同级工程师间存在着某此潜在的竞争关系,有很多人不愿意把自己知道的东西教给别人,这意味着他将要失业,就是所说的教会徒弟,饿死师傅,但对于我们这些人就不存在这样的关系了,我是在嵌入式系统平台设计上走到了一定程序,目前在国内这块的技术上已经是自己很难再突破自己,因此很多东西我对大家都是OPEN的,就比如说下面那部分关于接口设计中所提到的时序接口东西,我要是不讲,却使是高级硬件工程师我想也几乎只有10%的人能知道吧。
六、成为高级嵌入式系统硬件工程师要具备的技能。
首先我声明,我是基于嵌入式系统平台级设计的,硬件这个方向我相对来讲比较有发言权,如果是其它方面所要具备的基本技能还要和我们培训中心其它专业级讲师沟通,或去网站看看。他们的方面上我只能说是知道些,但不是太多,初级的问题也可以问我。
对于硬件来讲有几个方向,就单纯信号来分为数字和模拟,模拟比较难搞,一般需要很长的经验积累,单单一个阻值或容值的精度不够就可能使信号偏差很大。因此年轻人搞的较少,随着技术的发展,出现了模拟电路数字化,比如手机的Modem射频模块,都采用成熟的套片,而当年国际上只有两家公司有此技术,自我感觉模拟功能不太强的人,不太适合搞这个,如果真能搞定到手机的射频模块,只要达到一般程度可能月薪都在15K以上。
另一类就是数字部分了,在大方向上又可分为51/ARM的单片机类,dsp类,FPGA类,国内FPGA的工程师大多是在IC设计公司从事IP核的前端验证,这部分不搞到门级,前途不太明朗,即使做个IC前端验证工程师,也要搞上几年才能胜任。dsp硬件接口比较定型,如果不向驱动或是算法上靠拢,前途也不会太大。而ARM单片机类的内容就较多,业界产品占用量大,应用人群广,因此就业空间极大,而硬件设计最体现水平和水准的就是接口设计这块,这是各个高级硬件工程师相互PK,判定水平高低的依据。而接口设计这块最关键的是看时序,而不是简单的连接,比如PXA255处理器I2C要求速度在100Kbps,如果把一个I2C外围器件,最高还达不到100kbps的与它相接,必然要导致设计的失败。这样的情况有很多,比如51单片机可以在总线接LCD,但为什么这种LCD就不能挂在ARM的总线上,还有ARM7总线上可以外接个Winband的SD卡控制器,但为什么这种控制器接不到ARM9或是Xscale处理器上,这些都是问题。因此接口并不是一种简单的连接,要看时序,要看参数。 一个优秀的硬件工程师应该能够在没有参考方案的前提下设计出一个在成本和性能上更加优秀的产品,靠现有的方案,也要进行适当的可行性裁剪,但不是胡乱的来,我遇到一个工程师把方案中的5V变1.8V的DC芯片,直接更换成LDO,有时就会把CPU烧上几个。前几天还有人希望我帮忙把他们以前基于PXA255平台的手持GPS设备做下程序优化,我问了一下情况,地图是存在SD卡中的,而SD卡与PXA255的MMC控制器间采用的SPI接口,因此导致地图读取速度十分的慢,这种情况是设计中严重的缺陷,而不是程序的问题,因此我提了几条建议,让他们更新试下再说。因此想成为一个优秀的工程师,需要对系统整体性的把握和对已有电路的理解,换句话说,给你一套电路图你终究能看明白多少,看不明白80%以上的话,说明你离优秀的工程师还差得远哪。其次是电路的调试能力和审图能力,但最最基本的能力还是原理图设计PCB绘制,逻辑设计这块。这是指的硬件设计工程师,从上面的硬件设计工程师中还可以分出ECAD工程师,就是专业的画PCB板的工程师,和EMC设计工程师,帮人家解决EMC的问题。硬件工程师再往上就是板级测试工程师,就是C语功底很好的硬件工程师,在电路板调试过程中能通过自已编写的测试程序对硬件功能进行验证。然后再交给基于操作系统级的驱动开发人员。
总之,硬件的内容很多很杂,硬件那方面练成了都会成为一个高手,我时常会给人家做下方案评估,很多高级硬件工程师设计的东西,经常被我一句话否定,因此工程师做到我这种地步,也会得罪些人,但硬件的确会有很多不为人知的东西,让很多高级硬件工程师也摸不到头脑。
那么高级硬件件工程师技术技能都要具备那些东西哪,首先要掌握EDA设计的辅助工具类如Protel\ORCAD\PowperPCB\Maplux2\ISE、VDHL语言,要能用到这些工具画图画板做逻辑设计,再有就是接口设计审图能力,再者就是调试能力,如果能走到总体方案设计这块,那就基本上快成为资深工程师了。
硬件是要靠经验,也要靠积累的,十年磨一剑,百年磨一针。
声明:本站所有文章资源内容,如无特殊说明或标注,均为采集网络资源。如若本站内容侵犯了原著者的合法权益,可联系本站删除。