第三章-操作系统课件.ppt
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《第三章-操作系统课件.ppt》由用户(三亚风情)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 第三 操作系统 课件
- 资源描述:
-
1、3.1 进程管理的基本概念进程管理的基本概念进程控制块及进程状态进程控制(进程间的相互作用)进程调度(CPU调度)实时系统的进程调度线 程进程调度讨论3.1 进程管理的基本概念3.1.1 程序的运行方式1、顺序运行、顺序运行2、并发运行、并发运行3.1 进程管理的基本概念3.1.1 程序的运行方式1、顺序运行、顺序运行程序:程序:顺序环境:顺序环境: 3.1 进程管理的基本概念3.1.1 程序的运行方式1、顺序运行、顺序运行特征:特征:程序执行的顺序性程序执行的顺序性:程序执行的封闭性程序执行的封闭性:程序执行结果的确定性程序执行结果的确定性 即:程序结果的可再现性即:程序结果的可再现性 3.
2、1 进程管理的基本概念3.1.1 程序的运行方式2、并发运行、并发运行并发环境:并发环境: 在一定时间内物理机器上有两个或两个以上的程序同在一定时间内物理机器上有两个或两个以上的程序同处于开始运行但尚未结束的状态,并且次序不是事先处于开始运行但尚未结束的状态,并且次序不是事先确定的确定的,(目的是为了提高(目的是为了提高CPU的利用率)的利用率)BAABBAAB3.1 进程管理的基本概念3.1.1 程序的运行方式2 2、并发运行、并发运行特征:特征:(1)异步特征:在并发环境下程序的执行是间断性的,)异步特征:在并发环境下程序的执行是间断性的, (2)资源共享:)资源共享:(3)独立性和制约性
3、:)独立性和制约性:(4)程序结果的不可再现性:)程序结果的不可再现性: (以并发交易事务为例)(以并发交易事务为例)BAABBAAB3.1 进程管理的基本概念3.1.1 程序的运行方式2、并发运行、并发运行引入并发的目的:引入并发的目的: 3.1 进程管理的基本概念3.1.2 进程概念定义:程序的执行过程。是定义:程序的执行过程。是可以独立申请并获得系统资可以独立申请并获得系统资源,与其它进程并发执行的源,与其它进程并发执行的基本单位。基本单位。3.1 进程管理的基本概念3.1.2 进程概念进程的五个特征:进程的五个特征:动态特征:从运行的角度动态特征:从运行的角度并发特征:从宏观的角度并发
4、特征:从宏观的角度独立特征:从资源分配的角度独立特征:从资源分配的角度异步特征:从运行过程的角度异步特征:从运行过程的角度结构特征:从进程产生的角度结构特征:从进程产生的角度3.1 进程管理的基本概念3.1.3 进程管理的主要功能1、进程控制、进程控制 创建、撤销、阻塞、唤醒、进创建、撤销、阻塞、唤醒、进程同步、通信控制、进程死锁防范程同步、通信控制、进程死锁防范等。等。2、进度调度、进度调度 在进程间进行在进程间进行CPU调度。调度。3.2 进程控制块及进程状态进程控制块(Process Control Block):操作系统对进程进行全局管理的一个数据结构。系统为了管理进程设置的一个专门的
5、数据结构,用它来记录进程的外部特征,描述进程的运动变化过程 系统利用PCB来控制和管理进程,所以PCB是系统感知进程存在的唯一标志 进程与PCB是一一对应的3.2 进程控制块及进程状态3.2.1 进程控制块(Process Control Block) 内容2、调度信息:、调度信息:进程优先级;进程优先级;进程状态信息进程状态信息其它状态信息其它状态信息1、进程标识:、进程标识: 进程的内部标识:(通常是整数,唯一的)进程的内部标识:(通常是整数,唯一的)pid 进程的外部标识:(进程名字)进程的外部标识:(进程名字)mame pid = GetInternalName(name);3、进程上
6、下文、进程上下文(一些重要的现场信息)(一些重要的现场信息) (1)、通用寄存器的信息)、通用寄存器的信息 (2)、程序状态字()、程序状态字(PSW)值)值 (3)、程序计数器()、程序计数器(PC) (4)、进程的堆栈指针)、进程的堆栈指针4、进程控制信息、进程控制信息 (1)、内容地址)、内容地址 (2)、资源清单)、资源清单 (3)、同步与通信信息(机制)、同步与通信信息(机制) (4)、外存地址)、外存地址 (5)、家族信息)、家族信息 (6)、链接指针)、链接指针3.2 进程控制块及进程状态3.2.1 进程基本状态及状态变迁 通常进程的三种基本状态通常进程的三种基本状态(就绪、运(
7、就绪、运行、阻塞)行、阻塞)进程在生命消亡前处于且仅处于三种进程在生命消亡前处于且仅处于三种基本状态之一基本状态之一 不同系统设置的进程状态数目不同不同系统设置的进程状态数目不同3.2 进程控制块及进程状态3.2.2 进程基本状态及状态变迁1、进程的基本状态:、进程的基本状态: (1)就绪()就绪(Ready) (2)运行()运行(Running) (3)阻塞()阻塞(Blocked)3.2 进程控制块及进程状态3.2.2 进程基本状态及状态变迁1、状态变迁:、状态变迁:活动活动挂起挂起事件事件发生发生事件事件发生发生等待等待事件事件挂起挂起调度调度超时超时释放释放活动活动挂起挂起3.2 进程
8、控制块及进程状态3.2.3 扩展状态挂起:将进程调入到外存上挂起:将进程调入到外存上去。去。3.2 进程控制块及进程状态3.2.4 PCB的组织结构挂起的进挂起的进程被调到程被调到外存上去外存上去系系统统区区进程进程H进程进程D进程进程C进程进程I进程进程E进程进程G就绪队列就绪队列阻塞队列阻塞队列运行队列运行队列挂起就绪队列挂起就绪队列挂起阻塞队列挂起阻塞队列用用户户区区PCBIPCBIPCBIPCBIPCBIPCBIPCBIPCBIPCBI进程进程A进程进程B进程进程F3.3 进程控制为了防止操作系统及关键数据受到破坏,通常将处理机的状态分为系统态和用户态。 OS内核通常是运行在系统态的,
9、进程控制是由OS内核实现的。3.3 进程控制为了防止操作系统及关键数据受到破坏,通常将处理机的状态分为系统态和用户态。 OS内核通常是运行在系统态的,进程控制是由OS内核实现的。 OS内核使用原语进行进程控制,这些原语通常分为下面四类:控制进程用的原语控制进程用的原语:创建、撤消、阻塞、唤醒、挂起、激活、调度创建、撤消、阻塞、唤醒、挂起、激活、调度控制通信用的原语控制通信用的原语:消息发送、消息接收消息发送、消息接收资源互斥与同步用的原语资源互斥与同步用的原语:P(wait)与与V(signal) 操作原语操作原语3.3.1 进程创建与撤消原语1、创建原语Create_Process()提交一
10、个批处理作业用户登录由OS创建,用以向一用户提供服务( 如:打印文件) 由已存在的一进程创建一个用户程序可创建成多个进程进程何时创建?索取一个空白的PCB块赋予一个统一进程标识符初始化进程控制块设置相应的链接Pid优先级内存地址资源清单家族信息PCB现场信息PCB进程状态信息把新进程加到就绪队列的链表中将程序代码和数据装入内存可选项结束从PCB的链表上的空闲队列获取一个指针,将当前创建的进程指向该位置3.3.1 进程创建与撤消原语1、撤消原语Destroy (name)批处理作业发出暂停(Halt)指令用户退出登录进程执行一中止服务请求出错及失败因素运行正常结束进程何时撤消?FLAG :=fa
11、lse中止进程Kill(nameKill(name) )以递归方式对该以递归方式对该进程及其子进程进程及其子进程进行中止操作,进行中止操作,并回收所占用的并回收所占用的所有资源和所有资源和PCBPCB若需要调度,则运行系统的调度程序。可选项结束将该系统的调度标志置为不可调度。3.3.2阻塞与唤醒原语 1、阻塞原语Block() 原因有以下几种:原因有以下几种:等待等待I/OI/O请求资源得不到满足请求资源得不到满足进程同步约束进程同步约束服务进程无服务任务服务进程无服务任务进程为何会被阻塞?获取进程的获取进程的内部标识内部标识j从运行队列上摘下j Remove(RunQueue,j) J(状)
12、:=“Blocked” 运行调度程序结束j:=GetInternalname()保护现场 J(进程上下文):=CPU现场信息。 将该进程的状态改为阻塞将进程j插入阻塞队列 J(进程上下文):=CPU现场信息。 Scheduler().3.3.2阻塞与唤醒原语 1、唤醒原语唤醒原语 Wakeup() 引起进程唤醒的原因源自进程的阻塞原因,因此相应地有以下几种:所等的I/O操作已完成。请求的资源得到了满足。进程同步约束已撤消。服务进程收到新的任务。进程何时会被阻塞?当前进程的当前进程的CPU现场信现场信息压栈息压栈 从阻塞队列从阻塞队列上查找等待上查找等待该事件的进该事件的进程程PCB PCB(状
13、态状态):=“Ready” 结束将将PCB从从阻塞队列阻塞队列上摘下来上摘下来 将该进程的状态改为就绪将PCB挂入就绪队列 Insert(ReadyQueue ,PCB)。 /将PCB挂入就绪队列 恢复被当前中断进程的上下文,让被中断的进程恢复运行。 当前进程的当前进程的CPU现场信现场信息出栈息出栈 3.3.3挂起和激活原语 1、挂起原语挂起原语 Suspend(name) 虚拟存储管理方式中,当虚拟存储管理方式中,当前进程的内存空间太少。前进程的内存空间太少。当前进程的运行代码无法当前进程的运行代码无法装入,系统需要挂起内存装入,系统需要挂起内存中部分进程。中部分进程。根据操作系统的需要,
14、将根据操作系统的需要,将部分进程挂起,以便改善部分进程挂起,以便改善运行性能。运行性能。应用户的要求,将用户进应用户的要求,将用户进程挂起。程挂起。应父进程要求,将其子进应父进程要求,将其子进程挂起。程挂起。进程为何会被挂起?找到要挂起进程的pid 将将j从所在队列从所在队列XQueue上摘下上摘下 PCB(状态状态):=“SReady” 结束申请外存交换区空申请外存交换区空间,其地址写入间,其地址写入PCB(外存地址)(外存地址) 回收回收j(内存地址)(内存地址)中记录的内存空中记录的内存空间。间。 将j挂入静止就绪队列 j :=GetInternalname(name) Remove(X
15、Queue,j) 启动I/O,将被阻塞的进程写到交换区 Ready?将j挂入静止阻塞队列 PCB(状态状态):=“SBlock” 3.3.3挂起和激活原语 1、激活原语激活原语 Active(name) 当一个进程运行完当一个进程运行完毕,若当前内存空毕,若当前内存空间并不紧张,需要间并不紧张,需要增加进程数量。增加进程数量。应用户要求。应用户要求。应父进程的要求,应父进程的要求,将其子进程激活。将其子进程激活。进程自身设定的挂进程自身设定的挂起周期已结束。起周期已结束。进程为何会被激活?找到要激活进程的pid 将将j从所在队列从所在队列XQueue上摘下上摘下 PCB(状态状态):=“Rea
16、dy” 结束启动I/O,将进程加载到内存中 按其按其PCB登记的空登记的空间需求申请内存间需求申请内存 将j挂入就绪队列 j :=GetInternalname(name) Remove(XQueue,j) SReady?将j挂入阻塞队列 PCB(状态状态):=“Block” 归还外存交换区空间3.4 进程调度在操作系统中,进程调度是整个管理系统的核心,其采用的调度策略直接影响着系统的性能,在早期的单道批处理系统中,进程调度与作业调度的区分并不明显,所起的作用仅仅是作业的运行切换。而在多道程序设计中,进程调度成了多进程并发运行的基础和关键的环节。它的作用是,选择一个就绪的进程投入运行。由于进程
17、调度比作业调度更靠近硬件,因此也称为低级调度。3.4.1 两种调度模式调度方式调度方式非强占式调度强占式调度3.4.1 两种调度模式1、非强占式调度当一个进程占有处理机后,可一直运行下去。如果该进程不主动让出处理机,则系统不强迫它交出来。在这种方式中,可能引起当前进程主动放弃处理机控制权的情况有两个: (1 1)进程运行完毕推出或遇到不可挽回的故障。)进程运行完毕推出或遇到不可挽回的故障。 (2 2)运行受阻。)运行受阻。在多道批处理系统中,只要出现两种情况之一时,正在运行的进程就将主动放弃CPU。3.4.1 两种调度模式1、非强占式调度t0t1t2t3t4t运行P1运行P2运行KernelC
18、pu状态3.4.1 两种调度模式2、强占式调度抢占调度也称做剥夺调度,主要指的是,在系统正常运行期间,如果某种事件某种事件出现,系统将迫使正在运行的进程停下来,将CPU控制权交给其他进程。3.4.1 两种调度模式2、强占式调度进程标识进程标识创建时刻创建时刻运行长度运行长度/h/h优先级优先级ProcessProcessA A8.000.107ProcessProcessB B8.050.1010ProcessProcessC C8.080.254ProcessProcessD D8.300.0553.4.1 两种调度模式2、强占式调度进程标识进程标识创建时刻创建时刻运行长度运行长度/h/h优
19、先级优先级ProcessProcessA A8.000.107ProcessProcessB B8.050.1010ProcessProcessC C8.080.254ProcessProcessD D8.300.055PAPBPCPD8.00PB8.05 8.088.158.208.308.35PAPC8.503.4.1 两种调度模式3、调度算法缩写缩写算法名称算法名称算法目标算法目标FCFSFCFS先进入就绪进程队列的进程先调度先进入就绪进程队列的进程先调度公平性公平性SPFSPF(shortest Process First)(shortest Process First)最短进程优先调
20、度。最短进程优先调度。照顾短运行时间的进程任务照顾短运行时间的进程任务HPFHPF(Highest Priority First)(Highest Priority First)算法,最高优先级调度。算法,最高优先级调度。特权任务优先,保障紧急任务特权任务优先,保障紧急任务执行的及时性执行的及时性HRFHRF(Highest Response First) (Highest Response First) 算法,最高算法,最高响应比优先调度。响应比优先调度。在多用户系统中,使多用户的在多用户系统中,使多用户的终端响应性最好终端响应性最好RRRR(Round Robin) (Round Robi
21、n) 算法,轮转调度。算法,轮转调度。使系统的平均周转时间最短使系统的平均周转时间最短MLPMLP(Multilevel Priority) (Multilevel Priority) 算法,多队列调算法,多队列调度。度。对任务进行分类管理和调度对任务进行分类管理和调度MLFMLF(Multilevel Feedback) (Multilevel Feedback) 算法,多级反馈算法,多级反馈队列调度。队列调度。兼顾长时间和短时间的进行任兼顾长时间和短时间的进行任务务SRTSRT(Shortest Remain Time) (Shortest Remain Time) 算法,最短剩算法,最短
22、剩余时间优先调度。余时间优先调度。满足实时系统的要求满足实时系统的要求3.4.2 RR算法算法 这是一种按时间片进行轮转调度的算法。但正在进行的进程用完自己的时间片后,管理程序停止它的运行,并将他转入就需对列尾部,然后重新分配CPU。在这种情况下,进程失去CPU不是自愿的,而是被剥夺的。 就绪队列3.4.2 RR算法算法1、RR算法的调度过程算法的调度过程RR算法是分时系统中采用的主要算法。该算法也可用于批处理系统或实时系统中,CPU每次运行管理程序的切换时间非常小,而且各次运行都是等长的。(下图为有四人终端的RR例子)P1P2P3P4ScScScScP1P2P3P4P1P2P3P4ScScS
23、cScP1P2P3P4ScScScScP1P2P3P4ScScScSctSc3.4.2 RR算法算法1、RR算法的调度过程算法的调度过程RR算法是分时系统中采用的主要算法。该算法也可用于批处理系统或实时系统中,CPU每次运行管理程序的切换时间非常小,而且各次运行都是等长的。(下图为有四个不同运行时间任务的RR例子)P1P2P3P4ScScScScP1P2P3P4P1P2P3P4ScScScSctScP4P4P4P3P3P1P1P1P1P1P2P1P3P4ScScScP1P4ScScP1ScP1ScScScSc3.4.2 RR算法算法2. 时间片的选取时间片的选取 在轮转调度中,时间片的大小对系
24、统的性能影响很大。对于一个有m个终端进程的系统,若时间片的长度规定为q,管理程序每次的切换时间为M ,则轮转周期Q为:Q = (q+M) m这里,这里,M通常是一个常量,当通常是一个常量,当Mq时,处理机的利用率才比较高。当时,处理机的利用率才比较高。当q选选得过于小时,调度周期将缩短,那么进程切换花费的时间在整个调度得过于小时,调度周期将缩短,那么进程切换花费的时间在整个调度周期中所占的比例将增大。这种情况下处理机的利用率不会太高。周期中所占的比例将增大。这种情况下处理机的利用率不会太高。时间片时间片q3.4.2 RR算法算法2. 时间片的选取时间片的选取 Q = (q+M) m如果时间片太
25、长,虽然如果时间片太长,虽然CPU有效利用率上去了,但响应时间会降低。有效利用率上去了,但响应时间会降低。P1P2P3P4P4P4P4P3P3P1P1P1ScP2ScScP3P3P3P4P4P4P4Sc时间片时间片qP1P1P1P1时间片时间片q时间片时间片qt3.4.2 RR算法算法2. 时间片的选取时间片的选取 时间片的确定通常有下面几个原则:时间片的确定通常有下面几个原则:(1)进程的道数较多时,进程的道数较多时,q就选得小一些;反之,可选的大一些。就选得小一些;反之,可选的大一些。(2)系统要求的响应时间比较苛刻的时候,系统要求的响应时间比较苛刻的时候,q就选得小一些;反之,可选得大就
展开阅读全文