操作系统课件os02进程控制.ppt

上传人:牧羊曲112 文档编号:5981165 上传时间:2023-09-10 格式:PPT 页数:42 大小:275.50KB
返回 下载 相关 举报
操作系统课件os02进程控制.ppt_第1页
第1页 / 共42页
操作系统课件os02进程控制.ppt_第2页
第2页 / 共42页
操作系统课件os02进程控制.ppt_第3页
第3页 / 共42页
操作系统课件os02进程控制.ppt_第4页
第4页 / 共42页
操作系统课件os02进程控制.ppt_第5页
第5页 / 共42页
点击查看更多>>
资源描述

《操作系统课件os02进程控制.ppt》由会员分享,可在线阅读,更多相关《操作系统课件os02进程控制.ppt(42页珍藏版)》请在三一办公上搜索。

1、操作系统Operating Systems,第二章 进程管理,第二章进程管理,2.1进程的基本概念 2.2进程控制 2.3进程同步 2.4经典进程的同步问题 2.5 进程通信 2.6线程,2.1 进程的基本概念,2.1.1 程序的顺序执行及其特征 S1:a:=x+y;S2:b:=a-5;S3:c:=b+1;顺序性-顺序执行;封闭性-程序运行时独占全机资源,不受外界影响;可再现性-程序重复执行时将得到相同结果;,S1,S2,S3,2.1.3 程序的并发执行及其特征,对于具有下述四条语句的程序段:S1:a:=x+2 S2:b:=y+4 S3:c:=a+b S4:d:=c+b,S1,S3,S4,a,

2、c,S2,b,d,程序的并发执行时的特征,间断性-并发执行导致间断性;失去封闭性-多个程序共享资源,受外界影响;不可再现性-程序重复执行时可能到不同结果;,缓存区BUF,P1,P2,案例,例如:某交通路口设置了一个自动计数系统,该系统由观察者和报告者共同组成。观察者 报告者,交通路口自动计数系统,7,Procedure 观察者 begin 观察到一辆卡车;N=N+1;end,Procedure 报告者 begin print N;N=0;end,假设某时刻N的值为m,可能出现下面情况:print的N值 N的最终取值(1)m+1 0(2)m 1(3)m 0,观察者;报告者,报告者;观察者,报告者

3、Print N;观察者N=N+1;报告者N=0,操作系统为什么要引入进程概念?,刻画系统的动态性,发挥系统的并发性,提高资源利用率。程序是并发执行的,即不是连续而是走走停停的。程序的并发执行引起资源共享和竞争问题,执行的程序不再处在封闭环境中。“程序”自身只是计算任务的指令和数据的描述,是静态概念无法刻画程序的并发特性,系统需要寻找一个能描述程序动态执行过程的概念,进程的特征,结构特征 动态性 并发性 独立性异步性,进程的特征,结构特征为使程序(含数据)能独立运行,应为之配置一进程控制块(PCB,Process Control Block);由程序段、相关的数据段和PCB三部分便构成了进程实体

4、。PCB常驻内存,程序段,数据段,PCB,动态特征的集中反映,描述要完成的功能,操作对象及工作区,进程的特征,动态性进程的最基本的特征。程序只是一组有序指令的集合,并存放于某种介质上,其本身并不具有运动的含义,因而是静态的。进程实体有一定的生命期:“它由创建而产生,由调度而执行,由撤消而消亡”作业调度与进程调度,进程的特征,并发性并发性是进程的重要特征,也成为OS的重要特征。引入进程的目的:正是为了使其进程实体能和其它进程实体并发执行;独立性在传统的OS中,独立性是指进程实体是一个能独立运行、独立分配资源和独立接受调度的基本单位。异步性进程按各自独立的、不可预知的速度向前推进,或说进程实体按异

