计算机操作系统_第1页
计算机操作系统_第2页
计算机操作系统_第3页
计算机操作系统_第4页
计算机操作系统_第5页
已阅读5页,还剩85页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

计算机操作系统河北理工学院自动化系计算机教研室

授课教师

主讲教师: 赵福来

选用教材计算机操作系统汤子瀛哲凤屏汤小舟西安电子科技大学出版社主要参考书

[1]AndrewS.Tanenbaum,AlberS.Woodhull,OperatingSystem:DesignandImplementation(secondedition)Prentice-Hall,Inc.1997[2]滕至阳,现代操作系统,高等教育出版社,2000,2[3]何炎祥、宋文欣、彭锋,高级操作系统,科学出版社,1999,4。[4]刘乃琦.计算机操作系统.北京:电子工业出版社.2001课程形式

讲课,作业及实验考试:笔试

期末考试学习要求:

按时上课,认真听讲

阅读参考书

认真记笔记,整理笔记

思考,讨论,提问成绩评定

作业及上机,期末考试比例:

作业16%

上机24%

期末考试60%操作系统涉及的学科涉及到计算机科学的很多领域计算机体系结构/硬件软件设计程序设计语言数据结构算法网络操作系统课程的特点:实践性强(从实践总结出原理)涉及面广(并行程序,性能问题,结构问题,程序方法论,软件工程,等等)如何学好操作系统?

类型多样(兼顾各种类型的操作系统)结构复杂、难于理解:→系统较规模庞大,往往数千人年→结构太复杂,无法整体调试→行为难以预测,常通过猜测进行微调→经常是不可靠的课程基本目的5.学习核心开发技术、培养系统分析设计能力1.介绍操作系统的基本概念、基本结构及运行环境3.介绍操作系统的演化过程、发展研究动向、新技术以及新思想2.介绍操作系统原理、设计方法和实现技术4.介绍各种有代表性的、典型的操作系统实例注意学习方式的变化教师只指出要点

要通过自学、研读参考书掌握内容记笔记相当重要

不能只通过Powerpoint来复习课程善于发现问题、提出问题

要努力寻求问题的答案

第一章操作系统引论一、操作系统的目标有效性使CPU几各I/O设备有效利用(充分忙碌)方便性以命令(或图形方式)方式代替手工方式(或程序方式)操作机器可扩充性便于修改或增加功能开放性结构开放乃至源代码开放二、操作系统的定义操作系统是计算机系统中的一个系统软件,是一些程序模块的集合——它们能以尽量有效、合理的方式组织和管理计算机的软硬件资源,合理的组织计算机的工作流程,控制程序的执行并向用户提供各种服务功能,使得用户能够灵活、方便、有效的使用计算机,使整个计算机系统能高效地运行。有效:系统效率,资源利用率 (如:CPU利用的充足与否,内存、外部设备是否忙碌)合理: 公平与否,如果不公平则会产生“死锁”或“饥饿”方便: 用户界面三、操作系统的作用

应用程序-----------------------虚机器界面

操作系统-----------------------物理机器界面

硬件假如没有操作系统?怎样将目标代码送给硬件?怎样输出打印结果?人们将对二进制程序操作从二极发光管读答案1。操作系统作为仲裁者(协调者)

使多个应用程序/用户高效,公平地一起工作保护用户不互相干扰例子:并发,存储保护,文件系统,网络2。操作系统作为管理程序

硬件平台扩展为运行平台运行平台是承载应用程序的载体平台之争企业竞争的范围已经超出了市场、资本和技术竞争的焦点:表面上:平台(标准)实质上:争夺产业的制高点3。操作系统作为幻觉制造者(illusionist)

提供硬件的高层界面,取消硬件限制操作系统提供无限的内存、无限的CPU4。操作系统作为管理者(government)

有效合理地分配资源,保护用户不受侵犯提供安全、保密措施5。操作系统作为历史教员

学习过去,预测未来6。操作系统作为标准服务提供者

