硬件兼容的UNIX起源和谱系(11k字)

科学Sciences导读:纵观计算机历史,操作系统与计算机硬件的发展息息相关。本文从操作系统演进的五个阶段(9k字)、早期操作系统的发展阶段(10k字)、硬件兼容的UNIX起源和谱系(11k字)、可视化操作系统成主流(29k字)、操作系统功能和技术简介(4k字)等五个方面,介绍计算机操作系统的演进、谱系和产品发展史。计算机发展过程中,出现过许多操作系统:DOS、MacOS、Windows、Unix、Linux、Free BSD等。关键词:计算机,操作系统,OS,Multics,Unics,Unix,Minux,Linux,Xenix、OS/2、Dos,Windwows,iOS,Android,演进,谱系。赞赏支持科普作者后,公号输入栏发送“操作系统史”获取本PDF资料,下载学习科技知识。

计算机操作系统的演进、谱系和产品发展史(74k字)

目录

A计算机操作系统的演进、谱系和产品发展史 (67k字)

一、操作系统演进的五个阶段 Five Stages Of Operating System Evolution

二、早期主机操作系统的发展 Early Host Operating System Development

三、硬件兼容UNIX起源和谱系 Hardware Compatible With UNIX Origin And Pedigree

四、可视化操作系统成为主流 Visual Operating System Into The Mainstream

五、操作系统功能和技术简介 Introduction To Operating System Features And Technologies

素材(5k字)


计算机操作系统的演进、谱系和产品发展史

ComputerOperating System Evolution, Pedigree, and Product Development History

文Author|秦陇纪Qinlong GEcai,科学Sciences©20190618Tue

操作系统(OS)是管理计算机硬件和软件资源并为计算机程序提供公共服务的软件,是计算机系统中系统软件的组件。制造和使用史上最强大的信息处理工具——计算机,要能够设计硬件系统架构,生产制造芯片,设计开发操作系统和应用程序,并维持信息技术生态。还要在信息技术领域外,严格确定保护知识产权,维持开发人员支持,否则无以为继。本书介绍操作系统(OS)的演进、谱系和产品发展史。An operating system (OS) is systemsoftware that manages computer hardware and software resources and providescommon services for computer programs, is a component of the system software ina computer system. Application programs usually require an operating system tofunction. [1]Manufacture and use the most powerful informationprocessing tool in history—computers, it’s able to design hardware systemarchitectures, manufacture chips, design and develop operating systems andapplications, and then maintain an information technology ecosystem. Inaddition to the field of information technology, it is necessary to strictlydetermine the protection of intellectual property rights, and maintain thesupport of developers, otherwise it will not be able to continue. This bookdescribes the development history of operating system (OS) evolution, pedigree,and products.

三、硬件兼容UNIX起源和谱系 Hardware Compatible With UNIX Origin And Pedigree

半个多世纪的操作系统发展史中,通用电气与贝尔实验室合作的,以PL/I语言创建的Multics操作系统,是激发1970年代众多操作系统创建的灵感来源。尤其是AT&T贝尔实验室的肯·汤普逊丹尼斯·里奇创建的Unix系统,实践了不同硬件平台上的系统移植能力,是现代操作系统的基础。

几乎所以所有现代操作系统都可追溯到美国AT&T公司和贝尔实验室等共同开发的MULTICS(多路信息计算系统)。自那开始,整个操作系统的演化经历了三个阶段:

(1)命令行操作系统——Unix初始系统诞生时,主要面向专业人士,无可视化界面,非专业人士不可用。Unix系统最初叫UNIcs,1969年第二版由C语言重写时改称UNIX。

(2)可视化操作系统——施乐公司Alto、苹果Mac、微软Windows为代表的可视化操作系统,降低了使用者门槛。

(3)开源的操作系统——典型是Linux诞生与演进,包括Linux内核的Android等,全世界软件人员合力开发免费开源操作系统,形成应用软件生态,取得了长足发展。

以这三个阶段为主线回顾计算机操作系统发展历程。先从Unix的起源、谱系和相似系统开始。

3.1Unix起源

1965年之前,电脑并不像现在一样普遍。电子计算机不是一般人能碰得起的,除非是军事或者学院的研究机构,而且当时大型主机至多能提供30台终端(30个键盘、显示器),连接同一台电脑。在当时,计算机一次只能接受一个任务,多人的任务需要排队执行。

这种情况一直持续到二十世纪60年代IBM公司开发了System/360系列机器。尽管这些机器在性能上有明显差异,但是他们有统一的操作系统——OS/360。让单一操作系统适用于整个系列的产品是System/360成功的关键,且实际上IBM目前的大型系统便是此系统的后裔,为System/360所写的应用程序依然可以在现代的IBM机器上运行。

