计算机操作系统原理.ppt





《计算机操作系统原理.ppt》由会员分享,可在线阅读,更多相关《计算机操作系统原理.ppt(170页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、计算机操作系统原理李国2007.12.3基本授课内容一、操作系统引论二、进程管理三、处理机调度与死锁四、存储器管理五、设备管理六、文件管理七、操作系统接口第一章 操作系统引论1.1 操作系统的目标和作用1.2 操作系统的发展过程1.3 操作系统的基本特性1.4 操作系统的主要功能 1.5 操作系统的结构设计1.1操作系统的目标和作用一、操作系统的目标方便性有效性可扩充性开放性二、操作系统的作用 1、作为用户与计算机硬件系统之间的接口。2、作为计算机系统资源的管理者主要包括四类资源:处理机、存储器、I/O设备以及信息(数据与程序)。3、操作系统用作扩充机器虚拟机:在裸机的基础上,每增加一层新的操
2、作系统的软件,就变成了功能更为强大的虚拟机或虚机器。三、推动操作系统发展的主要动力三、推动操作系统发展的主要动力1、不断提高计算机资源利用率2、方便用户3、器件的不断更新换代4、计算机体系结构的不断发展。1.2 操作系统的发展过程一、无操作系统的计算机系统1、人工操作方式 (1946 50年代,电子管时代)年代,电子管时代)【特点特点】:计算机资源昂贵:计算机资源昂贵,没有操作系统,没有操作系统【工作方式工作方式】:用户:用户既是程序员、操作员,还是计算机专业人员;用户:用户既是程序员、操作员,还是计算机专业人员;编程语言:为机器语言;编程语言:为机器语言;输入输出:纸带或卡片;输入输出:纸带
3、或卡片;【计算机的工作特点计算机的工作特点】:用户独占全机:用户独占计算机所有资源,资源利用率低;用户独占全机:用户独占计算机所有资源,资源利用率低;CPU等待用户:计算前,手工装入纸带或卡片;计算完成后,手工等待用户:计算前,手工装入纸带或卡片;计算完成后,手工卸取纸带或卡片;卸取纸带或卡片;CPU利用率低;利用率低;【主要矛盾主要矛盾】:计算机处理能力的提高,手工操作的低效率计算机处理能力的提高,手工操作的低效率用户独占全机的所有资源;用户独占全机的所有资源;2、脱机输入/输出方式 引入外围机控制数据的提前录入和延后输出,具体参照P5 图1-2二、单道批处理系统1、单道批处理系统的处理过程
4、引入监督程序,成批的作业首先在外存排队等待,由监督程序负责将每一个作业装入内存,处理完成后,再掉调入下一个作业,直至运行完毕。2、单道批处理系统的特征自动性顺序性单道性三、多道批处理系统1、多道程序设计的基本概念用户提交的作业都先存放在外存的后备队列中,由作业调度程序按一定的算法选择若干作业调入内存,共享CPU和系统的各种资源。2、多道批处理的特征(1)多道性:在内存中有多个程序(严格而言为进程)同时执行(宏观上);(2)无序性:进入内存的顺序与执行完的顺序无关;(3)调度性:经过2次调度,先调度到内存,转换为进程后,进行进程调度,要CPU进行执行。3、多道批处理系统的优缺点:(1)资源利用率
5、高了;(2)系统吞吐量大了;(3)平均周转时间长;(4)无交互能力。4、多道批处理系统需要解决的问题(1)处理机管理问题(2)内存管理问题(3)I/O设备管理问题(4)文件管理问题(5)作业管理问题处理上述问题组成一系列程序的集合,由此构成了完整意义上的操作系统。操作系统的定义:操作系统是一组控制和管理计算机硬件和软件资源,合理的组织计算机工作流程以及方便用户使用的程序的集合。四、分时系统1、定义:在一台主机上连接了多个带有显示器和键盘的终端,同时允许多个用户通过自己的终端,以交互方式使用计算机,共享主机中的资源。分时系统的结构示意图2、分时系统实现的关键问题(1)及时接收:多路卡(2)及时处
6、理:分时间片的原则。为此:(1)用户作业可以直接进入内存 (2)时间片选择大小要适当。3、分时系统的特征:(1)多路性(2)独立性(3)及时性(4)交互性五、实时系统1、理解:系统能及时响应外部事件的请求,在规定的时间内完成对该事件的处理,并控制所有实时任务协调一致的运行。2、实时系统的应用领域:实时控制:要求与被控制的变化速度相比,其反应速度足够快;工作安全可;需要人工干预时,操作简便。如生产过程控制,宇航自动控制等。实时信息处理系统:要求计算机能够在容许的延迟时间内,相应外部的事件请求,完成对该事件的处理,并控制所有的实时设备和实时任务协调运行。如飞机订票系统,期货、股票交易系统等。3、实
7、时系统与分时系统的比较(1)多路性(2)独立性(3)及时性(4)交互性(5)高可靠性1.3操作系统的基本特性一、并发性(concurrency)多个事件在同一时间段内发生。操作系统是一个并发系统,各进程间的并发,系统与应用间的并发。操作系统要完成这些并发过程的管理。并行(parallel)是指在同一时刻发生。在多道程序处理时,宏观上并发,微观上交替执行(在单处理器情况下)。程序的静态实体是可执行文件,而动态实体是进程(或称作任务),并发指的是进程。二、共享性(sharing)多个进程共享有限的计算机系统资源。操作系统要对系统资源进行合理分配和使用。资源在一个时间段内交替被多个进程所用。互斥共享
8、方式(如音频设备),资源分配后到释放前,不能被其他进程所用。同时访问方式,(如可重入代码,磁盘文件)。资源分配难以达到最优化三、虚拟性(virtual)一个物理实体映射为若干个对应的逻辑实体(分时或分空间)。虚拟是操作系统管理系统资源的重要手段,可提高资源利用率。CPU每个用户(进程)的“虚处理机”。存储器每个进程都占有的地址空间(指令数据堆栈)。显示设备多窗口或虚拟终端如虚拟光驱。四、异步性(asynchronism)异步性也称不确定性,指进程的执行顺序和执行时间及执行结果的不确定性:程序执行结果不确定,不可再现。相同输入与环境下多次运行结果不同。多道程序设计环境下,程序按异步方式运行。多个
9、进程并发执行,“时走时停”,不可预知每个进程的运行推进快慢,引发执行顺序与时间的不确定。1.4 操作系统的主要功能一、处理机管理功能:可归结为进程管理,包括以下方面 进程控制:进程的创建和撤消、进程状态的转换等;进程同步:协调进程执行的顺序关系;进程通信;调度:作业调度和进程调度两层。二、存储器管理功能:1、内存分配2、内存保护3、地址映射4、内存扩充 三、设备管理功能:1、设备分配2、设备处理(相当于启动)3、缓冲管理 4、虚拟设备 四、文件管理功能:1、文件存储空间管理2、目录管理3、文件读写管理4、文件保护。五、用户接口:1、命令接口2、程序接口3、图形接口1.5操作系统的结构设计一、传
10、统的操作系统结构1、无结构操作系统操作系统是由一组过程的集合,各过程之间相互调用,在操作系统内部不存在任何结构,也因此称为整体系统结构2、模块化操作系统结构操作系统是由按其功能划分为若干个具有一定独立性和大小的模块。每个模块具有某个方面的管理功能,规定好模块之间的接口。3、分层式操作系统结构从物理机器开始,在上面不断添加新的层次软件,实现若干功能,构成满足需要的操作系统。二、微内核操作系统1、微内核是20世纪90年代发展的现代操作系统内核结构,典型的操作系统如WindowsNT。实现了以微内核为操作系统核心,以客户/服务器为基础,并且采取了面向对象的程序设计方法的新型体系结构。2、客户/服务器
11、模式操作系统划分为两部分:一部分用于提供各种服务的一组服务器,如进程服务器、存储器服务器等,运行在用户态;另一部分是内核,用于处理客户和服务器之间的通信。CPU执行内核程序运行在核心态。3、微内核技术:(1)定义:精心设计的,能实现现代操作系统核心功能的小型内核,与一般操作系统不同,更小更精练,运行在核心态,开机长驻内存,并非一个完整的操作系统,是构建通用操作系统的重要基础。(2)微内核的基本功能-进程管理-存储器管理-进程通信管理-I/O设备管理第二章 进程管理2.1进程的基本概念一、程序的顺序执行及特征1、参照课本P27 图2-12、特征:顺序性封闭性可再现性二、程序的并发执行及其特征1、
12、前趋图:利用有向无环图中结点描述进程,有向弧描述进程执行顺序。2、并发执行的特征间断性失去并发性不可再现性I1I2I3I4C1C2C3C4P1P2P3P4三、进程的特征与状态1、进程的特征(1)结构特征:进程实体主要包括程序段、数据段和进程控制块三部分。(2)动态性是进程最基本的特征,表现在进程的创建、状态的转换、撤消等进程是有生命周期的,程序本身是静态的。(3)并发性,所谓前面提到程序的并发实质上是进程的并发(4)独立性:CPU进行调度的独立单位以及进行资源分配的基本单位(5)异步性,推进顺序是异步的。2、进程的定义:(1)进程是程序的一次执行。(2)进程是一个程序及其数据在处理机上顺序执行
13、时所发生的活动。(3)进程是一个数据集合上运行的过程,是系统进行资源分配和调度的一个独立单位。进程是进程实体的运行过程,是系统进行资源分配和调度的一个独立单位。3、进程的三种基本状态(1)就绪状态:当进程刚刚建立后处于就绪状态,具备所有资源,只差CPU调度就可执行,一个系统中处于就绪状态的进程有多个,构成就绪队列。(2)执行状态:获得CPU,进行执行,在单处理机内只有1个执行状态进程;(3)阻塞状态:处于执行状态的进程因为发生某事件而暂时无法继续执行,如等待I/O,申请缓冲区等,可以根据不同的阻塞原因放到不同的阻塞队列中,从而构成阻塞队列。程序1程序2程度段数据段 程度段数据段 进程1进程2进
14、程1进程2Pcb区域进程1pcb进程2pcb进程i pcb四、进程控制块1、进程控制块的作用进程控制块(PCB)是为了描述和控制进程的运行,为进程定义的数据结构,属于进程实体的一部分,是操作系统中最重要的记录型数据结构,记录了操作系统所需要的、用于描述进程当前情况及控制进程运行的全部信息,操作系统通过PCB来对并发执行的进程来进行控制和管理的。进程存在的唯一标志是PCB。2、进程控制块的基本组成(1)进程标识符:a.内部标识符就是PCB区中的标号,是数字。b.外部标识符就是进程的实际名字(2)处理机的状态,中断时处理状态的保护,断点地址保护(3)进程调度所需信息(如进程状态、优先级、进程等待时
15、间及阻塞原因等(4)进程控制信息:如程序段和数据段的地址、资源清单、进程同步与通信机制、进程队列中各进程的链接指针。3、PCB的组织方式:(1)链接方式(2)索引方式2.2进程控制一、进程控制中心:操作系统内核通过原语操作实现。1、内核是基于硬件的第一层软件扩充,并长驻内存。它为系统对进程和资源进行控制和管理,提供了良好的环境。内核通常包括中断处理、时钟管理、进程控制、进程通信和调度原语,以及资源管理中的基本操作等。2、所谓原语,是由若干条机器指令构成,用以完成特定功能的一段程序,为了保证其操作的正确性,它应该是原子操作,即原语是一个不可分割的操作。二、基本进程控制原语1、进程创建原语(1)申
16、请空白PCB(2)为新进程分配资源。(3)初始化进程控制块(4)将新进程插入到就绪队列。2、进程终止原语(1)根据标识符,从PCB集合中检索出该进程的PCB,读出进程状态。(2)若被终止进程属执行状态,需要重新调度新进程执行。(3)该进程所有子孙进程一并终止。(4)被终止进程的全部资源都被释放。3、进程阻塞原语block()(1)将阻塞进程由执行状态变为阻塞状态,并加入到阻塞队列中(2)系统重新调度新进程进行执行。4、进程唤醒原语wakeup()将被唤醒进程状态由阻塞变换为就绪状态,从阻塞队列中删除,加入到就绪队列中。2.3 进程同步一、进程同步的基本概念1、两种形式的制约关系(1)间接相互制
17、约关系:因为临界资源的特性造成进程间的制约。(2)直接相互制约关系:进程之间相互协作、互相制约关系。2、临界资源:如打印机、磁带机等一段时间内只允许一个进程进行使用的资源。3、临界区:每个进程中访问临界资源的那段代码成为临界区。整个程序段分为:进入区、临界区、退出区以及剩余区。4、同步机制应遵循的规则:(1)空闲让进(2)忙则等待(3)有限等待(4)让权等待 二、信号量机制:1、整型信号量Wait(s):while s0 do no-op s:=s-1;Signal(s):s:=s+1;2、记录型信号量Wait(s):s.value=s.value-1;if s.value0 block(s.
18、l);Signal(s):s.value=s.value+1;if s.value=0 wakeup(s.l)记录型信号量的物理意义Wait:相当于分配资源的过程。若有资源进行分配,则分配后就不会小于0,因此可以完全执行完Wait原语,然后进入临界区,如减1后出现小于0的情况则表示实际上已经没有资源可以分配了,因此该进程要放到阻塞队列L中,此时S.VALUE的绝对值就是阻塞进程的数量。Signal:相当于释放资源的过程。一个进程执行完正常释放资源,但加1后仍小于等于0表示它原来是个负数,因此阻塞队列里有等待该资源没有满足的阻塞进程,因此,在释放资源的同时要唤醒阻塞进程。如加1后正常的正数,就光
19、释放完资源就结束了。3、记录型信号量的应用(1)实现互斥对于N个进程对1个临界资源的互斥共享,每个进程的算法描述:VAR Mutex:=1;进程pi:Repeat Wait(Mutex);临界区;Signal(Mutex)until false;(2)实现前趋关系:见p45 图2-10Var a,b,c,d,e,f,g:=0,0,0,0,0,0,0S1:s1;signal(a);signal(b);S2:wait(a);s2;signal(c);signal(d);S3:wait(b);s3;signal(e);S4:wait(c);s4;signal(f);S5:wait(d);s3;sig
20、nal(g);S6:wait(e);wait(f);wait(g);s6;3、利用信号量实现进程同步1个数据缓冲区输入进程输出进程输入进程:输入进程:Repeat 输入数据;输入数据;wait(P1);放数据入缓冲区;放数据入缓冲区;signal(P2);until false;计算进程:计算进程:Repeat wait(p2);从缓冲区取数据;从缓冲区取数据;signal(P1);计算数据;计算数据;until false;.4经典进程同步问题一、生产者-消费者问题生产者进程消费者进程具有n个缓冲区的缓冲池 多个生产者进程和多个消费者进程共享一个有多个生产者进程和多个消费者进程共享一个有N个
21、缓冲区个缓冲区的缓冲池,生产者进程负责输入数据,消费者进程负责输出的缓冲池,生产者进程负责输入数据,消费者进程负责输出数据,两个相互合作。用信号量机制把每个进程的执行过程数据,两个相互合作。用信号量机制把每个进程的执行过程表达出来。因为缓冲区是临界资源,一段时间内只能有表达出来。因为缓冲区是临界资源,一段时间内只能有1个进个进程使用,所以,对缓冲区的放数据及取数据只能有一个进程程使用,所以,对缓冲区的放数据及取数据只能有一个进程来使用缓冲区,存在互斥问题;同时,生产来使用缓冲区,存在互斥问题;同时,生产-与消费构成同步与消费构成同步关系,相互合作,互相制约。关系,相互合作,互相制约。VAR m
22、utex:=1,empty=n;full=0;buffter0.n-1;in out:=0,0;生产者进程i:Repeat 生产数据nextp;wait(empty);wait(mutex);bufferin:=nextp;in=(in+1)%n;signal(full);until false;消费者进程i:Repeat wait(full);wait(mutex);Nextc=buffer(out);out=(out+1)%n;signal(empty);until false;二、哲学家就餐问题 5个哲学家围做一个圆桌,5支筷子分布与每人的两侧,每人先是思考问题,然后拿起左右两边的筷子就
23、餐,后放筷子继续思考问题。用信号量机制描述每人的活动过程。分析:筷子5支,都属于临界资源,因此互斥使用;哲学家i:Repeat wait(SM);wait(chopsticki);wait(chopstick(i+1)%5);就餐;signal(chopsticki);signal(chopstick(i+1)%5);signal(sm);继续思考;until false;Chopstick0.4=1;sm=4(5支筷子最多允许4个人同时去抢,才总有一个人拿到2支,才能吃饭,他放下后别人可以继续用,若允许5个人都抢,可能会出现一人1支筷子,出现僵持死锁状态)三、读者-写者问题一个数据文件可以同
24、时允许有多个读者进行访问,但每次只允许1个写者进行修改,读者和写者不能同时出现。分析:把多个读者作为一个整体来考虑,则加上 n个写者的话,这n+1个对象对数据块互斥访问,需要1个互斥信号量wmutex=1来控制;另外对于读者整体中,考虑与写者互斥的只是第一个读者来时要考虑的,有了第一个,其他读者就可以跟着进来,同样,释放资源时候也只是最后一个读者,其他读者想走就撤就可以。为了表示到底有多少读者,引入记数变量readcount,而对变量的使用,属于临界资源,一次只允许一个进程使用,所以再引入信号量rwmutex=1;读者进程i:REPAET wait(rmutex);if readcout=0
25、wait(wmutex);Readcount+;signal(rmutex);访问数据文件;wait(rmutex);Readcount-;if readcout=0 wait(wmutex);signal(rmutex);until false;写者进程i:REPAET wait(wmutex);修改文件;signal(wmutex);until false;例题1、司机与售票员的合作问题VAR S1=1;S2=0;司机:Wait(s1);启动车辆;正常行车;到站停车Signal(s2);售票员:Wait(s2);开车门;上下乘客;关车门Signal(s1);售票例题2:假定阅览室能容纳10
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 操作系统 原理

限制150内