第2章进程的描述与控制_第1页
第2章进程的描述与控制_第2页
第2章进程的描述与控制_第3页
第2章进程的描述与控制_第4页
第2章进程的描述与控制_第5页
已阅读5页,还剩45页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、 操作系统 第二章 进程的描述与控制1第二章第二章 进程的描述与控制进程的描述与控制进程通信进程通信 进程同步进程同步线程线程进程互进程互斥斥程序的执行及其特征程序的执行及其特征进程的描述进程的描述进程控制进程控制经典进程的同步问题经典进程的同步问题 操作系统 第二章 进程的描述与控制22.1 2.1 程序的执行及其特征程序的执行及其特征 让多个作业同时装入一个计算机系统的让多个作业同时装入一个计算机系统的主存储器主存储器中,中,并且同时处于运行状态,共享系统中的各种软、硬件资并且同时处于运行状态,共享系统中的各种软、硬件资源,交替占用处理机运行。这种软件设计技术称源,交替占用处理机运行。这种

2、软件设计技术称“多道多道程序设计程序设计”,这种计算机系统称,这种计算机系统称“多道程序系统多道程序系统”。 一个程序通常由若干个程序段所组成,它们必须按一个程序通常由若干个程序段所组成,它们必须按照程序规定的先后次序来执行,只有在前一个操作结束照程序规定的先后次序来执行,只有在前一个操作结束之后才能开始后继操作,这就是程序的顺序执行。之后才能开始后继操作,这就是程序的顺序执行。一、程序的顺序执行一、程序的顺序执行程序:程序:是具有特定功能的一组指令是具有特定功能的一组指令( (或一组语句或一组语句) )的集合,的集合,它指出了处理器执行它指出了处理器执行操作操作的步骤。的步骤。 操作系统 第

3、二章 进程的描述与控制3 例如,在处理一个作业时,总是先输入用户的程序和例如,在处理一个作业时,总是先输入用户的程序和数据,然后进行计算,最后将结果打印出来,它们分别由数据,然后进行计算,最后将结果打印出来,它们分别由三个相对独立的程序段(操作)三个相对独立的程序段(操作)I I1 1,C C1 1,P P1 1组成。这三个程组成。这三个程序段的执行只能是一个一个地顺序执行,以保证前一个程序段的执行只能是一个一个地顺序执行,以保证前一个程序段操作的结果可被后一个操作所利用。序段操作的结果可被后一个操作所利用。程序段的执行顺序如下。程序段的执行顺序如下。 作作 业业 1 作作 业业 2程序段顺序

4、执行的有向图程序段顺序执行的有向图(前趋图)(前趋图) 操作系统 第二章 进程的描述与控制4程序顺序执行时的特征程序顺序执行时的特征1 1)顺序性)顺序性 处理机的操作严格按照程序所规定的顺序执处理机的操作严格按照程序所规定的顺序执行,即每一操作必须在下一操作开始之前结束。行,即每一操作必须在下一操作开始之前结束。2 2)封闭性)封闭性 程序是在封闭的环境下执行的。即程序运行程序是在封闭的环境下执行的。即程序运行时独占全机资源,资源的状态时独占全机资源,资源的状态( (除初始状态外除初始状态外) )只有本程只有本程序才能改变。程序一旦开始运行,其执行结果不受外界序才能改变。程序一旦开始运行,其

5、执行结果不受外界因素的影响。因素的影响。3 3)可再现性)可再现性 只要程序执行时的环境和初始条件相同,只要程序执行时的环境和初始条件相同,当程序重复执行时,不论它是从头到尾不停顿地执行,当程序重复执行时,不论它是从头到尾不停顿地执行,还是还是“停停走走停停走走”地执行,都将获得相同的结果。地执行,都将获得相同的结果。 操作系统 第二章 进程的描述与控制5程序段并发执行的有向图程序段并发执行的有向图(前趋图)(前趋图) 下图给出了系统对一批作业进行处理时,输入操作、下图给出了系统对一批作业进行处理时,输入操作、计算操作和打印操作各程序段执行的先后次序。计算操作和打印操作各程序段执行的先后次序。