5、步方式运行。,进程的定义,较典型的进程定义有:(1)进程是程序的一次执行。(2)进程是一个程序及其数据在处理机上顺序执行时所发生的活动。(3)进程是程序在一个数据集合上运行的过程,它是系统进行资源分配和调度的一个独立单位。我们可以把传统OS中的进程定义为:“进程是进程实体的运行过程,是系统进行资源分配和调度的一个独立单位”,进程的三种基本状态,就绪(Ready)状态进程已分配到除CPU以外的所有必要资源。就绪队列执行状态进程已获得CPU,其程序正在执行。在单处理机系统中,只有一个进程处于执行状态;在多处理机系统中,则有多个进程处于执行状态。阻塞状态正在执行的进程由于发生某事件而暂时无法继续执行

6、时,便放弃处理机而处于暂停状态。引起阻塞的事件,进程三个基本状态及其转换,执行,就绪,阻塞,进程调度,时间片完,I/O请求,I/O完成,挂起状态,引入挂起状态的原因 终端用户的请求。(2)父进程请求。(3)负荷调节的需要。为了让某些进程暂时不参与进程调度,对换到外存中,释放它占有的资源(4)操作系统的需要。挂起状态(静止状态)非挂起状态(活动状态),具有挂起状态的进程状态图,创建状态和终止状态,创建状态为一个新进程创建PCB,并填写必要的管理信息;该进程所必需的资源或其它信息尚未分配终止状态当一个进程到达了自然结束点,或是出现了无法克服的错误,或是被操作系统所终结,或是被其他有终止权的进程所终

7、结,它将进入终止状态。终止态的进程不能再执行。一旦其它进程完成了对终止状态进程的信息提取之后,操作系统将删除该进程。,进程的五种基本状态及转换,执行,就绪,阻塞,进程调度,时间片完,I/O请求,I/O完成,创建,终止,许可,结束,具有创建、终止和挂起状态的进程状态图,创建,许可,许可,终止,结束,进程控制块,进程控制块PCB(Process Control Block)系统为每个进程定义的一个数据结构PCB中记录了操作系统所需的、用于描述进程的当前情况以及控制进程运行的全部信息。PCB是进程存在的惟一标志。最重要的记录型数据结构。PCB应常驻内存专门开辟的PCB区内,进程控制块中的信息,进程标

8、识符处理机状态进程调度信息进程控制信息,1 进程控制块进程标识符,内部标识符一个惟一的数字标识符,它通常是一个进程的序号。外部标识符它由创建者提供,通常是由字母、数字组成,往往是由用户(进程)在访问该进程时使用。为了描述进程的家族关系,还应设置父进程标识及子进程标识。设置用户标识,以指示拥有该进程的用户。,2 进程控制块处理机状态,处理机状态信息主要是由处理机的各种寄存器中的内容组成的这些寄存器包括:通用寄存器,它们是用户程序可以访问的,用于暂存信息;指令计数器,其中存放了要访问的下一条指令的地址 程序状态字PSW,含有状态信息,如条件码、执行方式、中断屏蔽标志等;用户栈指针,指每个用户进程都

9、有一个或若干个与之相关的系统栈,用于存放过程和系统调用参数及调用地址,栈指针指向该栈的栈顶。,3 进程控制块进程调度信息,在PCB中还存放一些与进程调度和进程对换有关的信息,包括:进程状态;进程优先级,优先级高的进程应优先获得处理机;进程调度所需的其它信息,它们与所采用的进程调度算法有关,比如,进程已等待CPU的时间总和、进程已执行的时间总和等;事件,指进程由执行状态转变为阻塞状态所等待发生的事件,即阻塞原因。,4 进程控制信息,程序和数据的地址,指进程的程序和数据所在的内存或外存地(首)址 进程同步和通信机制,指实现进程同步和进程通信时必需的机制;资源清单,即一张列出了除CPU以外的、进程所

