《操作系统 第1章操作系统发展.pptx》由会员分享,可在线阅读,更多相关《操作系统 第1章操作系统发展.pptx(80页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、第第1 1章章 操作系统引论操作系统引论 操作系统是随着计算机硬件技术、操作系统是随着计算机硬件技术、软件技术的发展而发展的。软件技术的发展而发展的。目标:充分地利用资源目标:充分地利用资源 更好的提供服务更好的提供服务1.2 操作系统的发展操作系统的发展 控制台控制台 一个用户一个用户 一次完成一个功能 (计算,I/O,用户操作三者串行)程序通过穿孔机或卡片装入 用户在控制台前调试程序 硬件非常昂贵,没有操作系统一一.人工操作人工操作 一个用户独占计算机的全部资源,资源利用率低,工作效率非常低。每个用户都要自行编写涉及到硬件的源代码。工作量大,难度高,易出错,需要大量人力和物力。人机矛盾,人
2、低速与机器利用率。CPU与I/O设备速度不匹配的矛盾。为了解决这两个矛盾出现了脱机I/O方式,I/O设备由外围机控制。1.单道批处理单道批处理 用户把程序(卡片)交给系统管理员,他把一批作业以脱机方式输入到磁带上,常驻监督程序(Moniter)对这批作业一个接一个连续处理。批处理过程:重复进行 装入程序、运行、打印结果、撤出、二二.批处理批处理 2.多道程序批处理系统多道程序批处理系统 在磁盘上多个作业等待运行排成“后备队列”。多道程序 内存中同时有多个作业多个作业。-选择(调度)若干作业装入内存(存储管理)。-运行的作业遇到I/O请求时,切换(调度)至内 存中的另一个作业并运行之。增加:存储
3、管理重定位保护,并发程序设计技术。采用缓冲,DMA,中断处理 优点:多道程序共享资源,资源利用率高。系统吞吐量大,资源保持忙,系统开销小。缺点:作业平均周转时间长,无交互能力。单道:单道:用户程序监督程序I/O操作I/O请求启动I/OI/O完成I/O请求多道:多道:程序A程序B程序C调度程序A:I/O请求A:I/OB:I/O请求B:I/OC:I/OA:完成tt特征特征1)多道性:内存同时驻留多道程序允许并发执行。2)无序性:作业完成顺序与进入内存顺序五严格对应关系。3)调度性:作业从提交到完成经两次调度。4)作业调度、进程调度。硬件速度更快,人力较以前昂贵硬件速度更快,人力较以前昂贵1.1.分
4、时系统的产生分时系统的产生用户需要用户需要交互交互:所有用户看似独占全机所有用户看似独占全机,都能直接修改错都能直接修改错 误误,立即人立即人-机交互机交互共享共享:多个用户用便宜终端多个用户用便宜终端,共享一台计算机。共享一台计算机。方便方便:用户对自己的作业进行控制用户对自己的作业进行控制,调试方便。调试方便。分时系统分时系统是是一台主机带多个终端一台主机带多个终端,同时允许多同时允许多个用户用终端个用户用终端,共享一台主机共享一台主机,每个用户都可以每个用户都可以通过终端方便地以交互方式使用主机。通过终端方便地以交互方式使用主机。三三.分时系统分时系统2.实现方法实现方法1)作业直接进入
5、内存。作业直接进入内存。2)不允许某作业长期占用处理机不允许某作业长期占用处理机,将响应周期将响应周期分为很短的时间片分为很短的时间片,在该周期内每个作业轮在该周期内每个作业轮流执行一次流执行一次(占一个时间片占一个时间片)。每个作业可以。每个作业可以及时接收用户的命令和数据及时接收用户的命令和数据,并能及时得到并能及时得到处理。处理。-易于使用易于使用,提高人的生产力提高人的生产力-磁盘便宜磁盘便宜,故可在线存放程序和数据故可在线存放程序和数据-引入文件系统引入文件系统,使用户可存取数据使用户可存取数据 具有具有“前台前台”和和“后台后台”的多道分时系的多道分时系统统 内存中同时存放多道作业
6、内存中同时存放多道作业,道数和位置都道数和位置都不固定不固定,某些称为某些称为“前台区前台区”存放按时间片调存放按时间片调度的前台作业流度的前台作业流,其余道为其余道为“后台区后台区”存放批存放批处理作业流。处理作业流。只有当前台调进调出或前台无可运行的作只有当前台调进调出或前台无可运行的作业时才运行后台作业。业时才运行后台作业。既有分时系统多台终端共享主机交互性好既有分时系统多台终端共享主机交互性好,又有多道批处理系统资源利用率高的优点。又有多道批处理系统资源利用率高的优点。分时系统的特点分时系统的特点1)多路性多路性:一台主机同时联接多个终端一台主机同时联接多个终端,系统按系统按分时的原则
7、为每个用户服务分时的原则为每个用户服务,共享资源。共享资源。2)独立性独立性:用户各占一个终端用户各占一个终端,感觉像独占主机感觉像独占主机3)及时性及时性:用户请求能在容许的响应周期内及时用户请求能在容许的响应周期内及时获得响应获得响应,响应周期通常在响应周期通常在3秒以内。秒以内。4)交互性交互性:用户通过终端与系统进行广泛的人机用户通过终端与系统进行广泛的人机对话对话,以请求系统提供多方面的服务。以请求系统提供多方面的服务。成功之例:成功之例:AT&T公司贝尔实验室的两个计算机迷公司贝尔实验室的两个计算机迷 Dennis Ritchie 和和 Ken Thompson,首先在首先在 PD
8、P-7 上实现了上实现了UNIX系统。系统。(这样他们可在一台无人使用的这样他们可在一台无人使用的 DEC PDP-7 小型计算机上玩星际探险游戏)小型计算机上玩星际探险游戏)Ken Thompson 和和 Dennis Ritchie 1983年图灵奖获得者年图灵奖获得者 1999年年4月月 美国国家技术金奖美国国家技术金奖需要实时处理需要实时处理1)实时控制:实时控制:生产过程控制,武器控制,宇航自动控制。2)实时信息处理:实时信息处理:飞机订票系统,情报检索系统,期货、股票交易系统。3)特征特征4)实时系统除了与分时系统相似的特征外对系5)统的及时性和可靠性及时性和可靠性要求更高。四四.
9、实时系统实时系统 硬件非常便宜,人力昂贵硬件非常便宜,人力昂贵目标:目标:充分利用人和时间充分利用人和时间,个人计算雏形个人计算雏形 CPU CPU 便宜到可在每台终端上安装,功能强大有便宜到可在每台终端上安装,功能强大有效效,成为大众的计算机成为大众的计算机 使使OSOS回归简单回归简单 使用户再次与系统交互使用户再次与系统交互,增强文件系统增强文件系统五五.回归简单回归简单 操作系统的历史:变化!意味着技术总在改变,要适应、折衷权衡随历史线索,介绍一些重要的操作系统真空管时代(1946年-1955年)晶体管时代(1955年-1965年)集成电路时代(1965年-1980年)大规模集成电路时
10、代(1980年-至今)六六.历史上的操作系统历史上的操作系统第一台数字计算机第一台数字计算机英国数学家Charles Babbage(1792-1871)设计他投入了毕生精力但却没能让它成功地运行起来因为当时的技术不可能达到需要的精度当然,这个分析机没有操作系统二战对武器设计的需要美国、英国和德国等国家开始了电子数字计算机的研究工作哈佛大学的Howard Aiken普林斯顿高等研究院的John Neuman(冯诺依曼)宾夕法尼亚大学的J.Presper Eckert和William Mauchley德国电话公司的Konraad Zuse以及其他一些人都使用真空管成功地建造了运算机器1.真空管计
11、算机时代真空管计算机时代人工操作人工操作 ENIAC计算机数万个真空管数万个真空管,占地占地100100平方米平方米运算速度:运算速度:50005000次次/每秒每秒,用机器语言,无程序设计语言,更谈不上操作系统。程序员提前预约一段时间,然后到机房将他的插件板插到计算机里。然后,期盼着在接下来的时间中,几万个真空管不会烧断,从而可以计算自己的题目。50年代早期年代早期出现了穿孔卡片程序写在卡片上然后读入计算机但计算过程则依然如旧50年代晶体管发明 计算机比较可靠,可成批地生产 用户可指望计算机长时间运行,完成一些工作 FORTRAN 1954年提出,1956年设计完成 ALGOL 1958年引
12、入 COBOL 1959年引入 设计人员、生产人员、操作人员、程序人员和维护人员之间第一次有了明确的分工2.晶体管计算机时代晶体管计算机时代 先用高级语言或汇编语言将程序写在纸上 然后穿孔成卡片,再将卡片盒交给操作员 计算结果从打印机上输出 操作员到打印机上撕下运算结果送到输出室 程序员稍后可从取到结果 然后,操作员从输入室的卡片盒中读入另一个任务 机时在走来走去时被浪费批处理操作系统-现代操作系统雏型 为了增加主存和I/O设备之间的吞吐量,IBM7094机引入了I/O 处理机概念 其思想是:在输入室收集全部的作业,用一台相对便宜的计算机,如 IBM 1401计算机,将它们读到磁带上 另外用较
13、昂贵的计算机,如IBM7094来完成真正的计算卡片卡片早期批处理系统早期批处理系统IBM1401IBM7094IBM1401输入磁带输入磁带磁带机磁带机卡片阅读机卡片阅读机输出磁带输出磁带打印机打印机基本控制卡片是现代作业控制语言和命令解释器的先驱第二代计算机典型的操作系统FMS(FORTRAN Monitor System,FORTRAN监控系统)IBMSYS(IBM为7094机配备的操作系统)这些操作系统由监控程序,特权指令,存储保护和简单的批处理构成 60年代初期,计算机开始采用集成电路,多数厂商有几条完全不同的生产线,生产不同型号的计算机。开发和维护完全不同的产品,对厂商来说是昂贵的。
14、另外,新用户,在开始时只需要一台小计算机,后来可能需要一台大的计算机,而且希望能在新计算机上执行原有的程序。这样,厂家和用户都需要软件在不同型号的计算机之间兼容。3.集成电路计算机时代集成电路计算机时代 1964 年IBM 宣布推出System/360计算机系统 第一个采用小规模集成电路的主流机型 试图一次性地解决上述问题 由于所有的计算 机都有相同的体 系结构和指令集,在理论上,为一 型号编写的程序 可以在其他型号 机器上运行。IBM System/360 操作系统,庞大的软件怪兽 数千名程序员写的数百万行汇编语言代码 系统自身占据了大量存储空间和一半的CPU时间 数百万行汇编代码中有成千上
15、万处错误 IBM不断发行新的版本试图更正这些错误 每个新版本在更正老错误的同时又引入新错误 所以随着时间的流逝,错误的数量大致保持不变多道程序设计技术(multiprogramming)在IBM 7094机上,若当前作业因等待I/O而暂停,CUP只能踏步直至该I/O完成。对于CPU操作密集的科学计算问题,浪费时间少。对于商业数据处理,I/O等待时间常占80-90。解决办法 将内存分几个部分,每部分放不同的作业。当一个作业等待I/O时,另一个作业可以使用CPU。在主存中同时驻留多个作业需要硬件进行保护,以避免信息被窃取或攻击。分时系统 第三代计算机实质是批处理系统。而从一作业提交到结果取回,往往
16、长达数小时 一个逗号的误用会导致编译失败 而可能浪费程序员半天时间 问题的解决导致分时系统的出现(CTSS,Compatible Time Sharing System)分时系统实际上是多道程序的一个变种 分时系统的思想于1959年在MIT提出。每个用户有一个联机终端。在分时系统中,假设20个用户登录,其中17个在思考或谈论或喝咖啡,则CPU可给那三个需要的作业轮流分配服务。调试程序的用户常常只发出简短的命令,而很少有长的费时命令。所以计算机能够为许多用户提供交互式快速服务,同时在CPU空闲时还能在后台运行大作业。1961年,第一个分时系统由 MIT的Fernando Corbato 等在一改
17、装的IBM 7090/94机上开发成功,当时有32个交互式用户。IBM 7090/94计算机有32K内存,系统用5K,用户用7K,用户存储映象在内存和一台磁鼓之间切换。1962年Manchester大学的Atlas计算机投入运行,运行速度200 k FLOPS。第一个有虚拟存储器(virtual memory)和页面调度(paging)的机器。指令执行是管道式(pipelined)的。MULTICS的灾难 1965年在ARPA的支持下MIT、贝尔实验室和通用电气公司决定开发一种“公用计算服务系统”,希望能够同时支持整个波士顿所有的分时用户。该系统称作MULTICS(MULTiplexed In
18、formation and Computing Service)。MULTICS设计目标是:便利的远程终端使用,大量终端通过电话线接入计算机主机。高可靠的大型文件系统;大容量的用户信息共享;存储和构造层次化信息结构的能力。MULTICS研制难度超出了所有人预料 长期研制工作达不到预期目标,1969年4月贝尔实验室退出,通用电气公司也退出了。但最终,经过多年的努力,MULTICS 成功地应用了。运行MULTICS的计算机系统在九十年代中陆续被关闭。MULTICS引入了许多现代操作系统领域概念雏形,对随后操作系统特别是UNIX的成功有着巨大的影响 小型计算机,电子游戏和UNIX的成功 1969年,
19、贝尔退出MULTICS研制项目后,Ken Thompson和Dennis M.Ritchie 想申请经费买计算机从事操作系统研究,但多次申请得不到批准。项目无着落,他们在一台无人用的PDP-7上,重新摆弄原先在 MULTICS 项目上设计的“空间旅行”游戏。为了使游戏能够在PDP-7上顺利运行,他们陆续开发了浮点运算软件包、显示驱动软件,设计了文件系统、实用程序、shell 和汇编程序 1970年,在一切完成后,给新系统起了个同 MULTICS发音相近的名字UNIX。随后,UNIX用C语言全部重写,自此,UNIX诞生了。UNIXUNIX是现代操作系统的代表。Unix运行时的安全性、可靠性以及强
20、大的计算能力赢得广大用户的信赖。促使UNIX系统成功的因素:首先,由于UNIX是用C语言编写,因此它是可移植的,UNIX 是世界上唯一能在笔记本计算机、PC机、工作站直至巨型机上运行的操作系统。第二,系统源代码非常有效,系统容易适应特殊的需求。最后,也是最重要的一点,它是一个良好的、通用的、多用户、多任务、分时操作系统。微机操作系统:微机操作系统:随着大规模集成电路发展,个人计算机时代到来,各种类型的个人计算机和软件层出不穷。CP/M 操作系统操作系统 1973年Gary Kildall 看到对个人计算机操作系统的需求设计了CP/M操作系统(Control Program/Microproce
21、ssor or Microcomputer)。CP/M操作系统有较好的层次结构。它的BIOS 把操作系统的其他模块与硬件配置分隔开,所以它的可移植性好,具有较好的可适应性和易学易用性。到了1981年,CP/M操作系统成为世界上流行最广的8位操作系统之一。4.大规模集成电路计算机时代大规模集成电路计算机时代微软MS DOS 个人计算机的成功,逼得 IBM 采取紧急战略行动,决定要在1980年尽快生产出微型计算机,以应付挑战。但没有操作系统不行。要想快,机遇落到了微软公司。在关键时刻,开发新操作系统时间和人手上已经不可能,微软找到西雅图计算机产品公司,达成由微软经销西雅图计算机产品公司的 QDOS
22、 操作系统的协议。当时西雅图公司并不知道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机后,市
23、场卷起一股龙卷风。IBM自己也没有料到产品会有如此巨大的成功。IBM的成功说明必有其他公司失败。甚至连苹果公司也遇到了问题,销售数量落到了兰色巨人的后面。苹果公司推出Lisa机遭到失败,Apple III型也遭到失败 分析家们认为,在微机市场上的战斗似乎兰色巨人要嬴了。施乐 Palo Alto 研究中心-70年代的计算机研究思想库 世界上第一台个人计算机 Alto,1972年在这里出现。图形界面,手持鼠标,面向对象程序设计 微机网络,桌面出版和激光打印等等。有先进概念和技术的原型都首次出现在这里。1979年苹果公司允许施乐公司购买一百万股的苹果公司股票。作为回报,施乐公司允许苹果公司的少数人员
24、,包括乔布斯,在有限的时间内考察施乐公司Palo Alto研究中心内部,并同该思想库的研究人员交谈。苹果公司对Palo Alto研究中心内的技术大感吃惊,他们更吃惊的是,施乐公司在拥有这些宝贵技术的同时竟然什么也没有做!对Palo Alto研究中心这些科学家们而言,苹果公司的人是他们第一次遇到真正理解他们技术的人。这些科学家们后来有的去了苹果公司,微软公司,有的最终创办了自己的公司。在访问的基础上,苹果决定立即开发采用这些新技术的个人计算机。苹果公司已看到 IBM PC机的技术有多么糟糕,但他们卖得又是特别的好。MAC OS、鼠标的新型个人计算机 1984年,人们看到一则广告:“What wa
25、s that?”和对Macintosh的介绍,这是配有图形界面操作系统 MAC OS和鼠标的新型个人计算机。MAC机一上市立即在市场上获得极大的成功。当年比尔.盖茨都说,这是一台他的妈妈也能使用的计算机。Macintosh把苹果公司从连续的失败中拯救出来苹果公司又开始向前发展。正是Mac先进图形界面操作系统技术,超前PC机若干年,造就了一批苹果的忠实追随者。一波三折的微软Windows操作系统 1983年10月,PC机竞争厂家的图形界面相关产品上市。面对市场压力,比尔.盖茨在1983年11月10日宣布推出Windows操作系统。然而宣布容易,交货就不简单了,Windows交货期的灾难,成了当年
26、计算机界的笑柄。直到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大学开发了
27、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中采用了许多当代操作系统使用的技术,微内核、线程、进程间消息传递和面向对象
28、的设计方法等等。在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的多种通信协议,具有高网络安全性。采用面向对象程序设
29、计、并行处理、分布式处理以及客户机/服务器技术,具有较强的互操作性、可移植性与可扩展性。由于历史渊源,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的时代,大型机还会有什么演化,只有让时间来说明。
30、嵌入式操作系统的代表嵌入式操作系统的代表:VxWorks VxWorks支持各种工业标准,包括POSIX,ANSI C和TCP/IP网络协议。VxWorks运行系统的核心是一高效率的微内核。微内核支持各种实时功能,包括快速多任务处理,中断支持,抢占式和轮转式调度。微内核设计减轻了系统负载并可快速响应外部事件。从只需几千字节存储器的深嵌式产品设计到复杂高端实时系统设计,开发人员有八十多个选件并可构成上百个不同的配置。VxWorks开发主机:Windows 9x,Windows NT,Sun Solaris,SunOS,HP-UX等。支持目标微处理器:86,68k,PPC,CPU 32,i960,
31、SPARC,SPARCLite,SH,ColdFire,R3000,R4000,C16X,ARM,MIPS等。在“极地登陆者”号,“深空二号”和火星气候轨道器等登陆火星探测器上,就采用了VxWorks。VxWorks负责火星探测器全部飞行控制,包括飞行纠正、载体自旋和降落时的高度控制等,而且还负责数据收集和与地球的通信工作。目前在国内也占据嵌入式开发系统市场主要份额。Internet时代与Linux 1990年秋天,Linus在芬兰首都赫尔辛基大学学习操作系统课程,因为上机需要排队等待,Linus买了台PC机,开发了第一个程序,程序包括两个进程,向屏幕上写字母,然后用定时器来切换进程。Linu
32、s需要终端仿真程序来存取Usenet新闻组的内容,于是他写了从调制解调器上接发信息的程序以及显示器、键盘和调制解调器的驱动程序。然后写了磁盘驱动程序,文件系统,一旦有了进程切换、文件系统和设备驱动程序,当然就拥有了一个操作系统原型,或者至少是它的一个内核。Linux就以这样极其古怪但也极其自然式问世。操作系统领域中新的操作系统有线电视机顶盒领域,PowerTV移动通信领域,EPOC掌上计算机领域,Palm OS数字影像领域,Digita 哈佛大学的VINO,使应用得以重用内核构件。犹他州大学的OSKit,提供构造操作系统所需的基础构件,也提供高层次构件,OSKit可用来构造新的OS。MIT E
33、xokernel,该系统只有一个极小的核。系统抽象通过 Library Operating System 完成 加州大学伯克利分校NOW集群操作系统,100台Ultra SPARC-I处理机集群,排名于世界最快的200台超级计算机之内。NASA空间飞行中心(GSFC)研制 Beowulf项目开始于1994年,用商业化的微型计算机,Linux和以太网等构造集群。世界各地约六十个大学和研究机构在使用。5.研究中的新的操作系统研究中的新的操作系统国内操作系统的研制状况 60年代末至70年代初杨芙清院士主持我国第一台百万次集成电路计算机(150)操作系统的研制。支持多道程序运行,在石油勘探领域成功应用
34、。70年代中后期杨芙清院士主持 我国第一个全部用高级语言书写的DJS240机操作系统DJS200/XT2。层次管程结构模型,PCM设计方法,活跃管程结构模式。GX73多机实时操作系统(1978年)国防科技大学,1980年装在“远望”-I 号航天测量船上,完成了向太平洋发射运载火箭、潜水艇水下发射的测控任务;完成了我国第一颗同步地球卫星的测控、定轨、控制任务。“银河”-1 YHOS巨型操作系统(1983年)。COSIX v 1.X/2.0 国产类UNIX操作系统。微内核结构,安全级别超过B1,中文界面。嵌入式操作系统Hopen(女娲计划)。Linux类操作系统。个人计算机的兴起,结束了IBM的霸
35、主地位。Internet普及,Linux的成功,极大地推动了当代操作系统的研究发展活动。据不完全统计,当前在Internet上,有超过100个操作系统的项目在14个国家中进行着。一批批的程序设计员们自愿通过互联网组织成为研究小组,从事着各类操作系统的研究开发工作。思考和回顾 在一些影响全球的操作系统的诞生和发展过程中,大师们设计那些知名操作系统的初始动机真是各不相同的 一个操作系统成功的缘由,似乎也在于某种机遇,往往是有心裁花花不开,无心插柳柳成行 未来操作系统的发展是否还会是这个模式?在Internet时代,新概念、新思想、新原理和新技术层出不穷 谁又能预测,未来会有什么样的新型操作系统在国
36、际互联网上问世呢 批处理操作系统(多道批处理)批处理操作系统(多道批处理)分时操作系统分时操作系统 实时操作系统实时操作系统 嵌入式操作系统嵌入式操作系统 个人计算机操作系统个人计算机操作系统 网络操作系统网络操作系统 分布式操作系统分布式操作系统1.3.操作系统的分类操作系统的分类 批处理操作系统(多道批处理)批处理操作系统(多道批处理)分时操作系统分时操作系统 实时操作系统实时操作系统 嵌入式操作系统嵌入式操作系统 个人计算机操作系统个人计算机操作系统 网络操作系统网络操作系统 分布式操作系统分布式操作系统1.3.操作系统的分类操作系统的分类它是基于计算机网络的,是在各种计算机操作系统上,
37、按网络体系结构协议标准开发的软件,包括网络管理,通信,安全,资源共享和各种网络应用。目标:是相互通信及资源共享6.网络操作系统网络操作系统它基于两种环境它基于两种环境:多处理器(CPU)系统或多计算机系统(网络),是网络操作系统更高级的形式,保持了网络操作系统的全部功能特征特征:1.是一个统一的操作系统2.资源进一步共享3.透明性:资源共享,分布,用户并不知道,对用户是透明的4.自治性:分布式系统的多个主机处于平等地位,无主从关系5.处理能力增强、速度更快、可靠性增强7.分布式操作系统分布式操作系统网络和分布式的区别(1)分布具有各个计算机间相互通讯,无主从关系;网络有主从关系(2)分布式系统
38、资源为所有用户共享;而网络有限制地共享(3)分布式系统中若干个计算机可相互协作共同完成一项任务什么是嵌入式系统?在各种设备、装置或系统中,完成特定功能的软硬件系统它们是一个大设备、装置或系统中的一部分,这个大设备、装置或系统可以不是“计算机”通常工作在反应式或对处理时间有较严格要求环境中由于它们被嵌入在各种设备、装置或系统中,因此称为嵌入式系统8.嵌入式操作系统嵌入式操作系统嵌入式操作系统,是运行在嵌入式智能芯片环境中,嵌入式操作系统,是运行在嵌入式智能芯片环境中,对整个智能芯片以及它所操作、控制的各种部件装对整个智能芯片以及它所操作、控制的各种部件装置等等资源进行统一协调、调度、指挥和控制的
39、系置等等资源进行统一协调、调度、指挥和控制的系统软件统软件在嵌入式系统中的在嵌入式系统中的OSOS,称为嵌入式操作系统,称为嵌入式操作系统典型嵌入式操作系统的特性典型嵌入式操作系统的特性 完成某一项或有限项功能;不是通用型的完成某一项或有限项功能;不是通用型的 在性能和实时性方面有严格的限制在性能和实时性方面有严格的限制 能源、成本和可靠性通常是影响设计的重要因素能源、成本和可靠性通常是影响设计的重要因素 占有资源少、易于连接占有资源少、易于连接 系统功能可针对需求进行裁剪、调整和生成系统功能可针对需求进行裁剪、调整和生成 以便满足最终产品的设计要求以便满足最终产品的设计要求应用应用:嵌入计算
40、的各种应用特点嵌入计算的各种应用特点掌上电脑:掌上电脑:运算速度:运算速度:100 KIPS100 KIPS 在大小上优化、支持手写、低能耗在大小上优化、支持手写、低能耗工业设备:工业设备:运算速度:运算速度:1 MIPS1 MIPS安全优先,控制流程为主安全优先,控制流程为主军事装备军事装备运算速度运算速度 :1 GFLOPS 1 GFLOPS 可靠性最重要可靠性最重要1.5.现代操作系统的特征和功能现代操作系统的特征和功能1.5.1 现代操作系统的基本特征现代操作系统的基本特征1.并发并发(concurrence)计算机内存中同时存在多个程序,宏观上这些程序是同时在执行的,但在微观上任何时
41、刻只有一个程序在执行。即微观上这些程序在CPU上轮流执行。注意它和并行的区别,并行是多个程序在不同的硬件上同时执行,即在微观上这些程序也是真正的同时执行。2.共享共享(sharing)操作系统与多个用户的程序共同使用计算机系统中的资源(硬件和软件)。两种资源共享方式:互斥共享方式和同时访问方式3.虚拟虚拟(Virtual)把一个物理实体“虚拟”为多个逻辑体,如:虚拟处理机、虚拟内存、虚拟设备和虚拟信道。4.异步性异步性(asynchronism)多个进程并发执行时,各进程都是以走走停停的方式运行,运行顺序无法预测,即进程以异步方式运行。因此,操作系统必须随时对以不可预测的次序随机发生的事件进行
42、响应。1.5.2 现代操作系统的功能现代操作系统的功能 1.处理机管理处理机管理进程控制、进程同步、进程通信、进程调度 2.内存管理内存管理内存分配、内存保护、地址映射、内存扩充 3.设备管理设备管理设备分配,缓冲管理,设备驱动,设备独立性,虚拟设备 4.文件管理文件管理存储空间管理、目录管理、读写管理、文件保护 5.用户接口用户接口命令接口、程序接口、图形接口、多媒体接口1.6 操作系统的结构设计操作系统的结构设计 操作系统是大型系统软件,其结构已经历了四代无结构模块化结构分层式结构微内核结构。现代操作系统的开发必须用软件工程的原理和方法来进行。软件工程是指系统的、规范的和可定量的方法来开发
43、和维护软件,避免编程的随意性,以保证软件的质量和易维护性。1.无结构无结构操作系统操作系统(整体系统整体系统结构结构)设计者把注意力放在如何编制多功能、紧凑、高效的程序,整个程序是一个整体,程序内的各过程之间可以任意互相调用,程序的流程不加限制可任意转向,致使程序缺乏清晰的结构,错误较多难以阅读和理解,给维护工作造成极大的不便。2.模块化操作系统模块化操作系统结构结构按功能将操作系统分解为若干个相对独立的模块,各模块之间通过规定的接口实现交互,进一步再细分为子模块,并可再细分。操作系统进程管理存储器管理文件管理进程控制内存分配进程调度内存保护3.分层式操作系统结构分层式操作系统结构1)有序分层
44、 硬件之上为A1层,在A1层基础上添加A2层,。每层只调用低层所提供的功能,与高层软件无关。调试时从第Ai到高层逐层仔细调试保证功能正确,这样当发现Ai出错时,该错误局限于Ai层。2)层次设置被调用的模块应放在低层使用频率高的应放在低层公用模块应放A1低层用户接口应放在最高层4.微内核操作系统结构微内核操作系统结构 微内核结构是90年代发展起来的。如:Mach OSWindows NT。微内核结构采用了 客户/服务器模式、面向对象技术和微内核技术。1)客户/服务器模式(Client-Server Model)将操作系统分为两部分,大部分功能由相对独立的各服务器来实现,它们都运行在用户态;当用户
45、进程(客户进程)要求服务时,向相应的服务器发出请求,服务器完成请求后回送一个应答;另一部分是内核,用来处理客户和服务器之间的通信,即处理请求和应答。客户进程 客户进程 进程服务器 内存服务器 文件服务器 请求 内核 应答2)面向对象技术面向对象技术 对象是指具有相同属性、服从相同规则的一类事物的抽象,其中的具体事物称为对象的实例;将数据结构和定义在其上的一组操作封装起来表示某个对象。这样数据结构中的数据对外都是隐蔽的,必须通过封装其内的操作(函数)对它们访问。优点是:可修改性和可扩充性 继承性 正确性和可靠性数据结构函数1函数2函数33)微内核技术微内核技术 精心设计能实现OS核心功能的精练的小型内核,称之为微内核,它不仅运行在用户态而且常驻内存;在微内核结构中通常采用客户/服务器模式,其大部分功能都由若干服务器来提供;它的微内核通常提供最基本的功能:进程管理 存储器管理 进程通信 低级I/O处理作业操作系统是如何从单道批处理,发展到多道批处理,再到分时系统的,随之出现了哪些技术。分时系统的出现让用户感受到了什么好处?典型的分时系统是什么?操作系统是如何随硬件发展而发展的?P25 9、14、15