操作系统 第1章操作系统发展

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

第1章操作系统引论操作系统是随着计算机硬件技术、软件技术的发展而发展的。目标:充分地利用资源更好的提供服务1.2操作系统的发展控制台一个用户•一次完成一个功能(计算,I/O,用户操作三者串行)•程序通过穿孔机或卡片装入•用户在控制台前调试程序硬件非常昂贵,没有操作系统一.人工操作一个用户独占计算机的全部资源,资源利用率低,工作效率非常低。每个用户都要自行编写涉及到硬件的源代码。工作量大,难度高,易出错,需要大量人力和物力。人机矛盾,人低速与机器利用率。CPU与I/O设备速度不匹配的矛盾。为了解决这两个矛盾出现了脱机I/O方式,I/O设备由外围机控制。1.单道批处理用户把程序(卡片)交给系统管理员,他把一批作业以脱机方式输入到磁带上,常驻监督程序(Moniter)对这批作业一个接一个连续处理。批处理过程:重复进行装入程序、运行、打印结果、撤出、二.批处理2.多道程序批处理系统•在磁盘上多个作业等待运行排成“后备队列”。•多道程序–内存中同时有多个作业。-选择(调度)若干作业装入内存(存储管理)。-运行的作业遇到I/O请求时,切换(调度)至内存中的另一个作业并运行之。•增加:存储管理重定位保护,并发程序设计技术。采用缓冲,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)调度性:作业从提交到完成经两次调度。作业调度、进程调度。硬件速度更快,人力较以前昂贵1.分时系统的产生—用户需要交互:所有用户看似独占全机,都能直接修改错误,立即人--机交互共享:多个用户用便宜终端,共享一台计算机。方便:用户对自己的作业进行控制,调试方便。分时系统是一台主机带多个终端,同时允许多个用户用终端,共享一台主机,每个用户都可以通过终端方便地以交互方式使用主机。三.分时系统2.实现方法1)作业直接进入内存。2)不允许某作业长期占用处理机,将响应周期分为很短的时间片,在该周期内每个作业轮流执行一次(占一个时间片)。每个作业可以及时接收用户的命令和数据,并能及时得到处理。-易于使用,提高人的生产力-磁盘便宜,故可在线存放程序和数据-引入文件系统,使用户可存取数据•具有“前台”和“后台”的多道分时系统内存中同时存放多道作业,道数和位置都不固定,某些称为“前台区”存放按时间片调度的前台作业流,其余道为“后台区”存放批处理作业流。只有当前台调进调出或前台无可运行的作业时才运行后台作业。既有分时系统多台终端共享主机交互性好,又有多道批处理系统资源利用率高的优点。•分时系统的特点1)多路性:一台主机同时联接多个终端,系统按分时的原则为每个用户服务,共享资源。2)独立性:用户各占一个终端,感觉像独占主机3)及时性:用户请求能在容许的响应周期内及时获得响应,响应周期通常在3秒以内。4)交互性:用户通过终端与系统进行广泛的人机对话,以请求系统提供多方面的服务。•成功之例:AT&T公司贝尔实验室的两个计算机迷DennisRitchie和KenThompson,首先在PDP-7上实现了UNIX系统。(这样他们可在一台无人使用的DECPDP-7小型计算机上玩星际探险游戏)KenThompson和DennisRitchie1983年图灵奖获得者1999年4月美国国家技术金奖需要实时处理1)实时控制:生产过程控制,武器控制,宇航自动控制。2)实时信息处理:飞机订票系统,情报检索系统,期货、股票交易系统。特征实时系统除了与分时系统相似的特征外对系统的及时性和可靠性要求更高。四.实时系统硬件非常便宜,人力昂贵目标:充分利用人和时间,个人计算雏形CPU便宜到可在每台终端上安装,功能强大有效,成为大众的计算机使OS回归简单使用户再次与系统交互,增强文件系统五.回归简单•操作系统的历史:变化!•意味着技术总在改变,要适应、折衷权衡随历史线索,介绍一些重要的操作系统•真空管时代(1946年-1955年)•晶体管时代(1955年-1965年)•集成电路时代(1965年-1980年)•大规模集成电路时代(1980年-至今)六.历史上的操作系统第一台数字计算机英国数学家CharlesBabbage(1792-1871)设计他投入了毕生精力但却没能让它成功地运行起来因为当时的技术不可能达到需要的精度当然,这个分析机没有操作系统二战对武器设计的需要美国、英国和德国等国家开始了电子数字计算机的研究工作哈佛大学的HowardAiken普林斯顿高等研究院的JohnNeuman(冯·诺依曼)宾夕法尼亚大学的J.PresperEckert和WilliamMauchley德国电话公司的KonraadZuse以及其他一些人都使用真空管成功地建造了运算机器1.真空管计算机时代—人工操作ENIAC计算机数万个真空管,占地100平方米运算速度:5000次/每秒,用机器语言,无程序设计语言,更谈不上操作系统。程序员提前预约一段时间,然后到机房将他的插件板插到计算机里。然后,期盼着在接下来的时间中,几万个真空管不会烧断,从而可以计算自己的题目。50年代早期出现了穿孔卡片程序写在卡片上然后读入计算机但计算过程则依然如旧50年代晶体管发明•计算机比较可靠,可成批地生产•用户可指望计算机长时间运行,完成一些工作•FORTRAN1954年提出,1956年设计完成•ALGOL1958年引入•COBOL1959年引入•设计人员、生产人员、操作人员、程序人员和维护人员之间第一次有了明确的分工2.晶体管计算机时代•先用高级语言或汇编语言将程序写在纸上•然后穿孔成卡片,再将卡片盒交给操作员•计算结果从打印机上输出•操作员到打印机上撕下运算结果送到输出室•程序员稍后可从取到结果•然后,操作员从输入室的卡片盒中读入另一个任务•机时在走来走去时被浪费批处理操作系统-现代操作系统雏型为了增加主存和I/O设备之间的吞吐量,IBM7094机引入了I/O处理机概念其思想是:在输入室收集全部的作业,用一台相对便宜的计算机,如IBM1401计算机,将它们读到磁带上另外用较昂贵的计算机,如IBM7094来完成真正的计算卡片早期批处理系统IBM1401IBM7094IBM1401输入磁带磁带机卡片阅读机输出磁带打印机OperatingSystem基本控制卡片是现代作业控制语言和命令解释器的先驱第二代计算机典型的操作系统FMS(FORTRANMonitorSystem,FORTRAN监控系统)IBMSYS(IBM为7094机配备的操作系统)这些操作系统由监控程序,特权指令,存储保护和简单的批处理构成60年代初期,计算机开始采用集成电路,多数厂商有几条完全不同的生产线,生产不同型号的计算机。开发和维护完全不同的产品,对厂商来说是昂贵的。另外,新用户,在开始时只需要一台小计算机,后来可能需要一台大的计算机,而且希望能在新计算机上执行原有的程序。这样,厂家和用户都需要软件在不同型号的计算机之间兼容。3.集成电路计算机时代•1964年IBM宣布推出System/360计算机系统第一个采用小规模集成电路的主流机型•试图一次性地解决上述问题•由于所有的计算机都有相同的体系结构和指令集,在理论上,为一型号编写的程序可以在其他型号机器上运行。IBMSystem/360操作系统,庞大的软件怪兽•数千名程序员写的数百万行汇编语言代码系统自身占据了大量存储空间和一半的CPU时间•数百万行汇编代码中有成千上万处错误•IBM不断发行新的版本试图更正这些错误每个新版本在更正老错误的同时又引入新错误•所以随着时间的流逝,错误的数量大致保持不变多道程序设计技术(multiprogramming)•在IBM7094机上,若当前作业因等待I/O而暂停,CUP只能踏步直至该I/O完成。对于CPU操作密集的科学计算问题,浪费时间少。对于商业数据处理,I/O等待时间常占80-90%。•解决办法将内存分几个部分,每部分放不同的作业。当一个作业等待I/O时,另一个作业可以使用CPU。在主存中同时驻留多个作业需要硬件进行保护,以避免信息被窃取或攻击。分时系统•第三代计算机实质是批处理系统。•而从一作业提交到结果取回,往往长达数小时一个逗号的误用会导致编译失败而可能浪费程序员半天时间•问题的解决导致分时系统的出现(CTSS,CompatibleTimeSharingSystem)•分时系统实际上是多道程序的一个变种•分时系统的思想于1959年在MIT提出。•每个用户有一个联机终端。•在分时系统中,假设20个用户登录,其中17个在思考或谈论或喝咖啡,则CPU可给那三个需要的作业轮流分配服务。•调试程序的用户常常只发出简短的命令,而很少有长的费时命令。•所以计算机能够为许多用户提供交互式快速服务,同时在CPU空闲时还能在后台运行大作业。•1961年,第一个分时系统由MIT的FernandoCorbato等在一改装的IBM7090/94机上开发成功,当时有32个交互式用户。•IBM7090/94计算机有32K内存,系统用5K,用户用7K,用户存储映象在内存和一台磁鼓之间切换。•1962年Manchester大学的Atlas计算机投入运行,运行速度200kFLOPS。第一个有虚拟存储器(virtualmemory)和页面调度(paging)的机器。指令执行是管道式(pipelined)的。MULTICS的灾难•1965年在ARPA的支持下MIT、贝尔实验室和通用电气公司决定开发一种“公用计算服务系统”,希望能够同时支持整个波士顿所有的分时用户。该系统称作MULTICS(MULTiplexedInformationandComputingService)。•MULTICS设计目标是:便利的远程终端使用,大量终端通过电话线接入计算机主机。高可靠的大型文件系统;大容量的用户信息共享;存储和构造层次化信息结构的能力。•MULTICS研制难度超出了所有人预料长期研制工作达不到预期目标,1969年4月贝尔实验室退出,通用电气公司也退出了。但最终,经过多年的努力,MULTICS成功地应用了。运行MULTICS的计算机系统在九十年代中陆续被关闭。•MULTICS引入了许多现代操作系统领域概念雏形,对随后操作系统特别是UNIX的成功有着巨大的影响小型计算机,电子游戏和UNIX的成功•1969年,贝尔退出MULTICS研制项目后,KenThompson和DennisM.Ritchie想申请经费买计算机从事操作系统研究,但多次申请得不到批准。•项目无着落,他们在一台无人用的PDP-7上,重新摆弄原先在MULTICS项目上设计的“空间旅行”游戏。•为了使游戏能够在PDP-7上顺利运行,他们陆续开发了浮点运算软件包、显示驱动软件,设计了文件系统、实用程序、shell和汇编程序•1970年,在一切完成后,给新系统起了个同MULTICS发音相近的名字UNIX。•随后,UNIX用C语言全部重写,自此,UNIX诞生了。UNIX•UNIX是现代操作系统的代表。Unix运行时的安全性、可靠性以及强大的计算能力赢得广大用户的信赖。促使UNIX系统成功的因素:•首先,由于UNIX是用C语言编写,因此它是可移植的,UNIX是世界上唯一能在笔记本计算机、PC机、工作站直至巨型机上运行的操作系统。•第二,系统源代码非常有效,系统容易适应特殊的需求。•最后,也是最重要的一点,它是一个良好的、通用的、多用户、多任务、分时操作系统。微机操作系统:随着大规模集成电路发展,个人计算机时代到来,各种类型的个人计算机和软件层出不穷。CP/M操作系统•1973年GaryKildall看到对个人计算机操作系统的需求设计了CP/M操作系统(ControlProgram/MicroprocessororMicrocom

1 / 80
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功