6、 二、程序的并发执行二、程序的并发执行并发并发 操作系统 第二章 进程的描述与控制6程序的并发执行:程序的并发执行:若干程序段同时在系统中运行,这些若干程序段同时在系统中运行,这些程序程序段的执行在时间上是重叠的段的执行在时间上是重叠的,即:,即:一个程序段的执行还没结一个程序段的执行还没结束,另一个程序段的执行已经开始束,另一个程序段的执行已经开始。可以用语句记号表示:可以用语句记号表示: cobegin cobegin S S1 1;S;S2 2;.S;.Sn n coend coend从图上中可以看出从图上中可以看出: : 有的程序段的执行是有先后次序的。有的程序段的执行是有先后次序的。

7、 有的程序段的执行是可以重叠的。有的程序段的执行是可以重叠的。 操作系统 第二章 进程的描述与控制7程序并发执行时的特征程序并发执行时的特征1. 1. 失去了程序的封闭性和可再现性失去了程序的封闭性和可再现性例如:例如:某交通路口设置了一个自动计数系统,该系统由观某交通路口设置了一个自动计数系统,该系统由观察者和报告者共同组成。察者和报告者共同组成。观察到一辆卡车观察到一辆卡车将计数值累加将计数值累加1 1 将 计 数 值 清将 计 数 值 清“0”0”输出计数值输出计数值 交通路口自动计数系统交通路口自动计数系统 操作系统 第二章 进程的描述与控制8integer Ninteger N; N

8、:=0N:=0; cobegincobegin Procedure Procedure 观察者观察者 beginbegin L1 L1:观察到一辆卡车;:观察到一辆卡车; N=:N+1N=:N+1; goto L1;goto L1; end end Procedure Procedure 报告者报告者 beginbegin L2 L2:print Nprint N; N:=0N:=0; goto L2;goto L2; end end coend coend 由于观察者和报告者程序可以并由于观察者和报告者程序可以并发执行,它们并发执行时可能有如下发执行,它们并发执行时可能有如下两种情况:两种情

9、况:1)1)报告者执行时无卡车通过。报告者执行时无卡车通过。2)2)报告者执行时有卡车通过。报告者执行时有卡车通过。 设某时刻设某时刻N N的当前值为的当前值为m m,可能,可能出现的情况和结果:出现的情况和结果:情况:情况: (1 1)a a (1 1)b b (2 2)之前通过之前通过 之后通过之后通过 之中通过之中通过结果:结果: m+1 m mm+1 m m当前的当前的N N值:值: 0 1 00 1 0 操作系统 第二章 进程的描述与控制92.2. 程序与它的执行过程不再一一对应程序与它的执行过程不再一一对应3.3. 并发程序之间的相互制约性并发程序之间的相互制约性间断性间断性 当具

10、有有一定的逻辑关系的各程序(或程序段)之间当具有有一定的逻辑关系的各程序(或程序段)之间需要需要相互合作来完成同一任务相互合作来完成同一任务时,它们之间具有时,它们之间具有直接的相直接的相互制约关系互制约关系。 并发程序(或程序段)之间由于并发程序(或程序段)之间由于共享资源共享资源而竞争同一而竞争同一资源时,致使并发程序(或程序段)之间形成了资源时,致使并发程序(或程序段)之间形成了间接的相间接的相互制约关系互制约关系。 编译程序编译程序 user1.c user2.c 操作系统 第二章 进程的描述与控制10例如:例如: 由于程序活动之间的相互依赖和相互制约,这就使得程由于程序活动之间的相互

11、依赖和相互制约,这就使得程序的活动与它的运行环境密切相关,并呈现:序的活动与它的运行环境密切相关,并呈现:执行执行暂停暂停执行执行”的活动规律。的活动规律。程序段并发执行的有向图程序段并发执行的有向图(前趋图)(前趋图) 操作系统 第二章 进程的描述与控制11一、进程的定义和特征一、进程的定义和特征 在多道程序工作的环境下,各个程序是并发执行的,在多道程序工作的环境下,各个程序是并发执行的,它们共享系统资源,共同决定这些资源的状态。它们共享系统资源,共同决定这些资源的状态。 在这种情况下,在这种情况下,使用程序这个传统的静态的概念已经使用程序这个传统的静态的概念已经无法描述并发活动的特性、规律

12、和变化。无法描述并发活动的特性、规律和变化。也就是说,用程也就是说,用程序作为描述序作为描述并发活动并发活动的执行过程以及管理共享资源的的执行过程以及管理共享资源的基本基本单位单位是不合适的。为此,人们引入了新的概念是不合适的。为此,人们引入了新的概念进程进程,以便从变化的角度,动态地分析、研究并发程序的活动。以便从变化的角度,动态地分析、研究并发程序的活动。 进程是操作系统中的一个最基本、最重要的概念,但进程是操作系统中的一个最基本、最重要的概念,但是迄今为止,对这一概念还没有形成一个非常确切的、统是迄今为止,对这一概念还没有形成一个非常确切的、统一的定义,通常是从不同的角度描述它的各个基本