1961年,麻省理工(MIT)在IBM7094型机器上实现首个分时系统CTSS(Compatible Time-Sharing System相容分时系统),在计算机界享有盛誉。1963年,305RAMAC以及集成电路的出现,通用型计算机的诞生成为可能;之后MIT启动MAC计划——以IBM大型机为主体,连接160台终端,分别位于教职员家和校区四处,允许30名用户同时使用。然而到1965年,MAC就已不堪负荷;MIT决定开发更大分时系统——MULTICS(MULTiplexed Information and Coputing System多路信息与计算系统),计划中MULTICS将史无前例地连接1000台终端,支持300名用户同时使用,它将带给计算机界更加成熟的分时系统理念和新的硬件设计思路。IBM无意参与,而通用电气(GeneralElectric)公司力推其GE645主机,所以MIT与GE合作,又找来贝尔实验室,开始了新系统研发。

①为了解决用户不够用的问题

1964年,美国国防部委托麻省理工和通用电气公司开发“公用计算机服务系统MULTICS,其目的是开发出一套安装在大型主机上多人多工的操作系统。

1965年,AT&T公司下的贝尔实验室(BellLabs)加入一项由通用电气(GeneralElectric)麻省理工学院(MIT)合作的计划——建立一套多使用者、多任务、多层次(multi-user、multi-processor、multi-level)的MULTICS操作系统。Multics研发项目正式开启,其目标是整合分时技术以及当时其他先进技术,让大型主机支持300台终端,允许用户在远程终端通过电话(拨号)登录到主机,然后可以编辑文档、阅读电子邮件、运行计算器等等。但是项目目标太过激进,进度严重滞后。

1969年,MULTICS计划项目进度缓慢,美国国防部决定裁撤MULTICS项目,通用公司随即退出。由于资金短缺,AT&T高层决定放弃这个项目,奋战了四年的MULTICS还是达不到计划中的性能,贝尔实验室也退出了。MULTICS遭到彻底的失败,被潮解为Many UnnecessarilyLarge Table In Core Sinultaneously(许多同时在核心区的非必要大桌子)。但先天不足的MULTICS还是被装在GE645上供使用,而通用电气在一年之后就完全淡出大型机市场。同一时期IBM的System/360等大型机系统的研发都以失败收场,大型机开始受到冷落,小型、微型机上的研发逐渐活跃起来。【但是麻省理工并未就此罢休,MULTICS最终还是获得了成功,被麻省理工用作学校的信息管理。MULTICS包含了很多现代操作系统雏形,比如隐藏核心文件,只提供用户界面等等。】

此操作系统另一个广为市场采用的小型计算机操作系统是VMS——数字设备公司(Digital EquipmentCorporation)编写的高端、安全、多任务操作系统,目前由惠普(HewlettPackard)积极维护。它在VAX,Alpha和Itanium平台上运行。从Alpha平台开始,操作系统被重新命名为“OpenVMS”。

②贝尔实验室汤普森写的操作系统

1969年,退出MULTICS项目的贝尔实验室肯·汤普森(Ken Thompson)无聊时玩"星际旅行(Space Travel)"游戏,程序在GE-635机器(GE公司主机)上跑地反应非常慢。正巧发现一部闲置的PDP-7(DEC公司主机),他就想把这个游戏移植到PDP-7上运行;在8月份左右趁着妻子探亲期间的一个月,使用汇编写出了Unics(后被改名为Unix)。也有一说是因为工作需要,汤普森希望开发一个小的作业系统,花了一个月时间在这台PDP-7上写了一个作业系统和一些常用工具程序——就是鼎鼎大名的Unics。该套软件虽然参考了Multics系统的思路设计,但是功能目的很单一,实验室的布莱恩·柯林汉(Brian Kernighan)开玩笑称他们的系统其实是"UNiplexedInformation and Computing Service(缩写为UNICS)",戏称此软件为Unics(单路信息计算系统),以区别于MULTICS(多路信息计算系统)。MULTICS是"Multiplexed Information and ComputingService"的缩写,当时因为PDP-7性能不佳,后来,大家取其谐音,就称其为"UNIX"了。而这部PDP-7(如下图所示)在整个计算机历史上留下了芳名。

图22:PDP-7计算机

1970年,贝尔实验室的PDP-7小型计算机只能支持两个用户,肯·汤普逊丹尼斯·里奇决定把第一版UNICS移植到更新的PDP-11小型机上,开发第二版UNICS。肯·汤普森(Ken Thompson)以BCPL(BasicCombined Programming Language基本组合编程语言)为基础,设计出很简单且很接近硬件的B语言(取BCPL的首字母),并用B语言写第一个UNIX操作系统,希望性能提升后,真正可以提供多人同时使用。业内把1970年称为"UNIX元年",肯·汤普森(Ken Thompson)称为“UNIX之父”。

