操作系统的历史…… 操作系统的历史……
操作系统的历史...以下文字信息由边肖为大家整理发布。我们来快速看一下!
20世纪80年代以前
第一台电脑没有操作系统。
这是因为早期的计算机不是以这种方式制造的,它们的性能不足以执行这种过程。
但是随着1947年晶体管的发明和莫里斯.威尔克斯发明的微程序设计方法,计算机不再是机械设备,而是电子产品。
简化硬件操作流程的系统管理工具和程序很快出现,并成为操作系统的起源。
到20世纪60年代初,商业计算机制造商制造了批处理系统,这些系统将任务的构建、调度和执行序列化。
此时,制造商为不同型号的每台计算机创建不同的操作系统,因此为一台计算机编写的程序不能移植到其他计算机上执行,即使是同一型号的计算机。
1964年,IBM推出了一系列不同用途、不同价位的大型机IBM System/360。
并且都共享代号为OS/360的操作系统。
做一个适合整个系列产品的单一操作系统是System/360成功的关键,而实际上IBM目前的大规模系统就是这个系统的后代;为System/360编写的应用程序仍然可以在现代IBM机器上执行!
OS/360还包含另一个优点:永久存储设备——硬盘驱动器的出现。
另一个关键是分时概念的建立:将大型计算机的宝贵时间资源适当分配给所有用户。
分时也给用户垄断整机的感觉;而Multics的分时系统是此时众多新操作系统中实践这个概念最成功的。
1963年,由奇异公司和贝尔实验室用PL/I语言建立的Multics是20世纪70年代许多操作系统的灵感来源,特别是AT&T贝尔实验室的丹尼斯·里奇和肯·汤普森建立的Unix系统。为了实践平台可移植性,1969年用C语言重写了这个操作系统。市场上广泛使用的另一种小型计算机操作系统是VMS。
80年代
第一代微型计算机不像大型计算机或小型计算机,没有安装操作系统的需要或能力;他们只需要最基本的操作系统,一般是从rom中读取。这个程序叫做监控程序。
20世纪80年代,家用电脑开始流行。
通常这个时候的电脑是8位处理器加64KB内存,屏幕,键盘,低质量音箱。
20世纪80年代初,最著名的封装计算机是使用微处理器6510的modore C64。
这台电脑没有操作系统,但用8KB只读存储器BIOS初始化彩色屏幕、键盘、软驱和打印机。
可以用8KB只读存储器的BASIC语言直接操作BIOS,根据它写程序,大部分是游戏。
这种BASIC语言的解释器勉强可以算是这种pc的操作系统,当然没有内核或者软硬件保护机制。
这台电脑上的大多数游戏都跳过了BIOS级别,直接控制硬件。
C64家用计算机的抽象体系结构
简单应用机器语言
8k基本只读存储器
8k ROM-BIOS
五金器具
CP/M是早期最著名的磁盘启动操作系统,支持很多早期的微型计算机,被MS-DOS复制。
最早的IBM PC的架构和C64差不多。
当然,他们也用BIOS来初始化和抽象硬件操作,甚至附加一个BASIC解释器!但是它的BASIC优于其他公司的产品,因为它是可移植的,并且兼容任何符合IBM PC架构的机器。
这种PC可以用Intel-8088处理器寻址,内存可以高达1MB,但最初只有640KB。
软驱取代了过去的磁带机,成为新一代的存储设备,可以在其512KB 空上读写。
为了支持文件读写的进一步概念,磁盘操作系统诞生了。
该操作系统可以合并任意数量的扇区,因此它可以将任意数量和大小的文件放在一个磁盘片上。
文档通过文件名来区分。
IBM并不太在意上面的DOS,所以通过从外部公司购买来获得操作系统。
1980年,微软以欺骗手段获得了与IBM的合同,并收购了一家公司生产的操作系统。修改后以MS-DOS的名义生产。这个操作系统可以直接让程序操作BIOS和文件系统。
在Intel-80286处理器时代,实施了基本的存储设备保护措施。
MS-DOS的体系结构不足以满足所有要求,因为它在没有任何内存保护措施的情况下,一次最多只能执行一个程序。
对驱动的支持不够完整,导致出现例如音响设备必须由程序自己设置,导致不兼容的情况。
有些操作的表现也很糟糕。
因此,许多应用程序跳过MS-DOS服务程序,直接访问硬件设备以获得更好的性能。
即便如此,MS-DOS已经成为IBM PC上最常用的操作系统。
MS-DOS的成功让微软成为世界上最赚钱的公司之一。
个人计算机上微软操作系统的抽象体系结构
普通应用程序
微软磁盘操作系统
基本输入输出系统
五金器具
20世纪80年代,另一个崛起的操作系统是与麦金塔紧密相连的Mac OS。
这时,全记录实验室的员工张秀坤·哈根拜访了苹果电脑的史蒂夫·乔布斯,向他展示了此时全记录开发的图形用户界面。
苹果电脑很惊讶,打算从quatu购买这项技术,但quatu拒绝了销售,因为布拉图的实验室不是商业单位,而是研究单位。
之后,苹果同意个人电脑的未来必须属于图形用户界面,于是开始开发自己的图形操作系统。
现在很多我们认为是基本要素的图形界面技术和规则,都是苹果电脑铺设的。
但准确地说,图形用户界面的确是整个记录的创造。
1990年代
Apple I电脑,苹果电脑的第一代产品。
延续80年代的竞争,90年代出现了很多操作系统,对未来PC市场产生了深远的影响。
随着图形用户界面越来越复杂,操作系统的能力也越来越复杂和庞大,因此一个强大而灵活的操作系统已经成为一种迫切的需求。
这个时代是一个很多打包的个人电脑操作系统互相竞争的时代。
近十年在市场上崛起的苹果电脑,由于旧系统设计不佳,未能开发出后续开发,于是苹果电脑决定重新设计操作系统。
经过多次失败的项目,苹果在1997年发布了其新操作系统——MAC OS的测试版,然后正式版获得了巨大的成功。
让沮丧地离开苹果的史蒂夫·乔布斯重新出现。
除了主流的商业操作系统,BSD系统从20世纪80年代开始在开源界发展了很长一段时间。然而,由于20世纪90年代与AT&T的法律纠纷,另一个开源操作系统——远离芬兰赫尔辛基大学的Linux应运而生。
Linux内核是标准的POSIX内核,其血缘可以看作是Unix的一个家族。
Linux和BSD家族都是和GNU开发的应用相匹配的。但是由于使用许可证和历史因素,Linux取得了相当大的开源操作系统市场份额,而BSD要小得多。
相比于MS-DOS的架构,Linux不仅以可移植性为荣,而且还是一个分时多进程内核,内存空管理良好。
想要访问任何进程之间的非自有内存空只能通过系统调用来实现。
一般的进程都是用户模式,但是执行系统调用的时候会切换到内核模式,所有的特殊指令都只能在内核模式下执行。这种措施允许内核完美地管理系统的内部和外部设备,并拒绝未经授权的进程发出的请求。
因此,理论上,应用程序执行中的任何错误都不会导致系统崩溃。
几乎完整的Linux架构图
用户
模式应用
复杂函数库
简单函数库
函数库
核心
模式系统中断、呼叫、错误和其他软件和硬件消息
核心
五金器具
另一方面,微软对更强操作系统的呼吁的回应是1999年Windows NT的出现。
从1983年开始,微软就想为MS-DOS构建一个叫做Windows的图形操作系统应用。
一开始Windows不是操作系统,是应用程序,后台是纯MS-DOS系统,这是因为当时的BIOS设计和MS-DOS架构不好。
90年代初,微软与IBM的合作破裂,微软退出OS/2项目,于1993年7月27日推出基于OS/2的图形操作系统Windows 3.1。
并于1995年8月15日推出了Windows 95。
在此之前,Windows系统还是基于MS-DOS的,所以消费者期待微软在2000年推出的Windows 2000,因为它是第一个脱离MS-DOS的图形操作系统。
下表展示了Windows NT系统的体系结构:在硬件层次结构之上,有一个微内核直接接触的硬件抽象层,不同的驱动以模块的形式挂载在内核上执行。
因此,微内核可以使用输入输出、文件系统、网络、信息安全机制、虚拟内存等功能。
系统服务层为所有函数调用库提供统一的规范,可以统一所有子系统的实现方法。
比如POSIX和OS/2虽然在同一个服务的名字和调用方法上有很大的区别,但是可以在系统服务层上无障碍的实现。
系统服务层以上的子系统都是用户模式,可以避免用户程序的非法行为。
Windows NT抽象体系结构的简化版本
用户
模式OS/2
应用程序Win32
应用程序DOS
程序Win16
应用POSIX
应用程序
其他DLL函数库DOS系统Windows仿真系统
OS/2子系统Win32子系统POSIX.1子系统
核心
模式系统服务层
I/o管理
文件系统、网络系统对象管理系统/安全管理系统/进程管理/对象间通信管理/进程间通信管理/虚拟内存管理
微内核窗口管理器
驱动硬件抽象层图形驱动
五金器具
子系统架构
实现的第一个子系统组当然是以前的微软系统。
DOS子系统把每个DOS程序当作一个进程,用一个独立的MS-DOS虚拟机托管其运行环境。
另一个是Windows 3.1仿真系统,实际上是在Win32子系统下执行Win16程序。
从而达到安全控制为MS-DOS和早期Windows系统编写的旧程序的能力。
但是,该架构仅在英特尔80386处理器和更高型号上实施。
而且有些可以直接读取硬件的程序,比如大部分Win16游戏都不能应用这个系统,所以很多早期的游戏都不能在Windows NT上运行。
Windows NT有3.1、3.5、3.51和4.0版本。
Windows 2000是Windows NT的改进系列,Windows XP、Windows Server 2003、Windows Vista都是基于Windows NT架构的。
在这个时代,日益增长和日益复杂的嵌入式设备市场也促进了嵌入式操作系统的发展。
现代操作系统通常具有绘图设备的图形用户界面,并且附加有不同于键盘的输入设备,例如鼠标或触摸面板。
老OS或者面向性能的服务器通常没有这么友好的界面,而是使用命令行界面加键盘作为输入设备。
上面两个接口其实就是所谓的shells,它们的功能是接收和处理用户的指令。
选择要安装的操作系统通常与其硬件架构密切相关。几乎所有硬件架构都只能执行Linux和BSD,Windows NT只移植到DEC Alpha和MIPS Magnum。
20世纪90年代初,个人电脑的选择仅限于Windows系列、类Unix系列和Linux,Linux和Mac OS X是主要的替代选择。
大型机和嵌入式系统使用各种操作系统。
最近很多大型机为了共享其他平台的资源,开始支持Java和Linux。
嵌入式系统最近一直在争夺数百所学校,从伯克利的传感器网络微型操作系统到可以操作微软办公软件的视窗操作系统。
文章评论