操作系统:第2章进程管理1

上传人:壹****1 文档编号:569529686 上传时间:2024-07-30 格式:PPT 页数:69 大小:756KB
返回 下载 相关 举报
操作系统:第2章进程管理1_第1页
第1页 / 共69页
操作系统:第2章进程管理1_第2页
第2页 / 共69页
操作系统:第2章进程管理1_第3页
第3页 / 共69页
操作系统:第2章进程管理1_第4页
第4页 / 共69页
操作系统:第2章进程管理1_第5页
第5页 / 共69页
点击查看更多>>
资源描述

《操作系统:第2章进程管理1》由会员分享,可在线阅读,更多相关《操作系统:第2章进程管理1(69页珍藏版)》请在金锄头文库上搜索。

1、第二章进 程 管 理 作业(其中1、2、3题下周一上课交上来):1、阐述操作系统的主要功能。2.什么是多道程序技术?在操作系统中引入该技术带来哪些好处?3、画出进程状态转化图( 教材图教材图2-8)4、继续完成计算机操作系统学习指导与题解书中的第一章的“典型问题分析与解答”中的例题和1.4节的习题部分(选择和填空)5、完成计算机操作系统学习指导与题解书中的第二章的“典型问题分析与解答”中的例题和2.4节的习题部分(选择和填空)第二章进 程 管 理 第二章进 程 管 理 2.1进程的基本概念进程的基本概念 2.2进程控制进程控制 2.3进程同步进程同步 2.4经典进程的同步问题经典进程的同步问题

2、 2.5 进程通信进程通信 2.6线程线程 第二章进 程 管 理 2.1进程的基本概念进程的基本概念 2.1.1程序的顺序执行及其特征程序的顺序执行及其特征1. 程序的顺序执行程序的顺序执行通常可以把一个应用程序分成若干个程序段,在未配置通常可以把一个应用程序分成若干个程序段,在未配置操作系统时,在各程序段之间,必须按照某种先后次序顺序操作系统时,在各程序段之间,必须按照某种先后次序顺序执行,仅当前一操作执行,仅当前一操作(程序段程序段)执行完后,才能执行后继操作。执行完后,才能执行后继操作。例如,在进行计算时,总须先输入用户的程序和数据,然后例如,在进行计算时,总须先输入用户的程序和数据,然

3、后进行计算,最后才能打印计算结果。进行计算,最后才能打印计算结果。第二章进 程 管 理 S1:a:=x+y;S2:b:=a-5;S3:c:=b+1;图图 2-1程序的顺序执行程序的顺序执行第二章进 程 管 理 2. 程序顺序执行时的特征程序顺序执行时的特征(1) (1) 顺顺序序性性:处处理理机机的的操操作作严严格格按按照照程程序序所所规规定定的的顺顺序序执行,即每一操作必须在上一个操作结束之后开始。执行,即每一操作必须在上一个操作结束之后开始。(2) (2) 封封闭闭性性:程程序序是是在在封封闭闭的的环环境境下下执执行行的的,即即程程序序运运行行时时独独占占全全机机资资源源,资资源源的的状状

4、态态( (除除初初始始状状态态外外) )只只有有本本程程序序才才能能改改变变它它。程程序序一一旦旦开开始始执执行行,其其执执行行结结果果不不受受外外界界因因素素影响。影响。(3) (3) 可可再再现现性性:只只要要程程序序执执行行时时的的环环境境和和初初始始条条件件相相同同,当当程程序序重重复复执执行行时时,不不论论它它是是从从头头到到尾尾不不停停顿顿地地执执行行,还还是是“停停走走停停走走”地执行,都将获得相同的结果。地执行,都将获得相同的结果。程序顺序执行时的特性,为程序员检测和校正程序的错程序顺序执行时的特性,为程序员检测和校正程序的错误带来了很大的方便。误带来了很大的方便。第二章进 程

5、 管 理 2.1.3程序的并发执行及其特征程序的并发执行及其特征2 2程序并发执行程序并发执行l并并发发程程序序:是是指指两两道道或或两两道道以以上上程程序序同同时时装装入入内内存存中中运运行行,这这些些程程序序的的执执行行在在时时间间上上互互相相有有重重叠叠,即即在在一一个个程程序序执执行行结结束之前,另一个程序已经开始执行。束之前,另一个程序已经开始执行。l特征:特征: 1)间断性间断性 2) 失去封闭性失去封闭性 3) 不可再现性不可再现性第二章进 程 管 理 2 2程序并发执行时的特征程序并发执行时的特征1) 1) 间断性间断性程序在并发执行时,由于它们共享系统资源,以及为完程序在并发

6、执行时,由于它们共享系统资源,以及为完成同一项任务而相互合作,致使在这些并发执行的程序之间,成同一项任务而相互合作,致使在这些并发执行的程序之间,形成了相互制约的关系。形成了相互制约的关系。相互制约将导致并发程序具有相互制约将导致并发程序具有“执行执行暂停暂停执行执行”这种间这种间断性的活动规律。断性的活动规律。第二章进 程 管 理 2) 2) 失去封闭性失去封闭性程序在并发执行时,是多个程序共享系统中的各种资源,程序在并发执行时,是多个程序共享系统中的各种资源,因而这些资源的状态将由多个程序来改变,致使程序的运行因而这些资源的状态将由多个程序来改变,致使程序的运行失去了封闭性。这样,某程序在

7、执行时,必然会受到其它程失去了封闭性。这样,某程序在执行时,必然会受到其它程序的影响。即序的影响。即造成几个程序因竞争同一资源而相互制约:获得资源者便能继续运行,未获得资源的只能等待。由于这种制约关系,各个程序在系统中所处的状态将不断改变,时而在CPU上运行,时而因等待某事件的发生而无法运行。例如,当处理机这一资源已被某个程序占有时,另一程序必例如,当处理机这一资源已被某个程序占有时,另一程序必须等待。须等待。第二章进 程 管 理 3) 3) 不可再现性不可再现性程序在并发执行时,由于失去了封闭性,也将导致其再程序在并发执行时,由于失去了封闭性,也将导致其再失去可再现性。例如,有两个循环程序失

8、去可再现性。例如,有两个循环程序A和和B,它们共享一个,它们共享一个变量变量N。程序。程序A每执行一次时,都要做每执行一次时,都要做N:=N+1操作;程序操作;程序B每每执行一次时,都要执行执行一次时,都要执行Print(N)操作,然后再将操作,然后再将N置成置成“0”。程序程序A和和B以不同的速度运行。这样,可能出现下述三种情况以不同的速度运行。这样,可能出现下述三种情况(假定某时刻变量假定某时刻变量N的值为的值为n)。第二章进 程 管 理 (1) N:=N+1(1) N:=N+1在在Print(N)Print(N)和和N:=0N:=0之前,此时得到的之前,此时得到的N N值分值分别为别为n