13、特征。一的定义,通常是从不同的角度描述它的各个基本特征。 2.2 2.2 进程的描述进程的描述 操作系统 第二章 进程的描述与控制12从不同角度定义的进程:从不同角度定义的进程:(1)(1) 进程是程序的一次执行,亦即进程是在指定内存区域进程是程序的一次执行,亦即进程是在指定内存区域中的一组指令序列的执行过程。中的一组指令序列的执行过程。(2)(2) 进程是可以和别的计算并发执行的计算。进程是可以和别的计算并发执行的计算。(3)(3) 进程可定义为一个数据结构和能在其上进行操作的进程可定义为一个数据结构和能在其上进行操作的一个程序。一个程序。(4)(4) 进程是程序在一个数据集合上运行的过程,

14、它是系进程是程序在一个数据集合上运行的过程,它是系统进行资源分配和调度的一个独立单位。统进行资源分配和调度的一个独立单位。 1. 1. 进程的定义:进程的定义:进程是一个程序对某个数据集在处理机上的执行过程,进程是一个程序对某个数据集在处理机上的执行过程,是系统进行资源分配和处理机调度的基本单位。是系统进行资源分配和处理机调度的基本单位。 操作系统 第二章 进程的描述与控制13进程与程序的区别:进程与程序的区别:1)1)进程是一次运行的过程,属于一种动态的概念;进程是一次运行的过程,属于一种动态的概念;而程序是而程序是指令的集合,是一个静态的概念。指令的集合,是一个静态的概念。5)5)一个进程

15、可以包含几个程序一个进程可以包含几个程序 ;一个程序也可以对应多个一个程序也可以对应多个进程。进程。当当同一程序同一程序同时运行于若干个同时运行于若干个不同的数据集合不同的数据集合上时,上时,它将属于若干个它将属于若干个不同的进程不同的进程。3)3)进程是有生命期的;进程是有生命期的;而程序是永久的。而程序是永久的。2)2)进程可以并发执行;进程可以并发执行;而程序不能。而程序不能。4)4)进程是系统资源分配的基本单位,进程是系统资源分配的基本单位,而程序则不行。而程序则不行。 编译程序编译程序 user1.c user2.c 操作系统 第二章 进程的描述与控制142. 2. 进程的特征:进程

16、的特征:1 1)动态性。)动态性。进程具有一定的生命期,是动态地产生、变进程具有一定的生命期,是动态地产生、变化和消亡的。动态性是进程最本质的特征。化和消亡的。动态性是进程最本质的特征。2 2)并发性。)并发性。进程之间的活动在时间上可以重叠。进程之间的活动在时间上可以重叠。引入进程的目的引入进程的目的正是为了使其程序能和其它程序并发执行,正是为了使其程序能和其它程序并发执行,以提高系统资源利用率。以提高系统资源利用率。3 3)独立性。)独立性。进程是一个能独立运行的基本单位同时也进程是一个能独立运行的基本单位同时也是系统分配资源和调度的是系统分配资源和调度的独立单位独立单位。4 4)异步性。

17、)异步性。由于进程间的相互制约,使进程具有执行的由于进程间的相互制约,使进程具有执行的间断性。即进程按各自独立的、不可预知的速度向前推进。间断性。即进程按各自独立的、不可预知的速度向前推进。 操作系统 第二章 进程的描述与控制15PCB1共共享享 程程 序序 数数 据据 1PCB2 数数据据 2(c). .进程实体的组成进程实体的组成一个进程通常由三部分组成:程序段、相关的数据段和进程一个进程通常由三部分组成:程序段、相关的数据段和进程控制块(控制块(PCBPCB)。)。进程控制块(进程控制块(PCBPCB)是进程的一个运行情况的登记表。系统是进程的一个运行情况的登记表。系统利用利用PCBPC

18、B来描述进程的基本情况和活动过程,进而控制和管来描述进程的基本情况和活动过程,进而控制和管理进程。理进程。 程程 序序 数数 据据PCB(a)PCB 程程 序序 数数 据据(b) 操作系统 第二章 进程的描述与控制16进程的基本状态进程的基本状态 在操作系统中,进程至少要有三种基本状态:运行在操作系统中,进程至少要有三种基本状态:运行状态,就绪状态和等待状态。状态,就绪状态和等待状态。二二、进程的状态及其转换进程的状态及其转换) ) 运行状态。运行状态。当一个进程已获得必要的资源,并占有当一个进程已获得必要的资源,并占有中央处理机执行时进程所处的状态。中央处理机执行时进程所处的状态。 在单处理

