操作系统de进程de定义_第1页
操作系统de进程de定义_第2页
操作系统de进程de定义_第3页
操作系统de进程de定义_第4页
操作系统de进程de定义_第5页
已阅读5页,还剩33页未读 继续免费阅读

下载本文档

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

文档简介

1、第二章 进 程 管 理 第二章第二章 进程管理进程管理2.1 2.1 进程的基本概念进程的基本概念 2.2 2.2 进程控制进程控制 2.3 2.3 进程同步进程同步 2.4 2.4 经典进程的同步问题经典进程的同步问题 2.5 2.5 进程通信进程通信 第二章 进 程 管 理 2.1 进程的基本概念进程的基本概念什么是进程?什么是进程?第二章 进 程 管 理 小结 程序并发执行时的这些特征,这说明通常的程序是不能参与并发执行的,因为程序执行的结果是不可再现的;这样程序的运行就失去了意义,为了使程序能并发执行,引入了“进程”的概念。 程序是存在磁盘的文件时静态的。第二章 进 程 管 理 进程的

2、定义进程的定义静止的程序静止的程序无法描述正在运行程序的活动规律,以及系统内无法描述正在运行程序的活动规律,以及系统内的动态情况。的动态情况。第二章 进 程 管 理 进程的特征进程的特征结构特征结构特征进程是为描述了正在运行的程序的若干指标。从实现的角度是进程是为描述了正在运行的程序的若干指标。从实现的角度是一个结构体数据结构一个结构体数据结构 称为称为PCB(进程控制块进程控制块)1)并发性并发性 2)独立性独立性独立运行,独立获得资源的基本单位独立运行,独立获得资源的基本单位3)异步性异步性 进程在计算机系统中推进的速度不可预知进程在计算机系统中推进的速度不可预知 5)动态性)动态性 (最

3、基本特征,具有生命周期(最基本特征,具有生命周期创建创建 调度调度 暂停暂停 撤销撤销第二章 进 程 管 理 3 . 进程与程序的区别与联系进程与程序的区别与联系 动态与静态动态与静态 本质区别,进程是动态的,程序是静态的本质区别,进程是动态的,程序是静态的 进程可以并发执行,程序不能进程可以并发执行,程序不能 进程是竞争计算机系统资源、进行调度的进程是竞争计算机系统资源、进行调度的基本单位基本单位 进程与程序有联系进程与程序有联系进程既然是动态的,因此它有若干状态进程既然是动态的,因此它有若干状态第二章 进 程 管 理 4进程的三种基本状态进程的三种基本状态1)就绪状态就绪状态 (Ready

4、)万事俱备,只欠万事俱备,只欠CPU; 就绪队列;等待调度程序进行调度就绪队列;等待调度程序进行调度2)执行执行/运行状态运行状态(Running) 占有占有CPU,正在运行(单,正在运行(单CPU 系统,任何时刻只有一个进系统,任何时刻只有一个进程在运行程在运行)3)阻塞状态阻塞状态 (Blocked)运行进程发生某事件(请求运行进程发生某事件(请求I/O)而暂停执行,)而暂停执行,自愿自愿放弃放弃CPU 进入阻塞状态;当进入阻塞状态;当I/0完成,进入就需状态。完成,进入就需状态。第二章 进 程 管 理 当进程执行过程中,CPU被强行掠夺,那么进程进入什么状态呢? 强行掠夺:在分时系统中,