9、+1n+1,n+1n+1,0 0。(2) N:=N+1(2) N:=N+1在在Print(N)Print(N)和和N:=0N:=0之后,此时得到的之后,此时得到的N N值分值分别为别为n n,0 0,1 1。(3) N:=N+1(3) N:=N+1在在Print(N)Print(N)和和N:=0N:=0之间,此时得到的之间,此时得到的N N值分值分别为别为n n,n+1n+1,0 0。上述情况说明,程序在并发执行时,由于失去了封闭性,上述情况说明,程序在并发执行时,由于失去了封闭性,其计算结果已与并发程序的执行速度有关,从而使程序的执其计算结果已与并发程序的执行速度有关,从而使程序的执行失去了

10、可再现性,亦即,程序经过多次执行后,虽然它们行失去了可再现性,亦即,程序经过多次执行后,虽然它们执行时的环境和初始条件相同,但得到的结果却各不相同。执行时的环境和初始条件相同,但得到的结果却各不相同。第二章进 程 管 理 while(1) while(counter=0) ; /*等待等待*/ nextconsumed=bufferout; out=(out+1)% BUFFER_SIZE; counter-;while(1) while(counter=BUFFER_SIZE) ; /*等待等待*/ bufferin=nextproduced; in=(in+1)% BUFFER_SIZE;

11、 counter+;BUFFER_SIZE =100counter=6 /*缓冲区中已有产品的个数缓冲区中已有产品的个数*/生产者程序代码生产者程序代码消费者程序代码消费者程序代码两个程序段并发执两个程序段并发执行,每个程序各执行,每个程序各执行一次,行一次,countercounter的值是多少?的值是多少?第二章进 程 管 理 因为两个程序对同一公共变量counter进行了加1和减1操作,理论上两个程序各执行一次后,counter的值应该是6才对。但实际上其值可能是5、6 或7。“counter=counter+1”虽然是一行语句,但是转成机器码后需要3个指令才能完成: register=

12、counter;register=register+1;counter=register;同理“counter=counter-1” 转成机器码后需要如下的3个指令才能完成: register=counter;register=register-1;counter=register;第二章进 程 管 理 在并发执行的情况下,因为这6个机器码交错执行的缘故,在不同的执行顺序下就会产生不同的结果,下面是一种执行顺序: 执行程序执行程序 执行指令执行指令 执行结果执行结果 消费者消费者 register1=counter; register1=6 消费者消费者 register1= register

13、-1; register1=5 生产者生产者 register2=counter; register2=6 生产者生产者 register2= register2+1; register2=7 消费者消费者 counter= register1; counter=5 生产者生产者 counter= register2; counter=7 生产者生产者 register=counter;register=register+1;counter=register;消费者消费者 register=counter;register=register-1;counter=register;第二章进 程

14、管 理 2.1.42.1.4进程的特征与状态进程的特征与状态1. 1. 进程的特征和定义进程的特征和定义在多道程序环境下,程序的执行属于并发执行,此时它在多道程序环境下,程序的执行属于并发执行,此时它们将失去其封闭性,并具有间断性及不可再现性的特征。们将失去其封闭性,并具有间断性及不可再现性的特征。 由于程序有了并发、制约和动态变化的特点,所以原有的程序这一概念已不能深刻地描述它们的活动联系及其状态变化。 为使程序能有效地并发执行,且为了对并发执行的程序为使程序能有效地并发执行,且为了对并发执行的程序加以描述和控制,人们引入了加以描述和控制,人们引入了“进程进程”的概念。的概念。第二章进 程

15、管 理 1 1) 进程的定义进程的定义典型的进程定义有:典型的进程定义有:(1) 进程是程序的一次执行。进程是程序的一次执行。(2) 进程是一个程序及其数据在处理机上顺序执行时所进程是一个程序及其数据在处理机上顺序执行时所发生的活动。发生的活动。(3) 进程是程序在一个数据集合上运行的过程,它是系进程是程序在一个数据集合上运行的过程,它是系统进行资源分配和调度的一个独立单位。统进行资源分配和调度的一个独立单位。第二章进 程 管 理 进程与程序实体例进程与程序实体例main( )main( ) . A( )A( ) . PROGRAMPROGRAMmain( )main( ) . A( )A(

16、) . PROCESSPROCESSheapheapStackStackA MainRegisters,PCRegisters,PCPCBDATADATA第二章进 程 管 理 结构性:进程包括可执行的程序代码、程序的数据结构性:进程包括可执行的程序代码、程序的数据和堆栈、程序计数器、堆栈指针、有关寄存器、以和堆栈、程序计数器、堆栈指针、有关寄存器、以及所有运行程序所必须的其它信息。及所有运行程序所必须的其它信息。动态性:进程是程序执行的过程。动态性:进程是程序执行的过程。并发性:进程使程序能并发执行。并发性:进程使程序能并发执行。独立性:进程是独立运行的基本单位,也是系统资独立性:进程是独立运

17、行的基本单位,也是系统资源分配与调度的独立单位。源分配与调度的独立单位。异步性:进程以各自独立的、不可预知的速度向前异步性:进程以各自独立的、不可预知的速度向前推进。推进。 2) 进程特征进程特征第二章进 程 管 理 结构特征结构特征通常的程序是不能并发执行的。为使程序通常的程序是不能并发执行的。为使程序(含数据含数据)能独立能独立运行,应为之配置一进程控制块,即运行,应为之配置一进程控制块,即PCB(Process Control Block);而由程序段、相关的数据段和;而由程序段、相关的数据段和PCB三部分便构成了进三部分便构成了进程实体。所谓创建进程,实质上是创建进程实体中的程实体。所

18、谓创建进程,实质上是创建进程实体中的PCB;而撤消进程,实质上是撤消进程的而撤消进程,实质上是撤消进程的PCB。进程名进程起始地址现行状态CPU状态保护区进程专用资源信息第二章进 程 管 理 动态性动态性进程的实质是进程实体的一次执行过程,因此,动态性是进程的实质是进程实体的一次执行过程,因此,动态性是进程的最基本的特征。动态性还表现在:进程的最基本的特征。动态性还表现在:“它由创建而产生,它由创建而产生,由调度而执行,由撤消而消亡由调度而执行,由撤消而消亡”。可见,进程实体有一定的生。可见,进程实体有一定的生命期,而程序则只是一组有序指令的集合,并存放于某种介质命期,而程序则只是一组有序指令