1971年,肯·汤普森(Ken Thompson)写了充分长篇的申请报告,申请到一台PDP-11/24机器。同样酷爱"星际旅行(SpaceTravel)"游戏的丹尼斯·M·里奇(Dennis M.Ritchie)为了能早点儿玩上游戏,正式加入汤普森(Thompson)的开发项目,合作开发UNIcs,他的主要工作是改造B语言,因为B语言不够强大,跨平台性较差。第一版Unics使用汇编语言和B语言开发,由于当时的机器结构不同,所以每次安装系统时,都需要重新编写一遍,中间经过了多次改版。为了使当时的Unics具有更好的移植性、适用于不同的硬件设施,汤普森里奇对B语言进行改造,并于1971年共同创造了C语言。

1972年,丹尼斯·M·里奇(Dennis M.Ritchie)在B语言的基础上最终设计出了一种新的语言,他取了BCPL的第二个字母作为这种语言的名字,这就是C语言

1973年初,C语言的主体完成,汤普森(Thompson)和里奇(Ritchie)迫不及待地用C语言完全重写了BCPL语言写的Unix操作系统,并正式命名为Unix,发行了Unix正式版本。于是Unix第一版出来了,在一台PDP-11/24的机器上完成。这台电脑只有24KB的物理内存和500K磁盘空间。Unix占用了12KB的内存,剩下的一半内存可以支持两用户进行Space Travel的游戏。初代Unix采用200多条程序命令,内核很小但功能极为精简强悍。著名的fork()系统调用就是这时出现的。当时传统需要用100行到1000行代码的程序,用Unix不超过10条命令就可解决,使得肯·汤普逊写的程序在AT&T公司内得以疯狂快速地传播。不了解编程命令的朋友可以设想一下,本来要一天才能做完的编程工作,用Unix系统命令则几分钟就搞定了全天工作,效率极高。

Unics的发明将复杂任务简单化处理,提升了系统效率。同时,为了解决软件和硬件驱动不关联问题,而重新创建高级语言(C语言),从而实现软件和硬件的分离,为现代操作系统(Unix)的发展打下了坚实的基础。该版本由于使用在当时看来是高级语言的C来改写,减轻了对底层硬件依赖的问题,从而可以广泛地在各种机器上使用。UNIX取得了MULTICS设想中的成就。

同年,学术界参与到UNIX开发工作中,由于Unix是AT&T公司贝尔实验室和学术界(加州伯克利大学)合作开发,从而快速在各大高校传开。其中,加州伯克利(Berkeley)大学比尔·乔伊(Bill Joy)获取UNIX核心源码后,着手修改成适合自己机器的版本,同时增加了很多工具软件与编译程序,最终将其命名为Berkeley Software Distribution(BSD)的UNIX。这个BSD是Unix很重要的一个分支,苹果的操作系统实际源自此分支。UNIX的高度可移植性与强大的性能,加上当时并没有版权纠纷,很多商业公司开始开发自己版本的UNIX操作系统,例如AT&T自己的System V、IBM的AIX以及HP与DEC等公司,都采用自己的主机与自己的UNIX操作系统——UNIX开始在产业界流行。

图24:肯·汤普逊(左)和丹尼斯·里奇(右)

1974年7月,Unix的第一篇文章《UNIX分时系统(The UNIX Time Sharing System)》由肯·汤普森(Ken Thompson)和丹尼斯·M·里奇(Dennis M.Ritchie)在计算机器协会通讯(TheCommunications of the ACM, Association for Computing Machinery)期刊上发表。这是UNIX与外界的首次接触。结果引起了学术界的广泛兴趣,并索取其源码。因此,Unix第五版就以“仅用于教育目的”的协议,提供给各大学作为教学之用,成为当时操作系统课程中的范例教材。各大学公司开始通过Unix源码对Unix进行了各种各样的改进和扩展。于是,Unix开始在产业界、学术界均广泛流行。

在把UNIX移植到其他类型的计算机上使用时,C语言强大的移植性(Portability)在此显现。当时,机器语言和汇编语言都不具有移植性,为x86开发的程序,不可能在Alpha,SPARC和ARM等机器上运行。而C语言程序则可以使用在任意架构的处理器上,只要那种架构的处理器具有对应的C语言编译器和库,然后将C源代码编译、连接成目标二进制文件之后即可运行。但当时并没有统一的硬件标准,不同公司生产的硬件不一样,不同公司开发的程序无法兼容使用,只能运行在自己公司生产的硬件里。这个时候也没有人针对个人电脑来开发UNIX系统。

图25:Unix操作系统发展史

3.2 Unix谱系

从Wikimedia提供的Unix谱系图可以看到Unix家族史,基本囊括了当今多数最流行的操作系统。

① UNIX谱系

UNIX主要分为UNIX SystemV家族、BSD UNIX-386BSD家族、UNIX-Like和其他。如下:

● UNIXSystemV家族

▪A/UX▪AIX(IBM)▪HP-UX▪IRIX▪LynxOS▪SCOOpenServer▪Tru64▪Xenix▪Solaris(SUN)▪OS/2

● BSDUNIX-386 BSD家族

