《操作系统的地位》PPT课件

上传人:wux****ua 文档编号:16144068 上传时间:2020-09-20 格式:PPT 页数:100 大小:602KB
返回 下载 相关 举报
《操作系统的地位》PPT课件_第1页
第1页 / 共100页
《操作系统的地位》PPT课件_第2页
第2页 / 共100页
《操作系统的地位》PPT课件_第3页
第3页 / 共100页
点击查看更多>>
资源描述
前 言,操作系统的地位; 教学目的; 教学内容; 学习基础; 学习方法; 参考书目。,操作系统的地位,计算机系统管理中心 (相当于社会中的 政府地位); 最复杂最精确的人工开发的管理系统; 在计算机系统中不可缺少,少了操作 系统,用户不可能上机使用计算机资 源。,教学目的,掌握操作系统概念; 了解操作系统结构; 熟悉操作系统算法; 为高级程序设计和操作系统使用、 管理、开发打基础; 为其他课程学习提供知识保障; 锻炼思维。,学习基础,数据结构; 程序设计; 计算机原理; 汇编语言。,学习方法,多看书,做到预习、听课、复习三部曲; 认真听课; 多做作业,加深理解; 多联想,加深对知识的印象; 多讨论,同学之间结成讨论小组; 认真实习、编写程序; 适当看部分源代码; 积极参与各种课题。,参考书目,Operating systems concepts(6th edition), A.Silberschatz; 现代操作系统(Modern Operating System second edition), Tanenbaum著; Operating systems internals and design principle, William Stalling著; 操作系统:设计与实现(第二版), Tanenbaum著; Minix或Linux源代码,http:/lxr.linux.no/source/。,第一讲 引论 授课目的与要求: 明确该课学习目的与要 求,了解操作系统概念 及其发展与功能。 授课重点与难点:操作系统概念。 作业安排:,1.1 什么是操作系统 操作系统:是软硬资源的控制中心,它以尽量合理有效的方法组织多个用户(进程)共享计算机的各种资源并提供使用接口。 操作系统的目的:方便用户,提高资源利用程度。 操作系统所在层次 :硬件,操作系统,应用。 操作系统面面观:操作系统作为特殊子程序,操作系统作为资源管理者,操作系统组织用户(进程)使用计算机,OS作为用户与计算机硬件系统之间接口, OS用作扩充机器。,1.1.1 计算机系统层次,狭义操作系统包含程序:核心态运行程序,用户态运行的命令解释器和系统调用接口库。 广义操作系统包含程序:除上述内容,还有许多提供系统常用功能的实用程序、库程序。,硬件层:计算机系统结构图,1.1.2 操作系统作为特殊子程序 操作系统内核为用户层的程序提供了系统调用接口。系统调用可以看成是特殊的公共子程序,说系统调用是公共子程序是因为这些程序可以被任意用户层程序调用,实现了一些公共的功能,用户不需要重复编写实现这些功能的程序而只要调用操作系统内核提供的相应系统调用即可。,例:,求,需要作为系统调用在操作系统,内核实现吗?,对磁盘文件的使用需要作为系统调用 在操作系统内核实现吗?,1.1.3 操作系统作为资源管理者 为了使硬件资源充分发挥它们的作用,必须允许多用户(进程)同时使用计算机,以便让不同的资源由不同的用户(进程)尽可能地同时使用,减少资源的闲置时间。 例如,当一个用户(进程)在将文件从磁盘往内存缓冲区读时,另一个用户(进程)可以让自己的程序在处理机上运行。这样的话,处理机、内存、磁盘就都忙起来了。,资源管理包含两种资源共享使用的方法: 时分:所谓时分就是说由多个用户(进程)分时地使用该资源,除了上述的处理机外,还有很多其他的资源也必须分时地使用,如IO控制器、网卡等,这些控制部件包含了控制I0的逻辑,必须分时地使用。 空分:是针对存储资源而言,存储资源的空间可以被多个用户(进程)共同以分割的方式占用。,时分共享两种不同的使用方法 独占式共享使用。 共享使用是指多用户(进程)分时使用,独占则表示某用户(进程)占用该资源后,执行了对资源的多个操作,使用了一个完整的周期。例如说多用户(进程)独占式共享使用打印机,是指多用户(进程)一定是分时地共享使用该打印机的,每个用户(进程)使用打印机时,执行了多条打印指令,打印了一个完整的对象(如完整的文件)。用户(进程)需要在执行打印指令前申请独占该打印机资源,执行完打印指令后释放该资源。,分时式共享使用。 也就是说用户(进程)占用该资源无需使用一个逻辑上的完整周期。 例如说对处理机的使用,用户程序随时都可以被剥夺使用CPU,只要运行现场保存好了,下次该用户程序再次占用CPU时就可以继续运行。 再例如对磁盘的I0,当一个用户(进程)让磁盘执行了一条I0请求后,其他用户(进程)又可向磁盘发出I0请求,系统并不要求某个用户(进程)的几个I0请求之间不能插入其他用户(进程)的I0请求。,1.1.4 组织用户使用计算机 为了实现用户计算意图则必须让可以实现用户意图的程序执行。为了能让程序执行,首先得由操作系统给程序及程序数据安排存放空间;为了能提高资源利用率,增加并发度,还必须能让多个用户程序能分时占用处理机;要能够让一个程序还没运行完成就让另一个程序占用CPU运行,就必须保存上一个程序的运行现场。因此必须要对实现各种用户意图的各个程序执行进行描述和控制。 说明程序执行的状态、现场、标识等各种信息,有选择地调度某个程序占用CPU运行,这些工作必须由操作系统完成。,课外知识:操作系统生命期,操作系统开发与升级:,交叉开发; 增量开发。,系统启动与Shutdown:,系统初始化(接力赛); 进入操作系统正常控制; Shutdown。,操作系统的安装。,操作系统开发与升级,交叉开发(开发新操作系统,移植操作系统到新机器)。,建立交叉开发环境:,目标机: 操作系统将运行的机器; 工作机: 开发操作系统的机器; 交叉编译: 在工作机上将源代码编译成目标机可运行代码; 模拟调试工具: 在工作机上模拟执行目标机代码; 内核生成环境: 工作机上编译连接工具。,在交叉环境开发后到目标机运行。,操作系统开发与升级,增量开发(在已有操作系统上作内核,驱动程序更新和升级):,编译系统: 内核调试器: 内核生成环境: 打包工具(生成driver,boot盘,系统安装盘)。,操作系统的安装,由ROM程序从安装介质加载操作系统loader; 从安装介质加载并启动OS,检测系统配置,运行安装程序(scripts); 运行分区进程对硬盘分区,将OS核及所选软件包考入硬盘; 对系统部件进行设置; (重新生成OS内核放在盘上); 重新启动(这时启用硬盘上的内核); (进一步配置系统,重新启动)。,系统启动与Shutdown,系统启动过程(在多处检测系统设备):,加电,激活ROM程序; 以ROM程序检测系统配置,加载MBR程序,以MBR程序加载OS Loader,OS Loader 加载OS; 进入OS并初始化,根据系统配置等准备系统表格,加载Driver,标识设备(对新增加的设备,应在上次进行Driver安装或将Driver加入内核。现代系统已能在发现新硬件后动态安装并加载driver); 进入OS正常控制。,系统启动与Shutdown,Shutdown:,回写数据并存入磁盘; 将外设归于初始状态; Kill 所有进程; 断电。,第二讲 操作系统发展历史与现状 授课目的与要求:了解操作系统基本技术及 出台的背景。 授课重点与难点:各发展阶段的主要技术。 作业安排:,2.1 操作系统的发展历史,单道批处理时代(20世纪50年代); 多道批处理、分时、实时系统时代(60年代初) 多方式系统时代(6070年代); 分布式系统,多机系统时代(70年代中期后)。,2.1.1 手工操作,工作方式 用户:用户既是程序员,又是操作员;用户是计算机专业人员; 编程语言:为机器语言; 输入输出:纸带或卡片; 计算机的工作特点 用户独占全机:不出现资源被其他用户占用,资源利用率低; CPU等待用户:计算前,手工装入纸带或卡片;计算完成后,手工卸取纸带或卡片;CPU利用率低;,1946 50年代(电子管),集中计算(计算中心),计算机资源昂贵;除硬件和应用软件外, 几乎没有中间层软件,没有操作系统,每一用户都要自行编写涉及到硬件的 源代码,工作量大,难度高,易出错,需要大 量人力和物力,2.1.2 单道批处理时代(50年代监督程序),基本思想:系统有一常驻内存的监督程序(第一代操作系统),操作员有选择地把若干作业合成一批,安装在输入设备上,并启动监督程序,然后由监督程序依次顺序启动这批作业,以单道方式运行。,作业:用户的一次上机行为。 作业步:作业的执行步骤。 作业控制语言:用于说明作业如何执行的语言。 作业控制说明书:用作业控制语言编写的作业执行程序。,典型的卡片作业举例,普通指令:用户程序、监督程序都可包含的指令。 特权指令:只有监督程序才可包含的指令。 方式/态:指处理机能执行什么类型指令的状态。在特权方式下,除能执行普通指令外还能执行特权指令.在普通方式下只能执行普通指令。 系统调用(广义指令):由监督程序提供给用户调用的系统功能。 TRAP机制:硬件支持在特定状态下(如执行trap指令,定时器中断)进入监督程序的机制。用于实现系统调用或由监督程序处理作业死循环。,系统空间:监督程序所占内存(0-K)。 用户空间:供用户程序使用的内存(K+1-N) 存储保护:硬件提供一个界地址寄存器,每次访问内存时,处理机依照目前处理机的态判断访问是否越界。 定时器中断:在规定时间间隔到时,系统暂停当前程序之运行,去进行时间相关的处理.如看作业是否已超过其运行期限。,早期批处理系统中的监督程序工作流程:,1.判断输入设备上是否有待输入作业,没有则停止; 2.从设备上输入一个作业; 3.控制作业运行:,a.取作业说明书中一条语句,解析执行,如果是“作业终止”语句,则删除该作业,转1; b.如果是一条执行性语句,则在主存中建立相应程序运行环境,传递好参数,转去执行该程序(变到用户态运行); c.在用户态程序运行过程中,如发生中断事件(如系统调用/定时器中断),立即转监督程序,待中断事件处理结束后,用户态程序继续执行。 d.用户态程序结束后,转a取下一作业控制语句。,监督程序功能:输入用户作业,解释执行作业控制说明书,提供系统调用。 监督程序与操作系统的区别:监督程序不具并发机制。监督程序只是省略了作业步和作业转接人工开销。,两种批处理方式(1)联机批处理,用户提交作业:以纸带或卡片为介质; 操作员合成批作业:结果为磁带介质; 批作业处理:对批作业中的每个作业进行相同的处理:从磁带读入用户作业和编译链接程序,编译链接用户作业,生成可执行程序;启动执行;执行结果输出。 这时的问题:慢速的输入输出处理仍直接由主机来完成。输入输出时,CPU处于等待状态。,两种批处理方式(2)脱机批处理,卫星机:完成面向用户的输入输出(纸带或卡片),中间结果暂存在磁带或磁盘上。 作业控制命令由监督程序(monitor)来执行,完 成如装入程序、编译、运行等操作。 优点:同一批内各作业的自动依次更替,改善了主机CPU和I/O设备的使用效率,提高了吞吐量。 缺点:磁带或磁盘需要人工装卸,作业需要人工分类,监督程序易遭到用户程序的破坏(由人工干预才可恢复)。,利用卫星机完成输入输出功能。主机与卫星机可并行工作。,输出设备,输入设备,卫星机,主机,日志,输入带,输出带,系统带,目标带,脱机批处理,单道批处理的主要问题,CPU和I/O设备使用忙闲不均(取决于当前作业的特性)。 对计算为主的作业,外设空闲; 对I/O为主的作业,CPU空闲;,2.1.3 多道批处理、分时、实时系统时代 (60年代初) 多道批处理; 分时; 实时系统。,多道批处理的运行特征 多道:内存中同时存放几个作业; 宏观上并行运行:都处于运行状态,但都未运行完; 微观上串行运行:各作业交替使用CPU;,60年代中 - 70年代中(集成电路),利用多道批处理提高资源的利用率。,在当前运行的作业需作I/O处理时,CPU转而执行另一个作业。(I/O完成后是否立刻恢复执行?),一、多道/高级批处理系统(源于中断、通道、 磁盘的引入),多道程序设计 基本思想:内存同时保持多道程序(作业),处理机(单处理机)以交替的方式同时处理多道程序。从宏观上看,已有多道程序开始运行且尚未结束;从微观上看,某一时刻处理机只运行某道作业。,作业C I/O CPU I/O CPU I/O,作业B CPU I/O CPU I/O,作业A CPU I/O CPU I/O CPU,多道批处理系统的特点,优点: 资源利用率高:CPU和内存利用率较高; 作业吞吐量大:单位时间内完成的工作总量大; 缺点: 用户交互性差:整个作业完成后或中间出错时,才与用户交互,不利于调试和修改; 作业平均周转时间长:短作业的周转时间显著增长;,批处理:交互性差提高对CPU利用率; 分时处理:用户与应用程序随时交互,控制程序运行,适于商业和办公事务处理缩短响应时间,增加:存储保护,重定位; 有必要采用并发程序设计技术; 操作系统成为研究焦点: 需要处理复杂性,操作系统的基本特征:并发与共享。 并发:在单处理机情况下指多道程序分时占用处理机运行。 共享:指并行运行程序对系统的硬软资源的访问。,二、分时系统,终端设备:键盘与显示器 交互式系统:操作系统提供终端命令语言及解析器.用户通过终端命令指导作业运行。 分时系统:交互式系统与多道程序设计结合的产物。 分时系统特点:并行性,共享性,交互性,独占性。,(time-sharing system),70年代中期至今,“分时”的含义分时是指多个用户分享使用同一台计 算机。多个程序分时共享硬件和软件资源。 多个用户分时:单个用户使用计算机的效率低,因而允许多个应用程序同时在内存中,分别服务于不同的用户。有用户输入时由CPU执行,处理完一次用户输入后程序暂停,等待下一次用户输入时走时停 前台和后台程序(foreground & background)分时:后台程序不占用终端输入输出,不与用户交互现在的图形用户界面(GUI),除当前交互的程序(输入焦点)之外,其他程序均作为后台 通常按时间片(time slice)分配:各个程序在CPU上执行的轮换时间。,分时系统的特点,人机交互性好:在调试和运行程序时由用户自己操作。 共享主机:多个用户同时使用。 用户独立性:对每个用户而言好象独占主机。,现在的许多操作系统都具有分时处理的功能,在分时系统的基础上,操作系统的发展开始分化,如实时系统、通用系统、个人系统等。,交互式分时处理,一台计算机,多个便宜终端,- 所有用户可与系统立即交互,- 调试比较方便,三、实时系统,实时系统:能满足快速响应要求作业运行的多道程序设计系统。 实时系统主要性能指标和功能: 时钟分辨度:有更高的时钟中断频度,可更精确计时,更快调度。 多级中断机制。 支持实时作业调度,保证实时作业无条件剥夺非实时作业运行。,2.1.4 多方式系统时代(60年代70年代) 多种方式操作系统: 同时具有批处理、分时、实时功能的系统。,2.1.5 并行与分布式操作系统及发展 分布式操作系统:支持网络和分布处理的系 统。 多机操作系统:支持共享内存多处理机的系统。 Windows操作系统:支持友好用户界面的系统。,操作系统的发展趋势: 嵌入式操作系统:主要伴随着个人数字助理PAD、掌上电脑、电视机顶盒、智能家电等设备的发展,对操作系统在功能和所占空间大小权衡上提出了新的要求。 强实时操作系统:特别是针对通用操作系统的实时性研究,还在不断发展当中。 并行操作系统的研究:如建立在基于共享主存的多处理机系统(MP)及用上千个微处理器实现基于分布式存储的大规模并行处理机系统(MPP)的操作系统,系统突出特征是提供各类并行机制。例如并行文件系统,并行IO控制,多处理机分配和调度,处理机间的通信和同步,用户任务的并行控制等。 网络操作系统和分布式操作系统的研究:就目前情形而言,网络系统的研究也还方兴未艾,基于ClientServer模型的分布式系统也已不断走向应用,完全分布式的系统还未成型,仍将是研究的热点问题。,2.2 历史上的操作系统,随历史线索,介绍一些重要的操作系统 真空管时代(1946年-1955年) 晶体管时代(1955年-1965年) 集成电路时代(1965年-1980年) 大规模集成电路时代(1980年-至今),第一台数字计算机,英国数学家Charles Babbage(1792-1871)设计 Babbage投入了毕生精力 但却没能让它成功地运行起来 因为当时的技术不可能达到需要的精度 当然,这个分析机没有操作系统,二战对武器设计的需要 美国、英国和德国等国家 开始了电子数字计算机的研究工作 哈佛大学的Howard Aiken 普林斯顿高等研究院的John Neumann(冯诺依曼) 宾夕法尼亚大学的J.Presper Eckert和William Mauchley 德国电话公司的Konraad Zuse以及其他一些人 都使用真空管成功地建造了运算机器,真空管计算机(1945年-1955年)时期,没有程序设计语言(甚至没有汇编),更谈不上操作系统 程序员提前预约一段时间,然后到机房将他的插件板插到计算机里 期盼着在接下来的时间中 几万个真空管不会烧断 从而可以计算自己的题目,ENIAC计算机,运算速度:1000次/每秒, 数万个真空管, 占地100平方米,50年代早期 出现了穿孔卡片 程序写在卡片上然后读入计算机 但计算过程则依然如旧,晶体管计算机(1955年-1965年)时期,50年代晶体管发明 计算机比较可靠,可成批地生产 用户可指望计算机长时间运行,完成一些工作 FORTRAN 1954年提出,1956年设计完成 ALGOL 1958年引入 COBOL 1959年引入 设计人员、生产人员、操作人员、程序人员和维护人员之间 第一次有了明确的分工,要运行一个作业,先将程序写在纸上(用高级语言或汇编语言) 然后穿孔成卡片,再将卡片盒交给操作员 计算结果从打印机上输出 操作员到打印机上撕下运算结果送到输出室 程序员稍后可从取到结果 然后,操作员从输入室的卡片盒中读入另一个任务 如果需要FORTRAN编译器,还要把它取来读入计算机 机时在走来走去时被浪费,批处理操作系统 - 现代操作系统雏型,为了改进主存和I/O设备之间的吞吐量 IBM 7094机引入了I/O 处理机概念 其思想是:在输入室收集全部的作业,用一台相对便宜的计算机,如IBM 1401计算机,将它们读到磁带上 另外用较昂贵的计算机,如IBM7094来完成真正的计算,基本控制卡片 是现代作业控制语言和命令解释器的先驱,第二代计算机典型的操作系统,FMS(FORTRAN Monitor System,FORTRAN监控系统) IBMSYS(IBM为7094机配备的操作系统) 这些操作系统由监控程序,特权指令,存储保护和简单的批处理构成,第三代集成电路计算机时期(1965年-1980年),60年代初期,计算机开始采用集成电路 多数厂商有几条完全不同的生产线,生产不同的计算机 开发和维护完全不同的产品,对厂商来说是昂贵的 另外,新用户,在开始时只需要一台小计算机 后来可能需要一台大的计算机 而且希望能在新计算机上执行原有的程序 这样,厂家和用户需要软件在不同型号的计算机之间兼容,1964 年IBM 宣布推出System/360计算机系统 第一个采用小规模集成电路的主流机型 试图一次性地解决上述两个问题 由于所有的计算机 都有相同的体系结 构和指令集 在理论上,为一型 号编写的程序可以 在其他型号机器上 运行,IBM System/360的若干问题,IBM无法写出同时满足互冲突需要的操作系统 其实别人也一样不能完成这项工作任务 IBM OS/360文件系统中有类型字段,定义文件的类型,有定长、不定长记录、块状和非块状文件 用户对于输出文件的大小,只有通过猜测 存储管理有基地址寄存器寻址方式,程序也可以访问和修改基地址寄存器,但是CPU生成的却是绝对地址,虽然不用进行动态再分配 但程序却被钉死在调入内存时的物理地址上,IBM System/360, 庞大的软件怪兽,数千名程序员写的数百万行汇编语言代码 系统自身占据了大量存储空间和一半的CPU时间 数百万行汇编代码中有成千上万处错误 IBM不断发行新的版本试图更正这些错误 每个新版本在更正老错误的同时又引入新错误 所以随着时间的流逝,错误的数量大致保持不变,多道程序设计技术(multiprogramming),在IBM 7094机上,若当前作业因等待I/O而暂停, CUP只能踏步直至该I/O完成 对于CPU操作密集科学计算问题,浪费时间少 对于商业数据处理,I/O等待时间常占8090 解决办法 将内存分几个部分,每部分放不同的作业 当一个作业等待I/O时,另一个作业可以使用CPU 在主存中同时驻留多个作业需要硬件进行保护 以避免信息被窃取或攻击,Spooling 技术,程序卡片被拿到机房后 能够很快将一作业从卡片读入磁盘 任何时刻当一作业运行结束 操作系统就将一新作业从磁盘读出 装入空出的内存区运行 Spooling技术 (Simultaneous Peripheral Operation On Line) 该技术也用于输出,分时系统,第三代计算机实质是批处理系统 而从一作业提交到结果取回, 往往长达数小时 一个逗号的误用会导致编译失败 而可能浪费程序员半天时间 问题的解决导致分时系统的出现 (CTSS,Compatible Time Sharing System) 分时系统实际上是多道程序的一个变种,分时系统的思想于1959年在MIT提出 每个用户有一个联机终端 在分时系统中,假设20个用户登录,其中17个在 思考或谈论或喝咖啡, 则CPU可给那三个需要的 作业轮流分配服务 调试程序的用户常常只发出简短的命令,而很少 有长的费时命令 所以计算机能够为许多用户提供交互式快速服务, 同时在CPU空闲时还能在后台运行大作业,第一个分时系统由 MIT的Fernando Corbato 等 1961年在一改装的IBM 7090/94机上开发成功 当时有32个交互式用户 IBM 7090/94计算机有32K内存,系统用5K,用户用27K,用户存储映象在内存和一台磁鼓之间切换 1962年Manchester大学的Atlas计算机投入运行 运行速度200 kFLOPS 第一个有虚拟存储器(virtual memory)和页面调度(paging) 的机器 指令执行是管道式(pipelined)的,MULTICS的灾难,1965年在ARPA的支持下MIT、贝尔实验室和通用电气公司决定开发一种“公用计算服务系统”, 希望能够同时支持整个波士顿所有的分时用户。该系统称作MULTICS (MULTiplexed Information and Computing Service ) MULTICS设计目标是:便利的远程终端使用,大量终端通过电话线接入计算机主机 高可靠的大型文件系统;大容量的用户信息共享;存储和构造层次化信息结构的能力,MULTICS研制难度超出了所有人预料 长期研制工作达不到预期目标,1969年4月贝尔实验室退出,通用电气公司也退出了 但最终,经过多年的努力,MULTICS成功地应用 运行MULTICS的计算机系统在九十年代中陆续被关闭 MULTICS引入了许多现代操作系统领域概念雏形,对随后操作系统特别是UNIX的成功有着巨大的影响,小型计算机,电子游戏和UNIX的成功,1969年,在贝尔退出MULTICS研制项目后,Ken Thompson和Dennis M. Ritchie 想申请经费买计算机从事操作系统研究,但多次申请得不到批准 项目无着落,他们在一台无人用的PDP-7上,重新摆弄原先在MULTICS项目上设计的“空间旅行”游戏 为了使游戏能够在PDP-7上顺利运行,他们陆续开发了浮点运算软件包、显示驱动软件,设计了文件系统、实用程序、shell 和汇编程序 到了1970年,在一切完成后,给新系统起了个同MULTICS发音相近的名字UNIX 随后,UNIX用C语言全部重写,自此,UNIX诞生了,UNIX,UNIX是现代操作系统的代表。Unix运行时的安全性、可靠性以及强大的计算能力赢得广大用户的信赖 促使UNIX系统成功的因素: 首先,由于UNIX是用C语言编写,因此它是可移植的,UNIX 是世界上唯一能在笔记本计算机、PC机、工作站直至巨型机上运行的操作系统 第二,系统源代码非常有效,系统容易适应特殊的需求 最后,也是最重要的一点,它是一个良好的、通用的、多用户、多任务、分时操作系统,第四代大规模集成电路计算机(1980年-至今),CP/M 操作系统 随着大规模集成电路发展,个人计算机时代到来了各种类型的个人计算机和软件层出不穷 1973年Gary Kildall看到对个人计算机操作系统的需求,设计了CP/M操作系统(Control Program/Microprocessor or Microcomputer) CP/M操作系统有较好的层次结构。它的BIOS把操作系统的其他模块与硬件配置分隔开,所以它的可移植性好, 具有较好的可适应性和易学易用性 到了1981年,CP/M操作系统成为世界上流行最广的8位操作系统之一,微软MS DOS,个人计算机的成功,逼得IBM采取紧急战略行动,决定要在1980年尽快生产出微型计算机,以应付挑战 但没有操作系统不行。要想快就是找现成系统配套,IBM公司洽谈 CP/M操作系统不顺利,机遇落到了微软公司 在关键时刻,开发新操作系统时间和人手上已经不可能,微软找到西雅图计算机产品公司,达成由微软经销西雅图计算机产品公司的QDOS操作系统的协议 当时西雅图公司并不知道QDOS将被转卖给IBM,否则历史将会怎样演变,谁也无法知晓,IBM在1981年推出个人计算机,宣布了DOS操作系统 随着IBM PC和MS DOS普及,CP/M逐渐走向下坡路 MS DOS有优良的文件系统 但受到Intel x86体系结构的限制 缺乏以硬件为基础的存储保护机制 它属于单用户单任务操作系统 从1981的 1.0版到1998年在Windows 95/98之下的7.0版,MS DOS历经了16个年头 迄今仍有MS DOS爱好者继续开发各种DOS软件产品,拯救苹果公司的Macintosh(MAC OS),在推出IBM PC机后,市场卷起一股龙卷风 IBM自己也没有料到产品会有如此巨大的成功 IBM的成功说明必有其他公司失败。甚至连苹果公司也遇到了问题,销售数量落到了兰色巨人的后面 苹果公司推出Lisa机遭到失败,Apple III型也遭到失败 分析家们认为,在微机市场上的战斗似乎兰色巨人要嬴了,施乐Palo Alto研究中心-70年代的计算机研究思想库,世界上第一台个人计算机Alto,1972年在这里出现 图形界面,手持鼠标,面向对象程序设计 微机网络,桌面出版和激光打印等等 具有先进概念和技术的原型都首次出现在这里,1979年苹果公司允许施乐公司购买一百万股的苹果公司股票 作为回报,施乐公司允许苹果公司的少数人员,包括乔布斯,在有限的时间内考察施乐公司Palo Alto研究中心内部,并同该思想库的研究人员交谈 苹果公司对Palo Alto研究中心内的技术大感吃惊 他们更吃惊的是,施乐公司在拥有这些宝贵技术的同时竟然什么也没有做!,对Palo Alto研究中心这些科学家们而言,苹果公司的人是他们第一次遇到真正理解他们技术的人 这些科学家们后来有的去了苹果公司,微软公司,有的最终创办了自己的公司 在访问的基础上,苹果决定立即开发采用这些新技术的个人计算机 苹果公司已看到 IBM PC机的技术有多么糟糕,但他们卖得又是特别的好,MAC OS、鼠标的新型个人计算机,1984年,人们看到一则广告:“What was that?”和对Macintosh的介绍, 这是配有图形界面操作系统 MAC OS和鼠标的新型个人计算机 MAC机一上市立即在市场上获得极大的成功 当年比尔.盖茨都说,这是一台他的妈妈也能使用的计算机 Macintosh把苹果公司从连续的失败中拯救出来 苹果公司又开始向前发展 正是Mac先进图形界面操作系统技术,超前PC机若干年,造就了一批苹果的忠实追随者,一波三折的微软Windows操作系统,1983年10月,PC机竞争厂家的图形界面相关产品上市 面对市场压力,比尔.盖茨在1983年11月10日宣布推出Windows操作系统 然而宣布容易,交货就不简单了,Windows交货期的灾难,成了当年计算机界的笑柄 直到1985年11月20日,Windows 1.0才正式上市,Windows的历史记录,Windows在当时微软历史上创了几个记录:延迟交货次数最多,投入开发人员最多,开发时间最长,更换主管人员最多 不过几年之后,Windows终于创造了销售成绩最佳的历史记录 1992年4月,推出Windows 3.1, 1993年5月,发表Windows NT Windows 95,Windows CE,Windows 98,Windows 2000 个人计算机采用Windows占90以上,微软公司成了垄断PC行业的同义词,基于微内核的Mach操作系统,1975年Rochester大学开发了RIG 操作系统 系统设计者之一Richard Rashid 移居到CMU后,在DARPA支持下,1984年开始了Mach的开发 希望Mach能与UNIX兼容,运行线程,更好的进程通信机制,支持多处理机及好的虚拟存储系统 Mach第一个版本是1986年为VAX 11/784四CPU多处理机发布 1988年的Mach 2.5版包含了大量的BSD UNIX的代码 1989年,Mach 内核中去掉了所有的BSD UNIX的代码,剩下了一个纯的Mach微内核,这就是Mach 3.0版本,它是OSF发布的基础,Mach中采用了许多当代操作系统使用的技术, 微内核、线程、进程间消息传递和面向对象的设计方法等等 在Mach的基础上,有不少用于微处理器、多处理器以及超级计算机的操作系统和实时嵌入式操作系统陆续设计和开发出来,如OSF/1,DCE Unix, NeXT等等,IBM大型计算机操作系统OS/390,90年代末期,电子商务发展刺激对计算能力的要求,导致大型机市场的再度升温 三十年的改进,IBM S/390已成为有高可靠性、可扩展性、及安全可用性的现代大型计算机系统 支持即UNIX 95标准,UNIX应用程序可在IBM OS/390上运行 同时还可继续运行S/390应用程序,包括S/370上开发的应用程序 包括TCP/IP的多种通信协议,具有高网络安全性 采用面向对象程序设计、并行处理、分布式处理以及客户机/服务器技术,具有较强的互操作性、可移植性与可扩展性,由于历史渊源,OS/390有不同的系统运行方式: S/370本机模式,支持原先在S/370运行的程序 ESA/390模式,支持到10个240M处理器内存和256个通道 ESA/390 LPAR模式,系统可分成最多十个部分,每个部分有自己的CPU,存储器和通道,且分别运行不同的操作系统,如S/370, ESA/370 和ESA/390等 在PC机时代,人们曾经估计大型计算机会衰亡 IBM S/390是大型计算机复活的一个典型 那么,在21世纪的Internet和后PC的时代,大型机还会有什么演化,只有让时间来说明,嵌入式操作系统的代表VxWorks,VxWorks支持各种工业标准,包括POSIX, ANSI C和TCP/IP网络协议 VxWorks运行系统的核心是一高效率的微内核 微内核支持各种实时功能,包括快速多任务处理,中断支持,抢占式和轮转式调度 微内核设计减轻了系统负载并可快速响应外部事件 从只需几千字节存储器的深嵌式产品设计到复杂高端实时系统设计,开发人员有八十多个选件并可构成上百个不同的配置,VxWorks开发主机:Windows 9x,Windows NT, Sun Solaris, SunOS, HP-UX等 支持目标微处理器:86, 68k, PPC, CPU 32, i960, SPARC, SPARCLite, SH, ColdFire, R3000, R4000, C16X, ARM, MIPS等 在“极地登陆者”号,“深空二号”和火星气候轨道器等登陆火星探测器上,就采用了VxWorks VxWorks负责火星探测器全部飞行控制,包括飞行纠正、载体自旋和降落时的高度控制等,而且还负责数据收集和与地球的通信工作 目前在国内也占据嵌入式开发系统市场主要份额,Internet时代与Linux,1990年秋天,Linus在芬兰首都赫尔辛基大学学习操作系统课程,因为上机需要排队等待,Linus买了台PC机,开发了第一个程序,程序包括两个进程,向屏幕上写字母,然后用定时器来切换进程 Linus需要终端仿真程序来存取Usenet新闻组的内容,于是他写了从调制解调器上接发信息的程序以及显示器、键盘和调制解调器的驱动程序 然后写了磁盘驱动程序,文件系统,一旦有了进程切换、文件系统和设备驱动程序,当然就拥有了一个操作系统原型,或者至少是它的一个内核 Linux就以这样极其古怪但也极其自然式问世,2.3 操作系统的结构,1.4.1 整体或模块结构 1.4.2 分层结构或虚拟机 1.4.3 客户/服务器模型或微内核结构,随着操作系统的发展,功能越强,OS自身代码量越大采用良好的结构:有利于保证正确性以及自身修改和扩充。,返回,2.3.1整体或模块结构monolithic system or modular system,模块结构的特点:模块由众多服务过程(模块接口)组成,可以随意调用其他模块中的服务过程 优点:具有一定灵活性,在运行中的高效率 缺点:功能划分和模块接口难保正确和合理;模块之间的依赖关系(功能调用关系)复杂(调用深度和方向),降低了模块之间的相对独立性不利于修改,整个系统按功能进行设计和模块划分。系统是一个单一的、庞大的的软件系统。这种结构思想来源于服务功能观点,而不是资源管理的观点。,2.3.2 分层结构或虚拟机layered system or virtual machine,从资源管理观点出发,划分层次。在某一层次上代码只能调用低层次上的代码,使模块间的调用变为有序性。系统每加一层,就构成一个比原来功能更强的虚拟机。有利于系统的维护性和可靠性。,分层结构的特点,优点: 功能明确,调用关系清晰(高层对低层单向依赖),有利于保证设计和实现的正确性 低层和高层可分别实现(便于扩充);高层错误不会影响到低层;避免递归调用 缺点:降低了运行效率,各系统对具体划分多少层次有不同的看法。,分层原则,资源管理的公用模块放在最低层:如缓冲区队列、堆栈操作 最低层的硬件抽象层:与机器特点紧密相关的软件放在最低层。如Windows NT中的HAL 单处理、多处理被调用功能在低层:如文件系统管理设备管理设备驱动程序 活跃功能在低层:提高运行效率 存储器管理放在次低层:便于利用虚拟存储功能 资源分配策略放在最外层,便于修改或适应不同环境,调用跨越的层次:相邻层(最严格)、所有下层、部分下层,2.3.3 客户/服务器模型或微内核结构client-server model or microkernel,微内核(micro-kernel):将更多操作系统功能放在核心之外,作为独立的服务进程运行; 服务进程(或称作“保护子系统”) 客户进程(系统客户和应用客户)需支持多进程 本地过程调用 (LPC, Local Procedure Call):一种进程之间请求-应答式的消息(Message)传递机制。 消息:是一定格式的数据结构。发起调用,送出请求消息请求消息到达并进行处理送出回答消息整理回答消息,返回结果;如:对文件create, read, write,把操作系统分成若干分别完成一组特定功能的服务进程,等待客户提出请求;而系统内核只实现操作系统的基本功能(如:虚拟存储、消息传递)。,微内核模式的特点,优点: 良好的扩充性:只需添加支持新功能的服务进程即可 可靠性好:调用关系明确,执行转移不易混乱 便于网络服务,实现分布式处理:以同样的调用形式,在下层可通过核心中的网络传送到远方服务器上 (远地过程调用 RPC, Remote Procedure Call) 缺点: 消息传递比直接调用效率要低一些 (但可以通过提高硬件性能来补偿 ),RPC的过程:RPC应用程序RPC Stub(client)NetworkRPC Server进行本地调用,小结,OS地位、目的、作用和组成 OS发展:主要动力 OS分类:批处理、分时、实时、(通用)、多处理、网络和分布式、PC OS的结构:模块层次Client-Server OS的特征和服务 OS功能,返回,作业(任选一题),分析MS DOS操作系统的演变过程及其与计算机硬件技术和操作系统技术的关系; 分析MS Windows操作系统的演变过程及其与计算机硬件技术和操作系统技术的关系; 分析几种主流UNIX操作系统的演变过程及其与计算机硬件技术和操作系统技术的关系;,每周的作业在下周的第二次上课时提交,过期不计成绩。每个班指定一个联系人,为大家服务。,
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 图纸专区 > 课件教案


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!