19、的集合,并存放于某种介质上,其本身并不具有运动的含义,因而是静态的。上,其本身并不具有运动的含义,因而是静态的。 并发性并发性这是指多个进程实体同存于内存中,且能在一段时间内同这是指多个进程实体同存于内存中,且能在一段时间内同时运行。并发性是进程的重要特征,同时也成为时运行。并发性是进程的重要特征,同时也成为OS的重要特的重要特征。引入进程的目的也正是为了使其进程实体能和其它进程实征。引入进程的目的也正是为了使其进程实体能和其它进程实体并发执行;而程序体并发执行;而程序(没有建立没有建立PCB)是不能并发执行的。是不能并发执行的。第二章进 程 管 理 独立性独立性在传统的在传统的OS中,独立性

20、是指进程实体是一个能独立运行、中,独立性是指进程实体是一个能独立运行、独立分配资源和独立接受调度的基本单位。凡未建立独立分配资源和独立接受调度的基本单位。凡未建立PCB的的程序都不能作为一个独立的单位参与运行。程序都不能作为一个独立的单位参与运行。 异步性异步性这是指进程按各自独立的、这是指进程按各自独立的、 不可预知的速度向前推进,不可预知的速度向前推进,或说进程实体按异步方式运行。或说进程实体按异步方式运行。第二章进 程 管 理 2. 2. 进程的三种基本状态进程的三种基本状态l运行中的进程可能具有以下三种基本状态:运行中的进程可能具有以下三种基本状态:1) 就绪状态就绪状态( (Read

21、y) ) 2) 执行状态(执行状态(Executing) 3) 阻塞状态阻塞状态(Blocked)l 当前还有许多系统中进程具有挂起状态(当前还有许多系统中进程具有挂起状态(Suspend)第二章进 程 管 理 图图2-5 进程的三种基本状态及其转换进程的三种基本状态及其转换第二章进 程 管 理 1) 1) 就绪就绪(Ready)(Ready)状态状态当进程已分配到除当进程已分配到除CPU以外的所有必要资源后,只要以外的所有必要资源后,只要再获得再获得CPU,便可立即执行,进程这时的状态称为就绪状,便可立即执行,进程这时的状态称为就绪状态。在一个系统中处于就绪状态的进程可能有多个,通常态。在一

22、个系统中处于就绪状态的进程可能有多个,通常将它们排成一个队列,称为就绪队列。将它们排成一个队列,称为就绪队列。就绪队列首地址PCB1PCB2PCB3第二章进 程 管 理 2) 2) 执行状态执行状态进进程程已已获获得得CPUCPU,其其程程序序正正在在执执行行。在在单单处处理理机机系系统统中中,只只有有一一个个进进程程处处于于执执行行状状态态; 在在多多处处理理机机系系统统中中,则则有有多多个个进程处于执行状态。进程处于执行状态。3) 3) 阻塞状态阻塞状态正在执行的进程由于发生某事件而暂时无法继续执行时,正在执行的进程由于发生某事件而暂时无法继续执行时,便放弃处理机而处于暂停状态,把这种暂停

23、状态称为阻塞状态,便放弃处理机而处于暂停状态,把这种暂停状态称为阻塞状态,有时也称为等待状态或封锁状态。有时也称为等待状态或封锁状态。 致使进程阻塞的典型事件有:请求致使进程阻塞的典型事件有:请求I/O,申请缓冲空间等。,申请缓冲空间等。通常将这种处于阻塞状态的进程也排成一个队列。有的系统则通常将这种处于阻塞状态的进程也排成一个队列。有的系统则根据阻塞原因的不同而把处于阻塞状态的进程排成多个队列。根据阻塞原因的不同而把处于阻塞状态的进程排成多个队列。第二章进 程 管 理 3. 3. 挂起状态挂起状态图图 2-6具有挂起状态的进程状态图具有挂起状态的进程状态图第二章进 程 管 理 3. 3. 挂

24、起状态挂起状态引入挂起状态的原因:引入挂起状态的原因:(1) 终端用户的请求。当终端用户在自己的程序运行期间终端用户的请求。当终端用户在自己的程序运行期间希望暂时使自己的程序静止下来希望暂时使自己的程序静止下来, ,以便用户研究其执行情况或以便用户研究其执行情况或对程序进行修改。对程序进行修改。第二章进 程 管 理 (2) (2) 父父进进程程请请求求。有有时时父父进进程程希希望望挂挂起起自自己己的的某某个个子子进进程,以便考查和修改该子进程,或者协调各子进程间的活动。程,以便考查和修改该子进程,或者协调各子进程间的活动。(3) (3) 负负荷荷调调节节的的需需要要。当当实实时时系系统统中中的

25、的工工作作负负荷荷较较重重,已已可可能能影影响响到到对对实实时时任任务务的的控控制制时时,可可由由系系统统把把一一些些不不重重要要的进程挂起,以保证系统能正常运行。的进程挂起,以保证系统能正常运行。(4)(4) 操作系统的需要。操作系统有时希望挂起某些进程,操作系统的需要。操作系统有时希望挂起某些进程,以便检查运行中的资源使用情况或进行记账。以便检查运行中的资源使用情况或进行记账。第二章进 程 管 理 具有挂起状态的进程状态转换具有挂起状态的进程状态转换在在引引入入挂挂起起状状态态后后,又又将将增增加加从从挂挂起起状状态态( (又又称称为为静静止止状状态态) )到到非非挂挂起起状状态态( (又

26、又称称为为活活动动状状态态) )的的转转换换;或或者者相相反反。可可有有以下几种情况:以下几种情况:(1) 活动就绪活动就绪静止就绪。当进程处于未被挂起的就绪状静止就绪。当进程处于未被挂起的就绪状态时,称此为活动就绪状态,表示为态时,称此为活动就绪状态,表示为Readya。当用挂起原语。当用挂起原语Suspend将该进程挂起后,该进程便转变为静止就绪状态,表将该进程挂起后,该进程便转变为静止就绪状态,表示为示为Readys,处于处于Readys状态的进程不再被调度执行。状态的进程不再被调度执行。第二章进 程 管 理 (2) (2) 活活动动阻阻塞塞静静止止阻阻塞塞。当当进进程程处处于于未未被被

