操作系统-进程管理课件.ppt
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《操作系统-进程管理课件.ppt》由用户(晟晟文业)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 操作系统 进程 管理 课件
- 资源描述:
-
1、考试大纲考试大纲 二、二、进程管理进程管理(一)进程与线程1.进程概念2.进程的状态与转换3.进程控制4.进程组织5.进程通信共享存储系统;消息传递系统;管道通信。6.线程概念与多线程模型(二)处理机调度1.调度的基本概念2.调度时机、切换与过程3.调度的基本准则4.调度方式5.典型调度算法先来先服务调度算法;短作业(短任务、短进程、短线程)优先调度算法;时间片轮转调度算法;优先级调度算法;高响应比优先调度算法;多级反馈队列调度算法。(三)进程同步1.进程同步的基本概念2.实现临界区互斥的基本方法软件实现方法;硬件实现方法。3.信号量4.管程5.经典同步问题生产者-消费者问题;读者-写者问题;
2、哲学家进餐问题。(四)死锁1.死锁的概念2.死锁处理策略3.死锁预防4.死锁避免系统安全状态:银行家算法。5.死锁检测和解除(一)(一)进程与线程进程与线程 u进程概念进程概念(1)进程是程序的一次执行。进程是程序的一次执行。(2)(2)进程是一个程序及其数据在处理机上顺序执行时所发进程是一个程序及其数据在处理机上顺序执行时所发 生的活动。生的活动。(3)进程是程序在一个数据集合上运行的过程,它是系统进程是程序在一个数据集合上运行的过程,它是系统 进行资源分配和调度的一个独立单位。进行资源分配和调度的一个独立单位。(一)(一)进程与线程进程与线程u进程的状态与转换进程的状态与转换 就绪阻塞执行
3、时间片完进程调度I/O完成I/O请求挂起?挂起?(一)(一)进程与线程进程与线程u进程控制进程控制u进程的创建进程的创建 申请空白申请空白PCB 分配资源分配资源-初始化初始化PCB 将新进程插入就绪队列将新进程插入就绪队列u进程的终止进程的终止 操作对象:操作对象:PCB、资源、子孙进程、资源、子孙进程u进程的阻塞和唤醒进程的阻塞和唤醒 当一个进程期待的某一事件尚未出现时,该进程调用阻塞原语当一个进程期待的某一事件尚未出现时,该进程调用阻塞原语阻塞阻塞自己自己;对处于阻塞状态的进程,期待事件发生时,;对处于阻塞状态的进程,期待事件发生时,由发现者用唤醒由发现者用唤醒原语唤醒原语唤醒,置于就绪
4、状态。一般唤醒者和被唤醒者是,置于就绪状态。一般唤醒者和被唤醒者是合作的并发进合作的并发进程程。(一)(一)进程与线程进程与线程u进程组织进程组织为了描述和记录进程的运行变化过程,并使之能正确运行,系统为了描述和记录进程的运行变化过程,并使之能正确运行,系统为每为每个进程建立一个进程控制块个进程建立一个进程控制块(PCB)。从结构上看,每个进程由程序段。从结构上看,每个进程由程序段、数据段和进程控制块三部分组成。、数据段和进程控制块三部分组成。PCB的组织方式(根据状态):链表(静态),索引的组织方式(根据状态):链表(静态),索引?进程优先级进程优先级?家族关系家族关系?占有资源清单占有资源
5、清单?CPUCPU现场保护区现场保护区?进程标识符进程标识符?进程当前状态进程当前状态?进程队列指针进程队列指针?程序和数据地址程序和数据地址(一)(一)进程与线程进程与线程u进程通信进程通信 1.共享存储器系统共享存储器系统2.相互通信的进程相互通信的进程共享某些数据结构共享某些数据结构或或共享存储区共享存储区3.互斥访问问题互斥访问问题4.2。消息传递系统。消息传递系统5.由消息头和消息正文组成。发送原语由消息头和消息正文组成。发送原语Send,接收原语,接收原语Receive。6.直接通信(同步问题)、间接通信(媒介和关系)直接通信(同步问题)、间接通信(媒介和关系)7.3。管道。管道(
6、Pipe)通信通信8.用于连接一个读进程和一个写进程以实现他们之间通信的一个共用于连接一个读进程和一个写进程以实现他们之间通信的一个共享文件,又名享文件,又名pipe文件。文件。9.读写同步问题读写同步问题发送进程发送进程接收进程接收进程字符流方式写入读出字符流方式写入读出先进先出顺序先进先出顺序(一)(一)进程与线程进程与线程u线程概念与多线程模型线程概念与多线程模型 有时称轻量级进程有时称轻量级进程进程中的一个运行实体进程中的一个运行实体是一个是一个CPU调度单位调度单位资源的拥有者还是进程或称任务资源的拥有者还是进程或称任务将原来进程的将原来进程的两个属性两个属性分开处理分开处理与进程比
7、较:与进程比较:系统开销系统开销轻型实体轻型实体调度调度独立调度和分派的基本单位。独立调度和分派的基本单位。并发性并发性可并发执行。可并发执行。拥有资源拥有资源共享进程资源。共享进程资源。(一)(一)进程与线程进程与线程(二)处理机调度(二)处理机调度 u调度的基本概念调度的基本概念 在多道程序系统中,一个作业被提交后,必须经过处理机调度后在多道程序系统中,一个作业被提交后,必须经过处理机调度后,方能因获得处理机而执行。,方能因获得处理机而执行。对于批量型作业而言,通常需要经历作业调度(对于批量型作业而言,通常需要经历作业调度(高级调度高级调度)和进)和进程调度(程调度(低级调度低级调度)两个
8、过程后,方能获得处理机。)两个过程后,方能获得处理机。对于终端型作业,则通常只须经过进程调度。在较完善的操作系对于终端型作业,则通常只须经过进程调度。在较完善的操作系统中,往往还设置了统中,往往还设置了中级调度中级调度。(二)处理机调度(二)处理机调度u调度时机、切换与过程调度时机、切换与过程调度时机主要有:调度时机主要有:(1)进程状态转换的时刻:进程终止、进程睡眠;进程状态转换的时刻:进程终止、进程睡眠;(2)当前进程的时间片用完时当前进程的时间片用完时(3)进程从中断、异常及系统调用返回到用户态时进程从中断、异常及系统调用返回到用户态时切换如下几步:(类似于中断切换的过程)切换如下几步:
9、(类似于中断切换的过程)(1)首先要把当前任务的首先要把当前任务的CPU寄存器的值保存寄存器的值保存(2)将准备就绪的最高级任务的处理器寄存器复制到自己的任务将准备就绪的最高级任务的处理器寄存器复制到自己的任务堆栈。堆栈。(3)然后将进入就绪状态的最高优先级的任务的寄存器值从堆栈然后将进入就绪状态的最高优先级的任务的寄存器值从堆栈中恢复到寄存器中。中恢复到寄存器中。(二)处理机调度(二)处理机调度u面向用户的准则面向用户的准则-为了满足用户需求为了满足用户需求周转周期短;(常用来评价批处理系统)周转周期短;(常用来评价批处理系统)响应时间快;(常用来评价分时系统)响应时间快;(常用来评价分时系
10、统)截止时间的保证;(常用来评价实时系统)截止时间的保证;(常用来评价实时系统)先后权准则;(批处理、实时、分时系统中都可采用)先后权准则;(批处理、实时、分时系统中都可采用)u面向系统的准则面向系统的准则-为了满足系统需求为了满足系统需求系统吞吐量高;(常用来评价批处理系统)系统吞吐量高;(常用来评价批处理系统)处理机利用率高;(在大中型设备中常考虑)处理机利用率高;(在大中型设备中常考虑)各类资源平衡利用;(在大中型设备中常考虑)各类资源平衡利用;(在大中型设备中常考虑)周转时间、带权周转时间、响应时间、吞吐量周转时间、带权周转时间、响应时间、吞吐量调调度度的的基基本本准准则则 (二)处理
11、机调度(二)处理机调度非抢占方式非抢占方式 指当某一进程正在处理机上执行时,即使有某个更为重要或紧迫指当某一进程正在处理机上执行时,即使有某个更为重要或紧迫的进程进入就绪队列,的进程进入就绪队列,仍然让正在执行的进程继续执行,直到该仍然让正在执行的进程继续执行,直到该进程完成或发生某种事件而进入完成或阻塞状态时进程完成或发生某种事件而进入完成或阻塞状态时,才把处理机,才把处理机分配给更为重要或紧迫的进程。非剥夺方式又称非抢占方式、不分配给更为重要或紧迫的进程。非剥夺方式又称非抢占方式、不可剥夺方式。可剥夺方式。抢占方式抢占方式 指当一个进程正在处理机上执行时,若有某个更为重要或紧指当一个进程正
12、在处理机上执行时,若有某个更为重要或紧迫的进程需要使用处理机,则迫的进程需要使用处理机,则立即暂停正在执行的进程,将处理立即暂停正在执行的进程,将处理机分配给这个更重要或紧迫的进程机分配给这个更重要或紧迫的进程。剥夺方式又称抢占方式、可。剥夺方式又称抢占方式、可剥夺方式。剥夺方式。调调度度方方式式 典型调度算法典型调度算法 u先来先服务调度算法先来先服务调度算法 FCFS调度算法有利于调度算法有利于CPU繁忙型的作业,而不利于繁忙型的作业,而不利于I/O繁忙型的作业繁忙型的作业典型调度算法典型调度算法 u短作业(短任务、短进程、短线程)优先调度算法短作业(短任务、短进程、短线程)优先调度算法
13、优先短作业运行,对长作业不利优先短作业运行,对长作业不利Process Arrival Time 运行时间运行时间 P1 0.0 7 P2 2.0 4 P3 4.0 1 P4 5.0 4SJF(非抢占式非抢占式)SJF(抢占式抢占式)P1P3P242110P457P2P116P1P3P273160P4812典型调度算法典型调度算法 u时间片轮转调度算法时间片轮转调度算法 CPU就就 绪绪 队队 列列系统将所有的就绪进程按先来先服务的原则,排成一个队系统将所有的就绪进程按先来先服务的原则,排成一个队列,每次调度时,把列,每次调度时,把CPU分配给队首进程,并令其执行一分配给队首进程,并令其执行一
14、个时间片。个时间片。时间片时间片的大小从几毫秒的大小从几毫秒 到几百毫秒。到几百毫秒。典型调度算法典型调度算法 u优先级调度算法优先级调度算法1)静态优先权)静态优先权 在创建进程时确定的,且在进程的整个运行期间保持不变。在创建进程时确定的,且在进程的整个运行期间保持不变。2)动态优先权)动态优先权 在创建进程时所赋予的优先权,是可以随进程的推进或随其等待时在创建进程时所赋予的优先权,是可以随进程的推进或随其等待时间的增加而改变的,以便获得更好的调度性能。间的增加而改变的,以便获得更好的调度性能。3)优先级依据)优先级依据 进程类型。进程对资源的需求。进程类型。进程对资源的需求。用户要求。用户
15、要求。典型调度算法典型调度算法 u高响应比优先调度算法高响应比优先调度算法 该算法既照顾了短作业,又考虑了作业到达的先后次序。优先权动态变化中。该算法既照顾了短作业,又考虑了作业到达的先后次序。优先权动态变化中。典型调度算法典型调度算法 u多级反馈队列调度算法多级反馈队列调度算法(三)进程同步(三)进程同步 u 进程同步的基本概念进程同步的基本概念 并发进程之间两种形式的制约关系:并发进程之间两种形式的制约关系:a.间接相互制约关系:间接相互制约关系:共享着某种系统资共享着某种系统资源。源。例,例,A和和B共享打印机。共享打印机。b.直接相互制约关系:主要源于进程间合直接相互制约关系:主要源于
16、进程间合作。作。Q:临界资源:临界资源AB、CD、EF:临界区:临界区(三)进程同步(三)进程同步 u实现临界区互斥的基本方法实现临界区互斥的基本方法 软件方法软件方法P1:repeat flag1=true;ture=2;while(flag2 and turn=2)do no_op;临界区临界区 flag1=false;剩余区剩余区 until false;P2:repeat flag2=true;ture=1;while(flag1 and turn=1)do no_op;临界区临界区 flag2=false;剩余区剩余区 until false;硬件方法硬件方法:Test-and-Se
17、t指令指令bool TS(lock:bool):bool TS=lock;lock=true;P:repeat while TS(lock)do skip;临界区临界区 lock=false;剩余区剩余区Until false;(三)进程同步(三)进程同步u信号量信号量 1)整型信号量)整型信号量2)记录型信号量)记录型信号量procedure wait(S)var S:semaphore;begin S.value =S.value-1;if S.value0 then block(S,L)end procedure signal(S)var S:semaphore;begin S.valu
18、e =S.value+1;if S.value0 then wakeup(S,L);end 整形整形变量变量S0 当前可用资源的数目当前可用资源的数目=0 阻塞临界阻塞临界0 因请求该类资源而被因请求该类资源而被阻塞的进程数目阻塞的进程数目(三)进程同步(三)进程同步信号量解决互斥问题信号量解决互斥问题 火车上的卫生间,门锁就是信号量,拨到红色即火车上的卫生间,门锁就是信号量,拨到红色即“有人有人”,绿,绿“无人无人”。(三)进程同步(三)进程同步信号量解决同步问题信号量解决同步问题 设置信号量设置信号量empty=1;full=0;(三)进程同步(三)进程同步u管程管程:一种同步机制:一种同
19、步机制 指关于共享资源的数据及在其上操指关于共享资源的数据及在其上操作的一组过程作的一组过程,或共享数据结构及其规定或共享数据结构及其规定的所有操作。的所有操作。信号量机制的同步操作信号量机制的同步操作分散在各进程中分散在各进程中,使用不当就可能导致各进程死锁。,使用不当就可能导致各进程死锁。如果某进程要进入临界区,必须得到管程如果某进程要进入临界区,必须得到管程的准许才能进入,而这个过程是通过个过程的准许才能进入,而这个过程是通过个过程来实现的,与信号量相比,增加了额外的处来实现的,与信号量相比,增加了额外的处理时间。理时间。使用信号量的效率要高些。使用信号量的效率要高些。(三)进程同步(三
20、)进程同步u经典同步问题经典同步问题(生产者(生产者消费者问题)消费者问题)Var mutex,empty,full:semaphore =1,n,0;buffer:array0,n-1 of item;in,out:integer =0,0;begin parbegin proceducer:begin repeat producer an item nextp;wait(empty);wait(mutex);buffer(in)=nextp;in =(in+1)mod n;signal(mutex);signal(full);until false;end consumer:begin r
21、epeat wait(full);wait(mutex);nextc =buffer(out);out =(out+1)mod n;signal(mutex);signal(empty);consumer the item in nextc;until false;end parend end(三)进程同步(三)进程同步u经典同步问题经典同步问题(读者(读者写者问题)写者问题)Reader:begin repeat wait(rmutex);if readcount=0 then wait(wmutex);Readcount =Readcount+1;signal(rmutex);perfor
22、m read operation;wait(rmutex);readcount =readcount-1;if readcount=0 then signal(wmutex);signal(rmutex);until false;end Var rmutex,wmutex:semaphore =1,1;Readcount:integer =0;begin parbegin writer:begin repeat wait(wmutex);perform write operation;signal(wmutex);until false;end parend end(三)进程同步(三)进程同步
展开阅读全文