▪BSD/OS▪FreeBSD▪NetBSD▪NEXTSTEP▪MacOSX▪iOS▪OpenBSD▪SUNOS(sun)▪OpenSolaris

● UNIX-Like

▪GNU▪Linux▪Android▪Debian▪Ubuntu▪RedHat▪LinuxMint▪Minix▪QNX▪GNU/Linux▪GNU/Hurd▪DebianGNU/Hurd▪GNU/kFreeBSD▪StartOS

● 其他

DOS▪MS-DOS▪Windows▪ReactOS

其中,应该注意到繁衍出的System V, revision4(SVR4),4.4BSD,FreeBSD,Linux,MAC OS,Solaris,Android等系统,现在已经形成各自的系统应用生态,让我们明白Unix的流行——被称为计算机/互联网行业的基石——UNIX具有里程碑式作用和意义。

(下载PDF打印版,有无水印、超清分辨率、清晰的图)

在Unix开发的过程中,没有任何的奖励制度和管理,从一开始AT&T公司出现,是一种近似于好奇或兴趣的东西。20世纪70年代一直到1979年,AT&T公司开始注意到Unix所带来的商业价值。公司律师开始寻找一些手段来保护Unix,并让其成为一种商业机密。

1979年,AT&T推出SystemV第七版(SVR7),Unix开始支持个人电脑。出于商业考量,AT&T公司决定收回Unix版权,将UNIX源代码私有化——在版本Version 7推出新的Unix许可证使用条款,特别提到“不可对学生提供原始码”的严格限制,开始禁止大学使用UNIX源代码,包括在授课中不可对学生提供源代码,教学受到影响学校受到很大冲击,但也导致后来学术界自力更生。

到了1980年代,有两个最主要的Unix的版本线,Berkeley的BSD UNIXAT&T的Unix。后来Unix发展越来越快,这主要归根于不断地出现各种各样的变种(类Unix)。这时的竞争最终引发了Unix战争——好的是,软件开发人员还是能够得到Unix的源码,并对其按照自己的需要和兴致进行裁剪;不好的是,Unix开发开始一发不可收拾,不停地出现各种各样的变种——版本碎片化了。

② BSD家族和System V家族的区别

1、System V和BSD同出于AT&T实验室的分别两个部门,System V是一个Unix的商业化标准,BSD为Unix标准化的Berkeley风格。

2、System V是商业化的Unix产物,BSD更注重学院派的作风‘遵循GPL规范’。System V诲涩难懂,BSD以简洁著称。目前俩者之间官方没有对此作过实质性的测试和评价。

3、目前只有Slackware是Linux发行版中唯一使用BSD风格的版本。其他的就是FreeBSD、NetBSD和OpenBSD三个著名的BSD发行版,并遵循‘GPL规范’。在商业版的Unix及多数Linux发行版使用SystemV风格的init“可能有版权纠纷问题”。Linux代表的有:RedHat、Suse、MDV、MagicLinux、Debian等几乎大部分发行版。Unix代表的有AIX、IRIX、Solars、HP-UX

4、System V能够为不同的运行级别定义启动哪些服务,如定义在3的运行级别下开机启动FTP服务,而在5的运行级别下开机不启动FTP服务,而采用BSD没有运行级别的概念

5、System V启动方式:也就是linux采用的启动方式,启动服务的脚本放在/etc/rc.d/init.d下面,而BSD启动方式在/etc/rc.d和/usr/local/etc/rc.d中存放启动服务的脚本

上面分类中需要注意,system V家族的solaris和bsd家族的Sun OS不同,下面简单说明下区别。

SunMicrosystems公司基于BSDUNIX开发的SunOS(即后来大家熟悉的Solaris)的工作站。而AT&T则在随后几年中发布了Unix System V的第一版,一个具有强大影响力的操作系统,最终造就了IBM的AIX和HP的HP-UX。

3.3 类UNIX系统

① SunOS和Solaris操作系统

1982年,乔伊(Joy)创建了太阳微系统(Sun Microsystems)公司并提供了工作站Sun-1,运行SunOS(Solaris之后十年出现)。

Sun OS是Sun的操作系统最初叫法,Sun OS主要是基于BSD Unix版本。Sun OS 5.0开始,SUN的操作系统开发开始转向System V Release 4,并且有了新的名字叫做Solaris 2.0;Solaris 2.6以后,SUN删除了版本号中的"2,因此,Sun OS 5.10就叫做Solaris 10。Solaris的早期版本后来又被重新命名为Solaris 1.x,所以"Sun OS"这个词被用做专指Solaris操作系统的内核,因此Solaris被认为是由Sun OS,图形化的桌面计算环境,以及它网络增强部分组成。

Solaris与Sun OS的版本转换:Solaris 8 = Sun OS5.8,Solaris7 = Sun OS 5.7,Solaris2.6 = Sun OS 5.6,Solaris2.5 = Sun OS 5.5……因为自Sun OS5以后,就叫Solaris了。Solaris也有分服务器版和个人版,它们分别是:服务器版sparc,个人版x86。