27、挂挂起起的的阻阻塞塞状状态态时时,称称它它是是处处于于活活动动阻阻塞塞状状态态,表表示示为为BlockedaBlockeda。当当用用SuspendSuspend原原语语将将它它挂挂起起后后,进进程程便便转转变变为为静静止止阻阻塞塞状状态态,表表示示为为BlockedsBlockeds。处处于于该该状状态态的的进进程程在在其其所所期期待待的的事事件件出出现现后后,将从静止阻塞变为静止就绪。将从静止阻塞变为静止就绪。(3) (3) 静静止止就就绪绪活活动动就就绪绪。处处于于ReadysReadys状状态态的的进进程程,若若用激活原语用激活原语ActiveActive激活后,该进程将转变为激活后,

28、该进程将转变为ReadyaReadya状态。状态。(4)(4) 静止阻塞静止阻塞活动阻塞。处于活动阻塞。处于Blockeds状态的进程,若状态的进程,若用激活原语用激活原语ActiveActive激活后,该进程将转变为激活后,该进程将转变为Blockeda状态。状态。 (5 5)静止阻塞)静止阻塞静止就绪。进程在静止阻塞期间,等待静止就绪。进程在静止阻塞期间,等待事件发生,而被释放。事件发生,而被释放。第二章进 程 管 理 4 4创建状态和终止状态创建状态和终止状态1) 1) 创建状态创建状态创建一个进程一般要通过两个步骤:首先,为一个新进创建一个进程一般要通过两个步骤:首先,为一个新进程创建

29、程创建PCB,并填写必要的管理信息;其次,把该进程转入,并填写必要的管理信息;其次,把该进程转入就绪状态并插入就绪队列之中。就绪状态并插入就绪队列之中。 当一个新进程被创建时,系统已为其分配了当一个新进程被创建时,系统已为其分配了PCB,填写了,填写了进程标识等信息,但由于该进程所必需的资源或其它信息,进程标识等信息,但由于该进程所必需的资源或其它信息,如主存资源尚未分配等,一般而言,此时的进程已拥有了自如主存资源尚未分配等,一般而言,此时的进程已拥有了自己的己的PCB,但进程自身还未进入主存,即创建工作尚未完成,但进程自身还未进入主存,即创建工作尚未完成,进程还不能被调度运行,其所处的状态就

30、是创建状态。进程还不能被调度运行,其所处的状态就是创建状态。第二章进 程 管 理 2) 2) 终止状态终止状态1.1.进进程程的的终终止止也也要要通通过过两两个个步步骤骤:首首先先等等待待操操作作系系统统进进行行善后处理,然后将其善后处理,然后将其PCBPCB清零,并将清零,并将PCBPCB空间返还系统。空间返还系统。2.2.当当一一个个进进程程到到达达了了自自然然结结束束点点,或或是是出出现现了了无无法法克克服服的的错错误误,或或是是被被操操作作系系统统所所终终结结,或或是是被被其其他他有有终终止止权权的的进程所终结,它将进入终止状态。进程所终结,它将进入终止状态。3.3.进进入入终终止止态

31、态的的进进程程以以后后不不能能再再执执行行,但但在在操操作作系系统统中中依依然然保保留留一一个个记记录录,其其中中保保存存状状态态码码和和一一些些计计时时统统计计数数据据,供其它进程收集。供其它进程收集。4.4.一一旦旦其其它它进进程程完完成成了了对对终终止止状状态态进进程程的的信信息息提提取取之之后后,操作系统将删除该进程。操作系统将删除该进程。第二章进 程 管 理 图图2-7 进程的五种基本状态及转换进程的五种基本状态及转换第二章进 程 管 理 图图2-8 具有创建、终止和挂起状态的进程状态图具有创建、终止和挂起状态的进程状态图第二章进 程 管 理 如如图图2-82-8所所示示,引引进进创

32、创建建和和终终止止状状态态后后,在在进进程程状状态态转转换换时时,相相比比较较图图2-72-7所所示示的的进进程程五五状状态态转转换换而而言言,需需要要增增加加考考虑虑下面的几种情况。下面的几种情况。(1)(1)创创建建活活动动就就绪绪:在在当当前前系系统统的的性性能能和和内内存存的的容容量量均均允允许许的的情情况况下下,完完成成对对进进程程创创建建的的必必要要操操作作后后,相相应应的的系系统统进进程将进程的状态转换为活动就绪状态。程将进程的状态转换为活动就绪状态。(2)(2)创创建建静静止止就就绪绪:考考虑虑到到系系统统当当前前资资源源状状况况和和性性能能要要求求,并并不不分分配配给给新新建

33、建进进程程所所需需资资源源( (主主要要是是主主存存资资源源) ),相相应应的的系系统统进进程程将将进进程程状状态态转转为为静静止止就就绪绪状状态态,对对换换到到外外存存,不不再再参参与调度。与调度。第二章进 程 管 理 2.1.5 2.1.5 进程控制块进程控制块( (PCB, Process Control Block)1 1进程控制块的作用进程控制块的作用(1 1)为了描述和控制进程的运行,系统为每个进程定义了一个)为了描述和控制进程的运行,系统为每个进程定义了一个数据结构数据结构进程控制块进程控制块PCB,它是进程实体的一部分,是,它是进程实体的一部分,是操作系统中最重要的记录型数据结

34、构。操作系统中最重要的记录型数据结构。(2)PCB中记录了操作系统所需的、用于描述进程的当前情况中记录了操作系统所需的、用于描述进程的当前情况以及控制进程运行的全部信息。以及控制进程运行的全部信息。(3 3)进程控制块的作用是使一个在多道程序环境下不能独立运)进程控制块的作用是使一个在多道程序环境下不能独立运行的程序行的程序(含数据含数据),成为一个能独立运行的基本单位,一个,成为一个能独立运行的基本单位,一个能与其它进程并发执行的进程。能与其它进程并发执行的进程。第二章进 程 管 理 (4 4)系统是根据进程的)系统是根据进程的PCB而感知到该进程的存在的而感知到该进程的存在的, ,PCB是

35、是进程存在的惟一标志。进程存在的惟一标志。(5 5)在进程的生命期中,系统总是通过)在进程的生命期中,系统总是通过PCBPCB对进程进行控制的。对进程进行控制的。 当当OS要调度某进程执行时,要从该进程的要调度某进程执行时,要从该进程的PCB中查出其现行状态及优先中查出其现行状态及优先级;级;在调度到某进程后,要根据其在调度到某进程后,要根据其PCB中所保存的处理机状态信息,设置该中所保存的处理机状态信息,设置该进程恢复运行的现场,并根据其进程恢复运行的现场,并根据其PCB中的程序和数据的内存始址,找到中的程序和数据的内存始址,找到其程序和数据;其程序和数据; 进程在执行过程中,当需要和与之合