19、机系统中,任一时刻,处于运行状态的进在单处理机系统中,任一时刻,处于运行状态的进程只能有一个。程只能有一个。 操作系统 第二章 进程的描述与控制173) 3) 等待状态等待状态( (阻塞状态,封锁状态,睡眠状态阻塞状态,封锁状态,睡眠状态) )。正在执正在执行的进程,由于发生某事件(如等待输入行的进程,由于发生某事件(如等待输入/ /输出完成)而输出完成)而暂时无法执行下去时,便放弃处理机,此时进程所处的暂时无法执行下去时,便放弃处理机,此时进程所处的状态。状态。引起进程等待的事件有:引起进程等待的事件有:请求请求I/OI/O、申请缓冲区、等待、申请缓冲区、等待信件(信号)等等。处于等待状态的

20、进程本身不具备运信件(信号)等等。处于等待状态的进程本身不具备运行条件,即使分配给它处理机也不能运行。行条件,即使分配给它处理机也不能运行。) ) 就绪状态。就绪状态。进程等待分配处理机时所处的状态。进程等待分配处理机时所处的状态。 进程已获得了除中央处理机以外的所有资源,具备进程已获得了除中央处理机以外的所有资源,具备了运行条件,只因处理机被其它进程占用而不能执行,了运行条件,只因处理机被其它进程占用而不能执行,一旦获得处理机,便可立即执行。一旦获得处理机,便可立即执行。 操作系统 第二章 进程的描述与控制18. .进程基本状态的转换及其转换的原因进程基本状态的转换及其转换的原因1 1)就绪

21、)就绪-运行:运行:对就绪状态的进程,当对就绪状态的进程,当进程调度程进程调度程序序按一种选定的策略从中按一种选定的策略从中选中一个就绪进程选中一个就绪进程,为之,为之分分配了处理机配了处理机后,该进程便由就绪状态变为执行状态;后,该进程便由就绪状态变为执行状态;进程调度进程调度运行运行就绪就绪等待等待 进程的基本状态及其转换进程的基本状态及其转换 操作系统 第二章 进程的描述与控制192 2)运行)运行-等待:等待:正在执行的进程正在执行的进程因发生某等待事件因发生某等待事件而无法而无法执行,则进程由执行状态变为等待状态,如:进程提出输入执行,则进程由执行状态变为等待状态,如:进程提出输入/

22、 /输出请求而变成等待外部设备传输信息的状态,进程申请资输出请求而变成等待外部设备传输信息的状态,进程申请资源(主存空间或外部设备)得不到满足时变成等待资源状态,源(主存空间或外部设备)得不到满足时变成等待资源状态,进程运行中出现了故障(程序出错或主存储器读写错等)变进程运行中出现了故障(程序出错或主存储器读写错等)变成等待干预状态等等;成等待干预状态等等; 等待某事件发生等待某事件发生而阻塞而阻塞运行运行就绪就绪等待等待进程调度进程调度 进程的基本状态及其转换进程的基本状态及其转换 操作系统 第二章 进程的描述与控制203 3)等待)等待-就绪就绪:处于等待状态的进程,在其:处于等待状态的进

23、程,在其等待的事件已等待的事件已经完成经完成,如输入,如输入/ /输出完成,资源得到满足或错误处理完毕时,输出完成,资源得到满足或错误处理完毕时,处于等待状态的进程并不马上转入执行状态,而是先转入就处于等待状态的进程并不马上转入执行状态,而是先转入就绪状态,然后再由系统进程调度程序在适当的时候将该进程绪状态,然后再由系统进程调度程序在适当的时候将该进程转为执行状态;转为执行状态; 所等待的事件发生所等待的事件发生而唤醒而唤醒运行运行就绪就绪等待等待进程调度进程调度等待某事件发生等待某事件发生而阻塞而阻塞 进程的基本状态及其转换进程的基本状态及其转换 操作系统 第二章 进程的描述与控制214 4

