Mac OS的历史

来源:
导读 大家好,我是本期栏目编辑小友,现在为大家讲解Mac OS的历史问题。 纵观计算机历史,操作系统与计算机硬件的发展息息相关。 操作系统的

大家好,我是本期栏目编辑小友,现在为大家讲解Mac OS的历史问题。

纵观计算机历史,操作系统与计算机硬件的发展息息相关。

操作系统的初衷是提供简单的作业排序能力,然后逐渐发展以帮助更新更复杂的硬件设施。

从最早的批量模式开始,分时机制也出现了。当多处理器时代到来时,操作系统也增加了多处理器协调功能,甚至分布式系统的协调功能。进化的其他方面与此相似。

另一方面,在个人电脑上,个人电脑的操作系统遵循大型电脑的成长路径,当硬件变得越来越复杂和强大时,它逐渐实践了以前只有大型电脑才有的功能。

总之,操作系统的历史就是一部解决计算机系统需求和问题的历史。

20世纪80年代以前。

第一台个人电脑没有操作系统。这是因为早期个人电脑的建造方式(比如建造机械算盘)及其效率不足以执行这样的程序。

然而,1947年晶体管的发明和莫里斯文森特莫里斯威尔克斯发明的微程序设计方法使计算机不再是机械设备,而是电子产品。简化硬件操作流程的系统管理工具和程序很快出现,并成为操作系统的基础。

到了20世纪60年代初,商业计算机制造商已经制造出批处理系统,可以将作业的构建、调度和执行序列化。此时,制造商为不同型号的每台计算机创建不同的操作系统,因此为一台计算机编写的程序不能移植到其他计算机上执行,即使是同一型号的计算机。

1964年,IBM推出了一系列不同用途、不同价格的IBM System/360大型机,是大型机的经典之作。并且它们都共享代号为OS/360的操作系统(而不是为每个产品使用量身定制的操作系统)。让一个单一的操作系统适合整个系列的产品是System/360成功的关键,而实际上IBM大系统就是这个系统的传人。为System/360编写的应用程序仍然可以在现代IBM机器上执行!

OS/360还包含另一个优势:永久存储设备——硬盘驱动器(IBM称之为DASD(Direct access storage device))的出现。另一个关键是分时概念的建立:将大型计算机的宝贵时间资源适当分配给所有用户。分时也给用户一种独占整机的感觉。然而,Multics的分时系统是目前许多新操作系统中最成功的。

1963年,奇异公司与贝尔实验室合作用PL/I语言建立的Multics,是20世纪70年代许多操作系统建立的灵感来源,尤其是ATT贝尔实验室的dennis ritchie和ken thompson建立的Unix系统。为了实践平台的可移植性,1969年用C语言重写了这个操作系统。市场上广泛使用的另一种小型计算机操作系统是VMS。

上世纪80年代。

第一代微型计算机不像大型计算机或小型计算机,没有安装操作系统的需要或能力。他们只需要最基本的操作系统,通常是从ROM中读取的。这个程序叫做监视器。

20世纪80年代,家用电脑开始流行。此时,计算机通常有一个8位处理器加上64KB内存、一个屏幕、一个键盘和低质量扬声器。20世纪80年代初,最著名的封装计算机是使用微处理器6510(6502芯片特别版)的Commodore C64。这台电脑没有操作系统,但用8KB只读存储器BIOS初始化彩色屏幕、键盘、软驱和打印机。它可以使用8KB只读存储器的BASIC语言直接操作BIOS并根据它编写程序,大部分都是游戏。这种BASIC语言的解释器几乎不被认为是这台pc的操作系统,当然也没有内核或者软硬件保护机制。这台电脑上的大多数游戏都跳过了BIOS级别,直接控制硬件。

早期最著名的磁盘使能操作系统是CP/M,它支持许多早期的微型计算机,并被MS-DOS复制。

最早的IBM PC的架构类似于C64。当然,他们也用BIOS来初始化和抽象硬件操作,甚至还附加了一个BASIC解释器!但是它的BASIC优于其他公司的产品,因为它是可移植的,并且兼容任何符合IBM PC架构的机器。这种PC可以通过Intel-8088处理器(16位寄存器)寻址,内存可以达到1MB,但最初只有640KB。软驱取代了过去的磁带机,成为新一代的存储设备,在其512KB的空间内可以读写。为了支持文件读写的进一步概念,磁盘操作系统(DOS)诞生了。这个操作系统可以合并任意数量的扇区,因此它可以将任意数量和大小的文件放在一个磁盘片上。文档由文件名区分。IBM并不太在乎上面的DOS,所以它通过从外部公司购买来获得操作系统。