36、作的进程实现同步、通信或访问文进程在执行过程中,当需要和与之合作的进程实现同步、通信或访问文件时,也都需要访问件时,也都需要访问PCB;当进程由于某种原因而暂停执行时,又须将其断点的处理机环境保存在当进程由于某种原因而暂停执行时,又须将其断点的处理机环境保存在PCB中。中。第二章进 程 管 理 进程的切换进程的切换第二章进 程 管 理 (6 6)当系统创建一个新进程时,就为它建立了一个)当系统创建一个新进程时,就为它建立了一个PCB;进;进程结束时又回收其程结束时又回收其PCB,进程于是也随之消亡。,进程于是也随之消亡。(7)PCB可以并且只能被操作系统中的多个模块读或修改。可以并且只能被操作

37、系统中的多个模块读或修改。如被调度程序、资源分配程序、中断处理程序以及监督和如被调度程序、资源分配程序、中断处理程序以及监督和分析程序等读或修改。分析程序等读或修改。(8)PCB应常驻内存。因为应常驻内存。因为PCB经常被系统访问,尤其是被经常被系统访问,尤其是被运行频率很高的进程及分派程序访问。运行频率很高的进程及分派程序访问。(9 9)系统将所有的)系统将所有的PCB组织成若干个链表组织成若干个链表(或队列或队列),存放在,存放在操作系统中专门开辟的操作系统中专门开辟的PCB区内。区内。第二章进 程 管 理 stackstack data datatexttextstackstackdat

38、adatatexttext进程进程1 1进程进程2 2 EIP EDI ESI ESPCPU寄存器EIPESP进程控制块第二章进 程 管 理 2 2进程控制块中的信息进程控制块中的信息1)1)进程标识信息(进程标识信息(进程标识符、用户名、程序名等)进程标识符、用户名、程序名等)进进程程标标识识符符用用于于惟惟一一地地标标识识一一个个进进程程。一一个个进进程程通通常常有有两两种标识符:种标识符:(1) (1) 内内部部标标识识符符PID。在在所所有有的的操操作作系系统统中中,都都为为每每一一个个进程赋予了一个惟一的数字标识符。进程赋予了一个惟一的数字标识符。(2)(2) 外部标识符。它由创建者

39、提供,通常是由字母、数字外部标识符。它由创建者提供,通常是由字母、数字组成,往往是由用户组成,往往是由用户(进程进程)在访问该进程时使用。为了描述进在访问该进程时使用。为了描述进程的家族关系,还应设置父进程标识及子进程标识。此外,还程的家族关系,还应设置父进程标识及子进程标识。此外,还可设置用户标识,以指示拥有该进程的用户。可设置用户标识,以指示拥有该进程的用户。第二章进 程 管 理 2) 2) 处理机状态信息处理机状态信息l由处理机的各种寄存器中的内容组成的。处理机在运行时,许由处理机的各种寄存器中的内容组成的。处理机在运行时,许多信息都放在寄存器中。当处理机被中断时,所有这些信息都多信息都

40、放在寄存器中。当处理机被中断时,所有这些信息都必须保存在必须保存在PCB中,以便在该进程重新执行时,能从断点继续中,以便在该进程重新执行时,能从断点继续执行。包括:执行。包括: 通用寄存器:又称为用户可视寄存器。它们是用户程序可以访问的,用于通用寄存器:又称为用户可视寄存器。它们是用户程序可以访问的,用于暂存信息,在大多数处理机中,有暂存信息,在大多数处理机中,有 832个通用寄存器;个通用寄存器; 指令计数器:其中存放了要访问的下一条指令的地址;指令计数器:其中存放了要访问的下一条指令的地址; 程序状态字程序状态字PSW:其中含有状态信息,如条件码、执行方式、中断屏蔽标:其中含有状态信息,如

41、条件码、执行方式、中断屏蔽标志等;志等; 用户栈指针:每个用户进程都有一个或若干个与之相关的系统栈,用于存用户栈指针:每个用户进程都有一个或若干个与之相关的系统栈,用于存放过程和系统调用参数及调用地址,栈指针指向该栈的栈顶。放过程和系统调用参数及调用地址,栈指针指向该栈的栈顶。第二章进 程 管 理 3) 3) 进程调度信息进程调度信息lPCB中需存放一些与进程调度和进程对换有关的信息,包括:中需存放一些与进程调度和进程对换有关的信息,包括: 进程状态,指明进程的当前状态,作为进程调度和对换时的依据;进程状态,指明进程的当前状态,作为进程调度和对换时的依据; 进程优先级,用于描述进程使用处理机的

42、优先级别的一个整数,优先级高进程优先级,用于描述进程使用处理机的优先级别的一个整数,优先级高的进程应优先获得处理机;的进程应优先获得处理机; 进程调度所需的其它信息,它们与所采用的进程调度算法有关,比如,进进程调度所需的其它信息,它们与所采用的进程调度算法有关,比如,进程已等待程已等待CPU的时间总和、进程已执行的时间总和等;的时间总和、进程已执行的时间总和等; 事件,指进程由执行状态转变为阻塞状态所等待发生的事件,即阻塞原因。事件,指进程由执行状态转变为阻塞状态所等待发生的事件,即阻塞原因。第二章进 程 管 理 4) 4) 进程控制信息进程控制信息l进程控制信息包括:进程控制信息包括: 程序

43、和数据的地址,指进程的程序和数据所在的内存或外存地程序和数据的地址,指进程的程序和数据所在的内存或外存地(首首)址,址,以便再调度到该进程执行时,能从以便再调度到该进程执行时,能从PCB中找到其程序和数据;中找到其程序和数据; 进程同步和通信机制,指实现进程同步和进程通信时必需的机制,如消进程同步和通信机制,指实现进程同步和进程通信时必需的机制,如消息队列指针、信号量等,它们可能全部或部分地放在息队列指针、信号量等,它们可能全部或部分地放在PCB中;中; 资源清单,即一张列出了除资源清单,即一张列出了除CPU以外的、进程所需的全部资源及已经以外的、进程所需的全部资源及已经分配到该进程的资源的清