Solaris是SUN公司研制的类Unix操作系统。直至2013年,Solaris的最新版为Solaris 11。早期的Solaris是由BSD Unix发展而来。但至今Solaris仍旧属于私有软件。2005年6月14日,Sun公司将正在开发中的Solaris 11的源代码以CDDL许可开放,这一开放版本就是OpenSolaris。

Solaris运行在Intel x86及SPARC、Ultra SPARC两个平台。后者是太阳工作站使用的处理器。因此,Solaris在SPARC上拥有强大的处理能力,同时Intel x86上的性能也正在得到改善。对这两个平台,Solaris屏蔽了底层平台差异,为用户提供了尽可能一样的使用体验。

② MINIX操作系统

1984-1986年间,荷兰阿姆斯特丹自由大学安得鲁S.坦南鲍姆Anderw S.Tanenbaum(谭邦宁)教授,为了能在课堂上给学生教授操作系统运作细节,决定编写时不使用任何AT&TUnix源代码的前提下,自行开发操作系统,以避免版权纠纷。他参照Unix的功能,写了一个叫Minix的Unix-like核心程序;意思为mini-UNIX(小型Unix),并且与UNIX兼容、支持X86个人电脑。该系统在1986年完成并发布,并于次年发布了相关书籍。后来林纳斯·托瓦兹(Linus Torvalds)以此构建了Linux核心系统。

1987年,Minix第一版正式发行。谭邦宁教授认为Minix主要用在教育事业,对Minix的开发只是点到为止,所以并不能满足用户的需求。如今,谭邦宁教授退休后仍然经常去学校,每天编程。

③ IBM的AIX

AIX是IBM开发的一套UNIX操作系统。它符合Open group的UNIX 98行业标准,通过全面集成对32位和64位应用的并行运行支持,为这些应用提供了全面的可扩展性。它可以在所有的IBM P系列和IBM RS/6000工作站、服务器和大型并行超级计算机上运行。另外,AIX级别的逻辑卷管理正逐渐被添加进各种自由的UNIX风格操作系统中。

④惠普的HP UX

HP UX取自Hewlett PackardUniX,是惠普公司以SystemV为基础研发的类UNIX操作系统。HP-UX可以在HP的PA-RISC处理器、Intel的Itanium处理器上运行,另外过去也能用于后期的阿波罗电脑(Apollo/Domain)系统上。较早版本的HP-UX也能用于HP 9000系列200型、300型、400型的电脑系统(使用Motorola的68000处理器)上,和HP-9000系列500型电脑(使用HP专属的FOCUS处理器架构)。

⑤ IRIX

IRIX是由硅谷图形公司(简称SGI,SGI被HPE收购)以System V与BSD延伸程序为基础所发展成的UNIX操作系统,IRIX可以在SGI公司的RISC型电脑上运行,即运行基于32位、64位MIPS架构的SGI工作站、服务器之上。

⑥ Xenix

Xenix是一种UNIX操作系统,可在个人电脑及微型计算机上使用。该系统由微软公司在1979年从美国电话电报公司获得授权,为Intel处理器所开发。后来,SCO公司收购了其独家使用权,自那以后,该公司开始以SCOUNIX(亦被称作SCOOpenServer)为名发售。它继承了UNIX的特性,Xenix具备了多人多任务的工作环境,符合UNIXSystem V的接口规格(SVID)。

⑦ A/UX

A/UX取自Apple Unix,是苹果电脑公司所开发的UNIX操作系统,此操作系统可以在该公司的Macintosh电脑上运行,A/UX于1988年首次发表,最终的3.1.1版本于1995年发表。A/UX至少需要一颗具有浮点运算单元及标签页式的存储器管理单元PMMU(PagedMemory Management Unit)的处理器才能运行。A/UX是以System V 2.2版为基础所发展,同时使用System V3、System V4、BSD 4.2、BSD 4.3等的传统特色,它也遵循POSIX规范及SVID规范。

⑧ MacOS

Mac OS是基于Unix内核的图形化操作系统,2011年7月20日Mac OS X(X为10的罗马数字写法)已经正式被苹果改名为OS X。也是一套运行于苹果Macintosh系列电脑上的操作系统,后来也推出在PC上运行的Mac系统(简称Mac PC)。苹果公司在各类开源项目中长期贡献着自己的力量,但其UNIX系统技术一直都属于闭源阵营(这一点可以从NUX OS阵营和家谱图中得到答案)。

然而,2017年国庆期间在GitHub上公布了旗舰操作系统的XNU内核源代码,XNU(XNU is NotUnix的缩写)属于MacOS(包括以往全部版本)以及iOS所使用的类Unix内核(对应各类苹果Darwin操作系统)。XNU源代码基于苹果公共源许可(Apple PublicSource License 2.0),这其实是一项相当严格的许可;开发人员可将此次发布的内核代码引入自有项目。