5、采用的是时间片机制,当进程时间片完了,那么CPU将被掠夺,或者由于更高级别的进程进来获得了CPU,当前的进程也被剥夺CPU?此时进程进入什么状态呢?第二章 进 程 管 理 就绪就绪阻塞阻塞执行执行时间片完时间片完进程调度进程调度I/O完成完成I/O请求请求进程的三种基本状态及其转换图进程的三种基本状态及其转换图 第二章 进 程 管 理 5. 新状态和终止状态新状态和终止状态 新状态(新状态(New)建立建立 就绪队列就绪队列 新状态新状态 终止状态(终止状态(Terminated)进程结束进程结束 撤销撤销 终止状态终止状态第二章 进 程 管 理 进程状态变迁图进程状态变迁图阻塞阻塞执行执行时

6、间片完时间片完进程调度进程调度I/O完成完成I/O请求请求新进程新进程结束结束就绪就绪第二章 进 程 管 理 进程状态的转换进程状态的转换 新新就绪就绪 就绪就绪执行执行 执行执行就绪就绪 执行执行阻塞阻塞 阻塞阻塞就绪就绪 执行执行终止终止 就绪就绪阻塞阻塞 阻塞阻塞执行执行 第二章 进 程 管 理 6挂起状态挂起状态挂起状态的产生挂起状态的产生 进程不断被创建,内存资源越来越有限,此时有重要的进程必须被创建,而内存已没有足够的空间,可考虑把一部分进程送离内存。这部分就叫挂起。进程状态的转换进程状态的转换 引入挂起状态后,将又增加从挂起状态到非挂起状态的装换;第二章 进 程 管 理 6挂起状

7、态挂起状态进程状态的转换进程状态的转换活动活动就绪就绪静止静止就绪就绪 从从处于未被挂起的就绪状态称为“活动就绪”,当被挂起后,该进程就装变为“静止就绪”活动活动阻塞阻塞静止静止阻塞阻塞 从从处于未被挂起的阻塞状态称为“活动就绪”,当被挂起后,该进程就装变为“静止阻塞”静止静止就绪就绪活动活动就绪就绪 被激活静止静止阻塞阻塞活动活动阻塞阻塞被激活第二章 进 程 管 理 6挂起状态挂起状态引入挂起状态的原因引入挂起状态的原因 终端用户的请求终端用户的请求 用户编程过程中,调用了挂起代码父进程父进程请求请求 A进程中创建B进程,则A与B是父子关系,对B的控制和管理由A负责;负荷调节的需要负荷调节的

8、需要 操作系统的需要操作系统的需要 操作系统修改进程时,可能将进程挂起第二章 进 程 管 理 具有挂起状态的进程状态图具有挂起状态的进程状态图 活动活动就绪就绪静止静止就绪就绪执行执行挂起挂起激活激活完成完成IOIO挂起挂起活动活动阻塞阻塞静止静止阻塞阻塞挂起挂起激活激活完成完成IOIO请求请求 I/O第二章 进 程 管 理 2.1.6 进程控制块进程控制块PCB1. 进程控制块的作用进程控制块的作用2. 进程控制块中的信息进程控制块中的信息3. 进程控制块的组织方式进程控制块的组织方式第二章 进 程 管 理 1. 进程控制块的作用进程控制块的作用(1). 定义定义进程控制块(进程控制块(PC

9、B:Process Control Block)是进程实体的一部分,)是进程实体的一部分,是操作系统中最重要的记录型数据结构,其中记录了是操作系统中最重要的记录型数据结构,其中记录了OS所需的、所需的、用于描述进程情况及控制进程运行的全部信息。用于描述进程情况及控制进程运行的全部信息。(2). 作用作用使一个在多道程序环境下不能独立运行的程序使一个在多道程序环境下不能独立运行的程序(含数据含数据),成为一个,成为一个能独立运行的基本单位,一个能与其它进程并发执行的进程。能独立运行的基本单位,一个能与其它进程并发执行的进程。OS是根据是根据PCB来对并发执行的进程进行控制和管理的。来对并发执行的

10、进程进行控制和管理的。PCB是是OS 感知进程存在的唯一标志。感知进程存在的唯一标志。创建进程:建立创建进程:建立PCB撤销进程:收回撤销进程:收回PCB 第二章 进 程 管 理 1. 进程控制块(进程控制块(PCB)的作用)的作用作用作用(对正在运行的程序的描述对正在运行的程序的描述) 1、是进程存在的唯一标识。、是进程存在的唯一标识。 2、操作系统是通过进程控制块来对进程、操作系统是通过进程控制块来对进程进行控制和管理的。进行控制和管理的。 PCB是是OS 感知进程存在的唯一标志。感知进程存在的唯一标志。 创建进程:建立创建进程:建立PCB 撤销进程:收回撤销进程:收回PCB 第二章 进

11、程 管 理 1) 进程标识符进程标识符 进程标识符用于惟一地标识一个进程。一个进程通常有两种标识进程标识符用于惟一地标识一个进程。一个进程通常有两种标识符:符:(1) 内部标识符内部标识符在所有的操作系统中,都为每一个进程赋予一个惟一的数字标识符,在所有的操作系统中,都为每一个进程赋予一个惟一的数字标识符,它通常是一个进程的序号。它通常是一个进程的序号。 设置内部标识符主要是为了方便系统设置内部标识符主要是为了方便系统使用。使用。 (2) 外部标识符外部标识符它由创建者提供,通常是由字母、数字组成,往往是由用户它由创建者提供,通常是由字母、数字组成,往往是由用户(进程进程)在访问该进程时使用。

12、为了描述进程的家族关系,在访问该进程时使用。为了描述进程的家族关系, 还应设置父进还应设置父进程标识及子进程标识。此程标识及子进程标识。此外,还可设置用户标识,以指示拥有该进外,还可设置用户标识,以指示拥有该进程的用户。程的用户。 2. 进程控制块中的信息(进程控制块中的信息(1)第二章 进 程 管 理 2) 处理机状态处理机状态 处理机状态信息主要是由处理机的各种寄存器中的内容组成的。处理机状态信息主要是由处理机的各种寄存器中的内容组成的。 通用寄存器通用寄存器又称为用户可视寄存器,它们是用户程序可以访问的,用于暂存信又称为用户可视寄存器,它们是用户程序可以访问的,用于暂存信息;息; 指令计

13、数器指令计数器其中存放了要访问的下一条指令的地址;其中存放了要访问的下一条指令的地址; 程序状态字程序状态字PSW其中含有状态信息,如条件码、执行方式、其中含有状态信息,如条件码、执行方式、 中断屏蔽标志等;中断屏蔽标志等; 用户栈指针用户栈指针每个用户进程都有一个或若干个与之相关的系每个用户进程都有一个或若干个与之相关的系统栈,用于存放过程统栈,用于存放过程和系统调用参数及调用地址。栈指针指向该栈的栈顶。和系统调用参数及调用地址。栈指针指向该栈的栈顶。 2. 进程控制块中的信息(续进程控制块中的信息(续2)第二章 进 程 管 理 3) 进程调度信息进程调度信息在在PCB中还存放一些与进程调度

14、和进程对换有关的信息,包括:中还存放一些与进程调度和进程对换有关的信息,包括: 进程状态进程状态指明进程的当前状态,指明进程的当前状态, 作为进程调度和对换时的依据;处于阻塞作为进程调度和对换时的依据;处于阻塞的不能被调度,只有就绪的才能被调度的不能被调度,只有就绪的才能被调度 进程优先级进程优先级用于描述进程使用处理机的优先级别的一个整数,用于描述进程使用处理机的优先级别的一个整数, 优先级高的进优先级高的进程应优先获得处理机;程应优先获得处理机; 进程调度所需的其它信息进程调度所需的其它信息它们与所采用的进程调度算法有关,比如,采用先来先调度的算它们与所采用的进程调度算法有关,比如,采用先

15、来先调度的算法,那必须知道进程创建的时间先后顺序法,那必须知道进程创建的时间先后顺序 事件事件是指进程由执行状态转变为阻塞状态所等待发生的事件,即是指进程由执行状态转变为阻塞状态所等待发生的事件,即阻塞阻塞原因。原因。 2. 进程控制块中的信息(续进程控制块中的信息(续3)第二章 进 程 管 理 4) 进程控制信息进程控制信息 程序和数据的地址程序和数据的地址是指进程的程序和数据所在的内存或外存地是指进程的程序和数据所在的内存或外存地(首首)址,以便再调度到该进程址,以便再调度到该进程执行时,能从执行时,能从PCB中找到其程序和数据;中找到其程序和数据; 进程同步和通信机制进程同步和通信机制指

16、实现进程同步和进程通信时必需的机制,指实现进程同步和进程通信时必需的机制, 两个进程通信的方式两个进程通信的方式 资源清单资源清单是一张列出了除是一张列出了除CPU以外的、进程所需的全部资源及已经分配到该进程以外的、进程所需的全部资源及已经分配到该进程的资源的清单;的资源的清单; 链接指针链接指针它给出了本进程它给出了本进程(PCB)所在队列中所在队列中的下一个进程的的下一个进程的PCB的首地址。的首地址。指向同种状态的下一个进程。指向同种状态的下一个进程。2. 进程控制块中的信息(续进程控制块中的信息(续4)第二章 进 程 管 理 3. 进程控制块的组织方式进程控制块的组织方式1) 链接方式

17、链接方式 通过进程控制块中的指针,将进程控制块排成通过进程控制块中的指针,将进程控制块排成几个队列:就绪队列,阻塞队列,空闲队列几个队列:就绪队列,阻塞队列,空闲队列2) 索引方式索引方式系统建立几张索引表:就绪进程索引表,阻塞进系统建立几张索引表:就绪进程索引表,阻塞进程索引表,空闲进程控制块索引表程索引表,空闲进程控制块索引表保留各索引表的首地址。保留各索引表的首地址。第二章 进 程 管 理 1) 链接方式链接方式 PCB14PCB2PCB3PCB4PCB5PCB6PCB7PCB8PCB93087901执行指针执行指针就绪队列指针就绪队列指针阻塞队列指针阻塞队列指针空闲队列指针空闲队列指针

