收藏 分销(赏)

第2章挂起和进程控制.ppt

上传人:丰**** 文档编号:10298577 上传时间:2025-05-19 格式:PPT 页数:40 大小:2.48MB 下载积分:12 金币
下载 相关 举报
第2章挂起和进程控制.ppt_第1页
第1页 / 共40页
第2章挂起和进程控制.ppt_第2页
第2页 / 共40页


点击查看更多>>
资源描述
单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,第二章 进程的描述与控制,单击此处编辑母版标题样式,*,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,操作系统 第二章 进程管理,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,第二章 进 程 管 理,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,第二章 进 程 管 理,复习,进程是什么?进程实体组成?,进程的特征?与程序的区别。,进程的状态及转换,进程特征:,动态性、并发性、独立性、异步性,进程实体(进程影像)组成:,程序、数据、进程控制块(,PCB,)。,PCB,是系统感知进程存在的,唯一标识,。,PCB,包含进程的描述信息、控制信息、资源信息等。,3,进程与程序的区别:,1),进程是一次运行的过程,属于一种动态的概念;,而程序是指令的集合,是一个静态的概念。,5),一个程序可以对应多个进程。,当,同一程序,同时运行于若干个,不同的数据集合,上时,它将属于若干个,不同的进程,。,3),进程是有生命期的;,而程序是永久的。,2),进程可以并发执行;,而程序不能。,4),进程是系统资源分配的独立单位,,而程序则不行。,编译程序,user1.c,user2.c,进程状态及转换,就绪,执行,等待,阻塞,调度,1.,时间片到,2.,高优先级,等待某事件而睡眠,因等待事件发生而唤醒,创建,终止,结束,CPU,就 绪 队 列,阻 塞 队 列,1,时间片完、高优先级,进程,调度,事件,1,出现,完成,阻 塞 队 列,2,事件,2,出现,阻 塞 队 列,3,事件,n,出现,.,等待事件,1,等待事件,2,等待事件,n,创建,进程,PCB,能换出到外存?,换出到外存的进程现在是什么状态?,将内存中暂时不能运行的进程,或暂时不用的数据和程序,,换出到外存,,以腾出足够的内存空间,把已具备运行条件的进程,或进程所需要的数据和程序,,换入内存,。,交换技术,挂起(,Suspend,)操作:,把一个进程从,内存,转到,外存,;,可能有以下几种情况:,阻塞,(,活动阻塞,),阻塞挂起,(,静止阻塞,),就绪,(,活动就绪,),就绪挂起,(,静止就绪,),执行,就绪挂起,(,静止就绪,),阻塞,对应,唤醒,,,挂起,对应,激活,挂起与阻塞,阻塞与否:,是否等待事件,挂起与否:,是否被换出内存,4,种状态组合:,就绪:,进程在内存,准备执行,阻塞:,进程在内存,等待事件,就绪挂起:,进程在外存,需调入内存,准备执行,阻塞挂起:,进程在外存,等待事件,2.2.3,挂起操作和进程状态的转换,1.,挂起操作的引入,引入挂起操作的原因,是基于系统和用户的如下需要:,(1),终端用户的需要。,(2),父进程请求。,(3),负荷调节的需要。,为运行进程,提供足够内存,:资源紧张时,暂停某些进程,如:,CPU,繁忙(或实时任务执行),内存紧张,(4),操作系统的需要。,(5),进程全部阻塞,处理机空闲。,激活(,Activate,):,把一个进程从,外存转到内存,;,可能有以下几种情况:,就绪挂起,就绪:,没有就绪进程,或,挂起就绪进程优先级高,于就绪进程时,会进行这种转换;,阻塞挂起,阻塞:,当一个进程,释放足够内存,时,系统会把一个高优先级阻塞挂起(系统认为会很快出现所等待的事件)进程激活;,活动就绪状态,(Readya),:,进程在,内存,,准备进入运行状态;,活动阻塞状态,(Blockeda),:,进程在,内存,并等待某事件的出现;,静止阻塞状态(,Blockeds,):,进程在,外存,并等待某事件的出现;,静止就绪状态(,Readys,):,进程在,外存,,但只要进入内存,即可准备运行;,2.,引入挂起原语操作后三个进程状态的转换,在引入挂起原语,Suspend,和激活原语,Active,后,在它们的作用下,进程将可能发生以下几种状态的转换:,(1),活动就绪静止就绪。,一般,,OS,挂起阻塞进程,但有时也会挂起就绪进程,释放足够的内存空间。,(2),活动阻塞静止阻塞。,OS,通常将阻塞进程换出,腾出内存空间。,(3),静止就绪活动就绪。,OS,需要调入内存执行。,(4),静止阻塞静止就绪。,期待的事件出现。,15,时间片到,执行,就绪,阻塞,进程调度,等待某事件发生,而阻塞,所等待的事件发生,而唤醒,进程状态的扩展及其转换,外存,内存,静止,就绪,静止,阻塞,所等待的事件发生,而唤醒,换出,换出,换进,换进,创建,终止,许可,挂起,许可,终止,3.,引入挂起操作进程状态的转换,3.,引入挂起操作进程状态的转换,(1),活动阻塞,静止阻塞;,(2),静止阻塞,活动阻塞;,(3),活动就绪静止就绪;,(4),静止就绪,活动就绪;,(5),静止阻塞静止就绪,(6),创建静止就绪:如果内存空间不足。,(7),执行静止就绪:,(8),活动阻塞执行:,对,抢先式,分时系统,当有,高优先级,阻塞挂起进程因事件出现而进入就绪挂起时,系统可能会把运行进程转到就绪挂起状态,2.2.4,进程管理中的数据结构,1.,操作系统中用于管理控制的数据结构,OS,是将各类,资源抽象,为各种,数据结构,。,对于每个资源和每个进程都设置了一个数据结构,用于表征其实体,我们称之为,资源信息表,或,进程信息表,,其中包含了,资源或进程的标识、描述、状态,等信息以及,一批指针,。,通过这些指针,可以将同类资源或进程的信息表,或者同一进程所占用的资源信息表分类链接成不同的队列,便于操作系统进行查找。,OS,管理的这些数据结构一般分为以下四类:,内存表,、,设备表,、,文件表,和用于进程管理的,进程表,,通常进程表又被称为,进程控制块,PCB,。,2.,进程控制块,PCB,的作用,(1),作为,独立运行基本单位,的,标志,。,唯一标志,(2),能,实现间断性,运行方式。,CPU,现场保护和恢复,(3),提供,进程管理所需要的信息,。,内外存起始地址、资源清单,(4),提供,进程调度所需要的信息,。,状态、优先级、执行等待时间,(5),实现与其它进程的,同步与通信,。,3.,进程控制块中的信息,在进程控制块中,主要包括:,1),进程标识符,(1),外部标识符。,(2),内部标识符。,2),处理机状态,处理机状态信息,也称为,处理机的上下文,,主要是由处理机的各种寄存器中的内容组成的。,通用寄存器、指令计数器、程序状态字、用户栈指针,3),进程调度信息,进程状态,,,进程优先级,,进程调度所需的其它信息,它们与所,采用的,进程调度算法有关,,比如,进程已等待,CPU,的时间总和、进程已执行的,时间,总和等;,事件,,是指进程由执行状态转变为阻塞状态所等待发生的事件,即阻塞原因。,4),进程控制信息,是指用于进程控制所必须的信息,它包括:,程序和数据的地址,;,进程同步和通信机制,;,资源清单,;,链接指针,4.,进程控制块的组织方式,PCB,组织方式有以下三种。,(1),线性方式,,即将系统中,所有的,PCB,都组织在一张线性表中,将该,表的首址存放在内存的一个专用区域,中。该方式实现简单、开销小,但每次查找时都需要扫描整张表,因此适合进程数目不多的系统。,(2),链接方式,,即把具有,相同状态进程,的,PCB,分别通过,PCB,中的链接字链接成一个队列。这样,可以形成,就绪队列,、,若干个阻塞队列,和空白队列等。,(3),索引方式,,即系统根据所有进程状态的不同,建立几张索引表,例如,就绪索引表、阻塞索引表等,并把各索引表在内存的首地址记录在内存的一些专用单元中。在每个索引表的表目中,记录具有相应状态的某个,PCB,在,PCB,表中的地址。,2.3,进程控制,与,硬件紧密,相关的模块(中断处理程序),常用设备的,驱动程序,(键盘、显示器),运行频率高,的模块(时钟管理、进程调度等),关键性的数据结构,(如进程控制块,PCB,),2.3.1 OS,内核,2.3,进程控制,处理机两种执行状态,:,系统态,和,用户态,。,两种执行模式,系统态:,核心态,(Kernel State),管态,。具有较高的特权,能执行一切命令,访问所有寄存器和存储区。,OS,内核运行在核心态,进程控制是由,OS,内核实现的。,用户态,(User State),:目态。,具有较低的特权,只能执行规定的指令,访问指定的寄存器和存储区。运行用户程序。,OS,内核两大,方面功能,进程管理,存储器管理,设备管理,资源管理,中断处理,原语 时钟,操作 管理,支撑,硬件,如系统调用、键盘命令输入、进程调度、设备驱动、文件操作等。,时间片轮转调度、截止时间控制、最长时间控制等,原语:由若干条指令构成、用于完成一定功能的一个过程。,原子操作:一个操作中的所有动作要么不做、要么全部完成。,进程的调度、分派、创建、撤消等。,内存分配与回收、内存保护与对换、虚拟内存管理等。,设备驱动程序:缓和,CPU,与,I/O,不匹配的矛盾,实现设备分配和设备的独立性等。,O S,内核,2.3.2,进程的创建,当,子进程创建,时,子进程,继承,父进程所拥有的资源;,当,子进程撤消,时将从父进程那里继承的资源,归还,给父进程。,撤消父进程时,,也必须同时,撤销其所有子进程,A,B,C,D,E,F,G,H,I,J,父进程,(Parent Process),子进程,(Progeny Process),祖先,(Ancestor),Unix,构成进程家族,,Windows,不存在进程的层次结构,进程创建过程,创建进程请求,OS,调用创建进程原语,Creat(),申请,PCB,、,分配进程,ID,为进程分配资源,初始化,PCB,将进程放进,Ready,队列,产生新进程事件:,用户登录:,当合法用户登录时,作业调度:,批处理系统,把一个作业调度执行时。,提供服务:,当系统收到服务请求时。,应用请求,:当应用本身需要并发进程时。,为新进程分配一个唯一的进程,ID,并申请一个空白的,PCB,。,为进程的程序代码、数据用户栈分配内存空间。,(,1,)将系统分配的进程,ID,、父进程,ID,写入,PCB,。,(,2,)将程序计数器指向程序的入口地址、栈指针指向栈顶。,(,3,)设置进程状态、优先级等。,将进程拥有的资源归还给,父进程或,OS,2.3.3,进程的终止,引发进程的,终止事件,OS,调用进程终止原语,Destroy(),从,PCB,集中检索出,该进程的,PCB,读出进程的状态,在,Running,状态:终止执,行、设置调度状态为真。,有子进程:终止所有的子,孙进程。,把对应的,PCB,设成空,三大类:,1,、正常结束;,2,、异常结束:,(,1,)越界错误;(,2,)保护错;,(,3,)特权指令;(,4,)非法指令;(,5,)运行超时;(,6,)等待超时;(,7,)算术溢出;(,8,),I/O,故障;,3,、外界干扰:,(,1,),OS/,操作员终止;,(,2,)父进程请求;,(,3,)父进程终止。,把,PCB,插入到,Blocked,队列,2.3.4,进程阻塞与唤醒,进程出现某事件,无法继续执行,调用,Block(),原语,停止进程的执行,状态,Running Blocked,保存,CPU,现场,转调度程序,进行新的调度,1,、向系统请求共享资源失败,2,、等待某种操作完成,3,、新数据尚未达到,4,、等待新任务的到达,进程阻塞,进程唤醒,所期待的事件出现,调用唤醒原语,Wakeup(),从阻塞队列移出,在,PCB,中把,BlockedReady,把进程插入到,就绪队列,如,I/O,完成、期望的数据到达、有新的任务要执行等等。,注意:,Block,原语,和,wakeup,原语,是一对,作用刚好相反,的过程,必须,成对出现,。,2.3.5,进程的挂起与激活,挂起,出现挂起事件,调用挂起原语,suspend(),正在执行,?,置成静止就绪,活动堵塞,?,置成静止堵塞,活动就绪,?,置成静止就绪,转调度程序,把进程驻留到外存,进程的激活,发生激活事件,检查内存空间,调用激活原语,Active(),把进程从外存调,入到内存,检查进程状态,静止就绪,?,置成活动就绪,静止堵塞,?,置成活动堵塞,
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传

当前位置:首页 > 包罗万象 > 大杂烩

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2026 宁波自信网络信息技术有限公司  版权所有

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服