24、)执行)执行-就绪:就绪:正在执行的进程,因正在执行的进程,因时间片用完时间片用完而被暂停而被暂停执行,或在执行,或在采用抢先式优先级调度算法的系统采用抢先式优先级调度算法的系统中中, ,当当有更高优有更高优先级的进程要运行先级的进程要运行而被迫让出处理机时,该进程便由执行状而被迫让出处理机时,该进程便由执行状态转变为就绪状态。态转变为就绪状态。时间片到时间片到运行运行就绪就绪等待等待进程调度进程调度等待某事件发生等待某事件发生所等待的事件发生所等待的事件发生而阻塞而阻塞而唤醒而唤醒 进程的基本状态及其转换进程的基本状态及其转换任务开始任务开始任务结束任务结束 操作系统 第二章 进程的描述与控

25、制22进程状态的扩展及其转换进程状态的扩展及其转换1) 1) 创建状态创建状态正在创建过程中的进程,创建过程尚未完成,进程正在创建过程中的进程,创建过程尚未完成,进程还不能被调度运行,于是把此时进程所处的状态称为创还不能被调度运行,于是把此时进程所处的状态称为创建状态。建状态。2) 2) 终止状态终止状态进程由于各种原因终止运行,等待操作系统进行善进程由于各种原因终止运行,等待操作系统进行善后处理时所处的状态。后处理时所处的状态。 进入终止态的进程以后不能再执行,但在操作系统进入终止态的进程以后不能再执行,但在操作系统中依然保留一个记录。中依然保留一个记录。 操作系统 第二章 进程的描述与控制

26、23时间片到时间片到运行运行就绪就绪等待等待进程调度进程调度等待某事件发生等待某事件发生而阻塞而阻塞所等待的事件发生所等待的事件发生而唤醒而唤醒 进程状态的扩展及其转换进程状态的扩展及其转换创建创建终止终止许可许可终止终止 操作系统 第二章 进程的描述与控制243) 3) 挂起操作和激活操作的引入挂起操作和激活操作的引入引入挂起操作的原因,是基于系统和用户的如下需要:引入挂起操作的原因,是基于系统和用户的如下需要:(1) (1) 终端用户的需要。终端用户的需要。(2) (2) 父进程请求。父进程请求。 (3) (3) 负荷调节的需要。负荷调节的需要。 (4) (4) 操作系统的需要。操作系统的

27、需要。 进程将可能发生以下几种状态的转换:进程将可能发生以下几种状态的转换:(1) (1) 活动就绪活动就绪静止就绪。静止就绪。(2) (2) 活动阻塞活动阻塞静止阻塞。静止阻塞。(3) (3) 静止就绪静止就绪活动就绪。活动就绪。(4) (4) 静止阻塞静止阻塞活动阻塞。活动阻塞。 操作系统 第二章 进程的描述与控制25时间片到时间片到运行运行就绪就绪等待等待进程调度进程调度等待某事件发生等待某事件发生而阻塞而阻塞所等待的事件发生所等待的事件发生而唤醒而唤醒 进程状态的扩展及其转换进程状态的扩展及其转换 外存外存 内存内存就绪就绪等待等待所等待的事件发生所等待的事件发生而唤醒而唤醒换出换出换

28、出换出换进换进换进换进创建创建终止终止许可许可挂起挂起许可许可终止终止 操作系统 第二章 进程的描述与控制26三、进程管理中的数据结构三、进程管理中的数据结构1. 1. 操作系统中用于管理控制的数据结构操作系统中用于管理控制的数据结构 在计算机系统中,对于每个资源和每个进程都设在计算机系统中,对于每个资源和每个进程都设置了一个数据结构,用于表征其实体,我们称之为资置了一个数据结构,用于表征其实体,我们称之为资源信息表或进程信息表,其中包含了资源或进程的标源信息表或进程信息表,其中包含了资源或进程的标识、描述、状态等信息以及一批指针。识、描述、状态等信息以及一批指针。OSOS管理的这些数据结构一