10、需的全部资源及已经分配到该进程的资源的清单;链接指针,它给出了本进程(PCB)所在队列中的下一个进程的PCB的首地址。,进程控制块的组织方式,链接方式索引方式,链接方式,PCB表,执行指针,就绪队列指针,阻塞队列1指针,阻塞队列2指针,空闲队列指针,链接方式,索引方式,执行指针,就绪表指针,阻塞表1指针,PCB表,PCB1,PCB2,PCB3,PCB4,PCB5,PCB6,PCBn,阻塞索引表1,阻塞表2指针,2.2 进程控制,进程控制是进程管理中最基本的功能。进程控制任务:进程创建、终止、进程状态的转变进程控制一般是由OS的内核中的原语来实现的。原语是由若干条指令组成的,用于完成一定功能的一

11、个过程。它与一般过程的区别在于:它们是“原子操作”。因此,在执行过程中不允许被中断。原子操作在管态下执行,常驻内存。,进程的创建进程树,引起创建进程的事件,用户登录。作业调度。提供服务。应用请求。,进程的创建,调用进程创建原语Create()按下述步骤创建一个新进程:申请空白PCB。为新进程分配资源。初始化进程控制块:初始化标识信息、初始化处理机状态信息、初始化处理机控制信息。将新进程插入就绪队列,如果进程就绪队列能够接纳新进程,便将新进程插入就绪队列。,2.2.2 进程的终止,引起进程终止的事件正常结束异常结束 越界错误。保护错。非法指令。特权指令错。运行超时。等待超时。算术运算错。I/O故

12、障。外界干预 操作员或操作系统干预。父进程请求。父进程终止。,进程的终止过程,从PCB集合中检索出该进程的PCB,读出该进程的状态。若正处于执行状态,应立即终止该进程的执行,并置调度标志为真,重新调度。若还有子孙进程,还应将其所有子孙进程予以终止。将被终止进程所拥有的全部资源,或者归还给其父进程,或者归还给系统。将被终止进程(它的PCB)从所在队列(或链表)中移出,等待其他程序来搜集信息。,2.2.3 进程的阻塞与唤醒,引起进程阻塞和唤醒的事件 请求系统服务 启动某种操作 新数据尚未到达无新工作可做,进程阻塞过程,进程通过调用阻塞原语block把自己阻塞:该进程还处于执行状态,应先立即停止执行

13、,把进程控制块中的现行状态由“执行”改为阻塞,并将PCB插入阻塞队列。应将本进程插入到具有相同事件的阻塞(等待)队列。重新调度,并进行切换。保留被阻塞进程的处理机状态(在PCB中)再按新进程的PCB中的处理机状态设置CPU的环境,进程唤醒过程,有关进程调用唤醒原语wakeup(),将等待该事件的进程唤醒:把被阻塞的进程从等待该事件的阻塞队列中移出将其PCB中的现行状态由阻塞改为就绪将该PCB插入到就绪队列中。,进程的唤醒,block原语和wakeup原语是一对作用刚好相反的原语。如果在某进程中调用了阻塞原语,则必须在与之相合作的另一进程中或其他相关的进程中安排唤醒原语.,进程A,进程B,等待事

14、件1,调用阻塞原语阻塞自己,事件1发生,调用唤醒原语唤醒被阻塞进程,2.2.4 进程的挂起与激活,挂起原语suspend()将指定进程或处于阻塞状态的进程挂起。挂起原语的执行过程是:检查被挂起进程的状态若处于活动就绪状态,便将其改为静止就绪;对于活动阻塞状态的进程,则将之改为静止阻塞。把该进程的PCB复制到某指定的内存区域。若被挂起的进程正在执行,则转向调度程序重新调度。,进程的激活过程,系统将利用激活原语active()将指定进程激活。将进程从外存调入内存检查该进程的现行状态,若是静止就绪,便将之改为活动就绪;若为静止阻塞便将之改为活动阻塞。假如采用的是抢占调度策略,则每当有新进程进入就绪队列时,应检查是否要进行重新调度,即由调度程序将被激活进程与当前进程进行优先级的比较,如果被激活进程的优先级更低,就不必重新调度;否则,立即剥夺当前进程的运行,把处理机分配给刚被激活的进程。,作业,P81,82,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号