提供每个用户需要的标准工具如标准库、窗口系统7。操作系统作为APARENT程序创建和执行存取I/O设备控制对文件的存取系统存取错误检测和回应统计四、操作系统的特征1。并发性(Concurrence):并发性是指两个或多个事件在同一时间间隔内发生。具有此特性的程序称并发程序。在多道程序环境下,并发性是指在一段时间间隔内宏观上有多道程序同时运行,但在微观上可能是交替或顺序运行的。并行性(parallel)是指两个或多个事件在同一时刻发生。具有此特性的程序称并行程序(parallelprogram)。

并行执行意即同时执行并行是一种物理的、或微观的同时性概念并发是一种逻辑的、或宏观的同时性概念单处理机系统不能实现并行,但可实现并发多处理机系统既可实现并发,又可实现并行操作系统特征(续)共享性(Ssaring):是指操作系统与多个用户程序共同使用计算机系统中的资源资源共享方式

互斥共享:指某个资源在一段时间内只允许一个作业使用,这种资源称临界资源

同时共享:指某个资源在一段时间内允许多个作业同时使用。但这里的同时的概念是宏观的,微观上则可能是交替地对资源进行访问。操作系统特征(续)3。虚拟性(Virtual):虚拟是指将一个物理的实体变为若干个逻辑上的对应物。前者是实的后者是虚的,是一种感觉性存在,如虚存、虚网、虚设备、虚文件等。4。异步性(Asynchronism):多道程序环境下,进程以独立的、不可预知的速度向前推进,即为异步运行方式。但只要运行环境相同,作业虽经多次运行,都会得到完全相同的结果。五、操作系统的发展操作系统发展是随着计算机硬件技术、应用软件的发展而发展的目标:充分利用硬件提供更好的服务1.概述

操作系统历史划分为4个阶段第0阶段

硬件非常昂贵,没有操作系统

控制台一个用户一次完成一个功能(计算,I/O,用户思考/反应)程序通过卡片装入用户在控制台前调试程序工作效率非常低

每一用户都要自行编写涉及到硬件的源代码

工作量大,难度高,易出错,需要大量人力和物力第1阶段

硬件昂贵,人力便宜简单批处理:装入程序、运行、打印结果、撤出、再重复用户把程序(卡片或磁带)交给负责调度的操作员(系统管理员)常驻监控程序自动地装入程序、运行、撤出作业需要存储管理、重定位和保护机制硬件使用较为高效但(从输出)调试困难CPU与I/O操作交叉覆盖早期:将慢速设备转到同CPU相连的快速磁带驱动器上后期:Spool数据到磁盘上增加:缓冲,DMA,中断处理作业被送(spool)到磁盘仍然是单个作业,利用率低多道程序批处理系统

在磁盘上多个作业等待运行多道程序-同时运行多个作业-选择若干作业准备运行(调度)并装入内存(存储管理)-运行一个作业,当它等待时切换至内存中的另一个作业(如需安装磁带,等键按下)多道程序设计:多个用户共享系统增加:存储保护,重定位利用率高(多个作业)有必要采用并发程序设计技术操作系统成为研究焦点:需要处理复杂性早期计算机:单控制方式-CPU负责计算,也负责传输早期计算机的使用方式-一个用户独占全部资源-浪费:CPU与外设速度不匹配手工操作方式和高速机器之间的不匹配提高资源利用率-多部件并行,多任务共享通道引入:传输和CPU相对独立中断引入:各部件的协调动作成为可能体系结构的发展可以支持OS多道程序运行模式第2阶段硬件较以前便宜,人力昂贵交互式分时处理一台计算机,多个便宜终端-所有用户可与系统立即交互-调试比较方便磁盘便宜,故可在线存放程序和数据-1张穿孔卡片=100个字节-1MB=10K卡片-OS/360有若干英尺长度的卡片新问题-易于使用,提高人的生产力-合理的响应时间-引入文件系统,使用户可存取数据解决-需要抢占式调度以便保持适当的响应时间-需要避免抖动(程序在内存中过于频繁的对换)-需要提供适用的安全检测成功:一群计算机迷(Tomson,Ritchie)在贝尔实验室发展出了UNIX。(这样他们可以在一台无人使用的DECPDP-7小型计算机上玩星际探险游戏)成功:KenThompson,DennisRitchie1983年图灵奖获得者1999年4月美国国家技术金奖第3阶段硬件非常便宜,人力昂贵目标:

充分利用人和时间个人计算雏形

CPU便宜到可在每台终端上安装,功能强大有效-成为大众的计算机放弃多道程序、并发和保护机制,使OS回归简单使用户再次与系统交互增强文件系统响应时间、保护更为重要网络允许不同机器很容易共享资源-共享,安全操作系统的历史:

变化!意味着技术总在改变要适应、折衷权衡操作系统的历史:

变化!意味着技术总在改变要适应、折衷权衡要运行一个作业,先将程序写在纸上(用高级语言或汇编语言)然后穿孔成卡片,再将卡片盒交给操作员计算结果从打印机上输出操作员到打印机上撕下运算结果送到输出室程序员稍后可从取到结果然后,操作员从输入室的卡片盒中读入另一个任务如果需要FORTRAN编译器,还要把它取来读入计算机机时在走来走去时被浪费批处理操作系统-现代操作系统雏型为了改进主存和I/O设备之间的吞吐量IBM7094机引入了I/O处理机概念其思想是:在输入室收集全部的作业,用一台相对便宜的计算机如IBM1401计算机,将它们读到磁带上另外用较昂贵的计算机,如IBM7094来完成真正的计算卡片早期批处理系统IBM1401IBM7094IBM1401输入磁带磁带机卡片阅读机输出磁带打印机基本控制卡片是现代作业控制语言和命令解释器的先驱第二代计算机典型的操作系统FMS(FORTRANMonitorSystem,FORTRAN监控系统)IBMSYS(IBM为7094机配备的操作系统)这些操作系统由监控程序,特权指令,存储保护和简单的批处理构成第三代集成电路计算机(1965年-1980年)时期

60年代初期,计算机开始采用集成电路多数厂商有几条完全不同的生产线,生产不同的计算机开发和维护完全不同的产品,对厂商来说是昂贵的另外,新用户,在开始时只需要一台小计算机后来可能需要一台大的计算机而且希望能在新计算机上执行原有的程序这样,厂家和用户需要软件在不同型号的计算机之间兼容1964年IBM宣布推出System/360计算机系统第一个采用小规模集成电路的主流机型试图一次性地解决上述两个问题由于所有的计算机都有相同的体系结构和指令集在理论上,为一型号编写的程序可以在其他型号机器上运行IBMSystem/360的若干问题IBM无法写出同时满足互冲突需要的操作系统其实别人也一样不能完成这项工作任务IBMOS/360文件系统中有类型字段,定义文件的类型,有定长、不定长记录、块状和非块状文件用户对于输出文件的大小,只有通过猜测存储管理有基地址寄存器寻址方式,程序也可以访问和修改基地址寄存器,但是CPU生成的却是绝对地址,虽然不用进行动态再分配但程序却被钉死在调入内存时的物理地址上数千名程序员写的数百万行汇编语言代码系统自身占据了大量存储空间和一半的CPU时间数百万行汇编代码中有成千上万处错误IBM不断发行新的版本试图更正这些错误每个新版本在更正老错误的同时又引入新错误所以随着时间的流逝,错误的数量大致保持不变IBMSystem/360,庞大的软件怪兽多道程序设计技术(multiprogramming)