18、PCB链接队列示意图链接队列示意图第二章 进 程 管 理 执行指针执行指针就绪索引表就绪索引表PCB1PCB2PCB3PCB4PCB5PCB6PCB7阻塞索引表阻塞索引表就绪表指针就绪表指针阻塞表指针阻塞表指针按索引方式组织按索引方式组织PCB第二章 进 程 管 理 2.2 进进 程程 控控 制制 主要任务:创建和撤销进程,并实现进主要任务:创建和撤销进程,并实现进程的状态转换,一般由操作系统内核实程的状态转换,一般由操作系统内核实现。现。2.2.1 进程的创建进程的创建2.2.2 进程的终止进程的终止2.2.3 进程的阻塞与唤醒进程的阻塞与唤醒2.2.4 进程的挂起与激活进程的挂起与激活第二

19、章 进 程 管 理 2.2.1 进程的创建进程的创建1. 进程图进程图(Process Graph)2. 引起创建进程的事件引起创建进程的事件 3. 进程的创建进程的创建(Creation of Progress)第二章 进 程 管 理 2. 进程的创建过程进程的创建过程创建原语创建原语Create(),步骤如下:,步骤如下:(1) 申请空白申请空白PCB。分配唯一的数字标识符。分配唯一的数字标识符 (2) 为新进程分配资源。为新进程分配资源。 (3) 初始化进程控制块初始化进程控制块PCB。(标识符、标识符、CPU状态、状态、 进程进程控制信息控制信息) (4) 将新进程插入就绪队列,如果进

