计算机原理操作系统概述课件.ppt
绪论绪论1 1、操作系统的名称、操作系统的名称 监控(督)程序(系统)(监控(督)程序(系统)(Monitor)Monitor)执行系统(程序)执行系统(程序)(Executive System(program)(Executive System(program)控制系统(程序)控制系统(程序)(Control System program)(Control System program)管理程序管理程序(Supervisor,Supervisory System)(Supervisor,Supervisory System)核心程序核心程序(Kernel)(Kernel)操作系统操作系统(Operating System)(Operating System)1 2.2.操作系统做什么?操作系统做什么?#include int main(int argc,char*argv)puts(hello world);return 0;2 用户告诉操作系统执行用户告诉操作系统执行hellohello程序程序操作系统找到该程序,检查其类型操作系统找到该程序,检查其类型检查程序首部,找出正文和数据的地址检查程序首部,找出正文和数据的地址文件系统找到第一个磁盘块文件系统找到第一个磁盘块父进程需要创建一个新的子进程,执行父进程需要创建一个新的子进程,执行hellohello程序程序操作系统需要将执行文件映射到进程结构操作系统需要将执行文件映射到进程结构操作系统设置操作系统设置CPUCPU上下文环境,并跳到程序开始处上下文环境,并跳到程序开始处程序的第一条指令执行,失败,缺页中断发生程序的第一条指令执行,失败,缺页中断发生操作系统分配一页内存,并将代码从磁盘读入,继操作系统分配一页内存,并将代码从磁盘读入,继续执行续执行更多的缺页中断,读入更多的页面更多的缺页中断,读入更多的页面程序执行系统调用,在文件描述符中写一字符串程序执行系统调用,在文件描述符中写一字符串3 操作系统检查字符串的位置是否正确操作系统检查字符串的位置是否正确操作系统找到字符串被送往的设备操作系统找到字符串被送往的设备设备是一个伪终端,由一个进程控制设备是一个伪终端,由一个进程控制操作系统将字符串送给该进程操作系统将字符串送给该进程该进程告诉窗口系统它要显示字符串该进程告诉窗口系统它要显示字符串窗口系统确定这是一个合法的操作,然后将字符串窗口系统确定这是一个合法的操作,然后将字符串转换成像素转换成像素窗口系统将像素写入存储映像区窗口系统将像素写入存储映像区视频硬件将像素表示转换成一组模拟信号控制显示视频硬件将像素表示转换成一组模拟信号控制显示器(重画屏幕)器(重画屏幕)显示器发射电子束显示器发射电子束你在屏幕上看到你在屏幕上看到hello worldhello world4 操作系统提供一系列服务:操作系统提供一系列服务:多任务,内存保护,内存管理,多任务,内存保护,内存管理,网络,文件存取,设备控制,用户界面网络,文件存取,设备控制,用户界面错误检测及恢复系统,硬件控制,安全错误检测及恢复系统,硬件控制,安全5 3.3.为什么学习操作系统为什么学习操作系统?o设计操作系统设计操作系统 或者或者 修改现有的系统修改现有的系统 存在人们意识不到的大量存在人们意识不到的大量“操作系统操作系统”嵌入式系统嵌入式系统(Embedded OS(Embedded OS)o 加深对使用的加深对使用的OSOS的理解,有利于深入编程的理解,有利于深入编程 用户为了开发应用程序必须与操作系统打交道用户为了开发应用程序必须与操作系统打交道o 编程时借鉴操作系统的设计思想和算法编程时借鉴操作系统的设计思想和算法 操作系统中所用的许多概念和技巧可以推广应操作系统中所用的许多概念和技巧可以推广应用到其他领域用到其他领域o 选择购买操作系统选择购买操作系统 o 我们并不总使用我们并不总使用Win95/NT/2000/XPWin95/NT/2000/XP6 涉及到计算机科学的很多领域n计算机体系结构计算机体系结构/硬件硬件n软件设计软件设计n程序设计语言程序设计语言n数据结构数据结构n算法算法n网络网络学习核心技术并能在其他地方应用之学习核心技术并能在其他地方应用之7 思维方式的学习思维方式的学习o抽象抽象操作系统具有一种魔力(magic)提供了无限的CPUs 无限的内存 单一全球计算能力 等等8 大型、复杂系统的系统设计大型、复杂系统的系统设计 性能性能 与与 方便使用方便使用 性能性能 与与 简单性简单性 硬件硬件 与与 软件软件 折衷权衡折衷权衡Trade OffTrade Off操作系统是目前最复杂的软件成分操作系统是目前最复杂的软件成分9 4.4.操作系统的工作操作系统的工作(1 1)程序的执行)程序的执行负责启动每个程序,以及结束程序的工作负责启动每个程序,以及结束程序的工作(2 2)完成与硬件有关的工作)完成与硬件有关的工作(3 3)完成与应用无关的工作)完成与应用无关的工作易于使用,基本服务,统一性易于使用,基本服务,统一性(4 4)计算机系统的效率与安全问题)计算机系统的效率与安全问题10 硬件相关:硬件相关:应用程序应用程序-虚机器界面虚机器界面 操作系统操作系统-物理机器界面物理机器界面 硬件硬件 假如没有操作系统?怎样将目标代码送给硬件?怎假如没有操作系统?怎样将目标代码送给硬件?怎假如没有操作系统?怎样将目标代码送给硬件?怎假如没有操作系统?怎样将目标代码送给硬件?怎样输出打印结果?样输出打印结果?样输出打印结果?样输出打印结果?人们将对二进制程序操作人们将对二进制程序操作人们将对二进制程序操作人们将对二进制程序操作 从二极发光管读答案从二极发光管读答案从二极发光管读答案从二极发光管读答案11 硬件相关(续硬件相关(续1 1):):指实现代码中包含存储器的物理地址,包含指实现代码中包含存储器的物理地址,包含对设备接口寄存器和设备接口缓冲区的读写等对设备接口寄存器和设备接口缓冲区的读写等等等o实现该工作的过程代码和硬件因素密切相关,即实现该工作的过程代码和硬件因素密切相关,即需要设置与测试、使用物理地址、设备接口寄存需要设置与测试、使用物理地址、设备接口寄存器等等器等等o硬件相关必然复杂繁琐、代码量大硬件相关必然复杂繁琐、代码量大o硬件相关的工作,其实现代码不通用硬件相关的工作,其实现代码不通用12 硬件相关(续硬件相关(续2 2):):由于操作系统承担了上述工作,在其之上由于操作系统承担了上述工作,在其之上的各类程序就没有必要直接同硬件打交道的各类程序就没有必要直接同硬件打交道了。硬件改变时,操作系统相应变化即可,了。硬件改变时,操作系统相应变化即可,其他的程序不用作出改变其他的程序不用作出改变 硬件相关还表现在有关硬件的状态必定带硬件相关还表现在有关硬件的状态必定带来对应代码的变化来对应代码的变化13 与应用无关:与应用无关:是指这些工作是任何一个程序都需要的、是指这些工作是任何一个程序都需要的、最基本的工作最基本的工作它们具有共性,工作过程相同它们具有共性,工作过程相同与具体应用无直接关系,即与用户所关心与具体应用无直接关系,即与用户所关心的应用目标无直接关系的应用目标无直接关系14第四章第四章 操作系统概述操作系统概述o 操作系统的基本概念操作系统的基本概念o 操作系统的特征操作系统的特征o 研究操作系统的几种观点研究操作系统的几种观点o 操作系统的技术发展过程操作系统的技术发展过程o 著名的操作系统著名的操作系统o 操作系统的分类操作系统的分类o 操作系统的功能操作系统的功能15一、一、操作系统的地位操作系统的地位计算机系统由硬件和软件组成计算机系统由硬件和软件组成操作系统在硬件基础上的第一层软件操作系统在硬件基础上的第一层软件是其他软件和硬件之间的接口是其他软件和硬件之间的接口16操作系统设计者操作系统设计者应用软件设计者应用软件设计者应用软件设计者应用软件设计者17二、操作系统的定义二、操作系统的定义操作系统是计算机系统中的一个系统软件,操作系统是计算机系统中的一个系统软件,是一些程序模块的集合是一些程序模块的集合它们能以尽量它们能以尽量有效有效、合理合理的方式组织和管理计算的方式组织和管理计算机的软硬件资源,合理的组织计算机的工作流程,机的软硬件资源,合理的组织计算机的工作流程,控制程序的执行并向用户提供各种服务功能,使控制程序的执行并向用户提供各种服务功能,使得用户能够灵活、得用户能够灵活、方便方便、有效的使用计算机,使、有效的使用计算机,使整个计算机系统能高效地运行。整个计算机系统能高效地运行。18有效:有效:系统效率,资源利用率系统效率,资源利用率 (如:(如:CPUCPU利用的充足与否,内存、外部利用的充足与否,内存、外部设备是否忙碌)设备是否忙碌)合理:合理:公平与否,如果不公平则会产生公平与否,如果不公平则会产生“死锁死锁”或或“饥饿饥饿”方便:方便:用户界面用户界面19三、操作系统的特征三、操作系统的特征并发:并发:在计算机系统中同时存在多个程序在计算机系统中同时存在多个程序宏观上:这些程序是同时在执行的宏观上:这些程序是同时在执行的微观上:任何时刻只有一个程序在执行微观上:任何时刻只有一个程序在执行 即微观上这些程序在即微观上这些程序在CPUCPU上轮流执行上轮流执行并行并行:(与并发相似,但多指硬件支持)与并发相似,但多指硬件支持)20共享:共享:操作系统与多个用户的程序共同使操作系统与多个用户的程序共同使用计算机系统中的资源用计算机系统中的资源操作系统特征(续)操作系统特征(续)随机性:随机性:操作系统必须随时对以不可预测的次序操作系统必须随时对以不可预测的次序发生的事件进行响应发生的事件进行响应 如何考虑周密、设计适当如何考虑周密、设计适当21四、研究操作系统的几种观点四、研究操作系统的几种观点o作为软件来看的观点作为软件来看的观点o资源管理的观点资源管理的观点o进程的观点进程的观点o虚机器观点虚机器观点o服务提供者观点服务提供者观点221.1.作为软件来看的观点作为软件来看的观点软件的特性软件的特性o外在特性:外在特性:软件是种语言软件是种语言,是界面是界面界面界面:使用方式使用方式 (命令(命令,系统调用等系统调用等)o内在特性:内在特性:软件的结构软件的结构a.a.由有几部分组成由有几部分组成 b.b.每个部分的功能每个部分的功能 c.c.部分之间的关系部分之间的关系232.2.资源管理的观点资源管理的观点操作系统操作系统-资源管理者资源管理者硬件资源:硬件资源:CPUCPU,内存,外部设备,内存,外部设备(I/O(I/O设备,外存,设备,外存,时钟,网络接口等时钟,网络接口等)软件资源:软件资源:硬盘上的文件,信息硬盘上的文件,信息24管理资源管理资源o记录资源使用状况记录资源使用状况 如如 哪些资源空闲,好坏与否,被谁使用哪些资源空闲,好坏与否,被谁使用,使用多使用多长时间等长时间等o合理的分配资源合理的分配资源静态分配策略静态分配策略(在程序运行前分配,但效率不高在程序运行前分配,但效率不高)动态分配策略动态分配策略(在程序运行过程中何时用资源,何时分配。在程序运行过程中何时用资源,何时分配。其缺点是会出现死锁其缺点是会出现死锁)o具体完成分配具体完成分配o回收资源回收资源25资源管理的目的资源管理的目的实现资源共享实现资源共享提高资源利用率提高资源利用率操作系统功能操作系统功能CPU(CPU(进程进程)管理管理存储管理存储管理文件管理文件管理设备管理设备管理作业管理作业管理263.3.进程的观点进程的观点是从操作系统运行的角度动态的观察操作系统是从操作系统运行的角度动态的观察操作系统从这个观点来看:从这个观点来看:操作系统是由一些可同时独立运行的进程和一操作系统是由一些可同时独立运行的进程和一个对这些进程进行协调的核心组成个对这些进程进行协调的核心组成.27进程:进程:完成某一特定功能的程序完成某一特定功能的程序是程序的一次执行过程是程序的一次执行过程是动态有生命的,当它执行时存在,否则消亡是动态有生命的,当它执行时存在,否则消亡284.4.虚机器观点虚机器观点从操作系统内部结构来看:从操作系统内部结构来看:o把操作系统分成若干层把操作系统分成若干层o每一层完成其特定功能从而构成一个虚机器,每一层完成其特定功能从而构成一个虚机器,并对上一层提供支持并对上一层提供支持o通过逐层功能扩充通过逐层功能扩充,最终完成整个操作系统虚最终完成整个操作系统虚机器机器o操作系统虚机器向用户提供各种功能操作系统虚机器向用户提供各种功能,完成用完成用户请求户请求295.5.服务提供者的观点服务提供者的观点在操作系统之外从用户角度来看:在操作系统之外从用户角度来看:操作系统为用户提供一组功能强大的、操作系统为用户提供一组功能强大的、方便易用的命令或系统调用。方便易用的命令或系统调用。30五、操作系统的发展五、操作系统的发展操作系统发展是随着计算机硬件技操作系统发展是随着计算机硬件技术、应用软件的发展而发展的术、应用软件的发展而发展的目标:充分利用硬件目标:充分利用硬件 提供更好的服务提供更好的服务1.1.概述概述 操作系统历史划分为操作系统历史划分为4 4个阶段个阶段31第第 1 1 阶段阶段 硬件非常昂贵,没有操作系统硬件非常昂贵,没有操作系统第第 2 2 阶段阶段 硬件昂贵,人力便宜硬件昂贵,人力便宜简单批处理:装入程序、运行、打印结果、撤出、再简单批处理:装入程序、运行、打印结果、撤出、再重复重复用户把程序(卡片或磁带)交给负责调度的操作员用户把程序(卡片或磁带)交给负责调度的操作员(系统管理员)(系统管理员)常驻监控程序自动地装入程序、运行、撤出作业常驻监控程序自动地装入程序、运行、撤出作业32多道程序设计:多个用户共享系统多道程序设计:多个用户共享系统增加:存储保护,重定位增加:存储保护,重定位利用率高(多个作业)利用率高(多个作业)有必要采用并发程序设计技术有必要采用并发程序设计技术操作系统成为研究焦点:操作系统成为研究焦点:需要处理复杂性多道程序批处理系统在磁盘上多需要处理复杂性多道程序批处理系统在磁盘上多个作业等待运行多道程序个作业等待运行多道程序-同时运行多个作业同时运行多个作业-选择若干作业准备运行(调度)选择若干作业准备运行(调度)并装入内存(并装入内存(存储管理存储管理)-运行一个作业,当它等待时切换至内存中的另一个作业运行一个作业,当它等待时切换至内存中的另一个作业(如需安装磁带,等键按下)(如需安装磁带,等键按下)33 早期计算机:单控制方式早期计算机:单控制方式-CPU-CPU负责计算,也负责传输负责计算,也负责传输 早期计算机的使用方式早期计算机的使用方式-一个用户独占全部资源一个用户独占全部资源-浪费:浪费:CPUCPU与外设速度不匹配与外设速度不匹配 手工操作方式和高速机器之间手工操作方式和高速机器之间的不匹配的不匹配34 提高资源利用率提高资源利用率-多部件并行,多任务共享多部件并行,多任务共享 通道引入:传输和通道引入:传输和CPUCPU相对独立相对独立 中断引入:各部件的协调动作成为可能中断引入:各部件的协调动作成为可能 体系结构的发展可以支持体系结构的发展可以支持OSOS 多道程序运行模式多道程序运行模式35第第 3 3 阶段阶段 硬件较以前便宜,人力昂贵硬件较以前便宜,人力昂贵 交互式交互式分时处理分时处理 一台计算机,多个便宜终端一台计算机,多个便宜终端-所有用户可与系统立即交互所有用户可与系统立即交互-调试比较方便调试比较方便36 磁盘便宜,故可在线存放程序和数据磁盘便宜,故可在线存放程序和数据-1 -1 张穿孔卡片张穿孔卡片 =100=100个字节个字节-1 MB=10K-1 MB=10K卡片卡片-OS/360 -OS/360 有若干英尺长度的卡片有若干英尺长度的卡片37 新问题新问题-易于使用,提高人的生产力易于使用,提高人的生产力-合理的响应时间合理的响应时间-引入文件系统,使用户可存取数据引入文件系统,使用户可存取数据38 解决解决-需要抢占式调度以便保持需要抢占式调度以便保持 适当的响应时间适当的响应时间-需要避免抖动(程序在内存中需要避免抖动(程序在内存中 过于频繁的对换)过于频繁的对换)-需要提供适用的安全检测需要提供适用的安全检测39 成功:成功:一群计算机迷一群计算机迷 (Tomson,Ritchie)(Tomson,Ritchie)在贝尔实验室发展出了在贝尔实验室发展出了UNIXUNIX。(这样他们可以在一台无人使用的(这样他们可以在一台无人使用的DEC DEC PDP-7 PDP-7 小型计算机上玩星际探险游戏)小型计算机上玩星际探险游戏)40 成功:成功:Ken Thompson Ken Thompson,Dennis RitchieDennis Ritchie19831983年图灵奖获得者年图灵奖获得者19991999年年4 4月月 美国国家技术金奖美国国家技术金奖41第第 4 4 阶段阶段 硬件非常便宜,人力昂贵硬件非常便宜,人力昂贵目标:目标:充分利用人和时间充分利用人和时间个人计算雏形个人计算雏形 CPU CPU 便宜到可在每台终端上安装,功能强大便宜到可在每台终端上安装,功能强大有效有效-成为大众的计算机成为大众的计算机42 放弃多道程序、并发和保护机制,使放弃多道程序、并发和保护机制,使 OS OS 回回归简单归简单o使用户再次与系统交互使用户再次与系统交互o增强文件系统增强文件系统o响应时间、保护更为重要响应时间、保护更为重要网络网络允许不同机器很容易共享资源允许不同机器很容易共享资源-共享,安全共享,安全43操作系统的历史操作系统的历史:变化变化!意味着技术总在改变意味着技术总在改变 要适应、折衷权衡要适应、折衷权衡442.2.历史上的操作系统历史上的操作系统随历史线索,介绍一些重要的操作系统随历史线索,介绍一些重要的操作系统o真空管时代真空管时代(1946(1946年年-1955-1955年年)o晶体管时代晶体管时代(1955(1955年年-1965-1965年年)o集成电路时代集成电路时代(1965(1965年年-1980-1980年年)o大规模集成电路时代大规模集成电路时代(1980(1980年年-至今至今)45批处理操作系统批处理操作系统 -现代操作系统雏型现代操作系统雏型为了改进主存和为了改进主存和I/OI/O设备之间的吞吐量设备之间的吞吐量IBM 7094IBM 7094机引入了机引入了I/O I/O 处理机概念处理机概念其思想是:在输入室收集全部的作业,用一台相对便其思想是:在输入室收集全部的作业,用一台相对便宜的计算机宜的计算机如如IBM 1401IBM 1401计算机,将它们读到磁带上计算机,将它们读到磁带上另外用较昂贵的计算机,如另外用较昂贵的计算机,如IBM7094IBM7094来完成真正的计算来完成真正的计算46第二代计算机典型的操作系统第二代计算机典型的操作系统FMSFMS(FORTRAN Monitor SystemFORTRAN Monitor System,FORTRANFORTRAN监控系统监控系统)IBMSYSIBMSYS(IBMIBM为为70947094机配备的操作系统)机配备的操作系统)这些操作系统由监控程序,特权指令,存储保护这些操作系统由监控程序,特权指令,存储保护和简单的批处理构成和简单的批处理构成47第三代集成电路计算机(第三代集成电路计算机(19651965年年-1980-1980年)时期年)时期 60 60年代初期,计算机开始采用集成电路,多数厂商有几年代初期,计算机开始采用集成电路,多数厂商有几条完全不同的生产线,生产不同的计算机。条完全不同的生产线,生产不同的计算机。产生的问题:产生的问题:o开发和维护完全不同的产品开发和维护完全不同的产品 对厂商来说是昂贵的对厂商来说是昂贵的o新用户在开始时只需要一台小计算机,后来可能需要一新用户在开始时只需要一台小计算机,后来可能需要一台大的计算机,又希望能在新计算机上执行原有的程序台大的计算机,又希望能在新计算机上执行原有的程序 厂家和用户要求软件在不同型号的计算机之间兼容厂家和用户要求软件在不同型号的计算机之间兼容48o1964 1964 年年IBM IBM 宣布推出宣布推出System/360System/360计算机系统计算机系统 第一个采用小规模集成电路的主流机型第一个采用小规模集成电路的主流机型o试图一次性地解决上述两个问题试图一次性地解决上述两个问题o由于所有的计算机由于所有的计算机 都有相同的体系结都有相同的体系结 构和指令集构和指令集 在理论上,为一型在理论上,为一型 号编写的程序可以号编写的程序可以 在其他型号机器上在其他型号机器上 运行运行492023/1/150IBM System/360IBM System/360的若干问题的若干问题oIBMIBM无法写出同时满足互冲突需要的操作系统无法写出同时满足互冲突需要的操作系统 其实别人也一样不能完成这项工作任务其实别人也一样不能完成这项工作任务oIBM OS/360IBM OS/360文件系统中有类型字段,定义文件的类型,文件系统中有类型字段,定义文件的类型,有定长、不定长记录、块状和非块状文件有定长、不定长记录、块状和非块状文件 用户对于输出文件的大小,只有通过猜测用户对于输出文件的大小,只有通过猜测o存储管理有基地址寄存器寻址方式,程序也可以访问存储管理有基地址寄存器寻址方式,程序也可以访问和修改基地址寄存器,但是和修改基地址寄存器,但是CPUCPU生成的却是绝对地址,生成的却是绝对地址,虽然不用进行动态再分配虽然不用进行动态再分配 但程序却被钉死在调入内存时的物理地址上但程序却被钉死在调入内存时的物理地址上(IBM 370IBM 370体系结构:引入虚拟存储器。)体系结构:引入虚拟存储器。)51IBM System/360,IBM System/360,庞大的软件怪兽庞大的软件怪兽o数千名程序员写的数百万行汇编语言代码数千名程序员写的数百万行汇编语言代码 系统自身占据了大量存储空间和一半的系统自身占据了大量存储空间和一半的CPUCPU时间时间o数百万行汇编代码中有成千上万处错误数百万行汇编代码中有成千上万处错误oIBMIBM不断发行新的版本试图更正这些错误不断发行新的版本试图更正这些错误 每个新版本在更正老错误的同时又引入新错误每个新版本在更正老错误的同时又引入新错误o所以随着时间的流逝,错误的数量大致保持不变所以随着时间的流逝,错误的数量大致保持不变52多道程序设计技术(多道程序设计技术(multiprogrammingmultiprogramming)o在在IBM 7094IBM 7094机上,若当前作业因等待机上,若当前作业因等待I/OI/O而暂停,而暂停,CUPCUP只能等待直至该只能等待直至该I/OI/O完成完成 对于对于CPUCPU操作密集科学计算问题,浪费时间少操作密集科学计算问题,浪费时间少 对于商业数据处理,对于商业数据处理,I/OI/O等待时间常占等待时间常占80809090o解决办法解决办法 将内存分几个部分,每部分放不同的作业将内存分几个部分,每部分放不同的作业 当一个作业等待当一个作业等待I/OI/O时,另一个作业可以使用时,另一个作业可以使用CPUCPU 在主存中同时驻留多个作业需要硬件进行保护在主存中同时驻留多个作业需要硬件进行保护 以避免信息被窃取或攻击以避免信息被窃取或攻击53Spooling Spooling 技术技术o程序卡片被拿到机房后程序卡片被拿到机房后 能够很快将一作业从卡片读入磁盘能够很快将一作业从卡片读入磁盘o任何时刻当一作业运行结束任何时刻当一作业运行结束 操作系统就将一新作业从磁盘读出操作系统就将一新作业从磁盘读出 装入空出的内存区运行装入空出的内存区运行oSpoolingSpooling技术技术 (Simultaneous Peripheral Operation On Line)(Simultaneous Peripheral Operation On Line)o该技术也用于输出该技术也用于输出54分时系统分时系统o第三代计算机实质是批处理系统第三代计算机实质是批处理系统o而从一作业提交到结果取回而从一作业提交到结果取回,往往长达数小时往往长达数小时 一个逗号的误用会导致编译失败一个逗号的误用会导致编译失败 而可能浪费程序员半天时间而可能浪费程序员半天时间o问题的解决导致分时系统的出现问题的解决导致分时系统的出现 (CTSSCTSS,Compatible Time Sharing SystemCompatible Time Sharing System)o分时系统实际上是多道程序的一个变种分时系统实际上是多道程序的一个变种 提高计算机运算效率;改善人机交互界面提高计算机运算效率;改善人机交互界面55o分时系统的思想于分时系统的思想于19591959年在年在MITMIT提出提出 (IBM 7090(IBM 7090,32k RAM32k RAM,0.35 MIPS0.35 MIPS,350350万美元万美元)o每个用户有一个联机终端每个用户有一个联机终端o在分时系统中,假设在分时系统中,假设2020个用户登录个用户登录 其中其中1717个在思考或谈论或喝咖啡个在思考或谈论或喝咖啡 则则CPUCPU可给那三个需要的作业轮流分配服务可给那三个需要的作业轮流分配服务o调试程序的用户常常只发出简短的命令调试程序的用户常常只发出简短的命令 而很少有长的费时命令而很少有长的费时命令o所以计算机能够为许多用户提供交互式快速服务所以计算机能够为许多用户提供交互式快速服务 同时在同时在CPUCPU空闲时还能在后台运行大作业空闲时还能在后台运行大作业56o第一个分时系统由第一个分时系统由 MITMIT的的Fernando Corbato Fernando Corbato 等等 19611961年在一改装的年在一改装的IBM 7090/94IBM 7090/94机上开发成功机上开发成功 当时有当时有3232个交互式用户个交互式用户oIBM 7090/94IBM 7090/94计算机有计算机有32K32K内存,系统用内存,系统用5K5K,用户用,用户用27K27K,用户存储映象在内存和一台磁鼓之间切换,用户存储映象在内存和一台磁鼓之间切换19621962年年ManchesterManchester大学的大学的AtlasAtlas计算机投入运行计算机投入运行 运行速度运行速度200k FLOPS200k FLOPSo第一个有虚拟存储器第一个有虚拟存储器(virtual memory)(virtual memory)和页面调度和页面调度(paging)(paging)的机器的机器o首次引进系统调用(首次引进系统调用(system callsystem call)o指令执行是管道式的指令执行是管道式的(pipelined)(pipelined)57MULTICSMULTICS的灾难的灾难o19651965年在年在ARPAARPA的支持下的支持下MITMIT、AT&TAT&T(贝尔实验室)(贝尔实验室)和通用电气公司决定开发一种和通用电气公司决定开发一种“公用计算服务系公用计算服务系统统”,希望能够同时支持整个波士顿所有的分时希望能够同时支持整个波士顿所有的分时用户。该系统称作用户。该系统称作MULTICSMULTICS。(MULTiplexed Information and Computing(MULTiplexed Information and Computing Service)Service)oMULTICSMULTICS设计目标是:便利的远程终端使用,大量设计目标是:便利的远程终端使用,大量终端通过电话线接入计算机主机;高可靠的大型终端通过电话线接入计算机主机;高可靠的大型文件系统;大容量的用户信息共享;存储和构造文件系统;大容量的用户信息共享;存储和构造层次化信息结构的能力;层次化信息结构的能力;58oMULTICSMULTICS研制难度超出了所有人预料长期研制研制难度超出了所有人预料长期研制工作达不到预期目标,工作达不到预期目标,19691969年年4 4月贝尔实验室月贝尔实验室退出,通用电气公司也退出了但最终,经过多退出,通用电气公司也退出了但最终,经过多年的努力,年的努力,MULTICSMULTICS成功地应用运行成功地应用运行MULTICSMULTICS的的计算机系统在九十年代中陆续被关闭计算机系统在九十年代中陆续被关闭oMULTICSMULTICS引入了许多现代操作系统领域概念雏引入了许多现代操作系统领域概念雏形,对随后操作系统特别是形,对随后操作系统特别是UNIXUNIX的成功有着巨的成功有着巨大的影响大的影响 59小型计算机,电子游戏和小型计算机,电子游戏和UNIXUNIX的成功的成功o19691969年,在贝尔退出年,在贝尔退出MULTICSMULTICS研制项目后,研制项目后,Ken Ken ThompsonThompson和和Dennis M.Ritchie Dennis M.Ritchie 想申请经费买计算机想申请经费买计算机从事操作系统研究,但多次申请得不到批准从事操作系统研究,但多次申请得不到批准o项目无着落,他们在一台无人用的项目无着落,他们在一台无人用的PDP-7PDP-7上,重新摆上,重新摆弄原先在弄原先在MULTICSMULTICS项目上设计的项目上设计的“空间旅行空间旅行”游戏游戏o为了使游戏能够在为了使游戏能够在PDP-7PDP-7上顺利运行,他们陆续开发上顺利运行,他们陆续开发了浮点运算软件包、显示驱动软件,设计了文件系统、了浮点运算软件包、显示驱动软件,设计了文件系统、实用程序、实用程序、shell shell 和汇编程序和汇编程序o到了到了19701970年,在一切完成后,给新系统起了个同年,在一切完成后,给新系统起了个同MULTICSMULTICS发音相近的名字发音相近的名字UNIXUNIXo随后,随后,UNIXUNIX用用C C语言全部重写,自此,语言全部重写,自此,UNIXUNIX诞生了诞生了60UNIXUNIXoUNIXUNIX是现代操作系统的代表。是现代操作系统的代表。UnixUnix运行时的安全性、运行时的安全性、可靠性以及强大的计算能力赢得广大用户的信赖可靠性以及强大的计算能力赢得广大用户的信赖促使促使UNIXUNIX系统成功的因素:系统成功的因素:o首先,由于首先,由于UNIXUNIX是用是用C C语言编写,因此它是可移植的,语言编写,因此它是可移植的,UNIX UNIX 是世界上唯一能在笔记本计算机、是世界上唯一能在笔记本计算机、PCPC机、工作机、工作站直至巨型机上运行的操作系统站直至巨型机上运行的操作系统o第二,系统源代码非常有效,系统容易适应特殊的需第二,系统源代码非常有效,系统容易适应特殊的需求求o最后,也是最重要的一点,它是一个良好的、通用的、最后,也是最重要的一点,它是一个良好的、通用的、多用户、多任务、分时操作系统多用户、多任务、分时操作系统61第四代大规模集成电路计算机(第四代大规模集成电路计算机(19801980年年-至今)至今)CP/M CP/M 操作系统操作系统o随着大规模集成电路发展,个人计算机时代到来了各随着大规模集成电路发展,个人计算机时代到来了各种类型的个人计算机和软件层出不穷种类型的个人计算机和软件层出不穷o19731973年年Gary KildallGary Kildall看到对个人计算机操作系统的需看到对个人计算机操作系统的需求求,设计了设计了CP/MCP/M操作系统操作系统(Control(Control Program/Microprocessor or Microcomputer)Program/Microprocessor or Microcomputer)oCP/MCP/M操作系统有较好的层次结构。它的操作系统有较好的层次结构。它的BIOSBIOS把操作系把操作系统的其他模块与硬件配置分隔开,所以它的可移植性统的其他模块与硬件配置分隔开,所以它的可移植性好好,具有较好的可适应性和易学易用性具有较好的可适应性和易学易用性o到了到了19811981年,年,CP/MCP/M操作系统成为世界上流行最广的操作系统成为世界上流行最广的8 8位位操作系统之一操作系统之一62微软微软MS DOSMS DOSo个人计算机的成功,逼得个人计算机的成功,逼得IBMIBM采取紧急战略行动采取紧急战略行动,决决定要在定要在19801980年尽快生产出微型计算机,以应付挑战年尽快生产出微型计算机,以应付挑战o但没有操作系统不行。要想快就是找现成系统配套,但没有操作系统不行。要想快就是找现成系统配套,IBMIBM公司洽谈公司洽谈 CP/MCP/M操作系统不顺利,机遇落到了微操作系统不顺利,机遇落到了微软公司软公司o在关键时刻,开发新操作系统时间和人手上已经不在关键时刻,开发新操作系统时间和人手上已经不可能,微软找到西雅图计算机产品公司,达成由微可能,微软找到西雅图计算机产品公司,达成由微软经销西雅图计算机产品公司的软经销西雅图计算机产品公司的QDOSQDOS操作系统的协操作系统的协议议o当时西雅图公司并不知道当时西雅图公司并不知道QDOSQDOS将被转卖给将被转卖给IBMIBM,否则,否则历史将会怎样演变,谁也无法知晓历史将会怎样演变,谁也无法知晓63oIBMIBM在在19811981年推出个人计算机,宣布了年推出个人计算机,宣布了PC-DOSPC-DOS操作系统操作系统o版权合同:没有限制版权合同:没有限制MS-DOSMS-DOSo随着随着IBM PCIBM PC和和MS DOSMS DOS普及,普及,CP/MCP/M逐渐走向下坡路逐渐走向下坡路oMS DOSMS DOS有优良的文件系统有优良的文件系统 但受到但受到Intel x86Intel x86体系结构的限制体系结构的限制 缺乏以硬件为基础的存储保护机制缺乏以硬件为基础的存储保护机制o它属于单用户单任务操作系统它属于单用户单任务操作系统o从从19811981的的 1.01.0版到版到19981998年在年在Windows 95/98Windows 95/98之下的之下的7.07.0版,版,MS DOSMS DOS历经了历经了1616个年头个年头o迄今仍有迄今仍有MS DOSMS DOS爱好者继续开发各种爱好者继续开发各种DOSDOS软件产品软件产品o兼容机市场,兼容机市场,Compaq Compaq 与与 Micro ChannelMicro Channel64一波三折的微软一波三折的微软WindowsWindows操作系统操作系统o19831983年年1010月,月,PCPC机竞争厂家的图形界面相关产品上市机竞争厂家的图形界面相关产品上市o面对市场压力,比尔面对市场压力,比尔.盖茨在盖茨在19831983年年1111月月1010日宣布推日宣布推出出WindowsWindows操作系统操作系统o然而宣布容易,交货就不简单了,然而宣布容易,交货就不简单了,WindowsWindows交货期的交货期的灾难,成了当年计算机界的笑柄灾难,成了当年计算机界的笑柄o直到直到19851985年年1111月月2020日,日,Windows 1.0Windows 1.0才正式上市才正式上市65WindowsWindows的历史记录的历史记录oWindowsWindows在当时微软历史上创了几个记录:延迟交货在当时微软历史上创了几个记录:延迟交货次数最多,投入开发人员最多,开发时间最长,更换次数最多,投入开发人员最多,开发时间最长,更换主管人员最多主管人员最多o不过几年之后,不过几年之后,WindowsWindows终于创造了销售成绩最佳的终于创造了销售成绩最佳的历史记录历史记录o19921992年年4 4月,推出月,推出Windo