在IBM7094机上,若当前作业因等待I/O而暂停,CUP只能踏步直至该I/O完成对于CPU操作密集科学计算问题,浪费时间少对于商业数据处理,I/O等待时间常占80%-90%解决办法将内存分几个部分,每部分放不同的作业当一个作业等待I/O时,另一个作业可以使用CPU在主存中同时驻留多个作业需要硬件进行保护以避免信息被窃取或攻击Spooling技术程序卡片被拿到机房后能够很快将一作业从卡片读入磁盘任何时刻当一作业运行结束操作系统就将一新作业从磁盘读出装入空出的内存区运行Spooling技术(SimultaneousPeripheralOperationOnLine)该技术也用于输出分时系统第三代计算机实质是批处理系统而从一作业提交到结果取回,往往长达数小时一个逗号的误用会导致编译失败而可能浪费程序员半天时间问题的解决导致分时系统的出现(CTSS,CompatibleTimeSharingSystem)分时系统实际上是多道程序的一个变种分时系统的思想于1959年在MIT提出每个用户有一个联机终端在分时系统中,假设20个用户登录其中17个在思考或谈论或喝咖啡则CPU可给那三个需要的作业轮流分配服务调试程序的用户常常只发出简短的命令而很少有长的费时命令所以计算机能够为许多用户提供交互式快速服务同时在CPU空闲时还能在后台运行大作业第一个分时系统由MIT的FernandoCorbato等1961年在一改装的IBM7090/94机上开发成功当时有32个交互式用户IBM7090/94计算机有32K内存,系统用5K,用户用27K,用户存储映象在内存和一台磁鼓之间切换1962年Manchester大学的Atlas计算机投入运行运行速度200kFLOPS第一个有虚拟存储器(virtualmemory)和页面调度(paging)的机器指令执行是管道式(pipelined)的小型计算机,电子游戏和UNIX的成功1969年,在贝尔退出MULTICS研制项目后,KenThompson和DennisM.Ritchie想申请经费买计算机从事操作系统研究,但多次申请得不到批准项目无着落,他们在一台无人用的PDP-7上,重新摆弄原先在MULTICS项目上设计的“空间旅行”游戏为了使游戏能够在PDP-7上顺利运行,他们陆续开发了浮点运算软件包、显示驱动软件,设计了文件系统、实用程序、shell和汇编程序到了1970年,在一切完成后,给新系统起了个同MULTICS发音相近的名字UNIX随后,UNIX用C语言全部重写,自此,UNIX诞生了UNIXUNIX是现代操作系统的代表。Unix运行时的安全性、可靠性以及强大的计算能力赢得广大用户的信赖促使UNIX系统成功的因素:

