收藏 分销(赏)

进程控制块.pptx

上传人:精*** 文档编号:8401279 上传时间:2025-02-11 格式:PPTX 页数:25 大小:180.70KB 下载积分:10 金币
下载 相关
进程控制块.pptx_第1页
第1页 / 共25页
进程控制块.pptx_第2页
第2页 / 共25页


点击查看更多>>
资源描述
,单击此处编辑母版标题样式,#,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,3.3.2进程控制块中的信息,进程控制块中主要包括四个方面用于描述和控制进程运行的信息。,1.进程标识符信息,进程标识符用于唯一的标识一个进程。一个进程通常有以下两种标识符。,外部标识符,。由创建者提供,通常是由字母、数字组成,往往是用户(进程)访问该进程使用。外部标识符便于记忆,如:计算进程、打印进程、发送进程、接收进程等。,内部标识符,:为了方便系统使用而设置的。在所有的,OS,中,都为每一个进程赋予一个唯一的整数,作为内部标识符。它通常就是一个进程的符号,为了描述进程的家族关系,还应该设置父进程标识符以及子进程标识符。还可以设置用户标识符,来指示该进程由哪个用户拥有。,2、处理机状态信息,处理机状态信息主要是由处理机各种寄存器中的内容所组成。,通用寄存器,。又称为用户可视寄存器,可被用户程,序访问,用于暂存信息。,指令寄存器,。存放要访问的下一条指令的地址。,程序状态字,PSW,。,其中含有状态信息。(条件码、,执行方式、中断屏蔽标志等),用户栈指针,。每个用户进程有一个或若干个与之相,关的系统栈,用于存放过程和系统调,用参数及调用地址。栈指针指向该栈,的栈顶。,3.,进程调度信息,在,PCB,中还存放了一些与进程调度和进程对换有关的信息。,(1)进程状态。指明进程当前的状态,作为进程调度和对换时的依据。,(2)进程优先级。用于描述进程使用处理机的优先级别的一个整数,优先级高的进程优先获得处理机。,(3)进程调度所需要的其他信息。(进程已等待,CPU,的时间总和、进程已执行的时间总和),(4)事件。这是进程由执行状态转变为阻塞状态所等待发生的事件。(阻塞原因),3.2.3,PCB,的组织方式,常用的组织方式有两种:链接方式、索引方式。,1、,链接方式:,具有相同状态的,PCB,,用其中的链接字,链接成一个队列。这样就可以形成就绪队列、若干个阻塞队列和空白队列等。对其中的就绪队列常按照进程优先权的大小排列,把优先权告的进程的,PCB,排在队列前面。,执行指针,就绪队列指针,阻塞队列指针,空闲队列指针,PCB1,PCB2,PCB3,PCB4,PCB5,PCB6,PCB7,PCB8,PCB9,4,3,0,8,7,9,0,1,1、索引方式:,系统根据所有进程的状态,建立几张索引表。例如:就绪索引表、阻塞索引表的国内。并把各索引表在内存的首地址记录在内存中的一些专用单元中。每个索引表的表目中,记录具有相同状态的某个,PCB,在,PCB,表中的地址。,执行指针,就绪表指针,阻塞表指针,就绪索引表,阻塞索引表,PCB3,PCB4,PCB5,PCB7,PCB6,PCB2,PCB1,按索引方式组织,PCB,3.3.4进程上下文,进程上下文:,是进程执行活动全过程的静态描述。包括计算机系统中与执行该进程有关的各种寄存器的值、程序段在经过编译之后形成的机器指令代码集、数据集及各种堆栈值和,PCB,结构。可按一定的执行层次组合,如用户级上下文、系统级上下文等。,3,3,5,进程空间,任何一个进程,都有自己的地址空间,把该空间称为进程空间或虚空间。,进程空间的大小只与处理机的位数有关。程序的执行都在进程空间内进行。用户程序、进程的各种控制表格都按一定的结构排列在进程空间里。,在,Unix,和,Linux,系统中,进程空间还被划分为用户空间和系统空间两大部分,在进程空间被划分为两大部分后,用户程序在用户空间内执行,操作系统内核程序在进程的系统空间内执行。,了防止用户程序访问系统空间,造成访问出错,计算机系统还通过程序状态寄存器设置不同的执行模式,用户模式和系统模式来进行保护,即用户态和系统态。,3.4 进程控制,为了防止操作系统及关键数据受到破坏,通常将处理机的状态分为,系统态和用户态,。,OS,内核通常是运行在系统态的,进程控制是由,OS,内核实现的。,3.4.1操作系统内核,OS,内核,:,通常将一些与硬件紧密相关的模块(中断处理程序),各种常用设备的驱动程序,以及运行频率较高的模块(时钟管理、进程调度)都安排在紧靠硬件的软件层次中,使它们常驻内存,以便提高,OS,的运行效率,并对它们加以特殊的保护。我们把这一部分称为,OS,内核,。,3.4.2,OS,内核的功能,一 支撑功能,:中断处理、时钟管理、原语操作,1.,中断处理,:中断处理是内核最基本的功能。操作系统的重要活动最终都将依赖于中断(系统调用、键盘命令的输入、进程调度)。通常内核只对中断进行,“,有限的处理,”,然后便转交给有关进程继续处理。,2,.时钟管理,:,OS,中的许多活动都需要时钟管理,例如:在时间片轮转调度中,每当时间片用完时,由时钟管理产生一个中断信号,促使调度程序重新调度。,3.,原语操作,:,原语:系统状态下执行的某些具有特定功能的,程序段,称为原语。,机器指令级的 执行其间不允许中断,功能级的 作为原语的程序段不允许并发执行,(原语也是由若干条指令构成的,用于完成一定功能的过程),原子操作:一个操作中的动作要么全做,要么全不做。,二 资源管理功能,1 进程管理:进程管理的全部或大部分功能都放在内核中。主要因为这些模块的运行频率较高。,2 存储器管理:存储器管理软件的运行频率也较高,通常也将它放在内核中。(内存分配与回收模块、内存保护与对换功能的模块),3 设备管理:各类驱动程序,缓冲管理等也都是存放在内存中的。,在操作系统中,通常把进程控制用程序段做成原语。用于进程控制的原语有:创建原语、撤销原语、阻塞原语、唤醒原语等。,3.4.3进程的创建,一 进程图,进程图是用来描述进程家族关系的有向树。,A,B,C,D,M,E,I,J,H,G,F,L,K,子进程可以继承父进程的所有资源,当子进程被撤消时,应将从父进程,那里获得的资源归还给父进程。,撤消父进程时也必须同时撤消其所有的子进程。,二 引起创建进程的事件,1 用户登录:在分时系统中,用户在终端键入登录命令后,若,是合法用户,系统建立一个进程,并插入就绪队列。,2 作业调度:批处理系统中,作业调度程序调度到某个作业以,后,就把这个作业装入内存,并分配必要的资源,,创建进程,插入就绪队列。,3 提供服务:运行中的用户向系统提出请求后,系统专门建立一,个进程为用户服务。(打印请求),由操作系统核心(系统程序模块)创建,4 应用请求:应用进程的需要,由它自己创建一个新进程,使新,进程以并发运行方式完成特定任务。(输入数据并,将处理结果输出到表格上),由父进程创建,三 进程的创建过程(,creat),1,申请空白的,PCB,为新进程分配唯一的数字标识符,并从,PCB,集合中索取一个空白的,PCB,2,为新建立的进程分配资源,为新进程的程序和数据,以及用户栈分配必要的内存空间。,3,初始化程序控制块,初始化标识符信息,。将系统中分配的标识符、父进程标识符填入新,PCB,中。初始化处理机状态信息。是程序计数器指向程序的入口地址,栈指针指向栈顶。,初始化处理机控制信息,。将进程的状态设置为就绪状态或静止就绪状态。,4,将新进程插入就绪队列,入口,查,PCB,链表,有空,PCB?,PCB(I),入进程家族或进程链,PCB(I),入就绪队列,将有关参数填入,PCB(I),相应项,取空表,PCB(I),返回,创建失败,无,创建原语流程图,有,3.4.4 进程的终止(撤销进程),一 引起进程终止的事件,1,正常结束,:计算机系统中,都有一个表示进程已经运行完成的指示。(批处理,,Holt。,分时系统中,,Logs Off),2,异常结束,越界错误、保护错、特权指令错、非法指令错、运行超时、等待超时,算术运算错、,I/O,故障,3,外界干预,操作员或操作系统干预,父进程请求,父进程终止,二 进程终止过程,1 根据被终止进程的标识符,从,PCB,集合中检索出该进程的,PCB,,从中读出该进程的状态,2 若被终止进程处于执行态,应立即终止该进程的执行,并设置调度标志为真(用于指示该进程被终止时应重新调度),然后再选择一个进程,分配处理机给它。,3 如果该进程还有子孙进程,还应将它的所有子孙进程进行终止,以防它们称为不可控的。,4 将该进程所拥有的全部资源,或者归还给它的父进程,或者归还给系统。,5 将被终止进程(,PCB),从所在队列(链表)中移出,等待其它程序来搜索信息。,入口,返回,查进程链表或进程家族,有此,PCB,吗?,该,PCB,有子进程吗?,释放该进程所占有的资源,释放该,PCB,结构本身,出错处理,有,无,有,3.4.5 进程的阻塞与唤醒,一、引起进程阻塞和唤醒的事件,1,请求系统服务,正在执行的程序请求操作系统服务,但是由于某种原因操作系统没有立即满足该进程的要求,该进程只能转变为阻塞状态来等待。,2,启动某操作,当进程启动某种操作后,如果该进程必须在该操作完成之后才能继续执行,所有必须先使进程阻塞。,3 新数据尚未到达,4,无新工作可做,系统往往设置一些具有某特定功能的系统进程,每当这种进程完成任务以后便把自己阻塞起来等待新任务的到来。(发送进程),二 进程阻塞过程,当有阻塞事件发生时,进程便调用阻塞原语,block,把自己阻塞。进入,block,后,应先立即停止执行,把进程控制块中的执行状态改为阻塞状态,并把它插入阻塞队列。,三 进程唤醒过程,当阻塞进程所期待的事件出现时。则调用唤醒原语,wakeup(),,将等待事件的进程唤醒。,唤醒原语执行的过程是,:首先把被阻塞进程从等待该事件的阻塞队列中移出,将其,PCB,中的阻塞状态改为就绪状态,然后把该进程插入到就绪队列中。,Block,和,wakeup,是一对作用刚好相反的原语。,入口,入口,保存当前进程的,CPU,现场,从等待队列中摘下被唤醒进程,置该进程的状态,被阻塞进程入等待队列,转进程调度,将被唤醒进程置为就绪状态,将被唤醒进程送入就绪队列,转进程调度返回,阻塞原语,唤醒原语,3.4.6 进程的挂起和激活,当出现了引起进程挂起的事件时,用户请求将自己挂起,或者父进程请求挂起自己的子进程,应该利用挂起原语,suspend(),挂起原语的执行过程,:检查被挂起进程的状态;如果处于活动就绪状态,就将它改为静止就绪;如果处于活动阻塞,则改为静止阻塞。,进程的激活过程,当发生激活事件后,系统利用激活原语,Active(),将指定进程激活。激活原语先将进程从外存调入内存,然后检查进程的状态。,静止就绪 活动就绪,静止阻塞 活动阻塞,1.为使进程由活动就绪转变为静止就绪,应利用_,_,_原语;为使进程由执行状态变为阻塞状态,应利用_,_原语;为使进程由静止就绪变为活动就绪,应利用,_,_原语;从阻塞状态变为就绪状态应利用_,_,原语。,-:,A.create B.suspend C.active D.block E.wakeup,
展开阅读全文

开通  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 

客服