29、般分为以下四类:管理的这些数据结构一般分为以下四类:内存表、设备表、文件表和用于进程管理的进程表,内存表、设备表、文件表和用于进程管理的进程表,通常进程表又被称为进程控制块通常进程表又被称为进程控制块PCBPCB。 操作系统 第二章 进程的描述与控制27操作系统控制表的一般结构操作系统控制表的一般结构n图2-9 操作系统控制表的一般结构 操作系统 第二章 进程的描述与控制28 进程是动态的,为了记录进程的情况以及控制进程进程是动态的,为了记录进程的情况以及控制进程的运行,系统为每一个进程设置了一个数据结构的运行,系统为每一个进程设置了一个数据结构进进程控制块程控制块(PCB)(PCB)。 系统

30、根据系统根据PCBPCB而感知进程的存在,通过而感知进程的存在,通过PCBPCB对进程进对进程进行管理,行管理,PCBPCB是进程存在的惟一标志是进程存在的惟一标志。 当系统创建一个进程时,必须为它设置一个当系统创建一个进程时,必须为它设置一个PCBPCB,在进程的生命期内,系统利用在进程的生命期内,系统利用PCBPCB对进程实施控制管理,对进程实施控制管理,进程运行结束后,系统要收回它的进程运行结束后,系统要收回它的PCBPCB,进程也随之消,进程也随之消亡。亡。2.2.进程控制块进程控制块(PCB)(PCB)及其作用:及其作用: 操作系统 第二章 进程的描述与控制293 3进程控制块(进程

31、控制块(PCBPCB)的内容)的内容: :1)1)描述信息(进程标识符)描述信息(进程标识符) 进程标识(内、外部)符进程标识(内、外部)符, ,用户名用户名, ,家族关系家族关系2)2)调度控制信息(进程调度信息)调度控制信息(进程调度信息) 进程当前状态进程当前状态, ,进程优先级进程优先级, , 各种计时信息各种计时信息, , 阻塞的阻塞的原因原因3)3)资源管理信息(进程控制信息)资源管理信息(进程控制信息) 程序起始地址程序起始地址, ,通信信息,占用内存大小通信信息,占用内存大小, ,占用外设占用外设情况情况, ,指向文件系统的指针指向文件系统的指针4) CPU4) CPU现场保护

32、区(处理机状态)现场保护区(处理机状态) 处理机的上、下文处理机的上、下文 操作系统 第二章 进程的描述与控制304.4.进程控制块的组织方式:进程控制块的组织方式:为了能对为了能对PCBPCB加以有效的管理,系统用适当的方式将这些加以有效的管理,系统用适当的方式将这些PCBPCB组织起来。目前常用的组织方式有以下三种。组织起来。目前常用的组织方式有以下三种。PCBPCB线性表示意图线性表示意图 (1 1)线性表方式)线性表方式将系统中所有的将系统中所有的PCBPCB都组织在一都组织在一张线性表中,将该表的首地址张线性表中,将该表的首地址存放在内存的一个专用区域中。存放在内存的一个专用区域中。

33、该方式实现简单、开销小,但该方式实现简单、开销小,但每次查找时都需要扫描整张表,每次查找时都需要扫描整张表,因此适合进程数目不多的系统。因此适合进程数目不多的系统。 操作系统 第二章 进程的描述与控制31即把具有相同状态进程的即把具有相同状态进程的PCBPCB分别通过分别通过PCBPCB中的链接字中的链接字链接成一个队列。这样,可以形成就绪队列、若干个链接成一个队列。这样,可以形成就绪队列、若干个阻塞队列和空白队列等。阻塞队列和空白队列等。(2 2)链表(进程队列)方式)链表(进程队列)方式 操作系统 第二章 进程的描述与控制32(2 2)链表(进程队列)方式)链表(进程队列)方式PCB14P

34、CB2PCB3PCB4PCB5PCB6PCB7PCB8PCB93087901执 行 指 针就 绪 队 列 指 针阻 塞 队 列 指 针空 闲 队 列 指 针 PCB PCB链接队列示意图链接队列示意图 操作系统 第二章 进程的描述与控制33(3)索引表方式系统根据所有进程状态的不同,建立几张索引表,并把系统根据所有进程状态的不同,建立几张索引表,并把各索引表在内存的首地址记录在内存的一些专用单元中。各索引表在内存的首地址记录在内存的一些专用单元中。执行指针就绪索引表PCB1PCB2PCB3PCB4PCB5PCB6PCB7阻塞索引表就绪表指针阻塞表指针按索引方式组织按索引方式组织PCB 操作系统