1980年,微软以欺骗手段获得了与IBM的合同,并获得了一家公司生产的操作系统。修改后以MS-DOS的名义生产。这个操作系统可以直接让程序操作BIOS和文件系统。在英特尔-80286处理器时代,存储设备的基本保护措施开始实施。MS-DOS的架构不足以满足所有要求,因为它最多只能同时执行一个程序(如果想同时执行程序,只能用TSR跳过OS,程序会自己处理多任务部分),没有内存保护措施。对驱动的支持不够完整,导致音频设备必须由程序自己设置的情况,不兼容的情况很多。有些操作的效率也很可怕。因此,许多应用程序跳过MS-DOS服务程序,直接访问硬件。

设备以取得较好的效能。虽然如此,但MS-DOS还是变成了IBM PC上面最常用的操作系统(IBM自己也有推出DOS,称为IBM-DOS或PC-DOS)。MS-DOS的成功使得微软成为地球上最赚钱的公司之一。

而1980年代另一个崛起的操作系统异数是Mac OS,此操作系统紧紧与麦金塔电脑捆绑在一起。此时一位施乐帕罗奥托研究中心的员工Dominik Hagen访问了苹果电脑的史蒂夫·乔布斯,并且向他展示了此时施乐发展的图形化使用者界面。苹果电脑惊为天人,并打算向施乐购买此技术,但因帕罗奥托研究中心并非商业单位而是研究单位,因此施乐回绝了这项买卖。在此之后苹果一致认为个人电脑的未来必定属于图形使用者界面,因此也开始发展自己的图形化操作系统。现今许多我们认为是基本要件的图形化接口技术与规则,都是由苹果电脑打下的基础(例如下拉式菜单、桌面图标、拖曳式操作与双点击等)。但正确来说,图形化使用者界面的确是施乐创始的。

20世纪90年代

Apple I电脑,苹果电脑的第一代产品。延续80年代的竞争,1990年代出现了许多影响未来个人电脑市场深厚的操作系统。由于图形化使用者界面日趋繁复,操作系统的能力也越来越复杂与巨大,因此强韧且具有弹性的操作系统就成了迫切的需求。此年代是许多套装类的个人电脑操作系统互相竞争的时代。

上一年代于市场崛起的苹果电脑,由于旧系统的设计不良,使得其后继发展不力,苹果电脑决定重新设计操作系统。经过许多失败的项目后,苹果于1997年释出新操作系统——MacOS的测试版,而后推出的正式版取得了巨大的成功。让原先失意离开苹果的Steve Jobs风光再现。

除了商业主流的操作系统外,从1980年代起在开放原码的世界中,BSD系统也发展了非常久的一段时间,但在1990年代由于与AT&T的法律争端,使得远在芬兰赫尔辛基大学的另一股开源操作系统——Linux兴起。Linux内核是一个标准POSⅨ内核,其血缘可算是Unix家族的一支。Linux与BSD家族都搭配GNU计划所发展的应用程序,但是由于使用的许可证以及历史因素的作弄下,Linux取得了相当可观的开源操作系统市占率,而BSD则小得多。

相较于MS-DOS的架构,Linux除了拥有傲人的可移植性(相较于Linux,MS-DOS只能运行在Intel CPU上),它也是一个分时多进程内核,以及良好的内存空间管理(普通的进程不能存取内核区域的内存)。想要存取任何非自己的内存空间的进程只能通过系统调用来达成。一般进程是处于使用者模式(User mode)底下,而执行系统调用时会被切换成内核模式(Kernel mode),所有的特殊指令只能在内核模式执行,此措施让内核可以完美管理系统内部与外部设备,并且拒绝无权限的进程提出的请求。因此理论上任何应用程序执行时的错误,都不可能让系统崩溃(Crash)。

另一方面,微软对于更强力的操作系统呼声的回应便是Windows NT于1999年的面世。

1983年开始微软就想要为MS-DOS建构一个图形化的操作系统应用程序,称为Windows(有人说这是比尔·盖兹被苹果的Lisa电脑上市所刺激)。

一开始Windows并不是一个操作系统,只是一个应用程序,其背景还是纯MS-DOS系统,这是因为当时的BIOS设计以及MS-DOS的架构不甚良好之故。

在1990年代初,微软与IBM的合作破裂,微软从OS/2(早期为命令行模式,后来成为一个很成功但是曲高和寡的图形化操作系统)项目中抽身,并且在1993年7月27日推出Windows 3.1,一个以OS/2为基础的图形化操作系统。

并在1995年8月15日推出Windows 95。

直到这时,Windows系统依然是建立在MS-DOS的基础上,因此消费者莫不期待微软在2000年所推出的Windows 2000上,因为它才算是第一个脱离MS-DOS基础的图形化操作系统。

下面的表格为Windows NT系统的架构:在硬件阶层之上,有一个由微内核直接接触的硬件抽象层(HAL),而不同的驱动程序以模块的形式挂载在内核上执行。因此微内核可以使用诸如输入输出、文件系统、网络、信息安全机制与虚拟内存等功能。而系统服务层提供所有统一规格的函数调用库,可以统一所有副系统的实作方法。例如尽管POSⅨ与OS/2对于同一件服务的名称与调用方法差异甚大,它们一样可以无碍地实作于系统服务层上。在系统服务层之上的副系统,全都是使用者模式,因此可以避免使用者程序执行非法行动。