⑨ Linux

从Unix操作系统的发展历史来看,又可以分为古典Unix,近代Unix和现代Unix,其中Linux起源于Minix,在严格意义上来讲不属于Unix范畴(因为Minix并未使用任何Unix代码)。智能终端系统除了苹果iOS外,Android、MeeGo和WebOS都属于Linux系统分支。

Linux有许多不同的版本,而且Linux的内核的发行和使用是完全免费的。所以很多的公司、组织,甚至是个人开发了他们自己Linux操作系统版本,包括终端设备操作系统Android。随着Linux成熟发展和开放,Linux也经常内嵌在许多硬件设备之中,例如路由器、交换机、电话系统、智能手机、GPS系统等。比较受欢迎的Linux发行版如Fedora、Ubuntu、Red Hat、Debian、SUSE等。

3.4 Linux操作系统

1988年,林纳斯·托瓦兹(Linus Torvalds)进入芬兰赫尔辛基大学,选读计算机科学系。就学期间,托瓦兹接触到Unix操作系统,但要使用unix需要等待,其他人使用时他就无法使用。“我为什么不自己搞个Unix玩?”不久之后,他就听说有一个类似Unix,和Unix完全兼容,还可以在Intel 386机器上面跑的操作系统,于是他购买了最新的Intel386个人计算机,安装了Minix操作系统。研究Minix过程中,他发现Minix虽然真的很棒,但谭宁邦教授就是不愿意进行功能加强,导致一堆工程师在操作系统功能方面的欲求不满!这时,年轻的托瓦兹就想“既然如此,那我何不自己来改写一个我想要的操作系统?”,于是开始撰写核心程序。Minix只为教学使用,功能并不强,林纳斯经常要用他的终端仿真器(Terminal Emulator)访问大学主机上的新闻组和邮件,为了方便读写和下载文件,他自己编写了磁盘驱动程序和文件系统——这些在后来成为Linux第一个内核的雏形,当时,他年仅21岁!

1991年,林纳斯(Linus)在BBS上贴了一则消息,宣称他用GNU的bash做开发环境,gcc做编译工具,编写了一个小小的核心程序——Linux内核,可以在Intel的386机器上运行;不过,这个核心程序还不够好,希望可以获得大家的修改建议;同时提供了下载地址。这让很多人感兴趣,从此便开始了Linux不平凡的路程。一开始Linux只适用于386并不能兼容Unix,Unix应用程序不能在Linux上跑,即应用程序与内核之间的接口不一致,后来经过全世界的网友的帮助,最终能够兼容多种硬件。

① Linux内核版本

内核(kernel)是系统的心脏,是运行程序和管理像磁盘和打印机等硬件设备的核心程序,它提供了一个在裸设备与应用程序间的抽象层。Linux内核版本分为稳定版和开发版,两种版本是相互关联,相互循环。

稳定版:具有工业级强度,可以广泛地应用和部署。新的稳定版相对于较旧的只是修正一些bug或加入一些新的驱动程序;

开发版:由于要试验各种解决方案,所以变化很快。

所有来自全世界的对Linux源码的修改最终都会汇总到网站http://www.kernel.org内核源码网,由林纳斯(Linus)领导的开源社区对其进行甄别和修改,最终决定是否进入到Linux主线内核源码中。

② Linux发行版本

Linux发行版(也被叫做GNU/Linux发行版)通常包含了包括桌面环境、办公套件、媒体播放器、数据库等应用软件。常见发行版本有:Ubuntu、Redhat、Fedora、openSUSE、Linux Mint、Debian、Manjaro、Mageia、CentOS、Arch等。

十大Linux服务器发行版排行榜,在几乎每一份与Linux有关的榜单上,基于Debian的Ubuntu都占有一席之位。Canonical的Ubuntu胜过其他所有的Linux服务器发行版――从简单安装、出色的硬件发现,到世界级的商业支持,Ubuntu确立了难以企及的严格标准。

③ Linux应用领域

主要在:a)企业服务器——企业;b)嵌入式——手机、个人数字助理(PDA)、消费性电子产品及航空航天等领域中;c)桌面——个人电脑;d)Android和其它领域。

● 服务器领域

Linux在服务器领域的应用是其重要分支

Linux免费、稳定、高效等特点在这里得到了很好的体现

早期因为维护、运行等原因同样受到了很大的限制

近些年来Linux服务器市场得到了飞速的提升,尤其在一些高端领域尤为广泛

● 嵌入式领域

近些年来Linux在嵌入式领域的应用得到了飞速的提高

Linux运行稳定、对网络的良好支持性、低成本,且可以根据需要进行软件裁剪,内核最小可以达到几百KB等特点,使其近些年来在嵌入式领域的应用得到非常大的提高

