标签:linux win10 必须 root Wndows 另一个 理想 改变世界 框架
{
文化,我首先想到的是文化。Unix和Windows从诞生之初的文化差异本质上划分了两者的界限。直观看来,一个装逼文化,一个傻逼文化。
Unix诞生在贝尔实验室的MULTICS项目之后。据说当时这个项目设计得十分复杂,功能设计也几乎是上天入地无所不能。虽说当时贝尔实验室是很牛,可以牛到不用装逼也能露逼一下的地步。但历史告诉我们这种项目最后绝对会死得很惨。当然,项目最终结果还是没有违背历史规律。当时一位MULTICS参与者Ken Thompson事后痛定思痛,准备重新自己开发一个多任务操作系统,摒弃了MULTICS过于复杂的系统设计,力求新系统的简洁紧凑。传闻时值Ken Thompson老婆带上孩子回娘家过日子去了,一时间Ken Thompson晚上无以为乐,只好天天以堆码为业。不到一个月,Ken Thompson用汇编把这套操作系统编写出来了,这就是后来流芳百世的UNIX。当然,当时的Ken Thompson根本没有意会到他这个业余时间的作品会改变整个计算机发展史。因此这个操作系统设计用户群只针对他预想的计算机科学家、黑客,再不济怎么也得算上个计算机科学技术本科生。Unix只面对政府、研究机构、大学等专业性很强的机构,简洁、高效、安全是Unix的文化哲学。同时结合到当时的硬件条件限制,也不难理解UNIX诞生之初就根深蒂固的文化:
1、 计算机庞大的占地面积、高额的购买维护费用使得普通用户根本无力支撑起一台计算机的各种资源消耗,当时更多的是计算机专家在通过终端在控制整个计算机运作逻辑。没有GUI、没有多媒体,字符界面,这对于这批靠计算机完成科学任务的黑客来说已经完全够用了。
2、 同时遵循简洁统一的输入输出接口,相比于GUI的事件驱动模型来说,更适合使用脚本将各种程序粘合起来,完成复杂多样的计算任务。
有人说起过UNIX正巧在当年GUI史前诞生,时运不济,所以只出了个字符怪胎,要是再踌躇几年,等到GUI日臻成熟,那诞生出的UNIX恐怕就是如今Windows的翻版了。对此我还是不太认可,UNIX的存在是计算机荒洪时代遗留的文化,即使现在丰富多彩的GUI也照样没有改变UNIX的基础设计恐怕就是一个极好的证据。目前大多数的服务器依然保持着当年UNIX诞生之初的风貌,依然CLI、依然Shell,因为我们需要把更多的资源让给使用服务器的客户,人类对计算机性能的榨取永远是贪婪的。这让我想起了几年前Windows渐入佳境PC,游戏刚大行其道,桌面游戏编写还不是那么方便时候,有人预言等几年之后,按照摩尔定律,编写星际争霸之类的游戏便不需要多牛逼的算法,甚至能用写脚本语言都能完成。这几年算是大致差不多算过来了吧,星际是有牛人用JavaScript完成了,不过现时最牛逼的游戏(如魔兽世界)还是会用很牛逼的算法,还是需要使用C/C++,还是需要精通图形学,还是需要熟悉图形硬件。所以不管硬件如何发展,UNIX文化中的简洁高效这些准则还是依然存在,因为我们会把最佳的性能留给我们服务器的客户,然后可以把敲打字符,玩弄指法的时间留给自己,在老板面前装逼一下。
Windows(以及其前任DOS)诞生在公司,公司不像学院,不会像UNIX一样如果能装逼就尽量装逼一下,公司直接面对客户,产品唯一使命就是取悦用户,只能把用户伺候好了,公司才能维系发展。所以Windows诞生之初就一直肩负比尔“让每一个家庭都有一台电脑”的使命,不装逼,不玩酷,一切功能照顾用户,就是用户是傻逼你也得当亲爹一样伺候。故而Windows一直就假定使用它的用户你就是一个傻逼,哪怕是删除文件这个小问题上,Windows也会想小娘们儿一样谨谨慎慎战战兢兢地一再向人确认”确实要删除*吗?”“确实要删除只读文件*吗?”。当然,最终能够让大妈大叔阿公阿婆阿猫阿狗都能使用上计算机的Windows绝对占领了终端用户桌面,比尔也因此一夜暴富,摇身一变成为世界首富&慈善家。不得不承认,如果没有Windows,“让每一个家庭都有一台电脑”的崇高理想恐怕又得推迟几年才能够得以实现了。自然,微软技术是肯定不差的,而不是像一些Linux小菜鸟口中所言”微软技术很烂”,相反微软技术是很牛的,牛到曾经豪言可以立马灭掉Google,试看如今还有谁可以发出这样傻逼的豪言。但是微软牛,不代表Windows就可以干过MULTICS,上天入地翻江倒海无所不能。Windows 在安全性、性能以及开源项目上与UNIX相比确实还是有一定差距,但这并不妨碍windows成为桌面第一大操作系统。
UNIX的黑客们,眼见着曾经引以为豪的计算机技术壁垒瞬间被Windows GUI冲击到荡然无存了,心中肯定是有落差的。不过这段技术演变技术普及已经成为了历史发展趋势。一个少数人才能驾驭的技术,哪怕就是敲一个ls这样简单的命令,你也可以把它吹破牛皮,扯虎皮拉大旗捧为艺术珍品,搞得善男甚广善女甚众。一旦技术被迫普及后,曾经视作的艺术瞬间就被廉价的工业化大生产所替代,现在满大街的廉价代码工就是计算机程序设计工业化后的结果。前段时间众人大骂Java程序员把自己的价位又拉低了。殊不知,拉低自己价位的非Java也,乃工业化大生产趋势。今不出Java,明儿准会出来个Bava,Cava,照样把你收拾成码农。时至如今,UNIX黑客们还在装逼,用CLI命令行跑出花花绿绿的文字,时不时感叹下曾经的软件英雄时代一去不复返,时不时像祥林嫂一般唠叨”当年哥可是写汇编的,没想到如今沦落到如此地步,人心不古,世风日下啊~”,时不时还顾影自怜,想装逼下,可惜时光不再。
“妈逼的给老子回去写代码!这个月还想不想领工资了!?“
结语:
不管是UNIX的装逼文化,还是Windows的傻逼文化,最终在计算机产业工业化的历史滚滚长流中归于平庸,归于廉价。曾经的那批牛逼的、不牛逼的、风骚的、不风骚的UNIX文化精英们,如今早已是廉颇老矣,尚可喝粥。曾经被意淫为“计算机科学与艺术”如今也早已沦落为“软件码工”。软件英雄时代早已不再,编码也成为三百六十行中的一行,一种用以谋生的手段,一种混饭吃的活路。关键问题早已不在程序,不在编码:
“编程只是一个工具,关键在于你拿这个工具来实现别人的事业,还是自己的事业。”
}
{
我们熟知的操作系统大概都是windows系列,近年来Apple的成功,让MacOS也逐渐走进普通用户。在服务器领域,恐怕Linux是无人不知无人不晓。他们都是操作系统,也在自己的领域里独领风骚。这都还得益于另外一个古董级别的操作系统--Unix,虽然说古董级别,只是他年纪大了,性能和功能,Unix依然有着顽强的生命力。
我们来沏杯茶,回顾Unix的传奇,讨论讨论Windows与Mac OS的恩恩怨怨,还有Linux的迅速崛起。
Unix 传奇
时光追溯到上世纪六十年代,多数计算机都采用批处理命令。为了研发一个多用途,多用户的操作系统。有三个著名的公司联合起来进行研发。三个知名的公司是美国电话及电报公司(American
Telephone and Telegraph Inc.;AT&T)、通用电器公司(General
Electrics;G.E.)及麻省理工学院(Massachusetts Institute of
Technology;MIT)。整个项目研发出来的操作系统被称之为MULTICS。可是后来,MULTICS项目开始迷失,目标过于庞大,功能过于复杂,研发的人们越来越不明白这个项目将会如何走下去。最终隶属
AT&T 公司的贝尔实验室(Bell Labs)退出了这个项目。
值得一提的是 Bell Labs
。这个实验室在整个人类科技史上都占据重要地位,电话就是在这个实验室诞生。里面有着才华卓越的工程师和黑客。由于贝尔实验室退出了MULTICS,那些习惯了使用MULTICS的贝尔实验室工程师突然之间无法使用MULTICS,这无疑类似把剑客的剑给没收了。当时贝尔实验室有个叫Ken
Thompson的人,他负责为为MULTICS这个操作系统写游戏了个叫“Space
Travel”的游戏。为了让这个游戏能继续下去,他不得不重新编写一个操作系统。当他去申请计算机的时候,显然领导不会因为一个游戏批准你一台计算机。早起的计算机并不像我们现在的pc机那么小巧。当时计算机可是巨无霸,每一台的造价也极其昂贵,只有企业和科研机构才能买得起。
数字设备公司(Digital Equipment Corporation;DEC)生产两种小型计算机 pdp系列和vax。
Ken无法得到pdp-11,却在一个角落了发现了pdp-7,虽然这个机器已经落后,
Ken还是觉得如获至宝,随后他很顺利的用汇编完成了操作系统,并写完了游戏。有趣的是,Ken的一个同事Brian
Kernighan非常不喜欢这个系统,嘲笑Ken
Thompson说:“你写的系统好真烂,干脆叫Unics算了。”(unics在英文里表示单一,与mult相反)。Ken对Brian的评价到没有多大排斥,本身他的目标是游戏,而不是操作系统,也接受了同事的命名。然后他更乐于推广他的游戏,让同事们茶余饭后娱乐娱乐。那时是1969年8月,恰巧这一年,芬兰诞生了一个婴儿,Linus
Torvalds啼哭的来到这个世界。
事情总是环环相扣,可是谁也不知道这环将会扣向哪一环。Ken的另一个同事Dennis
Ritchie对Ken的游戏没有多大兴趣,倒是对Unics情有独钟。当时Ken用汇编完成的Unics,如果换到pdp-11上,Unics想要运行必须重新冲重新编写代码移植。Ken无法为当时不同的机型提供上百个Unics版本。这时,Dennis
Ritchie 在BCPL基础上,开发了一种新的高级语言将Unics重新写了一遍,并命名为
UNIX。这个语言是将BCPL语言进行了升级,也就是后来大名鼎鼎的C语言。尽管是游戏和嘲讽,Unix和C诞生了,并且完美地结合成为一个统一体,C与Unix很快成为世界的主导。新的历史,开始了。
当时的美国公司,工程师研发完毕,往往会有休假,一休就是一年。旅游,探险都是好方式,可是
Ken选择了到伯克利(Berkeley)进行教学。也难怪欧美的教育科技那么发达,总有黑客将知识和技术进行传承。由于当时AT&T被美国反垄断制裁,Bell实验室不能销售Unix。只能无偿提供大家学习研究。正是因为这样开放环境,使得Unxi的功能和特性被不断的丰富。在Berkeley,有一个专门研究UNIX小组,他们为UNIX提供了很多新特性,例如著名的
TCP/IP协议。并完成了BSD版本。很快,就有公司看到了BSD的商机,分分购买BSD进行商用。
这个时候,AT&T公司对其他机构拿着Unix赚钱自己却一无所获很不爽。那是一个AT&T妄图私有化的Unix的时代。为了私有化Unix,1986年IEEE指定了一个委员会制定了一个一个开放作业系统的标准,称为
POSIX (Portable Operating Systems
Interface)。并和BSD进行法律官司,AT&T再次被反垄断,这场官司一直打到
AT&T再将自己的Unix系统实验室卖掉。当然,AT&T的Unix取得了这个标准制订战争的胜利,并取得了Unix注册商标。此时BSD的拥护者自喻为冷酷无情的公司帝国的反抗军。独立的Bell实验室就可以单独销售Unix,当时价格昂贵。也就在这个时候,人们被昂贵的Unix吓怕了,使用的人数骤减。与此同时,Berkeley
BSD小组的Bill
Joy开始创办了一家公司,也就是后来全球知名的SUN公司。就销售量来说,AT&T/UNIX始终赶不上BSD/Sun。并且Sun生产的小型工作站,风靡整个市场,很快就将
DEC 击败,并且让DEC退出了历史舞台。
BSD 仍然还在官司缠身,可是其他公司都看到了UNIX的商机,分分投靠 AT&T
并开发自己的Unxi,其中有著名的IBM的AIX,HP的HP-UX,SUN公司的Solaris,还有西雅图一个不知名的小公司,也生产着一个叫XENIX的Unix。时光继续走着,这个小公司的三个创始人打着扑克,心里还在构思。自己的公司如何挑战并取代那些巨无霸公司,成为是Microsoft未来的梦想。
Windows与Mac OS的恩恩怨怨
毫无疑问,Unix的诞生,对与计算机的发展起到了至关重要的作用。人们可以通过操作系统去使用计算机。然而在当时,尽管DEC生产的小型机PDP系列和VAX系列比起早起的巨无霸已经算是比较苗条了,可是对于个人而言,计算机还是相当大的东西,并且造价昂贵,无法进行民用。
为了将大型计算机缩小体积,很多公司都在尝试。1975年,IBM推出了早起的PC兼容机。我们知道,操作系统与CPU是有直接关系,不同的cpu运行的操作系统是不一样的。当时Unix价格昂贵,IBM一台PC兼容机造价2w美元,操作系统都要花4w。这样还是无法民用,因此IBM选择了一家小公司Inter生产的X86系列的cpu。Inter是小公司?没错,当时确实是这样,小到不起眼。而主流生产cpu的却是摩托罗拉,摩托罗拉生产的M6800比Inter的技术和设计上都要先进很多,更重要的是这个可以运行Unix。IBM放弃了兼容机上的Unix,因而不得不自己写出了一个兼容X86的操作系统---PL/M。当然这个东东造价也不菲。
微软联合创始人Allen同学Tim Paterson原本是打算写个东西用来测试的16位Intel 8086
CPU界面,于是花四个星期写了一个操作系统。当Bill Gates得知之后,马上花5W美元买下了这个系统,Tim
Paterson欣喜若狂,四个星期就赚了一大笔,简直像做梦,赶紧和Bill签订合同,Bill得到之后并命名为DOS。随后,Bill通过其IBM董事会成员的妈妈,得以和IBM高层谈判。IBM兼容机的操作系统价格昂贵,不适合卖个普通用户,IBM定义的主要对手是如火如荼的Apple,IBM想要压制apple就需要廉价的计算机。微软可以提供廉价的DOS,当然不是卖操作系统,而是卖操作系统的许可。每台IBM兼容机都捆绑一个DOS。Bill的招数就是捆绑,从dos到IE都是如出一辙,当然特别奏效。IBM也没想多少,他们认为硬件才是赚钱的根本,DOS也便宜。两者结合,果然市场颇受欢迎,Bill也赚到了千万刀。
IBM兼容机逐渐推向市场,与Apple一较高下。此前,在一个车库,两个年轻的极客,一个对机器怀有无比的热情,另外一个则对改变世界十分狂热,两个人黏在一起,创立了一家伟大的公司Apple。与IBM兼容机不一样,Apple的早期微机,采用是摩托罗拉的cpu和unix。Jobs独特的艺术气质与Wozniak的技术天才,让Apple的微机在市场上极受欢迎。
Jobs对技术和艺术的卓越追求,让他不断的改进Apple的电脑。1973年施乐(Xerox)的PARC研究所开发出GUI接口与鼠标(题外话,历史上有两个著名的雷锋实验室,前面提到的Bell
和 这个
Parc)。但是Xerox本身是生产打印机的,董事会莫名其妙的觉得GUI一旦出现,顾客就不乐意使用打印机,因此对Park实验室的成果冷淡的打入冷宫。
1979年乔布斯到PARC研究所看到Xerox原型机Alto。敏锐的Jobs立刻发现了GUI和鼠标的商业价值,很快他就说服Xerox公司,以一个极低的价格买下了GUI进行研究。1983年苹果公司推出了Apple
Lisa,首次采用GUI的商品化计算机。Lisa一诞生,就震撼了整个微机市场,那个车库里的年轻人因此身价过亿。
Apple蒸蒸日上,Mcriosoft的Bill心里可不是滋味。现在人们习惯把Jobs和Bill进行比较,不可否认他们都很伟大,至少在IT领域。不同于Jobs的完美主义和偏执狂的作风,Bill更圆滑和更中庸。Bill找到了Jobs,大加赞赏了Jobs的伟大,然后卑微的祈求一份Apple的GUI,并承诺Microsoft的一切成果都是Apple的。不可一世的Jobs答应了,Bill得到了Lisa原型机,马上组织团队研发,并在1990年5月份推出Windows3.0并一炮而红。商业上取得惊人的成功。打破了任何软件产品的六周内销售记录,从而开始了微软在操作系统上的垄断地位。
此时Jobs发现了Bill这个小偷,勃然大怒,可是为时已晚。对此,Bill并不否认,反而很得意讥讽乔布斯说:“我们有一个富邻居——Xerox,他家有一台电视。当我们想偷的时候,发现乔布斯早就偷走了,可他却说我们是小偷。”他们两人,都验证毕加索那句著名的格言:“好的艺术家抄袭,伟大的艺术家偷窃。”
但是Jobs心有不甘,因此着手研发Macintosh,由于Macintosh造价昂贵。在市场上逐步落后与Microsoft的Windows。Windows持续发展着,对于Jobs,Apple正在酝酿着一个地震,1985 Jobs被赶出了Apple。
此时,Unix在干嘛呢??Unix正忙着和BSD打官司,也正是这些时间,错过了操作系统发展的黄金时间,当Microsoft和Apple逐渐由小人物变成巨人的时候,Unix已经脱离了商业的主流。尽管如此,Unix先天的优雅并不会就此沉沦,DEC生产的机器,原本是自有操作系统,随着后来Unix的发展,不得不买PDP和VAX的时候添加Unix。其中VAX本身有一个操作系统VMX。由于Unix的入侵,VMX团队面临解散。
Windows风靡市场,一时洛阳纸贵。可是早期的windows并不稳定,蓝屏是家常便饭。Bill并没有偷到Jobs的核心技术,只获得了GUI。因此windows可谓先天的不足。郁闷的Bill找到了同样郁闷的VMX团队。很快两个失意者结合。Microsoft死活硬凑的将windows和VMX结合,诞生了Windows
NT。NT诞生不久又出现了Server版本,Server的诞生,敲响了另一家公司的丧钟。当时网络已经出现,Novell生产网络操作系统占据网络统治地位,可是NT的出现,Novell的生命也走到了尽头。
被赶出Apple的Jobs同样没有停止他的步伐,Jobs离开Apple之后创办了如今三维动画巅峰旗帜的Pixar公司.并且Apple在对Microsoft的竞争中逐步走向衰败,Apple董事会不得不重新召回Jobs挽救Apple日益颓废的江山。Jobs果然是帮主,他的回归,Apple散发了第二春,几款革命性的产品iPod,iPhone将Apple再一次走到了世界的巅峰。MacOS成为了人们热衷的操作系统,这个曾经败给Windows的操作系统又回来了,并且在移动端,IOS也成为了霸主,后来Google
的Android加入争斗,那是后话了。
Microsoft的 windows
xp成为微软史上成功的操作系统。可是Jobs回归之后的Apple,XP丑陋的界面很难和炫目的MacOS较量。Microsoft早期和IBM共同研发OS/2,由于后来和VMX的结合而退出了OS/2。IBM又一次验证了谁跟微软合作谁被坑的规律。可是针对MacOS,Microsoft一直对和VMX的结合产品心有余悸。最终用低价从IBM手下买回了OS/2,并重新拼凑了一个“绚丽”的操作系统Windows
Vista。
显然,OS/2被IBM定义为史上最失败的产品,具有讽刺的是,Vista也不约而同的被Microsoft定义为失败的产品。Microsoft不得不在短时间内重新开发。推出了Xp的取代者--Windows7。先如今,Microsoft在互联网遭遇Google强大的统治,
移动方面windows phone也生存在Apple IOS的阴影之下。
曾经强大到像日不落帝国的Microsoft,也在谋求着新的蜕变。当然,Microsoft依然统治着桌面操作系统,在服务器端,另外一个崛起的不是Unix,不是MacOS,也不是Wndows的操作系统,他已然加冕成为新的王者。那就是Linux的故事,这个故事也很有趣,伴随自由的运动,黑客的分享的精神。比起之前少了很多商业的争斗气息,更多是那些黑客传奇的故事。我们得重新打开历史书,回到1991那年的夏天,阳光明媚的芬兰赫尔辛基大学的校园里...
Linux的崛起
我是你可怕的恶梦
------------Eric Raymond
Eric Raymond,黑客,他写了一篇论文《大教堂与市集》,也写过一本书叫《unix编程艺术》。于是整个世界都改变了。
纪录片《Revolution
OS》描述,一次开发者大会,他遇到一个微软工程师,看见衣服上Microsoft的标志便询问对方:“你为微软工作?”当那位西装革履的工程师带有嘲讽和鄙视看着这个衣着普通的黑客回复:“是啊,你呢?”Raymond送去了一个微笑:我是你们可怕的恶梦。。。
黑客是Microsoft的恶梦?不,不仅仅是,黑客是一切不自由的恶梦。电脑和网络,已经成为现代社会和文明不可或缺的产品。很多人电脑使用Microsoft的windows系统,而这些机器所访问的web页面。其背后的服务器系统却是Windows的死敌---Linux。相比Windows成为家喻户晓并家家都在使用的操作系统。Linux很少被普通人知道,但是这并不妨碍它的伟大。他们分别在桌面和服务器两个环境,各自称霸着世界。
谈到Linux的起源,这个故事平凡却扣人心弦。1991那年,对于芬兰人绝对是一个有意思的一年。世界上首次全球通对话在诺基亚的Radiolinja网络中完成,诺基亚征服世界的脚步已经无法遏制。
与此同时,阳光明媚的芬兰赫尔辛基大学的校园里,一个少年正好拥有了一台完全属于自己的电脑,不必再忍受学校机房漫长的等待。他当时对安德鲁·塔南鲍姆(Andrew Tanenbaum)的著作《操作系统:设计与实现》——一本Minix操作指南深深着迷。
由于AT&T对于Unix商业化,而后将Unix进行了闭源。Andrew所教授的课程《操作系统》却没有了“操作系统”。对此Andrew一咬牙,狠狠心,写出了一个兼容Unix的操作系统。人家就是厉害,你不给我使用,我自己写一个出来用。尽管Andrew的成果很简单,但是还是具备了Unix的基本功能,当然比较mini,因此命名为Minix。Minix作为Unix的变种,彼时的Minix正凭借低廉的价格和简易的操作在大学大行其道。
Minix由于过于短小精悍,只能运行这一种机器,其他机器没有驱动。Andrew的学生就写了好多好用驱动来扩展Minix。可是,教授Andrew却觉得自己的操作系统要保持纯洁,不能有其他的代码来源。于是学生们就很郁闷,其中就有个叫Linus的同学。
拥有自己的PC的Linus却不能将Minix运行在自己的电脑上。Linus也不得不走上了他无数前辈的道路,不让用,不给用,那就自己写一个操作系统来用。仅仅两个月后,一个“千疮百孔但却碰巧可以使用”的磁盘驱动程序和一个小到不能再小的文件系统就诞生了,这就是第0.01版的Linux。随后Linus将操作系统上传至FTP,并公布了全部源代码。在USENET讨论区,Linus阐述其初衷:在新操作系统中,“人们可以自己编写驱动程序,可以随意修改操作系统以适应不同需求,可以尝试在Minix上运行所有程序,这是Minix从未有过的美好一天。”
美好的日子渐渐来临,Unix生态还是老样子,在商业的争斗中裹足不前。Microsoft和Apple的争斗也逐渐明朗,Microsoft靠卖软件大发特发。这让一个黑客很不满。
理查德·斯托曼(Richard
Stallman)登场,他认为所有软件都是人类智慧和思想的结晶。软件应该自由的让人们使用。1983年,Stallman发起了“GNU(GNU’s
Not
Unix的递归缩写)”计划,目的是创建一套完全自由的操作系统,以“重现软件界合作互助的团结精神”。他以“著佐权”(copyleft)标准为范本拟定了一份通用公用版权协议(General
Public
License,GPL)。与强调个人版权但限制自由传播的著作权(copyright)不同,GPL更强调公共版权和鼓励自由传播,它允许修改程序、复制软件和销售获利。但前提是公布修改后的全部源代码,必须保证自由思想的传递。GNU计划激发了软件界极大的热情,世界各地的软件奇才们纷纷参与其中。并且开发出包括文字编辑器Emacs、C语言编译器,gcc以及大部分UNIX系统程序库和工具在内的绝大多数软件,很多免费软件的水平甚至都已经超过了相应的付费版本。
可是问题又来了,GNU编写了很多自由免费的软件,可是这些免费软件却运行在不自由的Unix上,这真是一个巨大的讽刺。Stallman承诺大家要两年内重新写一个操作系统,可是五年过去了,依然看不清成功的那一天。
与前面很多故事一样,事情总是环环相扣,可是谁也不知道这环将会扣向哪一环。Stallman苦于没有操作系统,芬兰的那边,Linus只有一个操作系统内核而没有应用软件。
于是,他们在各自的领域奋斗多年之后,命运终于安排他们走到了一起,Linus率领Linux加盟Stallman的GNU计划,上帝说要有光,于是牛顿出生了;人类需要自由,于是Linux与GUN结婚。这一“联姻”堪称是软件界的天作之合。
1992年,在Linux Kernel平台上工作的开发者只有100位,平台中的核心代码只有几万行。如今,在平台上工作的开发者已经多达1000人,人员的背景也从最初的黑客扩散至更多的行业,平台中的核心代码则已经超过千万行。
1998年,全球前500台超级计算机中还只有1台运行Linux。今天在全球前500台超级计算机中,有413台选用Linux。这些计算机遍布世界各地的多个行业,共同主宰着这个智慧的地球。
大到航天科技,小到IC卡芯片,无不存在Linux的影子。在移动领域,Android来势汹汹,已经逾越IOS成为移动的王者,完成了对windows的完美复仇。
Linux“可自由扩散”并不等同于“缺乏支持”和“业余水平”,恰恰相反,正是起开发的政策,让无数天才黑客参与进来,这是自由的胜利。
就连商业软件公司也参与进来,这些公司技术雄厚又善于市场运作,开创了新的商业模式----销售服务而不是软件。使Linux从网络黑客和业余爱好者自娱自乐的工具,变成了一个具有全球影响力的软件帝国。
98年的奥斯卡颁奖典礼上,当卡梅隆手握“最佳导演奖”的小金人,模仿《泰坦尼克》中的男主角Jack发出“我是世界之王”的宣言时,全世界无不为之倾倒。影片中那被重新描绘过的“唯美”海难,使人们惊叹于卡氏的神奇。但完美的电影也使人们忽略了另一个伟大事实:电影史上崭新的技术时代悄然来临。而这一时代,是由Linux开启的。
从那时开始,梦工厂、迪斯尼、皮克斯等公司都逐渐将各自的工作平台转向Linux,无数伟大的银幕经典因此横空出世。从《魔戒》到《金刚》,从《哈利波特》到《霍比特人》,再从《指环王》到《阿凡达》,Linux几乎以一己之力缔造了无数人梦中的玄幻王国。也是从那时开始,Linux终将埋葬Microsoft就开始成为江湖中著名的传说之一。
悠悠苍天,传来一股由弱变强的声音----- 我是你可怕的恶梦!!!
}
{
内核
macOS 的内核是 intel,由PowerPC 改进为 intel。
iOS 内核和二进制文件编译的目标架构,是基于ARM架构,而不是intel i386 和 x86_84。
尽管iOS的目标处理器可能不同(A4、A5和A5X等),但都是采用ARM的设计。
相比Intel,ARM的主要优势在于电源管理,因此ARM的处理器设计对于移动操作系统(iOS 及Android)来说都非常重要。
内核源码-iOS
iOS 内核源码闭源。
macOS 中的 Darwin 是开源的。
内核编译
iOS内核的编译关注的是嵌入式特性和一些新的API。有一些新的API最终会进入OS X,但是其他的不会。
GUI
iOS的系统GUI是SpringBoard,这是大家熟知的触屏应用加载器;
macOS 中的GUI的Aqua,是鼠标驱动的,而且特别为窗口系统所设计。
由于SpringBoard如此流行,因此在Lion中以LaunchPad(启动台)的形式移植到了OS X中。
内存管理
iOS的内存管理要紧凑得多,因为在移动设备上没有几乎无穷的交换空间可以使用。因此,开发者需要适应更严酷的内存限制以及编程模型的变化。
系统限制
iOS的系统的限制更严(或称为jailed),应用程序不允许访问底层UNIX API(即Darwin),也没有root访问权限,只能访问自己的目录里(沙盒)的数据。
只有苹果的应用才能有访问整个系统的权力。App Store的应用被严格受限,而且必须通过苹果的审查。
macOS 没有上面的限制。
?
OS X 是整个操作系统的一个集体名称,这个操作系统由很多组件构成,Darwin 就是其中的一个组件。
Darwin 是操作系统的类 UNIX 核心,由内核(kernel)、XNU 和 运行时(runtime) 组成。
XNU:“X is Not UNIX”的缩写,这个缩写类似于 GNU 的递归式缩写。
macOS 中的 Darwin 是开源的,而OS X中的其他部分,即苹果公司提供的各种框架,不是开源的。
但iOS 中的 Darwin 是不开源的, 是在 ARM 上的移植。
macOS 的版本和 Darwin 的版本之间有一个简单的关系,除了 OS X 10.0 对应 Darwin 1.3.x之外,其他的版本都服从以下简单的公式:
If (OSX.version == 10.x.y){
Darwin.version = (4+x).y
}
因此,例如 Mountain Lion 的 10.8.0 版本对应 Darwin 12.0。
Snow Leopard 的 10.6.8 版本对应 Darwin10.8。
尽管看上去有点混乱,但至少是一致的。
通俗的说,Unix 是爸爸,Linux 和 macOS 是兄弟。
unix是最早的出来的多任务,多用户系统,它是收费的。
linux是一个 Linus Torvalds 为了让人们用到免费的类unix系统,高度参考Unix系统原理,做出了一个叫做 linux 的内核。
一般可以认为,Linux是一套自由使用(一般可以免费使用)和自由传播的类Unix操作系统。这个系统是由世界各地成千上万的程序员设计和实现的。其目的是建立不受任何商品化软件的版权制约、全世界都能自由使用的Unix兼容产品。
严格来讲,Linux这个词本身只表示Linux内核,但在实际上人们已经习惯了用Linux来形容整个基于Linux内核,并且使用 GNU 工程各种工具和数据库的操作系统。
Linux严格来说已经不是Unix了,因为从内核到外层应用都是独立开发代码。
linux是兼容unix的,或者说是linus写的一种开源的类unix系统。
macOS,是基于Unix内核的图形化操作系统,由Unix的一个分支(BSD)发展过来的,内核叫darwin(达尔文)。
类Unix系统(英文:Unix-like)指各种传统的Unix系统(比如FreeBSD、OpenBSD、SUN公司的Solaris)以及各种与传统Unix类似的系统(例如Minix、Linux、QNX等)。
它们虽然有的是自由软件,有的是商业软件,但都相当程度地继承了原始UNIX的特性,有许多相似处,并且都在一定程度上遵守 POSIX规范。
POSIX表示 可移植操作系统接口(Portable Operating System Interface of UNIX,缩写为 POSIX )。
POSIX标准 定义了 操作系统 应该为 应用程序 提供的 接口标准,是IEEE为要在各种UNIX操作系统上运行的软件 而定义的一系列API标准的总称,其正式称呼为IEEE 1003,而国际标准名称为ISO/IEC 9945。
POSIX标准意在期望获得源代码级别的软件可移植性。
换句话说,为一个POSIX兼容的操作系统编写的程序,应该可以在任何其它的POSIX操作系统(即使是来自另一个厂商)上编译执行。
POSIX 并不局限于 UNIX。许多其它的操作系统,例如 DEC OpenVMS 支持 POSIX 标准,尤其是 IEEE Std. 1003.1-1990(1995 年修订)或 POSIX.1,POSIX.1 提供了源代码级别的 C 语言应用编程接口(API)给操作系统的服务程序,例如读写文件。POSIX.1 已经被国际标准化组织(International Standards Organization,ISO)所接受,被命名为 ISO/IEC 9945-1:1990 标准。
}
标签:linux win10 必须 root Wndows 另一个 理想 改变世界 框架
原文地址:https://www.cnblogs.com/YZFHKMS-X/p/12228894.html