44、单;分配到该进程的资源的清单; 链接指针,它给出了本进程链接指针,它给出了本进程(PCB)所在队列中的下一个进程的所在队列中的下一个进程的PCB的首的首地址。地址。第二章进 程 管 理 PCB表的内容例第二章进 程 管 理 3. 3. 进程控制块的组织方式进程控制块的组织方式1) 1) 链接方式链接方式把具有同一状态的把具有同一状态的PCB,用其中的链接字链接成一个队,用其中的链接字链接成一个队列。这样,可以形成就绪队列、若干个阻塞队列和空白队列列。这样,可以形成就绪队列、若干个阻塞队列和空白队列等。对其中的就绪队列常按进程优先级的高低排列,把优先等。对其中的就绪队列常按进程优先级的高低排列,

45、把优先级高的进程的级高的进程的PCB排在队列前面。排在队列前面。 此外,也可根据阻塞原因的不同而把处于阻塞状态的进此外,也可根据阻塞原因的不同而把处于阻塞状态的进程的程的PCB排成等待排成等待I/O操作完成的队列和等待分配内存的队列操作完成的队列和等待分配内存的队列等。等。第二章进 程 管 理 图 2-9PCB链接队列示意图第二章进 程 管 理 2) 2) 索引方式索引方式系统根据所有进程的状态建立几张索引表。例如,就系统根据所有进程的状态建立几张索引表。例如,就绪索引表、阻塞索引表等,并把各索引表在内存的首地址绪索引表、阻塞索引表等,并把各索引表在内存的首地址记录在内存的一些专用单元中。记录

46、在内存的一些专用单元中。在每个索引表的表目中,记录具有相应状态的某个在每个索引表的表目中,记录具有相应状态的某个PCB在在PCB表中的地址。表中的地址。第二章进 程 管 理 图图 2-10按索引方式组织按索引方式组织PCB第二章进 程 管 理 2.2进进 程程 控控 制制 进程控制是进程管理中最基本的功能。它用于进程控制是进程管理中最基本的功能。它用于创建一个新进程,终止一个已完成的进程,或终止创建一个新进程,终止一个已完成的进程,或终止一个因出现某事件而使其无法运行下去的进程,还一个因出现某事件而使其无法运行下去的进程,还可负责进程运行中的状态转换。可负责进程运行中的状态转换。 进程控制一般

47、是由进程控制一般是由OS的内核中的原语来实现的。的内核中的原语来实现的。 第二章进 程 管 理 原语原语(Primitive) 是由若干条指令组成的,用于完成一定功能的一个过程。是由若干条指令组成的,用于完成一定功能的一个过程。它与一般过程的区别在于:它们是它与一般过程的区别在于:它们是“原子操作原子操作(Action Operation)”。所谓原子操作,是指一个操作中的所有动作。所谓原子操作,是指一个操作中的所有动作要么全做,要么全不做。换言之,它是一个不可分割的基本要么全做,要么全不做。换言之,它是一个不可分割的基本单位,因此,单位,因此,在执行过程中不允许被中断。原子操作在管态在执行过

48、程中不允许被中断。原子操作在管态下执行,常驻内存。下执行,常驻内存。 机器语言书写机器语言书写常驻内存常驻内存不可中断不可中断第二章进 程 管 理 2.2.12.2.1进程的创建进程的创建1 1进程图进程图(Process Graph)(Process Graph)进程图是用于描述一个进程的家族关系的有向树,如图进程图是用于描述一个进程的家族关系的有向树,如图2-11所示。图中的结点所示。图中的结点(圆圈圆圈)代表进程。在进程代表进程。在进程D创建了进程创建了进程I之后,称之后,称D是是I的父进程的父进程(Parent Process),I是是D的子进程的子进程(Progeny Process

49、)。第二章进 程 管 理 图图2-11 进程树进程树第二章进 程 管 理 2 2引起创建进程的事件引起创建进程的事件在在多多道道程程序序环环境境中中,只只有有( (作作为为) )进进程程( (时时) )才才能能在在系系统统中中运运行行。因因此此,为为使使程程序序能能运运行行,就就必必须须为为它它创创建建进进程程。导导致致一个进程去创建另一个进程的典型事件,可有以下四类:一个进程去创建另一个进程的典型事件,可有以下四类:(1) (1) 用用户户登登录录。在在分分时时系系统统中中,用用户户在在终终端端键键入入登登录录命命令令后后,如如果果是是合合法法用用户户,系系统统将将为为该该终终端端建建立立一

50、一个个进进程程,并并把它插入就绪队列中。把它插入就绪队列中。(2)(2) 作业调度。在批处理系统中,当作业调度程序按一作业调度。在批处理系统中,当作业调度程序按一定的算法调度到某作业时,便将该作业装入内存,为它分配定的算法调度到某作业时,便将该作业装入内存,为它分配必要的资源,并立即为它创建进程,再插入就绪队列中。必要的资源,并立即为它创建进程,再插入就绪队列中。第二章进 程 管 理 (3) 提供服务。当运行中的用户程序提出某种请求后,系统将提供服务。当运行中的用户程序提出某种请求后,系统将专门创建一个进程来提供用户所需要的服务,例如,用户程序要专门创建一个进程来提供用户所需要的服务,例如,用

51、户程序要求进行文件打印,操作系统将为它创建一个打印进程,这样,不求进行文件打印,操作系统将为它创建一个打印进程,这样,不仅可使打印进程与该用户进程并发执行,而且还便于计算出为完仅可使打印进程与该用户进程并发执行,而且还便于计算出为完成打印任务所花费的时间。成打印任务所花费的时间。(4) 应用请求。上述三种情况,都是由系统内核为它创建一个应用请求。上述三种情况,都是由系统内核为它创建一个新进程;第新进程;第4类事件则是基于应用进程的需求,由它自己创建一个类事件则是基于应用进程的需求,由它自己创建一个新进程,以便使新进程以并发运行方式完成特定任务。新进程,以便使新进程以并发运行方式完成特定任务。第

52、二章进 程 管 理 3 3进程的创建原语(进程的创建原语(create)create)l进程创建原语进程创建原语Create( )Create( )按下述步骤创建一个新进程按下述步骤创建一个新进程: :(1) 申请空白申请空白PCB。为新进程申请获得惟一的数字标识符,为新进程申请获得惟一的数字标识符,并从并从PCB集合中索取一个空白集合中索取一个空白PCB。(2) 为新进程分配资源。为新进程分配资源。为新进程的程序和数据以及用户栈为新进程的程序和数据以及用户栈分配必要的内存空间。分配必要的内存空间。第二章进 程 管 理 (3) (3) 初始化进程控制块初始化进程控制块, ,包括:包括: 初初始