主要应用:机顶盒、数字电视、网络电话、程控交换机、手机、PDA、等都是其应用领域,得到了Google、三星、摩托罗拉、NEC等公司的大力推广

● 个人桌面领域

此领域是传统Linux应用最薄弱的环节

传统Linux由于界面简单、操作复杂、应用软件少的缺点,一直被Windows所压制

近些年来随着Ubuntu、Fedora等优秀桌面环境的兴起,同时各大硬件厂商对其支持的加大,Linux在个人桌面领域的占有率在逐渐的提高

图30:在Ubuntu中玩QQ

● Android和其它领域

2003 安迪·鲁宾创办了Android公司。Android——基于Linux内核的开放移动操作系统。

2005年,Android公司被Google收购。

2007年11月5日,谷歌公司正式公布Android操作系统。

其它领域略。

操作系统这类复杂大型软件的生产,变成完全需要研发、投入、逐步优化的软硬件科技领域。操作系统的研发、协作、开放变得越来越多,越来越快,投入的人和资金也越来越多。

PS: thks4 ur support^_^

素材(5k字)

1. Wikipedia. Operating system - Wikipedia.[EB/OL], Wikipedia, https://en.wikipedia.org/wiki/Operating_system, visit date:2019-06-18Tue

2. Wikipedia. History of operating systems.[EB/OL], Wikipedia, https://en.wikipedia.org/wiki/History_of_operating_systems, visit date:2019-06-18Tue

3. Kent State University. History ofOperating Systems. [EB/OL], Kent State University,http://www.personal.kent.edu/%7Ermuhamma/OpSystems/Myos/osHistory.htm, visit date:2019-06-18Tue

4. Dietel, H. M., "Operating Systems", 2nd ed. Addison-Wesley,Reading, MA, 1992.

5. Finkel, R.A., "An Operating Systems Vade Mecum", 2nd ed.Prentice-Hall, Englewood Cliffs, NJ, 1988.

6. Goscinski, Andrzej, "Distributed Operating Systems : the logical design".

7. Hartley, Stephen. J. "Operating Systems Programming".

8. Krakowiak, S, "Principles of Operating Systems", MIT Press,1988.

9. Lane, M.G. and Mooney, J.D, "A Practical Approach to OperatingSystems", Boyd and Fraser, 1988.

10. Milenkovic, M., "Operating Systems: Concept and Design",2nd ed. McGraw-Hill, 1992.

11. Silberschatz, A. and Peterson, James, L., "Operating System Concepts",1983.

12. Silberschatz, A. and Galvin, P.B., "Operating System Concepts", 4th ed. Addison-Wesley, Reading,MA, 1994.

13. Sinha, Pradeep K., "Distributed Operating Systems".

14. Singhal, Mukesh and Shivaratri, "Advanced Concepts in OperatingSystems".

15. Stallings, W, "Operating Systems", Macmillan, New York,1992.

16. Tanenbaum, Andrew S., "Modern Operating Systems", 现代操作系统(荷), Prentice-Hall, EnglewoodCliffs, NJ, 1992.

17. Tanenbaum, Andrew S., "Operating Systems : Design andImplementation".

18. Gerard Tel, "Introduction to Distributed Algorithms".

19. By Gary Anthes. Unix turns 40: The past, presentand future of a revolutionary OS S. [EB/OL], Computerworld,https://www.computerworld.com/article/2524456/unix-turns-40--the-past--present-and-future-of-a-revolutionary-os.html,June 04, 2009 01:01 AM PT, visit date: 2019-06-18Tue

20. blackberry. QNX OS. [EB/OL], qnx,http://www.qnx.com/download/group.html?programid=29178, visit date:2019-06-18Tue

21. qnx. pps: OS Core Components=>Samplepublishers and subscribers. [EB/OL], qnx,http://support7.qnx.com/download/download/30066/QNX_Persistent_Publish_Subscribe_Developers_Guide.pdf,visit date: 2019-06-18Tue

22. qnx. Building QNX OS Images. [EB/OL], qnx,http://www.qnx.com/developers/docs/7.0.0/#com.qnx.doc.ide.userguide/topic/sysbuilder.html,visit date: 2019-06-18Tue

23. 李科男, 百度高级研发工程师. 【OS】QNX车载实时微内核操作系统简介及开发环境搭建. [EB/OL], zhihu, https://zhuanlan.zhihu.com/p/46528076, visit date:2019-06-18Tue

24. 锋影Q. 五大车载操作(VOS)系统优劣对比,车载系统架构分析-QNX系统性能分析. [EB/OL], csdn,https://blog.csdn.net/xjhhjx/article/details/77133290, 2017-08-13 08:32:28,visit date: 2019-06-18Tue

25. chaofanwei. unix分支以及分类. [EB/OL], csdn,https://blog.csdn.net/chaofanwei/article/details/17223773, 2013-12-09 16:01:45, visit date:2019-06-18Tue