20、程就绪队列能够接纳将新进程插入就绪队列,如果进程就绪队列能够接纳新进程,新进程, 便将新进程插入就绪队便将新进程插入就绪队列。列。第二章 进 程 管 理 3 进程的终止过程()进程的终止过程()(1) 根据被终止进程的标识符,从根据被终止进程的标识符,从PCB集合中检索出该进程集合中检索出该进程的的PCB,从中读出该进程的状态。,从中读出该进程的状态。(2) 若被终止进程正处于执行状态,应立即终止该进程的执若被终止进程正处于执行状态,应立即终止该进程的执行,并置调度标志为真,用于指示该进程被终止后应重行,并置调度标志为真,用于指示该进程被终止后应重新进行调度。新进行调度。(3) 若该进程还有子

21、孙进程,还应将其所有子孙进程予以终若该进程还有子孙进程,还应将其所有子孙进程予以终止,以防他们成为不可控的进程。止,以防他们成为不可控的进程。(4) 将被终止进程所拥有的全部资源,或者归还给其父进程,将被终止进程所拥有的全部资源,或者归还给其父进程, 或者归还给系统。或者归还给系统。(5) 将被终止进程将被终止进程(它的它的PCB)从所在队列从所在队列(或链表或链表)中移出,中移出, 等待其他程序来搜集信息。等待其他程序来搜集信息。 第二章 进 程 管 理 4、 进程阻塞过程进程阻塞过程 正在执行的进程,当发现上述某事件时,由于无法继续执行,正在执行的进程,当发现上述某事件时,由于无法继续执行

