计算机操作系统PPT.ppt
第1章 操作系统引论1.0 引言,教材计算机操作系统 汤子赢,参考教材操作系统设计与实现 王鹏等译 电子工业出版社现代操作系统 陈向群等译 机械工业出版社操作系统教程 王素华 人民邮电出版社计算机操作系统教程 张尧学,史美林 清华大学出版社操作系统教程 孟庆昌 西安电子科技大学出版社,涉及面广(并行程序,性能问题,结构问题,程序方法论,软件工程,等等),实践性强(从实践总结出原理),错综复杂:纵横交叉,操作系统课程的特点:,教师只指出要点 要通过自学、研读参考书掌握内容,善于发现问题、提出问题 要努力寻求问题的答案,注意学习方式的变化,操作系统检查字符串的位置是否正确,操作系统找到字符串被送往的设备,该设备是一个 伪终端,由一个进程控制,操作系统将字符串送给该进程,该进程告诉窗口系统它要显示字符串,窗口系统确定这是一个合法的操作,然后将字符串转换成像素,窗口系统将像素写入存储映像区,视频硬件将像素表示转换成一组模拟信号控制显示器(重画屏幕),显示器发射电子束,用户在屏幕上看到 hello world,专业微观层面 计算机领域,综合宏观层面 技术、经济、政治、,二.为什么学习操作系统?,设计操作系统 或者 修改现有的系统 存在人们意识不到的大量“操作系统”嵌入式系统(Embedded OS)加深对使用的OS的理解,有利于深入编程 用户为了开发应用程序必须与操作系统打交道 编程时借鉴操作系统的设计思想和算法 操作系统中的许多概念和技巧可推广 到其他领域 选择购买操作系统 我们并不总使用微软Windows,四、操作系统的性能指标系统的RSA可靠性(Reliability):用平均无故障时间(MTBF)度量可维修性(Serviceability):用平均故障修复时间度量可用性(Availability):正常工作的概率 系统吞吐量:单位时间完成的作业数系统响应时间:从输入到回应所需时间资源利用率:资源(CPU,内存,I/O设备)实际使用比例可维护性:改错、改变功能、扩充功能可移植性:将OS移植到另以机型所需工作量方便用户:用户界面友好,使用灵活方,习题:p25 1,2课后思考题1.谈谈你对操作系统的初步认识2.你对学习操作系统课程有什么样的希望和要求?你打算这样来学习这门课?,操作系统是随着计算机硬件技术、软件技术的发展而发展的。目标:充分地利用资源 更好的提供服务,1.2 操作系统的发展过程,真空管计算机时代 硬件非常昂贵,人工操作,没有操作系统1.人工操作方式:控制台 一个用户 一次完成一个功能(计算,I/O,用户操作三者串行)程序通过穿孔机或卡片装入 用户在控制台前调试程序,1.2.1 无操作系统的操作方式,50年代早期出现了穿孔卡片程序写在卡片上然后读入计算机,缺点:(1)上机用户独占计算机的全部资源,资源利用率低,工作效率非常低。(2)CPU 等待人工操作。(3)每个用户都要自行编写涉及到硬件的源代码。工作量大,难度高,易出错。出现两个矛盾:人机矛盾人低速与机器高速 CPU与I/O设备速度不匹配的矛盾。,2.脱机I/O方式 习题 p25 4 为了解决这两个矛盾,50 年代末出现了脱机I/O方式,I/O设备由外围机控制。减少了CPU的空闲时间,提高了 I/O 速度,外围机,外围机,主机,输入设备,输出设备,磁盘,为了提高资源利用率和系统吞吐量一.单道批处理系统 用户把程序(卡片)交给系统管理员,他把一批作业以脱机方式输入到磁带上,常驻监督程序(Moniter)对这批作业一个接一个连续处理。1.单道批处理系统处理过程:重复进行 装入程序、运行、打印结果、撤出,1.2.2 批处理,有作业?,有错吗?,把作业的源程序转换为目标程序,装 配目标程序,运 行目标程序,开始,终止,是,是,否,否,单道批处理过程,2.单道批处理系统的特征 自动性:磁带上一批作业能自动逐个依次运行 顺序性:作业顺序进入内存,执行与完成的顺序 和调入的顺序完全相同。单道性:内存中仅有一道程序,只有该程序完成 或发生异常时,才调入后继程序进入内存运行。一个用户独占全部资源CPU负责计算,也负责传输,CPU与外设速度不匹配 CPU与I/O串行资源利用率仍然很低。,3.单道批处理系统的典型代表FMS(FORTRAN Monitor System,FORTRAN监控系统)IBMSYS(IBM为7094机配备的操作系统)这些操作系统由监控程序,特权指令,存储保护和简单的批处理构成,卡片,早期批处理系统,IBM1401,IBM7094,IBM1401,输入磁带,磁带机,卡片阅读机,输出磁带,打印机,基本控制卡片是现代作业控制语言和命令解释器的先驱,在IBM 7094机上,若当前作业因等待I/O而暂停,CUP只能踏步直至该I/O完成。对于CPU操作密集的科学计算问题,浪费时间少。对于商业数据处理,I/O等待时间常占80-90。解决办法 多道程序设计技术(multiprogramming)将内存分几个部分,每部分放不同的作业。当一个作业等待I/O时,另一个作业可以使用CPU。注意:在主存中同时驻留多个作业需要进行保护,以避免信息被窃取或攻击。,二.多道批处理系统1.多道程序设计 在磁盘上多个作业等待运行排成“后备队列”。多道程序 内存中同时有多个作业。-选择(调度)若干作业装入内存(存储管理)。运行的作业遇到I/O请求时,切换(调度)至内 存中的另一个作业并运行之。增加:存储管理重定位保护,并发程序设计技术。采用缓冲,DMA,中断处理 多道程序共享资源,提高CPU、内存和I/O设备的利用率。增加系统吞吐量。,单道:用户程序监督程序I/O操作,I/O请求,启动I/O,I/O完成,I/O请求,多道:程序A程序B程序C调度程序,A:I/O请求,A:I/O,B:I/O请求,B:I/O,C:I/O,A:完成,t,t,2.多道批处理系统的特征多道性:内存同时驻留多道程序允许并发执行。无序性:作业完成顺序与进入内存顺序五严格对应关系。调度性:作业从提交到完成经两步调度。作业调度、进程调度。,3.多道批处理系统的优缺点优点:多道程序共享资源,CPU、内存和I/O设备的利用率高。系统吞吐量大,资源保持忙,系统开销小。缺点:作业平均周转时间长,无交互能力。4.多道批处理系统需要解决的问题处理机管理、内存管理、I/O设备管理文件管理、作业管理5.据此定义:操作系统是一组能够高效地控制和管理计算机硬件和软件资源、公平合理地对各类作业进行调度、以及方便用户使用计算机的程序集合。,6.采用 Spooling 技术 Simultaneous Peripheral Operation On Line(同时的外围设备联机操作-假脱机技术)利用磁盘作缓冲,将输入、计算、输出分别组织成独立的任务流,使I/O和计算真正并行。1961年,英国曼彻斯特大学,Atalas机上实现。作业(包括数据)从卡片读入到磁盘上的输入井 按某种调度策略选择作业调入内存,运行时遇到输入数据时从输入井读入。运行遇到输出时,先将结果输出到磁盘上的输出井。到作业结束时再从磁盘输出到输出设备上。,2.多道批处理系统的典型代表 1964 年IBM 宣布推出System/360计算机系统,是第一个采用小规模集成电路的主流机型。,IBM System/360的问题 存储管理有基地址寄存器寻址方式,程序可以访问和修改基地址寄存器,但程序被钉死在调入内存时的物理地址上,不进行动态再分配。CPU访问的是绝对地址。数千程序员写的数百万行汇编代码,系统占了大量存储空间和一半的CPU时间,成为庞大的软件怪兽。数百万行汇编代码中有成千上万处错误。IBM不断发行新的版本试图更正这些错误,新版本在更正老错误的同时又引入新错误。随着时间的流逝,错误的数量大致保持不变。,硬件速度更快,人力较以前昂贵分时系统的产生用户需要1)交互:所有用户看似独占全机,都能直接修改错 误,及时进行人-机交互。2)共享:多个用户用便宜终端,共享一台计算机。3)方便:用户对自己的作业进行控制,调试方便。分时系统是一台主机带多个终端,同时允许多个用户用终端,共享一台主机,每个用户都可以通过终端方便地以交互方式使用主机。,1.2.3 分时系统,分时系统的思想于1959年在麻省理工学院(MIT)提出。每个用户有一个联机终端。分时系统中,假设20个用户登录,其中17个在思考或谈论或喝咖啡,则CPU可给那3个需要的作业轮流服务。调试程序的用户常常只发出简短的命令,而很少有长的费时命令。所以计算机能够为许多用户提供交互式快速服务,同时在CPU空闲时还能在后台运行大作业。1961年,第一个分时系统由 MIT的Fernando Corbato 等在一改装的IBM 7090/94机上开发成功,当时有32个交互式用户。,关键问题和实现方法及时接受:系统配置多路卡,与各终端连结,每个终端配置一个缓冲区,暂存接受各用户键入的命令和数据。及时处理(及时响应):每个用户键入命令后,能控制自己作业的运行,并及时得到处理。各作业都必须在内存,在响应周期内都能得到执行。方法是,将响应周期分为很短的时间片,每个作业占一个时间片轮流执行。不允许某个作业长期占用处理机。,解决 需要抢占式调度以保持适当的响应时间 避免抖动(程序在内存中过于频繁的对换)需要提供适用的安全检测 与多道批处理相结合,具有“前台”和“后台”,3.带来的问题及时处理,响应时间(周期)问题相互之间的影响终端上人操作运算量变化太大,有时空闲。,具有“前台”和“后台”的多道分时系统 内存中同时存放多道作业,道数和位置都不固定,某些道为“前台区”存放按时间片调度的前台作业流,其余道为“后台区”存放批处理作业流。前台优先,只有当前台调进调出或前台无可运行的作业时才运行后台作业。既有分时系统多台终端共享主机交互性好,又有多道批处理系统资源利用率高的优点。,4.分时系统的特点多路性:一台主机同时联接多个终端,系统按分时的原则为每个用户服务,共享资源。独立性:用户各占一个终端,感觉像独占主机及时性:用户请求能在容许的响应周期内及时获得响应,响应周期通常在3秒以内。交互性:用户通过终端与系统进行广泛的人机对话,以请求系统提供多方面的服务。,3.单道批处理系统的典型代表1)MULTICS的灾难,1965年在ARPA的支持下MIT、贝尔实验室和通用电气公司决定开发一种“公用计算服务系统”,希望能同时支持整个波士顿所有的分时用户。系统称 MULTICS(MULTiplexed Information and Computing Service)。MULTICS设计目标是:便利的远程终端使用,大量终端通过电话线接入计算机主机。高可靠的大型文件系统;大容量的用户信息共享;存储和构造层次化信息结构的能力。,MULTICS 研制难度超出了所有人预料 长期研制工作达不到预期目标,1969年4月贝尔实验室退出,通用电气公司也退出了。但最终,经过多年的努力,MULTICS 成功地应用了。运行MULTICS的计算机系统在九十年代中陆续被关闭。MULTICS引入了许多现代操作系统领域概念雏形,对随后操作系统特别是UNIX的成功有着巨大的影响,2)UNIX的成功,1969年贝尔退出了MULTICS项目,Ken Thompson 和 Dennis Ritchie(肯.汤普森和丹尼斯.里奇)想申请经费买计算机做操作系统研究,未批准。项目无着落,他们在一台无人用的PDP-7上,重新摆弄原先在 MULTICS 项目上设计的“空间旅行”游戏。为了使游戏能够在PDP-7上顺利运行,他们用汇编语言陆续开发了浮点运算软件包、显示驱动软件,设计了文件系统、实用程序、shell 和汇编程序。1970年K.Thompson将BCPL语言简化为B语言,并用它改写系统,起了同 MULTICS发音相近的名字UNIX。1971年用B语言将UNIX正式移植到PDP-11上。1972年D.M.Ritchie将B语言改进为C语言,他们合作用C语言改写90%的UNIX代码,73年完成UNIX v5正式版,UNIX是现代操作系统的代表。它的安全性、可靠性以及强大的功能赢得广大用户的信赖。促使UNIX系统成功的因素:1)由于UNIX是用C语言编写,因此它是可移植的,是世界上唯一能在笔记本计算机、PC机、工作站直至巨型机上运行的操作系统。2)系统源代码短小精炼非常有效,系统容易适应各种特殊的需求。3)也是最重要的一点,它是一个良好的、通用的、多用户、多任务、分时操作系统。,Ken Thompson 和 Dennis Ritchie1983年获图灵奖 1999年4月获美国国家技术金奖,1.需要实时处理(及时)实时控制:生产过程控制,武器控制,宇航自动控制。实时信息处理:飞机订票系统,情报检索系统,期货、股票交易系统。2.实时任务 周期性和非周期性实时任务(开始、完成截至时间)硬实时任务、软实时任务(按截至时间划分)3.实时系统的特征 多路性、独立性、及时性、交互性、可靠性 实时系统除了与分时系统相似的特征外对系统的及时性和可靠性要求更高。,1.2.4 实时系统,个人计算机操作系统 网络操作系统 分布式操作系统 嵌入式操作系统,1.2.5 其它操作系统,计算机在某一时间内为单用户服务,其追求目标是界面友好,使用方便,丰富的应用软件,1.个人计算机操作系统(单用户多任务),个人计算机操作系统的典型代表1)微软MS DOS和IBM PC DOS,个人计算机的成功,逼得 IBM 采取紧急战略行动,决定要在1980年尽快生产出微型计算机,以应付挑战。但没有操作系统不行,要想快,机遇落到了微软公司。在关键时刻,开发新操作系统时间和人手上已经不可能,微软找到西雅图计算机产品公司,达成由微软经销西雅图计算机产品公司的 QDOS 操作系统的协议。当时西雅图公司并不知道QDOS 将被转卖给 IBM,否则历史将会怎样演变,谁也无法知晓。,IBM在1981年推出个人计算机 IBM PC,宣布了个人计算机操作系统 PC DOS(MS 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软件产品。,2)拯救苹果公司的Macintosh(MAC OS),在推出IBM PC机后,市场卷起一股龙卷风。IBM自己也没有料到产品会有如此巨大的成功。IBM的成功说明必有其他公司失败。甚至连苹果公司也遇到了问题,销售数量落到了兰色巨人的后面。苹果公司的Lisa机遭到失败,Apple III型也遭到失败 分析家们认为,在微机市场上的战斗似乎兰色巨人要嬴了。IBM曾夸下海口10年内将使兼容机厂家不超过10家。,施乐 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机若干年,造就了一批苹果的忠实追随者。,3)一波三折的微软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 软件行业的同义词。,它是基于计算机网络的,是在各种计算机操作系统上,按网络体系结构协议标准开发的软件,包括网络管理,通信,安全,资源共享和各种网络应用。目标:是相互通信及资源共享,2.网络操作系统,网络操作系统,网络服务应用程序,通信软件(协议支持),单机操作系统,用户应用程序,局域网操作系统的结构,通信软件(协议支持),它基于两种环境:多处理器(CPU)系统或多计算机系统(网络),是网络操作系统更高级的形式,保持了网络操作系统的全部功能分布式系统特征:1).分布性:功能分布和任务分布2).自治性:分布式系统的多个主机处于平等地位,无主从关系3).模块性:由若干个结构相同功能相同的单元组成4).并行性:一个作业的诸任务分配到多个处理单元进行并行处理。,3.分布式操作系统,网络和分布式的区别1)分布式系统的各个计算机之间处于平等地 位无主从关系;网络有一些主从关系2)分布式系统资源为所有用户共享;而网络有限制地共享3)分布式系统中一项任务可分给若干处理单元相互协作共同完成;而网络往往是各司其责分布式OS的功能:1)进程迁移 2)分布式同步3)任务分配 4)资源管理,什么是嵌入式系统?在各种设备、装置或系统中,完成专用的特定功能的软硬件系统;它们是某大设备,装置或系统中的一部分,这个设备装置或系统可以不是“计算机”。通常工作在应答式或对处理时间有较严格要求的环境中。由于它们被嵌入在各种设备、装置或系统中,因此称之为嵌入式系统。,4.嵌入式操作系统,典型的嵌入式系统 在各种设备、装置或系统中,完成专用的特定功能的软硬件系统;它们是某大设备,装置或系统中的一部分,这个设备装置或系统可以不是“计算机”。通常工作在应答式或对处理时间有较严格要求的环境中。由于它们被嵌入在各种设备、装置或系统中,因此称之为嵌入式系统。,典型的嵌入式系统,嵌入式操作系统是运行在嵌入式智能芯片环境中的系统软件,它对整个智能芯片以及所控制的各种部件装置等资源进行统一协调、调度、指挥和控制;使它们按预先设计的步骤有条不紊的工作。,嵌入式系统中的OS,称为嵌入式操作系统,专用门阵列,模拟I/O,处理器核,存储器,典型嵌入式操作系统的特性,专用性:完成专用的有限功能;不是通用型的 在性能和实时性方面有严格的限制 能源、成本和可靠性通常是影响设计的重要因素 占有资源少、易于连接 系统功能可针对需求进行裁剪、调整和生成 以便满足最终产品的设计要求,嵌入式操作系统开发环境,通常配有源码级可配置的系统模块设计 丰富的同步原语 可选择的调度算法 可选择内存分配策略 定时器与计数器 多方式中断处理支持 多种异常处理选择 多种通信方式支持 标准语言库 数学运算库和开放式应用程序接口,嵌入计算的各种应用特点:掌上电脑:运算速度:100 KIPS 在大小上优化、支持手写、低能耗工业设备:运算速度:1 MIPS安全优先,控制流程为主军事装备:运算速度:1 GFLOPS 可靠性最重要,嵌入式操作系统的代表:VxWorks,VxWorks支持各种工业标准,包括POSIX,ANSI C和TCP/IP网络协议。VxWorks运行系统的核心是一高效率的微内核。微内核支持各种实时功能,包括快速多任务处理,中断支持,抢占式和轮转式调度。微内核设计减轻了系统负载并可快速响应外部事件。从只需几千字节存储器的深嵌式产品设计到复杂高端实时系统设计,开发人员有八十多个选件并可构成上百个不同的配置。,90年代末期,电子商务发展刺激对计算能力的要求,导致大型机市场的再度升温。三十年的改进,IBM S/390已成为有高可靠性、可扩展性、及安全可用性的现代大型计算机系统。支持 UNIX 95标准,UNIX 应用程序可在 IBM OS/390上运行。同时还可继续运行S/390应用程序,包括S/370上开发的应用程序。包括TCP/IP的多种通信协议,具有高网络安全性。采用面向对象程序设计、并行处理、分布式处理以及客户机/服务器技术,具有较强的互操作性、可移植性与可扩展性。,5.大型计算机操作系统的代表:IBM OS/390,由于历史渊源,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的时代,大型机还会有什么演化,只有让时间来说明。,1990年秋天,Linus在芬兰首都赫尔辛基大学学习操作系统课程,因为上机需要排队等待,Linus买了台PC机,开发了第一个程序,程序包括两个进程,向屏幕上写字母,然后用定时器来切换进程。Linus需要终端仿真程序来存取Usenet新闻组的内容,于是他写了从调制解调器上接发信息的程序以及显示器、键盘和调制解调器的驱动程序。然后写了磁盘驱动程序,文件系统,一旦有了进程切换、文件系统和设备驱动程序,当然就拥有了一个操作系统原型,或者至少是它的一个内核。Linux就以这样极其古怪但也极其自然式问世。,6.Internet时代与Linux,1.3 现代操作系统的基本特性,1.并发(concurrence)计算机内存中同时存在多个程序,宏观上这些程序是同时在执行的,但在微观上任何时刻只有一个程序在执行。即微观上这些程序在CPU上轮流执行。注意它和并行的区别,并行是多个程序在不同的硬件上同时执行,即在微观上这些程序也是真正的同时执行。,2.共享(sharing)操作系统与多个用户的程序共同使用计算机系统中的资源(硬件和软件)。两种资源共享方式:互斥共享方式和同时访问方式3.虚拟(Virtual)把一个物理时体“虚拟”为多个逻辑体,如:虚拟处理机、虚拟内存、虚拟设备和虚拟信道。4.异步性(asynchronism)(不确定性)多个进程并发执行时,各进程都是以走走停停的方式运行,运行顺序无法预测,即进程以异步方式运行。因此,操作系统必须随时对以不可预测的不确定的次序随机发生的事件进行响应。,1.4 现代操作系统的功能,1.处理机管理进程控制、进程同步、进程通信、进程调度 2.内存管理内存分配、内存保护、地址映射、内存扩充 3.设备管理设备分配,缓冲管理,设备驱动,虚拟设备 4.文件管理文件存储空间管理、目录管理、读写管理、文件保护 5.用户接口命令接口(联机脱机),程序接口,图形接口,多媒体接口,1.5 操作系统的结构设计,操作系统是大型系统软件,其结构已经历了四代无结构模块化结构分层式结构微内核结构。现代操作系统的开发必须用软件工程的原理和方法来进行。软件工程是指系统的、规范的和可定量的方法来开发和维护软件,避免编程的随意性,以保证软件的质量和易维护性。,1.无结构操作系统(整体系统结构)设计者把注意力放在如何编制多功能、紧凑、高效的程序,整个程序是一个整体,程序内的各过程之间可以任意互相调用,程序的流程不加限制可任意转向,致使程序缺乏清晰的结构,错误较多难以阅读和理解,给维护工作造成极大的不便。,2.模块化操作系统结构 按功能将操作系统分解为若干个相对独立的模块,各模块之间通过规定的接口实现交互,进一步再细分为子模块,并可再细分。,操作系统,进程管理,存储器管理,文件管理,进程控制,内存分配,进程调度,内存保护,优点:提高了OS的正确性、可读性和可维护性。增强了OS的可适应性和可扩充性。加速OS的开发过程。缺点:模块间存在复杂的依赖关系,难保证模块无错。,3.分层式操作系统结构1)有序分层 硬件之上为A1层,在A1层基础上添加A2层,。每层只调用低层所提供的功能,与高层软件无关。调试时从低到高层逐层仔细调试保证功能正确,这样当发现Ai出错时,该错误局限于Ai 层。2)层次设置 被调用的模块应放在低层 使用频率高的应放在低层 公用模块应放A1低层 用户接口应放在最高层,4.微内核操作系统结构 微内核结构是90年代发展起来的。如:Mach OSWindows NT。它能有效地支持多处理机运行的OS,非常适用于分布式系统。微内核结构采用了3项技术:客户/服务器模式面向对象技术微内核技术 为了保证系统的安全,CPU执行的程序分为系统态(管态)和用户态(目态),OS程序工作在管态,是系统的管理和控制者,它享有特权又称为管理程序、监督程序。应用程序工作在目态又称为目的程序、用户程序它们没有特权。用户程序需要系统为之服务时必须通过系统调用(访管指令)引起一次中断转入OS程序。,1)客户/服务器模式(Client-Server Model)将操作系统分为两部分,大部分功能由相对独立的各服务器来实现,它们都运行在用户态;当用户进程(客户进程)要求服务时,向相应的服务器发出请求,服务器完成请求后回送一个应答;另一部分是内核,用来处理客户和服务器之间的通信,即处理请求和应答。,客户进程 客户进程 进程服务器 内存服务器 文件服务器 请求 内核 应答,优点:提高了OS的的灵活性性和可扩充性。服务器都运行在用户态,增强了OS的可靠性。可运行在分布时系统中。,2)面向对象技术 对象是指具有相同属性、服从相同规则的一类事物的抽象,其中的具体事物称为对象的实例;将数据结构和定义在其上的一组操作封装起来表示某个对象。这样数据结构中的数据对外都是隐蔽的,必须通过封装其内的操作(函数)对它们访问。优点是:可修改性和可扩充性 继承性 正确性和可靠性,3)微内核技术 精心设计能实现OS核心功能的精练的小型内核,称之为微内核,它不仅运行在核心态而且常驻内存;在微内核结构中通常采用客户/服务器模式,其大部分功能都由若干服务器来提供;它的微内核通常提供最基本的功能:进程管理 存储器管理 进程通信 低级I/O处理,4)基于微内核的Mach操作系统,1975年Rochester大学开发了RIG 操作系统。系统设计者之一 Richard Rashid,在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等等。,习题:p25 6,9,16,1.6 研究中的新的操作系统,哈佛大学的VINO,使应用得以重用内核构件。犹他州大学的OSKit,提供构造操作系统所需的基础构件,也提供高层次构件,OSKit可用来构造新的OS。MIT Exokernel,该系统只有一个极小的核。系统抽象通过 Library Operating System 完成 加州大学伯克利分校NOW集群操作系统,100台Ultra SPARC-I处理机集群,排名于世界最快的200台超级计算机之内。NASA空间飞行中心(GSFC)研制 Beowulf项目开始于1994年,用商业化的微型计算机,Linux和以太网等构造集群。世界各地约六十个大学和研究机构在使用。,国内操作系统的研制状况,60年代末至70年代初杨芙清院士主持我国第一台百万次集成电路计算机(150)操作系统的研制。支持多道程序运行,在石油勘探领域成功应用。70年代中后期杨芙清院士主持 我国第一个全部用高级语言书写的DJS240机操作系统DJS200/XT2。层次管程结构模型,PCM设计方法,活跃管程结构模式。,GX73多机实时操作系统(1978年)国防科技大学,1980年装在“远望”-I 号航天测量船上,完成了向太平洋发射运载火箭、潜水艇水下发射的测控任务;完成了我国第一颗同步地球卫星的测控、定轨、控制任务。“银河”-1 YHOS巨型操作系统(1983年)。COSIX v 1.X/2.0 国产类UNIX操作系统。微内核结构,安全级别超过B1,中文界面。嵌入式操作系统Hopen(女娲计划)。Linux类操作系统。,个人计算机的兴起,结束了IBM的霸主地位。Internet普及,Linux的成功,极大地推动了当代操作系统的研究发展活动。据不完全统计,当前在Internet上,有超过100个操作系统的项目在14个国家中进行着。一批批的程序设计员们自愿通过互联网组织成为研究小组,从事着各类操作系统的研究开发工作。,思考和回顾,在一些影响全球的操作系统的诞生和发展过程中,大师们设计那些知名操作系统的初始动机真是各不相同的 一个操作系统成功的缘由,似乎也在于某种机遇,往往是有心裁花花不开,无心插柳柳成行 未来操作系统的发展是否还会是这个模式?在Internet时代,新概念、新思想、新原理和新技术层出不穷 谁又能预测,未来会有什么样的新型操作系统在国际互联网上问世呢,具有代表性的操作系统IBMSYSIBM System/360UNIXMS DOS微软WindowsVxWorks IBM OS/390Linux,p25 6,补 1P25 9,15 补充习题:请列举出各时期具有代表性的操作系统,并简要叙述各自的归类和主要特点,1.操作系统的目标 能够高效地控制和管理计算机硬件和软件资源、公平合理地对各类作业进行调度、使各用户能够灵活方便有效地使用计算机。有良好的开放性和可扩充性。充分地利用资源、更好的提供服务2.现代操作系统的功能 处理机管理,内存管理,设备管理,文件管理,用户接口3.操作系统的定义 操作系统是一组能够高效地控制和管理计算机硬件和软件资源、公平合理地对各类作业进行调度、以及方便用户使用计算机的程序集合。4.现代操作系统的基本特性 并发性、共享性、虚拟性、异步性(不确定性)5.操作系统的结构设计 无结构、模块化结构、分层式结构、微内核结构。,6.操作系统三种基本类型 批处理系统(单道多道)、分时系统、实时系统 其它:微机、网络、分布式、嵌入式操作系统7.批处理系统 允许多用户将多作业提交给计算机集中处理的OS 特征:单道:自动性、顺序性、单道性 多道:自动性、多道性、无序性、调度性 多道批处理优点:系统资源利用率高 缺点:缺少交互性8.分时系统 能允许多个用户以交互方式及时使用计算机的OS 特征:多路性、独立性、交互性、及时性 结合多道批处理后,交互性好,资源利用率高9.实时系统 能在规定的时间内及时可靠地处理完任务的OS 特征:多路性、独立性、交互性、及时性、高可靠性,10.具有代表性的操作系统IBMSYS 单道批处理IBM System/360 多道批处理UNIX、Linux 分时系统MS DOS 微机OS,单用户单任务Windows 微机OS,单用户多任务(图形界面使用方便)VxWorks 嵌入式操作系统IBM OS/390 现代大型OS,网络、并行和分布式处理,