26. 词条统计:浏览1458830次,编辑159次历史版本,最近更新:许喆昱(2019-06-15). Mac OS. [EB/OL], baike,https://baike.baidu.com/item/Mac%20OS, 2019-06-15, visitdate: 2019-06-18Tue

27. Mark Dean(IBM院士,技术战略与全球运作副总裁). IBM100: PC个人计算已发展成熟. [EB/OL], ibm, https://www-31.ibm.com/ibm/cn/ibm100/icons/personalcomputer/index.shtml, visit date:2019-06-18Tue

28. U.S. Copyright Office. Copyright in General:How is a copyright different from a patent or a trademark? [EB/OL], copyright, https://www.copyright.gov/help/faq/faq-general.html#what, visit date:2019-06-18Tue

29. Timeline of UNIX history操作系统简史(英文版) . [EB/OL], levenez, http://www.levenez.com/unix/, visit date:2019-06-18Tue

30. operating system. [EB/OL], encyclopedia4u, http://www.encyclopedia4u.com/, visit date:2019-06-18Tue

31. 百度经验>游戏/数码>电脑>电脑软件. 操作系统的发展史. [EB/OL], baidu,https://jingyan.baidu.com/article/a378c9600973fbb3282830bb.html, 更新:2019-02-25 15:56, visit date:2019-06-18Tue

32. 词条标签:科学,学科;词条统计:浏览103189次,编辑11次历史版本,最近更新:w_ou(2018-08-11). 操作系统发展史. [EB/OL], baike, https://baike.baidu.com/item/操作系统发展史,2018-08-11, visit date: 2019-06-18Tue

33. 志艺. 操作系统基础知识——操作系统发展简史. [EB/OL], 学习啦, http://mip.xuexila.com/diannao/xitong/zonghe/2779702.html,2017-03-09 10:53:27, visit date: 2019-06-18Tue

34. 追梦的肥猪. Python3-操作系统发展史. [EB/OL], cnblogs, https://www.cnblogs.com/Xuuuuuu/p/10330635.html,2019-01-28 16:08, visit date: 2019-06-18Tue

35. 小李超人. 操作系统发展史——什么是操作系统. [EB/OL], 博客园,https://www.cnblogs.com/xiaolichaoren/p/5792349.html, 2016-08-21 11:19, visit date:2019-06-18Tue

36. 奋---勤能补拙. 40款你未必知道的图形界面操作系统. [EB/OL], cnblogs, https://www.cnblogs.com/chio/articles/1020081.html, 2007-12-29 15:36,visit date: 2019-06-18Tue

37. 郑清正(苏宁金融研究院数据风控实验室首席研究员), 苏宁财富资讯原创,来源:钛媒体. 世界操作系统发展简史.[EB/OL], 凤凰网科技, http://tech.ifeng.com/a/20190617/45509007_0.shtml,2019-06-17日 10:19:02, visit date:2019-06-18Tue

38. 清华大学. 图灵奖得主依托清华-伯克利深圳学院建设RISC-V国际开源实验室. [EB/OL], sina,http://edu.sina.com.cn/l/2019-06-14/doc-ihvhiews8841336.shtml, 2019-06-1414:36, visit date: 2019-06-17Mon

x. 秦陇纪. 人工智能起源与发展正史; 西方哲学与人工智能、计算机; 数据科学与大数据技术专业概论; 人工智能研究现状及教育应用; 数据资源概论; 文本数据溯源与简化; 大数据简化技术体系; 数据简化社区概述. [EB/OL], 数据简化DataSimp(微信公众号),https://dsc.datasimp.org/, http://www.datasimp.org, 2017-06-06, visit date: 2019-06-18Tue

—END—

免责说明:公开期刊媒体资料汇编,只为学术新闻信息传播,注明出处素材可溯源,自觉接受公众监督。本公号不持有任何倾向性,亦不表示认可其观点或其所述


计算机操作系统的演进、谱系和产品发展史(74k字)

秦陇纪2010-2019©科学Sciences

Sciences259计算机操作系统的演进、谱系和产品发展史SP20190618TueQinDragon.docx

简介:计算机操作系统的演进、谱系和产品发展史。作者:秦陇纪。素材:Wiki等网文/秦陇纪微信群聊公众号,素材附引文出处。下载:本文69k+字68+图50+页PDF,公号发“操作系统史”获取。版权:科普文章仅供学习,公开资料©版权归原作者,勿用于商业非法目的,保留对应权利。有事留言或邮询QinDragon2010@qq.com。转载:请写明作者、出处、时间等信息,如“来自公号©科学Sciences,作者:秦陇纪,时间:20190618Tue©数据简化DataSimp社区2010-2019NC非商业授权”等字样,欢迎分享、赞赏支持。

原文发布于微信公众号 - 科学Sciences(SciencesPub)

原文发表时间:2019-06-30

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

扫码关注云+社区

领取腾讯云代金券