首先,由于UNIX是用C语言编写,因此它是可移植的,UNIX是世界上唯一能在笔记本计算机、PC机、工作站直至巨型机上运行的操作系统第二,系统源代码非常有效,系统容易适应特殊的需求最后,也是最重要的一点,它是一个良好的、通用的、多用户、多任务、分时操作系统第四代大规模集成电路计算机(1980年-至今)CP/M操作系统随着大规模集成电路发展,个人计算机时代到来了各种类型的个人计算机和软件层出不穷1973年GaryKildall看到对个人计算机操作系统的需求,设计了CP/M操作系统(ControlProgram/MicroprocessororMicrocomputer)CP/M操作系统有较好的层次结构。它的BIOS把操作系统的其他模块与硬件配置分隔开,所以它的可移植性好,具有较好的可适应性和易学易用性到了1981年,CP/M操作系统成为世界上流行最广的8位操作系统之一微软MSDOS个人计算机的成功,逼得IBM采取紧急战略行动,决定要在1980年尽快生产出微型计算机,以应付挑战但没有操作系统不行。要想快就是找现成系统配套,IBM公司洽谈CP/M操作系统不顺利,机遇落到了微软公司在关键时刻,开发新操作系统时间和人手上已经不可能,微软找到西雅图计算机产品公司,达成由微软经销西雅图计算机产品公司的QDOS操作系统的协议当时西雅图公司并不知道QDOS将被转卖给IBM,否则历史将会怎样演变,谁也无法知晓IBM在1981年推出个人计算机,宣布了DOS操作系统随着IBMPC和MSDOS普及,CP/M逐渐走向下坡路MSDOS有优良的文件系统但受到Intelx86体系结构的限制缺乏以硬件为基础的存储保护机制它属于单用户单任务操作系统从1981的1.0版到1998年在Windows95/98之下的7.0版,MSDOS历经了16个年头迄今仍有MSDOS爱好者继续开发各种DOS软件产品MACOS、鼠标的新型个人计算机1984年,人们看到一则广告:“Whatwasthat?”和对Macintosh的介绍,这是配有图形界面操作系统MACOS和鼠标的新型个人计算机MAC机一上市立即在市场上获得极大的成功当年比尔.盖茨都说,这是一台他的妈妈也能使用的计算机Macintosh把苹果公司从连续的失败中拯救出来苹果公司又开始向前发展正是Mac先进图形界面操作系统技术,超前PC机若干年,造就了一批苹果的忠实追随者一波三折的微软Windows操作系统1983年10月,PC机竞争厂家的图形界面相关产品上市面对市场压力,比尔.盖茨在1983年11月10日宣布推出Windows操作系统然而宣布容易,交货就不简单了,Windows交货期的灾难,成了当年计算机界的笑柄直到1985年11月20日,Windows1.0才正式上市Windows的历史记录Windows在当时微软历史上创了几个记录:延迟交货次数最多,投入开发人员最多,开发时间最长,更换主管人员最多不过几年之后,Windows终于创造了销售成绩最佳的历史记录1992年4月,推出Windows3.1,1993年5月,发表WindowsNTWindows95,WindowsCE,Windows98,Windows2000个人计算机采用Windows占90%以上,微软公司成了垄断PC行业的同义词基于微内核的Mach操作系统1975年Rochester大学开发了RIG操作系统系统设计者之一RichardRashid移居到CMU后,在DARPA支持下,1984年开始了Mach的开发希望Mach能与UNIX兼容,运行线程,更好的进程通信机制,支持多处理机及好的虚拟存储系统Mach第一个版本是1986年为VAX11/784四CPU多处理机发布1988年的Mach2.5版包含了大量的BSDUNIX的代码1989年,Mach内核中去掉了所有的BSDUNIX的代码,剩下了一个纯的Mach微内核,这就是Mach3.0版本,它是OSF发布的基础Mach中采用了许多当代操作系统使用的技术,微内核、线程、进程间消息传递和面向对象的设计方法等等在Mach的基础上,有不少用于微处理器、多处理器以及超级计算机的操作系统和实时嵌入式操作系统陆续设计和开发出来,如OSF/1,DCEUnix,NeXT等等IBM大型计算机操作系统OS/39090年代末期,电子商务发展刺激对计算能力的要求,导致大型机市场的再度升温三十年的改进,IBMS/390已成为有高可靠性、可扩展性、及安全可用性的现代大型计算机系统支持即UNIX95标准,UNIX应用程序可在IBMOS/390上运行同时还可继续运行S/390应用程序,包括S/370上开发的应用程序包括TCP/IP的多种通信协议,具有高网络安全性采用面向对象程序设计、并行处理、分布式处理以及客户机/服务器技术,具有较强的互操作性、可移植性与可扩展性由于历史渊源,OS/390有不同的系统运行方式:S/370本机模式,支持原先在S/370运行的程序ESA/390模式,支持到10个240M处理器内存和256个通道ESA/390LPAR模式,系统可分成最多十个部分,每个部分有自己的CPU,存储器和通道,且分别运行不同的操作系统,如S/370,ESA/370和ESA/390等在PC机时代,人们曾经估计大型计算机会衰亡IBMS/390是大型计算机复活的一个典型那么,在21世纪的Internet和后PC的时代,大型机还会有什么演化,只有让时间来说明Internet时代与Linux1990年秋天,Linus在芬兰首都赫尔辛基大学学习操作系统课程,因为上机需要排队等待,Linus买了台PC机,开发了第一个程序,程序包括两个进程,向屏幕上写字母,然后用定时器来切换进程Linus需要终端仿真程序来存取Usenet新闻组的内容,于是他写了从调制解调器上接发信息的程序以及显示器、键盘和调制解调器的驱动程序然后写了磁盘驱动程序,文件系统,一旦有了进程切换、文件系统和设备驱动程序,当然就拥有了一个操作系统原型,或者至少是它的一个内核Linux就以这样极其古怪但也极其自然式问世操作系统领域中新的操作系统有线电视机顶盒领域,PowerTV移动通信领域,EPOC掌上计算机领域,PalmOS数字影像领域,Digita研究中的新的操作系统哈佛大学的VINO,使应用得以重用内核构件犹他州大学的OSKit,提供构造操作系统所需的基础构件,也提供高层次构件。OSKit可用来构造新的OSMITExokernel,该系统只有一个极小的核。系统抽象通过LibraryOperatingSystem完成加州大学伯克利分校NOW集群操作系统,100台UltraSPARC-I处理机集群,排名于世界最快的200台超级计算机之内NASA空间飞行中心(GSFC)研制Beowulf项目开始于1994年,用商业化的微型计算机,Linux和以太网等构造集群。已有世界各地的约六十个大学和研究机构在使用思考和回顾个人计算机的兴起,结束了IBM的霸主地位Internet普及,Linux的成功,极大地推动了当代操作系统的研究发展活动据不完全统计,当前在Internet上,有超过100个操作系统的项目在14个国家中进行着一批批的程序设计员们自愿通过互联网组织成为研究小组,从事着各类操作系统的研究开发工作思考和回顾(续1)在一些影响全球的操作系统的诞生和发展过程中,大师们设计那些知名操作系统的初始动机真是各不相同的一个操作系统成功的缘由,似乎也在于某种机遇,往往是有心裁花花不开,无心插柳柳成行未来操作系统的发展是否还会是这个模式?在Internet时代,新概念、新思想、新原理和新技术层出不穷谁又能预测,未来会有什么样的新型操作系统在国际互联网上问世呢!六、操作系统的分类批处理操作系统(多道批处理)分时操作系统实时操作系统嵌入式操作系统个人计算机操作系统网络操作系统分布式操作系统批处理操作系统工作方式:用户将作业交给系统操作员系统操作员将许多用户的作业组成一批作业之后输入到计算机中,在系统中形成一个自动转接的连续的作业流启动操作系统系统自动、依次执行每个作业最后由操作员将作业结果交给用户卡片早期批处理系统IBM1401IBM7094IBM1401输入磁带磁带机卡片阅读机输出磁带打印机$END$RUNDataforprogram$LOADFortranprogram$FORTRAN