53、始化化标标识识信信息息,将将系系统统分分配配的的标标识识符符和和父父进进程程标标识符填入新识符填入新PCBPCB中;中; 初初始始化化处处理理机机状状态态信信息息,使使程程序序计计数数器器指指向向程程序序的的入口地址,使栈指针指向栈顶;入口地址,使栈指针指向栈顶; 初初始始化化处处理理机机控控制制信信息息,将将进进程程的的状状态态设设置置为为就就绪绪状状态态或或静静止止就就绪绪状状态态,对对于于优优先先级级,通通常常是是将将它它设设置置为为最最低低优先级,除非用户以显式方式提出高优先级要求。优先级,除非用户以显式方式提出高优先级要求。(4) 将新进程插入就绪队列。将新进程插入就绪队列。如果进程

54、就绪队列能够接如果进程就绪队列能够接纳新进程,便将新进程插入就绪队列。纳新进程,便将新进程插入就绪队列。第二章进 程 管 理 2.2.22.2.2进程的终止进程的终止1 1引起进程终止的事件引起进程终止的事件1) 1) 正常结束正常结束在任何计算机系统中,都应有一个用于表示进程已经运在任何计算机系统中,都应有一个用于表示进程已经运行完成的指示。例如,在批处理系统中,通常在程序的最后行完成的指示。例如,在批处理系统中,通常在程序的最后安排一条安排一条Holt指令或终止的系统调用。当程序运行到指令或终止的系统调用。当程序运行到Holt指指令时,将产生一个中断,去通知令时,将产生一个中断,去通知OS

55、本进程已经完成。在分本进程已经完成。在分时系统中,用户可利用时系统中,用户可利用Logs off去表示进程运行完毕,此时去表示进程运行完毕,此时同样可产生一个中断,去通知同样可产生一个中断,去通知OS进程已运行完毕。进程已运行完毕。第二章进 程 管 理 2) 2) 异常结束异常结束在进程运行期间,由于出现某些错误和故障而迫使进程终止在进程运行期间,由于出现某些错误和故障而迫使进程终止(Termination of Process)(Termination of Process)。常见的有下述几种:。常见的有下述几种:(1) (1) 越界错误。这是指程序所访问的存储区已越出该进程的越界错误。这是

56、指程序所访问的存储区已越出该进程的区域。区域。(2) (2) 保护错。这是指进程试图去访问一个不允许访问的资源保护错。这是指进程试图去访问一个不允许访问的资源或文件,或者以不适当的方式进行访问,例如,进程试图去写一或文件,或者以不适当的方式进行访问,例如,进程试图去写一个只读文件。个只读文件。(3)(3) 非法指令。这是指程序试图去执行一条不存在的指令。非法指令。这是指程序试图去执行一条不存在的指令。出现该错误的原因,可能是程序错误地转移到数据区,把数据当出现该错误的原因,可能是程序错误地转移到数据区,把数据当成了指令。成了指令。第二章进 程 管 理 (4) (4) 特特权权指指令令错错。这这

57、是是指指用用户户进进程程试试图图去去执执行行一一条条只只允允许许OSOS执行的指令。执行的指令。(5) (5) 运运行行超超时时。这这是是指指进进程程的的执执行行时时间间超超过过了了指指定定的的最最大值。大值。(6) (6) 等等待待超超时时。这这是是指指进进程程等等待待某某事事件件的的时时间间超超过过了了规规定的最大值。定的最大值。(7) (7) 算算术术运运算算错错。这这是是指指进进程程试试图图去去执执行行一一个个被被禁禁止止的的运算,例如被运算,例如被0 0除。除。(8) I/O(8) I/O故障。这是指在故障。这是指在I/OI/O过程中发生了错误等。过程中发生了错误等。第二章进 程 管

58、 理 3) 3) 外界干预外界干预外外界界干干预预并并非非指指在在本本进进程程运运行行中中出出现现了了异异常常事事件件,而而是是指进程应外界的请求而终止运行。这些干预有:指进程应外界的请求而终止运行。这些干预有:(1) (1) 操操作作员员或或操操作作系系统统干干预预。由由于于某某种种原原因因,例例如如,发发生了死锁,由操作员或操作系统终止该进程。生了死锁,由操作员或操作系统终止该进程。(2) (2) 父父进进程程请请求求。由由于于父父进进程程具具有有终终止止自自己己的的任任何何子子孙孙进程的权力,因而当父进程提出请求时,系统将终止该进程。进程的权力,因而当父进程提出请求时,系统将终止该进程。

59、(3)(3) 父进程终止。当父进程终止时,有的父进程终止。当父进程终止时,有的OS也将它的所也将它的所有子孙进程终止。有子孙进程终止。第二章进 程 管 理 2 2进程的终止进程的终止原语(原语(termination)(1) (1) 根根据据被被终终止止进进程程的的标标识识符符,从从PCBPCB集集合合中中检检索索出出该该进程的进程的PCBPCB,从中读出该进程的状态。,从中读出该进程的状态。(2)(2) 若被终止进程正处于执行状态,应立即终止该进程若被终止进程正处于执行状态,应立即终止该进程的执行,并置调度标志为真,用于指示该进程被终止后应重的执行,并置调度标志为真,用于指示该进程被终止后应

60、重新进行调度。新进行调度。 (3) (3) 若若该该进进程程还还有有子子孙孙进进程程,还还应应将将其其所所有有子子孙孙进进程程予予以终止,以防它们成为不可控的进程。以终止,以防它们成为不可控的进程。第二章进 程 管 理 (4) (4) 将将被被终终止止进进程程所所拥拥有有的的全全部部资资源源,或或者者归归还还给给其其父父进程,或者归还给系统。进程,或者归还给系统。(5)(5) 将被终止进程将被终止进程(PCB)从所在队列从所在队列(或链表或链表)中移出,等中移出,等待其他程序来搜集信息。待其他程序来搜集信息。第二章进 程 管 理 2.2.32.2.3进程的阻塞与唤醒进程的阻塞与唤醒1. 1.

61、引起进程阻塞和唤醒的事件引起进程阻塞和唤醒的事件1) 1) 请求系统服务请求系统服务当正在执行的进程请求操作系统提供服务时,由于某种当正在执行的进程请求操作系统提供服务时,由于某种原因,操作系统并不立即满足该进程的要求时,该进程只能原因,操作系统并不立即满足该进程的要求时,该进程只能转变为阻塞状态来等待。转变为阻塞状态来等待。2) 2) 启动某种操作启动某种操作当进程启动某种操作后,如果该进程必须在该操作完成当进程启动某种操作后,如果该进程必须在该操作完成之后才能继续执行,则必须先使该进程阻塞,以等待该操作之后才能继续执行,则必须先使该进程阻塞,以等待该操作完成。完成。第二章进 程 管 理 3