22、,于是进程便通过调用阻塞原语于是进程便通过调用阻塞原语block把自己阻塞把自己阻塞。可见,进程。可见,进程的阻塞是进程自身的一种主动行为。进入的阻塞是进程自身的一种主动行为。进入block过程后,由于过程后,由于此时该进程还处于执行状态,所以应先立即停止执行,把进此时该进程还处于执行状态,所以应先立即停止执行,把进程控制块中的现行状态由程控制块中的现行状态由“执行执行”改为阻塞,并将改为阻塞,并将PCB插入插入阻塞队列。如果系统中设置了因不同事件而阻塞的多个阻塞阻塞队列。如果系统中设置了因不同事件而阻塞的多个阻塞队列,则应将本进程插入到具有相同事件的阻塞队列,则应将本进程插入到具有相同事件的

23、阻塞(等待等待)队列。队列。 最后,转到进程调度程序进行重新调度,将处理机分配给另最后,转到进程调度程序进行重新调度,将处理机分配给另一就绪进程,并进行切换,亦即,保留被阻塞进一就绪进程,并进行切换,亦即,保留被阻塞进程的处理机程的处理机状态状态(在在PCB中中),再按新进程的,再按新进程的PCB中的处理机状态设置中的处理机状态设置CPU的环境。的环境。第二章 进 程 管 理 进程唤醒过程进程唤醒过程 当被阻塞进程所期待的事件出现时,如当被阻塞进程所期待的事件出现时,如I/O完成或其所完成或其所期待的数据已经到达,则由有关进程期待的数据已经到达,则由有关进程(比如,用完并释比如,用完并释放了该

24、放了该I/O设备的进程设备的进程)调用唤醒原语调用唤醒原语wakeup( ),将等,将等待该事件的进程唤醒。唤醒原语执行的过程是:首先待该事件的进程唤醒。唤醒原语执行的过程是:首先把被阻塞的进程从等待该事件的阻塞队列中移出,把被阻塞的进程从等待该事件的阻塞队列中移出,将将其其PCB中的现行状态由阻塞改为就绪,然后再将该中的现行状态由阻塞改为就绪,然后再将该PCB插入到就绪队列中。插入到就绪队列中。第二章 进 程 管 理 5 进程的进程的挂起挂起与激活与激活 1. 进程的挂起进程的挂起引起进程挂起的事件:如,用户进程请求将自己挂起,或父引起进程挂起的事件:如,用户进程请求将自己挂起,或父进程请求

25、将自己的某个子进程挂起,系统将利用挂起原语进程请求将自己的某个子进程挂起,系统将利用挂起原语suspend( )将指定进程或处于阻塞状态的进程挂起。将指定进程或处于阻塞状态的进程挂起。挂起原语的执行过程是:首先检查被挂起进程的状态,若处挂起原语的执行过程是:首先检查被挂起进程的状态,若处于活动就绪状态,便将其改为静止就绪;对于活动阻塞状于活动就绪状态,便将其改为静止就绪;对于活动阻塞状态的进程,则将之改为静止阻塞。为了方便用户或父进程态的进程,则将之改为静止阻塞。为了方便用户或父进程考查该进程的运行情况而把该进程的考查该进程的运行情况而把该进程的PCB复制到某指定的复制到某指定的内存区域。最后

26、,若被挂内存区域。最后,若被挂起的进程正在执行,则转向调度起的进程正在执行,则转向调度程序重新调度。程序重新调度。第二章 进 程 管 理 5进程的挂起与进程的挂起与激活激活(续)(续)2. 进程的激活过程进程的激活过程激活进程的事件:如,父进程或用户进程请求激活指定进程,激活进程的事件:如,父进程或用户进程请求激活指定进程,若该进程驻留在外存而内存中已有足够的空间时,则可将若该进程驻留在外存而内存中已有足够的空间时,则可将在外存上处于静止就绪状态的进程换入内存。这时,系统在外存上处于静止就绪状态的进程换入内存。这时,系统将利用激活原语将利用激活原语active( )将指定的进程激活。将指定的进程激活。 激活原语的执行过程是:先将进程从外存调入内存,检查该激活原语的执行过程是:先将进程从外存调入内存,检查该进程的现行状态,若是静止就绪,便将之改为活动就绪;进程的现行状态,若是静止就绪,便将之改为活动就绪;若为静止阻塞便将之改为活动阻塞。假如采用的是抢

温馨提示

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

评论

0/150

提交评论