unix(和C语言及编译器的创立相辅相成开发)minix,linux(这两种基于汇编和C语言的基于X86PC自带对应编译器)操作系统创立时各用什么编译器,把源代码(C和汇编语言编写)编译运行到电脑

编程语言从FORTRAN到BASIC,再到C语言和其编译器的诞生,经历了从解释器到编译器的转变。BASIC语言在微机时代广泛使用,而UNIX系统和C语言的结合推动了操作系统的发展。MINIX作为教学操作系统启发了Linux的诞生,Linux开源特性与GNU计划相结合,形成了现今广泛使用的Linux系统。这一切都离不开开源精神和社区的共同努力。
摘要由CSDN通过智能技术生成

一、编译器发展:

以下摘自编译器百度百科

20世纪50年代,IBM的John Backus带领一个研究小组对FORTRAN语言及其编译器进行开发。但由于当时人们对编译理论了解不多,开发工作变得既复杂又艰苦。与此同时,Noam Chomsky开始了他对自然语言结构的研究。他的发现最终使得编译器的结构异常简单,甚至还带有了一些自动化。Chomsky的研究导致了根据语言文法的难易程度以及识别它们所需要的算法来对语言分类。正如Chomsky架构(Chomsky Hierarchy),它包括了文法的四个层次:0型文法、1型文法、2型文法和3型文法,且其中的每一个都是其前者的特殊情况。2型文法(或上下文无关文法)被证明是程序设计语言中最有用的,而且今天它已代表着程序设计语言结构的标准方式。分析问题(parsing problem,用于上下文无关文法识别的有效算法)的研究是在60年代和70年代,它相当完善的解决了这个问题。它已是编译原理中的一个标准部分。

有限状态自动机(Finite Automation)和正则表达式(Regular Expression)同上下文无关文法紧密相关,它们与Chomsky的3型文法相对应。对它们的研究与Chomsky的研究几乎同时开始,并且引出了表示程序设计语言的单词的符号方式。

人们接着又深化了生成有效目标代码的方法,这就是最初的编译器,它们被一直使用至今。人们通常将其称为优化技术(Optimization Technique),但因其从未真正地得到过被优化了的目标代码而仅仅改进了它的有效性,因此实际上应称作代码改进技术(Code Improvement Technique)。

当分析问题变得好懂起来时,人们就在开发程序上花费了很大的功夫来研究这一部分的编译器自动构造。这些程序最初被称为编译器的编译器(Compiler-compiler),但更确切地应称为分析程序生成器(Parser Generator),这是因为它们仅仅能够自动处理编译的一部分。这些程序中最著名的是Yacc(Yet Another Compiler-compiler),它是由Steve Johnson在1975年为Unix系统编写的。类似的,有限状态自动机的研究也发展了一种称为扫描程序生成器(Scanner Generator)的工具,Lex(与Yacc同时,由Mike Lesk为Unix系统开发)是这其中的佼佼者。(unix的编译器)

在20世纪70年代后期和80年代早期,大量的项目都贯注于编译器其它部分的生成自动化,这其中就包括了代码生成。这些尝试并未取得多少成功,这大概是因为操作太复杂而人们又对其不甚了解。

编译器设计最近的发展包括:首先,编译器包括了更加复杂算法的应用程序它用于推断或简化程序中的信息;这又与更为复杂的程序设计语言的发展结合在一起。其中典型的有用于函数语言编译的Hindley-Milner类型检查的统一算法。其次,编译器已越来越成为基于窗口的交互开发环境(Interactive Development Environment,IDE)的一部分,它包括了编辑器、连接程序调试程序以及项目管理程序。这样的IDE标准并没有多少,但是对标准的窗口环境进行开发已成为方向。另一方面,尽管在编译原理领域进行了大量的研究,但是基本的编译器设计原理在近20年中都没有多大的改变,它正迅速地成为计算机科学课程中的中心环节。

在20世纪90年代,作为GNU项目或其它开放源代码项目标一部分,许多免费编译器和编译器开发工具被开发出来。这些工具可用来编译所有的计算机程序语言。它们中的一些项目被认为是高质量的,而且对现代编译理论感兴趣的人可以很容易的得到它们的免费源代码。

大约在1999年,SGI公布了他们的一个工业化的并行化优化编译器Pro64的源代码,后被全世界多个编译器研究小组用来做研究平台,并命名为Open64Open64的设计结构好,分析优化全面,是编译器高级研究的理想平台。