35、 第二章 进程的描述与控制342.3 2.3 进程控制进程控制 处理机的工作状态:处理机的工作状态:(1) (1) 系统态(核心态、管态)系统态(核心态、管态)(2) (2) 用户态(目态)用户态(目态)一一、操作系统内核操作系统内核 进程控制的职责是对系统中的全部进程实施有效的进程控制的职责是对系统中的全部进程实施有效的管理,包括:进程的管理,包括:进程的创建创建、撤销撤销,以及,以及阻塞阻塞、唤醒唤醒、挂挂起起、激活激活时进程转汰的转换,它是处理机管理的一部分。时进程转汰的转换,它是处理机管理的一部分。进程控制一般由内核中的进程控制一般由内核中的原语原语来实现。来实现。 操作系统 第二章

36、进程的描述与控制351. 1. 支撑功能支撑功能(1) (1) 中断处理。中断处理。(2) (2) 时钟管理。时钟管理。(3) (3) 原语操作。原语操作。2. 2. 资源管理功能资源管理功能(1) (1) 进程(处理机)管理。进程(处理机)管理。(2) (2) 存储器管理。存储器管理。(3) (3) 设备管理。设备管理。 一一、操作系统内核操作系统内核 操作系统 第二章 进程的描述与控制36原语:原语:是机器指令的延伸,是由若干条机器指令构成的,是机器指令的延伸,是由若干条机器指令构成的,用以用以完成操作系统特定功能的程序段完成操作系统特定功能的程序段。为保证原语操作。为保证原语操作的正确性

37、,的正确性,原语在执行期间是不可分割原语在执行期间是不可分割( (被中断被中断) )的。的。进程控制原语:进程控制原语:进程创建原语,进程撤消原语,进程阻进程创建原语,进程撤消原语,进程阻塞原语,进程唤醒原语塞原语,进程唤醒原语, ,进程挂起原语进程挂起原语, ,进程激活原语。进程激活原语。二、进程创建二、进程创建 一个进程可以通过创建原语来产生一个新进程。创建一个进程可以通过创建原语来产生一个新进程。创建进程称为进程称为父进程父进程,被创建的进程称为,被创建的进程称为子进程子进程,子进程还可,子进程还可以通过创建原语创建自己的子进程,这样就形成一个进程以通过创建原语创建自己的子进程,这样就形

38、成一个进程家族树。家族树。 操作系统 第二章 进程的描述与控制37进程树进程树 子进程可以继承父进程所拥有的资源,子进程可以继承父进程所拥有的资源,例如,继承父例如,继承父进程打开的文件、父进程所分配到的缓冲区等。当子进程进程打开的文件、父进程所分配到的缓冲区等。当子进程被撤消时,应将从父进程那里获得的资源归还给父进程。被撤消时,应将从父进程那里获得的资源归还给父进程。此外,在撤消父进程时,也必须同时撤消其所有的子进程。此外,在撤消父进程时,也必须同时撤消其所有的子进程。 操作系统 第二章 进程的描述与控制38创建原语的形式为:创建原语的形式为:Create (name, Create (na

39、me, Priority, start_addr)创建原语的主要功能:创建原语的主要功能:创建一个指定标识符的进程。创建一个指定标识符的进程。过程:过程:1 1)申请一个空白的进程控制块)申请一个空白的进程控制块PCBPCB表,并向其中填入进程标表,并向其中填入进程标识符、进程优先级、进程起始地址等有关参数;识符、进程优先级、进程起始地址等有关参数;2 2)置该进程为)置该进程为“就绪就绪”状态,其它资源从父进程那里继承;状态,其它资源从父进程那里继承;3 3)将该)将该PCBPCB插入就绪队列和进程家族队列。插入就绪队列和进程家族队列。 进程优先级进程优先级 操作系统 第二章 进程的描述与控

40、制39 查查PCBPCB总链总链 有同名?有同名? 申请一个空的申请一个空的PCBPCB结构结构 有空有空PCBPCB? 取空取空PCBPCB(i i) 将入口参数填入将入口参数填入PCBPCB(i i)相应项)相应项 将将PCBPCB(i i)入就绪队列和)入就绪队列和PCBPCB总链总链 出错出错 返回返回 出错出错 入口入口有有无无无无有有 操作系统 第二章 进程的描述与控制40三、进程撤销三、进程撤销 进程完成任务后应予以撤销,以便及时释放它所占用进程完成任务后应予以撤销,以便及时释放它所占用的各种资源和的各种资源和PCBPCB结构本身。结构本身。 撤销原语的主要功能:撤销原语的主要功