$JOB,10,429754

CherryChen

典型的FMSJOB结构批处理操作系统特点多道:多道指某个作业占用CPU,若由于某种原因暂时不用CPU则系统让第二个作业占用CPU成批处理:用户自己不能干预自己作业的运行,一旦发现作业错误不能及时改正,并延长开发软件时间,所以适用于成熟的程序。Spooling系统(技术)1961年,英国曼彻斯特大学,Atalas机SimultaneousPeripheralOperationOn-Line同时的外围设备联机操作--假脱机技术利用磁盘作缓冲,将输入、计算、输出分别组织成独立的任务流,使I/O和计算真正并行Spooling系统工作原理-作业进入到磁盘上的输入井-按某种调度策略选择几种搭配得当的作业,并调入内存-作业运行的结果输出到磁盘上的输出井-再由磁盘上的输出井将结果送到打印机批处理操作系统优缺点-优点:作业流程自动化效率高,吞吐率高吞吐量:单位时间内处理作业的个数-缺点:无交互手段,调试程序困难分时操作系统工作方式:一台主机连接了若干个终端每个终端有一个用户在使用交互式的向系统提出命令请求系统接受每个用户的命令采用时间片轮转方式处理服务请求并通过交互方式在终端上向用户显示结果用户根据上步结果发出下道命令主机终端分时操作系统时间片:操作系统将CPU的时间划分成若干个片段,称为时间片操作系统以时间片为单位,轮流为每个终端用

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论