二、针对微机小型机系统的BASIC语言和编译器的发展摘自BASIC百度百科

初级阶段

20世纪60年代中期,美国达特茅斯学院约翰·凯梅尼(J. Kemeny)和托马斯·卡茨(Thomas E. Kurtz)认为,像FORTRAN(世界上最早出现的计算机高级程序设计语言)那样的语言都是为专业人员设计,没有办法普及。于是,他们在简化FORTRAN的基础上,在1964年研制出一种“初学者通用符号指令代码”(Beginner's All-purpose Symbolic Instruction Code),简称BASIC [2]  。

BASIC语言本来是为校园的大学生们创造的高级语言,目的是使大学生容易使用计算机 [3]  。虽然初期的BASIC语言功能弱、语句少,只有14条语句(后来发展到17条语句) [4]  ,但由于BASIC在当时比较容易学习,它很快从校园走向社会,成为初学者学习计算机程序设计的首选语言 [3]  。这个时期的BASIC主要在小型机上使用,以编译方式执行 [4]  。

微机阶段

20世纪70年代,BASIC语言发展成为一种广泛使用的通用语言,也正是这个年代,微型计算机诞生了,做为必备的软件,各种微机上都配备了BASIC语言,例如:Apple BASIC、IBM BASIC(BASICA)等。由于各机型不同,它们对基本BASIC语言的扩展也不相同,导致了同是BASIC语言程序却不能互相兼容的局面(例如各种BASIC语言的绘图语句差别很大),即所谓“方言性”问题 [4]  。

1973年,美国DEC公司的小型机PDP装上了BASIC语言。因为害怕人们难以理解“编译”这一概念,他们研制了BASIC的解释程序,用它代替BASIC的编译程序。至此,BASIC语言可通过编译或解释两种途径将程序翻译成机器指令 [1]  。

1975年,比尔·盖茨创立的Microsoft,并成功的把Basic语言的编译器移植到使用 Intel处理器ALR计算机中,IBM在1982年选定Microsoft创作PC的操作系统时,也选定了Microsoft的Basic作为其计算机的ROM-Basic [5]  。

三、True BASIC语言

自从BASIC这种编程语言微电脑上风行以来,其设计都与原来BASIC的设计逐渐偏离,所以他们希望可以透过这一套True BASIC语言来重新强调BASIC语言所应有的设计特色,使到原来为迷你电脑及小型电脑设计的BASIC程序可以更好地移殖到微机上使用。巧合地,当时所风行的各个BASIC版本,不论是苹果电脑的Applesoft BASIC或MS-DOS的GWBASIC或Quick BASIC,都是由微软所开发的。就连第一套编译式的BASIC版本、Borland的Turbo BASIC,也是基于微软的GW-BASIC语言。

今天的True Basic包含着编译器在里面,可以将程式编译成可执行档。另外也支援Mac平台(classic OS),不过尚不支援MacOS X。

四、比尔盖茨

1968年,盖茨与他湖畔中学的同学保罗·艾伦(Paul Allen)利用一本指导手册,开始学习Basic编程。当时该校拥有一台PDP-10计算机,其使用时间的年度预算资金为3000美元。仅仅数周内,盖茨和艾伦便花光了这笔预算。不久后,这两名小男孩与“计算机中心公司”(CCC)签订了一份协议。协议规定,盖茨和艾伦向CCC报告PDP-10存在的软件漏洞;作为回报,CCC则向他们两人提供免费上机时间。

1971年,盖茨为湖畔中学编写程序,其中包括一款课表安排软件。

在哈佛的时候,盖茨为第一台微型计算机MITS Altair开发了BASIC编程语言的一个版本。

微软创始人艾伦(左)与比尔·盖茨合影

1975年1月,在当月出版的美国《大众电子》(Popular Electronics)杂志上,刊出了一篇MITS公司介绍其Altair 8800计算机的文章。艾伦向盖茨展示了这款机器图片。数天后,盖茨就给MITS总裁埃德·罗伯茨(Ed Roberts)打电话,并表示自己和艾伦已经为这款机器开发出了BASIC程序。实际上当时他们一行代码也没有写。

1975年2月1日,以经过夜以继日的工作后,盖茨和艾伦编写出可在Altair 8800上运行的程序,出售给MITS的价格为3000美元,但相应版税却高达18万美元。

1980年8月28日,盖茨与IBM签订合同,同意为IBM的PC机开发操作系统。随后他以5万美元价格购买了一款名QDOS的操作系统,对其稍加改进后,将该产品更名为DOS,然后将其授权给IBM使用。

1982年,在上市销售的第一年期间,盖茨向50家硬件制造商授权使用MS-DOS操作系统。

1983年11月10日,Windows操作系统首次登台亮相。该产品是MS-DOS操作系统的演进版,并提供了图形用户界面

五、UNIX和C语言以及第一个C语言编译器(B+汇编编写的编译器)

C语言之父

  C语言并不是第一门编程语言,在它之前,已经有其他编程语言存在了,例如B语言、Fortran,汇编等。C语言的设计参考了B语言,历史上第一个C编译器是使用B语言编写的,甚至有可能是由B+汇编混合编写。在这里我们需要明确一点,C语言的发展并不是一蹴而就的,而是经历了多年的完善和修改才被推出(C语言诞生于1969 - 1973年间,由贝尔实验室的汤普逊(Ken Thompson)和里奇(Dennis Ritchie)二人共同发明,正式成型是在1973年。)。同样,C编译器也是经过逐次迭代更新才最终形成具备完整功能的C编译器。

  C语言具有自举特性,自举的意思是该语言的编译器可以编译出编译该语言的编译器。

是不是有点绕?话说我自己都差点没读懂自己写的话。说简单一点就是该语言不需要借助其他语言就可以编译出给自己用的编译器。但是,第一个编译器必须是通过其他语言编译出来的(先有鸡),有了第一版编译器之后,才能实现编译器的自我迭代。在用B语言编译出第一个C编译器后,利用C语言的自举特性,就可以像滚雪球一样,由最初的一个只具备基本功能的C编译器不断迭代,开发出支持更多特性的C编译器,并最终形成我们现在使用的版本。如果你有兴趣,可以在互联网上下载到最新的gnu C工具链源码并自行编译出gcc编译器。除了第一版C编译器以外,C编译器的源码早已经脱离了B语言,使用C语言本身编写了。

gcc源码下载地址

  知道了C编译是怎么来的,如果你还好奇B语言编译器是怎么来的,那就是用汇编写出来的。汇编器怎么来的,是用机器语言写出来的。套用道家的说法:机器生汇编,汇编生B,B生C,C生万物。


————————————————
版权声明:本文为CSDN博主「一口Linux」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/daocaokafei/article/details/114272679

C语言诞生于美国的贝尔实验室,由丹尼斯·里奇(Dennis MacAlistair Ritchie)以肯尼斯·蓝·汤普森(Kenneth Lane Thompson)设计的B语言为基础发展而来,在它的主体设计完成后,汤普森和里奇用它完全重写了UNIX,且随着UNIX的发展,c语言也得到了不断的完善

C语言之所以命名为C,是因为C语言源自Ken Thompson发明的B语言,而B语言则源自BCPL语言。

1967年,剑桥大学的Martin Richards对CPL语言进行了简化,于是产生了BCPL(Basic Combined Programming Language)语言。

20世纪60年代,美国AT&T公司贝尔实验室(AT&T Bell Laboratories)的研究员肯·汤普森(Kenneth Lane Thompson)闲来无事,手痒难耐,想玩一个他自己编的,模拟在太阳系航行的电子游戏——Space Travel。他背着老板,找到了台空闲的小型计算机——PDP-7。但这台电脑没有操作系统,而游戏必须使用操作系统的一些功能,于是他着手为PDP-7开发操作系统。后来,这个操作系统被命名为——UNICS(Uniplexed Information and Computing Service)。

1969年,美国贝尔实验室的Ken Thompson,以BCPL语言为基础,设计出很简单且很接近硬件的B语言(取BCPL的首字母),并且用B语言写了初版UNIX操作系统(叫UNICS)。

1971年,同样酷爱Space Travel的丹尼斯·里奇为了能早点儿玩上游戏,加入了汤普森的开发项目,合作开发UNIX。他的主要工作是改造B语言,使其更成熟。 [6] 

1972年,美国贝尔实验室的丹尼斯·里奇在B语言的基础上最终设计出了一种新的语言,他取了BCPL的第二个字母作为这种语言的名字,这就是C语言。

1973年初,C语言的主体完成。汤普森和里奇迫不及待地开始用它完全重写了UNIX。此时,编程的乐趣使他们已经完全忘记了那个“Space Travel”,一门心思地投入到了UNIX和C语言的开发中。随着UNIX的发展,C语言自身也在不断地完善。直到2020年,各种版本的UNIX内核和周边工具仍然使用C语言作为最主要的开发语言,其中还有不少继承汤普逊和里奇之手的代码。 [6] 

在开发中,他们还考虑把UNIX移植到其他类型的计算机上使用。C语言强大的移植性(Portability)在此显现。机器语言和汇编语言都不具有移植性,为x86开发的程序,不可能在AlphaSPARCARM等机器上运行。而C语言程序则可以使用在任意架构的处理器上,只要那种架构的处理器具有对应的C语言编译器和库,然后将C源代码编译连接成目标二进制文件之后即可在哪种架构的处理器运行。 [6] 

1977年,丹尼斯·里奇发表了不依赖于具体机器系统的C语言编译文本《可移植的C语言编译程序》

UNIX系统是一个分时系统。最早的UNIX系统于1970年问世。此前,只有面向批处理作业的操作系统,这样的系统对于需要立即得到响应的用户来说是太慢了。在60年代末,Kenneth Thompson和Dennis Ritchie都曾参加过交互方式分时系统Multics的设计,而开发该系统所使用的工具是CTSS。这两个系统在操作系统的发展过程中都产生过重大影响。在此基础上,在对当时现有的技术进行精选提炼和发展的过程中,K.Thompson于1969年在小型计算机上开发UNIX系统,后于1970年投入运行。

六、minix(微内核)

Minix原来是荷兰阿姆斯特丹的Vrije大学计算机科学系的Andrew S. Tanenbaum教授所发展的一个类Unix操作系统。全部的程序码共约12,000行,并置于他的著作Operating Systems: Design and Implementation(ISBN 0-13-637331-3)的附录里作为范例。Minix的系统要求在当时来说非常简单,只要三片磁片就可以启动。Minix原始是设计给1980年代到1990年代的IBM PC和IBM PC/AT兼容电脑上执行。1.5版也有移植到以Motorola68000系列CPU为基础的电脑上(如Atari ST,Amiga,和早期的Apple Macintosh)和以SPARC为基础的机器(如升阳sun公司的工作站)。2.0版则只有x86架构的版本。

因为AT&T的政策改变,在Version 7 Unix推出之后,发布新的使用条款,将UNIX源代码私有化,在大学中不再能使用UNIX源代码。塔能鲍姆教授为了能在课堂上教授学生操作系统运作的实务细节,决定在不使用任何AT&T的源代码前提下,自行开发与UNIX兼容的操作系统,以避免版权上的争议。他以小型UNIX(mini-UNIX)之意,将它称为MINIX。

全套Minix除了启动的部份以汇编语言编写以外,其他大部份都是纯粹用C语言编写。分为:内核内存管理文件管理三部份。

MINIX 是一个发行于1987年的用于操作系统教学的简单易懂的小型UNIX克隆。赫尔辛基大学的学生Linus Torvalds在操作系统课程上学习了MINIX并买了一台PC来充分地运行它。然后他将MINIX作为平台和指导开发了MINIX的克隆 ---Linux,并且在1991年发布。这是他关于Linux的声明。

七、linux(宏内核)

Linux操作系统的诞生、发展和成长过程始终依赖着五个重要支柱:Unix操作系统MINIX操作系统、GNU计划、POSIX标准和Internet网络。

20世纪80年代,计算机硬件的性能不断提高,PC的市场不断扩大,当时可供计算机选用的操作系统主要有Unix、DOSmacOS这几种Unix价格昂贵,不能运行于PCDOS显得简陋,且源代码被软件厂商严格保密;MacOS是一种专门用于苹果计算机的操作系统。此时,计算机科学领域迫切需要一个更加完善、强大、廉价和完全开放的操作系统。由于供教学使用的典型操作系统很少,因此当时在荷兰当教授的美国人AndrewS.Tanenbaum编写了一个操作系统,名为MINIX,为了向学生讲述操作系统内部工作原理。MINIX虽然很好,但只是一个用于教学目的的简单操作系统,而不是一个强有力的实用操作系统,然而最大的好处就是公开源代码。全世界学计算机的学生都通过钻研MINIX源代码来了解电脑里运行的MINIX操作系统,芬兰赫尔辛基大学大学二年级的学生Linus Torvalds就是其中一个,在吸收了MINIX精华的基础上,Linus于1991年写出了属于自己的Linux操作系统,版本为Linux0.01,是Linux时代开始的标志。他利用Unix(应该是linux)的核心,去除繁杂的核心程序,改写成适用于一般计算机的x86系统(X86早已经有自己的C语言编译器了,完全可以根据X86的处理器手册利用寄存器汇编或者C进行编程以及编译器开发已经由比尔盖茨等人完成了,Linus Torvalds完全可以利用这些工具了),并放在网络上供大家下载,1994年推出完整的核心Version1.0,至此,Linux逐渐成为功能完善、稳定的操作系统,并被广泛使用

因为linux完全开源,遇上GNU开源,linux源码移植在gc++编译器编译下完全可以或者不用移植,本简单移植,因为开源很容易实现

八、Linux之父

Linus利用个人时间及器材创造出了这套当今全球最流行的操作系统内核之一。

现受聘于开放源代码开发实验室(OSDL:Open Source Development Labs, Inc),全力开发 Linux 内核。

Linus 研究生时期开始写操作系统(大约是 1991 年),那时候个人电脑(PC)虽然兴起一些年了,但是还只是小部分程序员和狂热爱好者的玩具。硬件基本上都靠自己攒,软件也是用开源系统各种魔改。所以普通人根本没有折腾 PC 的动力和理由。

Unix 已经霸占了许多生产力场景,唯一的缺点就是贵,而且很多发行版是闭源的。个人用户根本不要考虑。

那时候 Linus 自己攒了一套 386,但是找不到好用,廉价/免费的操作系统用。当时社区里当然也有一票免费且开源的系统,但是要不就是兼容性差,要不就是各种坑,要不就是没软件,总之各种各样的问题。而兼容性是最主要的问题,那时候的 CPU 不像现在的流行架构就那么两种(x86、Arm),那时候叫的上名的架构有十几种,所以操作系统的兼容性是非常重要的。

Linus 开始自学操作系统,发现了一本很好的教材 《操作系统:设计与实现》 ,然后花了一个暑假看完,开始自己写操作系统。

《操作系统:设计与实现》这本书的作者是塔雷鲍姆,写书的时候已经是业界大牛了,他在大学为了教学操作系统,但苦于学生买不起太贵的 Unix 发行版,于是自己写了一个兼容 Unix 标准操作系统(主要是兼容 POSIX 标准),叫 Minix(名字上就很对仗,Universe - mini)。

Minix 这个系统就是为了教学而生的,只要买了这本书,就免费邮寄一份 Minix 源代码。Minix 为了方便教学,保持代码的简洁,塔雷鲍姆拒绝向里面添加太多复杂的功能。所以 Minix 虽然实现得优雅,但是社区的玩家要自己日常用,要魔改很多东西。

Minix 是微内核的。微内核的概念存在几十年了,而不是 2019 年诞生的。

微内核的结构非常优雅,文件系统,内存管理,硬件驱动都是以进程形式存在的,而不是内核代码,这意味着驱动挂了不会带着内核一起挂。缺点就是系统调用开销太大,以至于慢到无法接受。所以现在的桌面系统,没有纯微内核的。

对于教学系统来说,微内核不是问题,毕竟是教学,不是生产工具。

社区和 Linus 都很喜欢 Minix,但是都不满足于 Minix 作者因为教学目的而放弃兼容性和可扩展性。于是 Linus 在自己运行 Minix 的 PC 开始了 Linux 的开发。Linux 是宏内核的。

Linux 本来不叫 Linux,Linus 是一个很内向的人,不好意思取这么自恋的名字,但是合作者强烈建议用这个名字,所以就用了,x 代表 unix 的联系(都兼容 POSIX)。

提一句,Unix 不是为开源和免费而生的,而是为商业而生的,但是 Unix 的发展催生了最好的开源环境(比如 GNU)。

注意,这几年的社区,属于『军阀混战』,大家都缺一款好用的免费操作系统,但并不只是 Linus 想到要解决这个问题,理查德·斯托曼领导的 GNU 组织在 80 年代就一直酝酿一款免费的操作系统,因为他们的目的是与商业的 Unix 对抗,光有一个 GCC 编译器还不够,还需要有自己的操作系统。 1983年,Richard Stallman(理查德·马修·斯托曼)创立GNU计划。

社区里各种技术人员也对 GNU 的操作系统非常期待,但是这玩意儿难产了。直到很久之后,Linux 流行起来后,依然没做出来(现在GNU操作系统内核Hurd仍在由GNU开发中)。

最开始的 Linux 版本,只有几千行代码,现在基础扎实的 CS 本科生,花一段时间都可以看懂,甚至有些 OS 教材就是用 Linux 最初的版本来教学的,比如哈工大李志军的课程。

Linus 从一开始就不断在 minix 论坛上发布自己的进展,搞得论坛上一堆人非常感兴趣,于是许多人加入了开发,这时候 Linus 用邮件接收每个人的代码,然后手动合并。没过一段时间,minix 论坛上就全是讨论 Linux 的了,虽然塔雷鲍姆不是个小气的人,但是这么搞也让塔雷鲍姆很不爽

不久之后 Linus 和塔雷鲍姆之间爆发了一次冲突。

塔雷鲍姆在论坛上写了一篇文章,论证微内核与宏内核的优缺点,其实主要是攻击宏内核,说宏内核除了性能好点,全是缺点,说 Linux 过时了。Linus 是脾气暴躁的人,在技术问题上从不妥协。于是开始嘲讽 minix。Linux 的可移植性比 minix 更好,而且免费开源(minix 需要买书后获得)。

然后来来去去吵了很多次,具体可以看:

https://www.oreilly.com/openbook/opensources/book/appa.html

只是他们两个当时谁也没想到,这次论坛上的口水战会成为几十年后人们依然提起的操作系统之争。

Linus 并不恨塔雷鲍姆,他说后来有一次去了塔雷鲍姆的演讲,完了之后拿着那本书想要塔雷鲍姆的签名,但是没有等到人。

我想 Linus 多少还是尊敬他的,毕竟是自己学习操作系统的领路人。

在 Linus 和社区人员的努力下,通过扩展 GCC 支持 Linux,Linux 也兼容了越来越多的平台。其他各类软件移植到 Linux 也就变得容易了,尤其是在那个许多软件以源代码方式发行的时代,只要有对应平台的编译器,编译一次就算移植好了。

赶上 PC 发展的浪潮,但还不够,毕竟苹果微软不是好对付的,商业操作系统的易用性依然很强。

但是 Linux 开始被各类企业青睐了,因为不是每个企业都有钱花高价买一套 Unix 来用,或者是更贵的软件 + 硬件一体的大型机来用。Linux 让他们看到了省钱的希望。

GNU 开始支持 Linux,Linux 成为了 GNU 的官方操作系统,所以现在叫 GNU/Linux。

可以说 Linux 和 GCC 几乎是最伟大的两个开源项目。它们合起来就更强悍了。

GCC 让软件方便移植,Linux 软件生态就好了,软件生态好了用户就多,用户多了就让硬件公司眼馋,各路硬件公司都为 Linux 开发驱动和各种扩展,以支持自家硬件,这样用户就更多。这个倍增效应是很强的。

Linus 在项目达到一定规模后就不再亲自写代码了,主要是合并代码,毕竟全球那么多人提交代码,他一个人审核合并就够忙了,亲自写代码也没时间。

直到有一天他觉得忙不过来了,审核代码会遇到很多傻逼代码和开发者,于是他开发了现在最流行的版本控制工具,git,字面意思就是饭桶。

不得不说,他对操作系统发展方向的把控是精准的。

总结一下,Linux 的成功,以下几个条件必不可少:

1.Linus 强大的开发能力;

2.Linus 的项目管理能;

3.Linus 对操作系统发展方向的把控;

4.一个群雄割据,缺乏免费好用的操作系统的时代;

5.一个不仅群雄割据,缺乏免费好用的操作系统,而且程序语言,操作系统理论,编译器技术发展到一定程度,个人 PC 持续发展的时代;

6.GNU 的系统没做出来;

7.Minix 死守着『教育』不放;

8.GNU 的支持;

9.全世界硬件厂商的支持;

10.全世界软件厂商的支持;

11.全世界开源开发者的巨大贡献。

Linux内核起源之Linux之父 – 阿汤博客

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值