41、能:收回被撤销进程占用的所有资源,收回被撤销进程占用的所有资源,并撤销它的并撤销它的PCBPCB。进程的撤销过程:进程的撤销过程:1 1)从)从PCBPCB集合中检索被撤销进程的集合中检索被撤销进程的PCBPCB,读出该进程的状态;,读出该进程的状态;2 2)若被撤销的进程正在执行,应立即终止该进程的执行,)若被撤销的进程正在执行,应立即终止该进程的执行,并设置调度标志为真以指示该进程被撤销后系统应重新并设置调度标志为真以指示该进程被撤销后系统应重新调度;调度;3 3)若该进程还有子进程,则还应将其所有子进程撤销;)若该进程还有子进程,则还应将其所有子进程撤销;4 4)将该进程所拥有的全部资源

42、,或者归还给其父进程,)将该进程所拥有的全部资源,或者归还给其父进程,或者归还给系统;或者归还给系统; 操作系统 第二章 进程的描述与控制41 入口入口查查PCBPCB总链或进程家族总链或进程家族有此有此PCBPCB?该该PCBPCB有子进程?有子进程? 释放该进程所占有的资源释放该进程所占有的资源 释放该进程的释放该进程的PCBPCB结构结构 出错出错 返回返回无无有有无无有有5)5)将被撤消进程的将被撤消进程的PCBPCB从所从所在队列中清除,放回到空白在队列中清除,放回到空白PCBPCB队列中。队列中。撤消原语的形式为:撤消原语的形式为:destroy (namedestroy (nam

43、e) 操作系统 第二章 进程的描述与控制42四、进程阻塞四、进程阻塞( (等待等待) )阻塞原语的作用:阻塞原语的作用:将进程由执行状态转换为等待状态。将进程由执行状态转换为等待状态。 处于运行状态的进程,在其运行过程中期待某一事件发处于运行状态的进程,在其运行过程中期待某一事件发生,如等待键盘输入;等待磁盘的数据传输完成,或等待其生,如等待键盘输入;等待磁盘的数据传输完成,或等待其它进程发送一个信息等,当被等待的事件还没有发生时,该它进程发送一个信息等,当被等待的事件还没有发生时,该进程调用等待原语将自己挂起。一旦被挂起,它只能由另一进程调用等待原语将自己挂起。一旦被挂起,它只能由另一个进程

44、唤醒。个进程唤醒。阻塞原语的过程:阻塞原语的过程:1 1)中断处理机的执行,并保存该进程的)中断处理机的执行,并保存该进程的CPUCPU现场信息;现场信息;2 2)将被阻塞进程的状态设置为)将被阻塞进程的状态设置为“等待等待”状态,把该进程的状态,把该进程的PCBPCB插入到相应的等待队列中去;插入到相应的等待队列中去;3 3)转进程调度程序从就绪队列中选择一个新的进程投入运行。)转进程调度程序从就绪队列中选择一个新的进程投入运行。 操作系统 第二章 进程的描述与控制43 保存需等待进程的保存需等待进程的CPUCPU现场现场 设置该进程的状态为设置该进程的状态为“等待等待” 需等待进程的需等待

45、进程的PCBPCB入等待队列入等待队列 转进程调度程序转进程调度程序 入口入口阻塞原语的形式为:阻塞原语的形式为:block( )block( ) 操作系统 第二章 进程的描述与控制44五、进程唤醒五、进程唤醒当被等待进程所期待的事件,如当被等待进程所期待的事件,如I IO O操作完成,其所期待操作完成,其所期待的数据已经到达时,则由有关进程的数据已经到达时,则由有关进程( (比如,用完并释放了比如,用完并释放了该该I IO O设备的进程设备的进程) )调用唤醒原语,将等待该事件的进程调用唤醒原语,将等待该事件的进程唤醒。唤醒。唤醒原语的作用:唤醒原语的作用:将进程由等待状态转换为就绪状态。将进程由等待状态转换为就绪状态。唤醒原语的形式为:唤醒原语的形式为:wakeup(name)wakeup(name)唤醒原语执行的操作:唤醒原语执行的操作:1 1)在等待队列中找到相应进程的)在等待队列中找到相应进程的PCBPCB,将其从等待队列中,将其从等待队列中摘下;摘下;2 2)设置其状态为就绪状态,把该进程的)设置其状态为就绪状态,把该进程的PCBPCB插入就绪队列;插入就绪队列;3

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论