第一个实作的副系统群当然是以前的微软系统。DOS副系统将每个DOS程序当成一进程执行,并以个别独立的MS-DOS虚拟机器承载其运行环境。另外一个是Windows 3.1模拟系统,实际上是在Win32副系统下执行Win16程序。因此达到了安全掌控为MS-DOS与早期Windows系统所撰写之旧版程序的能力。然而此架构只在Intel 80386处理器及后继机型上实作。且某些会直接读取硬件的程序,例如大部分的Win16游戏,就无法套用这套系统,因此很多早期游戏便无法在Windows NT上执行。

Windows NT有3.1.3.5.3.51与4.0版。

Windows 2000是Windows NT的改进系列(事实上是Windows NT 5.0)、Windows XP(Windows NT 5.1)以及Windows Server 2003(Windows NT 5.2)与Windows Vista(Windows NT 6.0)也都是立基于Windows NT的架构上。

而本年代渐渐增长并越趋复杂的嵌入式设备市场也促使嵌入式操作系统的成长。

现代操作系统通常都有一个使用的绘图设备的图形化使用者界面,并附加如鼠标或触控面版等有别于键盘的输入设备。旧的OS或效能导向的服务器通常不会有如此亲切的接口,而是以命令行接口(CLI)加上键盘为输入设备。以上两种接口其实都是所谓的壳,其功能为接受并处理使用者的指令(例如按下一按钮,或在命令提示列上键入指令)。

选择要安装的操作系统通常与其硬件架构有很大关系,只有Linux与BSD几乎可在所有硬件架构上执行,而Windows NT仅移植到了DEC Alpha与MIPS Magnum。

在1990年代早期,个人电脑的选择就已被局限在Windows家族、类Unix家族以及Linux上,而以Linux及Mac OS X为最主要的另类选择,直至今日。

大型机与嵌入式系统使用很多样化的操作系统。大型主机有许多开始支持Java及Linux以便共享其他平台的资源。嵌入式系统百家争鸣,从给Sensor Networks用的Berkeley Tiny OS到可以操作Microsoft Office的Windows CE都有。

2000年以后

至2005年为止,用于通用计算机上的分布的操作系统主要两个家族:类Unix家族和微软Windows家族。而主机系统和嵌入式操作系统使用多样的系统,并且很多和Windows、Unix都没有直接的联系。类Unix家族包括多个组织的操作系统,其中有几个主要的子类包括System V、BSD和Linux。这里‘Unix’是一个商标,开发组织允许使用操作系统在一个定义前提下自由地开发。这名字是通用大型设置操作系统类似组织 Unix。Unix系统运行在从巨型机到嵌入式系统的多种机器架构上。Unix主要使用于重要的商务服务器系统以及学院和工程环境中的工作站之上。和 AT&T Unix不同,自由软件比如Linux和BSD逐步开始流行,并且开始进入桌面操作系统领域。和一些Unix操作系统不同,像惠普公司的HPUX和IBM 公司的AⅨ是设计仅运行在客户购买的设备上,其中有一些特殊的(比如SUN公司的Solaris)可以运行在客户购买设备和基于工业标准的PC上。APPLE公司的Mac OS X是一个BSD特例,以取代早期小型市场上的苹果公司Mac OS,众多流行的Unix操作系统正在走向一体。微软公司的Windows操作系统家族起源于早期的IBM PC环境中的MS-DOS,最新版本是基于新的Windows NT内核,第一次是在OS/2中制定。和Unix不同,Windows只能运行在32位和64位的x86 CPU(如Intel或者AMD的芯片)上,尽管早期有版本运行于DEC Alpha,MIPS 和 PowerPC体系结构。今天Windows是一个流行的操作系统,在全球桌面市场中占有90%左右的份额,同时在中低端服务器市场也有广泛的应用,如 Web服务器和数据库服务器。

大型机系统,比如IBM公司的Z/OS,和嵌入式操作系统比如QNX、eCOs和PalmOS都是和Unix和Windows无关的操作系统,而 Windows CE、Windows NT Embedded 4.0和Windows XP Embedded都是和Windows相关的。

老的操作系统停留在市场包括类似IBM Windows的OS/2.来自惠普的VMS(以前的DEC);苹果公司的Mac OS操作系统、非Unix先驱苹果公司Mac OS X,以及AmigaOS,第一个图形用户界面的操作系统,包括对于普通用户的高级的多媒体能力。

标签:

版权声明:转载此文是出于传递更多信息之目的。若有来源标注错误或侵犯了您的合法权益,请作者持权属证明与本网联系,我们将及时更正、删除,谢谢您的支持与理解。