62、) 3) 新数据尚未到达新数据尚未到达对于相互合作的进程,如果其中一个进程需要先获得另对于相互合作的进程,如果其中一个进程需要先获得另一一(合作合作)进程提供的数据后才能对数据进行处理,则只要其进程提供的数据后才能对数据进行处理,则只要其所需数据尚未到达,该进程只有所需数据尚未到达,该进程只有(等待等待)阻塞。阻塞。4) 4) 无新工作可做无新工作可做系统往往设置一些具有某特定功能的系统进程,每当这系统往往设置一些具有某特定功能的系统进程,每当这种进程完成任务后,便把自己阻塞起来以等待新任务到来。种进程完成任务后,便把自己阻塞起来以等待新任务到来。第二章进 程 管 理 2 2进程阻塞原语(进程

63、阻塞原语(blockblock)l处于运行状态的进程,如果要等待某事件的发生,自己调用阻处于运行状态的进程,如果要等待某事件的发生,自己调用阻塞原语,把自己变成阻塞状态。塞原语,把自己变成阻塞状态。具体操作过程如下:具体操作过程如下:(1)停止进程执行,把停止进程执行,把CPU现场信息保存到该进程的现场信息保存到该进程的PCB的相应的相应表目中;表目中;(2)修改修改PCB的有关表目内容,如把进程状态由运行状态改为阻的有关表目内容,如把进程状态由运行状态改为阻塞状态;塞状态;(3)根据阻塞原因,把修改后的根据阻塞原因,把修改后的PCB插入到相应的阻塞队列中;插入到相应的阻塞队列中;(4)转入进

64、程调度程序,从就绪队列中重新调度其他进程运行。转入进程调度程序,从就绪队列中重新调度其他进程运行。第二章进 程 管 理 3 3进程唤醒原语(进程唤醒原语(wakeupwakeup)l当处于阻塞状态的进程等待的事件已经结束,这时就当处于阻塞状态的进程等待的事件已经结束,这时就由完由完成等待事件的进程(如释放资源的进程或完成成等待事件的进程(如释放资源的进程或完成I/O的进程)的进程)调用唤醒原语,将该阻塞进程唤醒,转换成就绪状态。调用唤醒原语,将该阻塞进程唤醒,转换成就绪状态。具具体操作过程如下:体操作过程如下:把把PCB从相应的等待队列中移出。从相应的等待队列中移出。修改修改PCB的有关表目内

65、容,如把进程状态由阻塞状态改为的有关表目内容,如把进程状态由阻塞状态改为就绪状态。就绪状态。将修改后的将修改后的PCB插入到就绪队列中,等待调度。插入到就绪队列中,等待调度。第二章进 程 管 理 block原原语语和和wakeup原原语语是是一一对对作作用用刚刚好好相相反反的的原原语语。因因此此,如如果果在在某某进进程程中中调调用用了了阻阻塞塞原原语语,则则必必须须在在与与之之相相合合作作的的另另一一进进程程中中或或其其他他相相关关的的进进程程中中安安排排唤唤醒醒原原语语,以以能能唤唤醒醒阻阻塞塞进进程程;否否则则,被被阻阻塞塞进进程程将将会会因因不不能能被被唤唤醒醒而而长长久久地地处处于于阻

66、阻塞状态,从而再无机会继续运行。塞状态,从而再无机会继续运行。l运行状态的进程自己调用阻塞原语,把自己变成阻塞状态。运行状态的进程自己调用阻塞原语,把自己变成阻塞状态。l执行中的进程通过执行唤醒原语去唤醒一个被阻塞的进程。执行中的进程通过执行唤醒原语去唤醒一个被阻塞的进程。第二章进 程 管 理 2.2.42.2.4进程的挂起与激活进程的挂起与激活1 1进程的挂起进程的挂起 当出现了引起进程挂起的事件时,比如,用户进程请求当出现了引起进程挂起的事件时,比如,用户进程请求将自己挂起,或父进程请求将自己的某个子进程挂起,系将自己挂起,或父进程请求将自己的某个子进程挂起,系统将利用挂起原语统将利用挂起

67、原语suspend( )将指定进程或处于阻塞状态的将指定进程或处于阻塞状态的进程挂起。挂起原语的执行过程是:进程挂起。挂起原语的执行过程是:首先检查被挂起进程的状态,若处于活动就绪状态,便将其改为静止首先检查被挂起进程的状态,若处于活动就绪状态,便将其改为静止就绪;就绪; 对于活动阻塞状态的进程,则将之改为静止阻塞。对于活动阻塞状态的进程,则将之改为静止阻塞。为了方便用户或父进程考查该进程的运行情况而把该进程的为了方便用户或父进程考查该进程的运行情况而把该进程的PCB复制复制到某指定的内存区域。到某指定的内存区域。最后,若被挂起的进程正在执行,则转向调度程序重新调度最后,若被挂起的进程正在执行

68、,则转向调度程序重新调度。第二章进 程 管 理 2 2进程的激活过程进程的激活过程 当发生激活进程的事件时,例如,父进程或用户进当发生激活进程的事件时,例如,父进程或用户进程请求激活指定进程,若该进程驻留在外存而内存中已程请求激活指定进程,若该进程驻留在外存而内存中已有足够的空间时,则可将在外存上处于静止就绪状态的有足够的空间时,则可将在外存上处于静止就绪状态的该进程换入内存。这时,系统将利用激活原语该进程换入内存。这时,系统将利用激活原语active( )将将指定进程激活。指定进程激活。激活原语先将进程从外存调入内存,检查该进程的现行状态,若是激活原语先将进程从外存调入内存,检查该进程的现行状态,若是静止就绪,便将之改为活动就绪;若为静止阻塞,便将之改为活动静止就绪,便将之改为活动就绪;若为静止阻塞,便将之改为活动阻塞。阻塞。假如采用的是抢占调度策略,则每当有新进程进入就绪队列时,应假如采用的是抢占调度策略,则每当有新进程进入就绪队列时,应检查是否要进行重新调度。检查是否要进行重新调度。

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 高等教育 > 研究生课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号