《《进程的描述》PPT课件.ppt》由会员分享,可在线阅读,更多相关《《进程的描述》PPT课件.ppt(25页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、3.2 进程的描述进程的描述 进程的特征1动态性动态性 动态性是进程最基本的特征。动态性是进程最基本的特征。2.并发性并发性 这这是是指指多多个个进进程程实实体体,同同存存于于内内存存中中,能能在在一一段段时时间间内内同同时时运运行行。并并发发性性是是进进程程的的重重要要特特征征,同同时时也也成成为为OSOS的的重重要要特特征征。引引入入进进程程的的目目的的也也是是为为了了使使该该进程的程序能和其它进程的程序并发执行。进程的程序能和其它进程的程序并发执行。3.独立性独立性 进进程程实实体体是是一一个个能能独独立立运运行行的的基基本本单单位位,同同时时也也是是系系统统中中独独立立获获得得资资源源
2、和和独独立立调调度度的的基基本本单单位位。没没有有建建立立进进程程的的程程序序,不不能能作作为为一一个个独独立立的的单位参加运行。单位参加运行。4.异步性异步性 进进程程按按各各自自独独立立的的、不不可可与与之之的的速速度度向向前前推推进进 5.结构特性结构特性 从从结结构构上上看看,进进程程是是由由程程序序段段、数数据据段段及及进进程控制块三部分组成。程控制块三部分组成。3.2.2进程的基本状态 一、进程的三种基本状态一、进程的三种基本状态1 1就绪状态(就绪状态(ReadyReady)当当进进程程已已经经分分配配到到除除CPUCPU以以外外的的所所有有必必要要的的资资源源后后,只只要要能能
3、再再获获得得处处理理机机,就就可可以以立立即即执执行行。这这时的进程的状态称为时的进程的状态称为就绪状态就绪状态。2 2执行状态(执行状态(RunningRunning)()(运行状态)运行状态)指指进进程程已已获获得得处处理理机机,其其程程序序正正在在执执行行。在在单单处处理理机机系系统统中中,只只能能有有一一个个进进程程处处于于执执行行状状态态。(在多处理机中,可能有多个进程处于执行状态)(在多处理机中,可能有多个进程处于执行状态)3阻塞状态(Block)(等待状态)进进程程因因为为发发生生某某个个事事件件而而暂暂停停执执行行时时的的状状态态(如如:请请求求I/OI/O、申申请请缓缓冲冲空
4、空间间等等),也也就就是是说说,进进程程受受到到阻阻塞塞,所所以以称称这这种种暂暂停停状状态态为为阻阻塞塞状状态态,有有时时也称也称“等待等待”状态或状态或“睡眠睡眠”状态。状态。2 2 进程状态间的变迁进程状态间的变迁就绪就绪执行:调度执行:调度执行执行等待:等待某个事件发生而睡眠等待:等待某个事件发生而睡眠等待等待就绪:因等待的时间发生而唤醒就绪:因等待的时间发生而唤醒执行执行就绪:时间片用完就绪:时间片用完二、新状态和终止状态 1.新状态 是一个进程刚刚建立,但还没有将它送入就绪队是一个进程刚刚建立,但还没有将它送入就绪队列时的状态列时的状态 2.终止状态 当当一一个个进进程程已已经经正
5、正常常结结束束或或异异常常结结束束,OSOS已已经经将将它从就绪队列中移出,但还没有将它撤消时的状态。它从就绪队列中移出,但还没有将它撤消时的状态。建立进程建立进程 第一步为新登陆的用户程序创建进程,并为他分第一步为新登陆的用户程序创建进程,并为他分 配资源,此时进程处于新状态配资源,此时进程处于新状态 第二步把新创建的进程送入就绪队列,一旦进程进入第二步把新创建的进程送入就绪队列,一旦进程进入 就绪队列,它便由新状态转变为就绪状态。就绪队列,它便由新状态转变为就绪状态。撤销进程撤销进程 第一步第一步 第二步第二步二、程状态的转换 对于一个进程来说“新状态”和“终止状态”只有一次。1 1新状态
6、新状态 就绪状态就绪状态 当当就就绪绪队队列列能能够够接接纳纳新新的的进进程程时时,OSOS便便把把处处于于新新状状态态的的进进程程移移入入就就绪绪队队列列,此此时时进进程程由由新新状状态态转转变变为就绪状态。为就绪状态。2 2就绪状态就绪状态 执行状态执行状态 处于就绪状态的进程,当进程调度程序为它分处于就绪状态的进程,当进程调度程序为它分配了处理机后,该进程便由就绪状态变为执行状态,配了处理机后,该进程便由就绪状态变为执行状态,正在执行的进程也称为当前进程。正在执行的进程也称为当前进程。3.3.执行状态执行状态 阻塞状态阻塞状态 正在执行的进程因发生某件事件而无法执行。例如:正在执行的进程
7、因发生某件事件而无法执行。例如:进程请求访问临界资源,而该资源正被其它进程访问,进程请求访问临界资源,而该资源正被其它进程访问,则请求该资源的进程将由执行状态转变为阻塞状态。则请求该资源的进程将由执行状态转变为阻塞状态。4 4执行状态执行状态就绪状态就绪状态 正正在在执执行行的的进进程程,如如果果事事件件发发生生或或中中断断而而被被暂暂停停执执行行,该该进进程程便便由由执执行行状状态态转转变变为为就就绪绪状状态态。(分分时时系系统统中中,时间片用完;抢占调度方式中,优先权高抢占处理机)时间片用完;抢占调度方式中,优先权高抢占处理机)5 5执行状态执行状态终止状态终止状态 当当一一个个进进程程经
8、经完完成成或或发发生生某某事事件件,如如程程序序中中出出现现地地址址越越界界、非非法法指指令令等等错错误误,而而被被异异常常结结束束时时,进进程程将将由由执行状态转变为终止状态。执行状态转变为终止状态。就绪新进程结束执行阻塞接纳事件发生进程调度等待某事件完成中断3.2.3进程的挂起状态 一、挂起状态的引入 1终端用户的需要 当终端用户在自己的程序运行期间,发现有可疑问题时,往往希望暂时使自己的进程静止下来。也就是说,如果进程处于执行状态,则暂停执行;如果进程处于就绪状态,则暂时不接受调度,以便研究其执行情况或对程序进行修改。我们把这种静止状态称为挂起状态。2.2.父进程的需求父进程的需求 父父
9、进进程程常常常常希希望望考考察察和和修修改改子子进进程程,或或者者当当要要协协调各子进程间的活动时,要挂起自己的子进程。调各子进程间的活动时,要挂起自己的子进程。3.3.操作系统的需要操作系统的需要 操操作作系系统统有有时时需需要要挂挂起起某某些些进进程程,检检查查运运行行中中资资源的使用情况及进行记帐,以便改善系统的运行性能。源的使用情况及进行记帐,以便改善系统的运行性能。4.4.对换的需要对换的需要 为为了了缓缓和和内内存存紧紧张张的的情情况况,将将内内存存中中处处于于阻阻塞塞状状态的进程换至外存上。态的进程换至外存上。5.5.负荷调节的需要负荷调节的需要 当当实实时时系系统统中中的的工工
10、作作负负荷荷较较重重,可可能能影影响响到到对对实实时时任任务务的的控控制制时时,可可由由系系统统把把一一些些不不重重要要或或不不紧紧迫迫的的进程挂起,以保证系统仍然能正常运行。进程挂起,以保证系统仍然能正常运行。二、进程状态的转换 在引入挂起状态后,又将增加从挂起状态(又称静止状态)在引入挂起状态后,又将增加从挂起状态(又称静止状态)到非挂起状态(又称活动状态)的转换。或者相反,可以有以下到非挂起状态(又称活动状态)的转换。或者相反,可以有以下几种情况:几种情况:1 1活动就绪活动就绪 静止就绪静止就绪 当当进进程程处处于于未未被被挂挂起起的的就就绪绪状状态态时时,称称此此为为活活动动就就绪绪
11、状状态态,表表示示为为ReadyaReadya。当当用用挂挂起起原原语语SuspendSuspend将将该该进进程程挂挂起起后后,该该进进程程便便转转变变为为静静止止就就绪绪状状态态。表表示示为为ReadysReadys(处在处在ReadysReadys状态的进程,不再被调度执行)状态的进程,不再被调度执行)2 2活动阻塞活动阻塞 静止阻塞静止阻塞 当当进进程程处处于于未未被被挂挂起起的的阻阻塞塞状状态态时时,称称为为它它处处在在活活动动阻阻塞塞状状态态(表表示示为为BlockedaBlockeda)。当当SuspendSuspend原原语语将将它它挂挂起起后后,进进程程便便转转变变为为静静止
12、止阻阻塞塞状状态态(表表示示为为BlockedsBlockeds)。处处于于该该状状态态的的进进程程,在在其其所所期期待待的的事事件件出现以后,他将从静止阻塞变为静止就绪。出现以后,他将从静止阻塞变为静止就绪。3 3静止就绪静止就绪 活动就绪活动就绪 处处于于ReadysReadys状状态态的的进进程程,若若用用激激活活原原语语ActiveActive激激活后,该进程将转变为活后,该进程将转变为ReadyaReadya状态。状态。4 4静止阻塞静止阻塞活动阻塞活动阻塞 处处于于BlockedsBlockeds状状态态的的进进程程,若若用用激激活活原原语语ActiveActive激激活后,进程将
13、转变为活后,进程将转变为BlockedaBlockeda状态。状态。挂起执行活动就绪活动阻塞静止就绪静止阻塞请求I/O激活释放挂起释放激活挂起具有挂起状态的进程状态图3.3.1进程控制块 进程的静态描述:由三部分组成进程的静态描述:由三部分组成 PCBPCB、有有关关程程序序段段和和该该程程序序段段对对其其进进行行操操作作的的数数据结构集。据结构集。各部分的作用:各部分的作用:1 1 进程控制块进程控制块:用于描述进程情况及控制进程运行所:用于描述进程情况及控制进程运行所需的全部信息。需的全部信息。2 2 程程序序段段:是是进进程程中中能能被被进进程程调调度度程程序序在在CPUCPU上上执执行
14、行的的程序代码段。程序代码段。3 3 数数据据段段:一一个个进进程程的的数数据据段段,可可以以是是进进程程对对应应的的程程序序加加工工处处理理的的原原始始数数据据,也也可可以以是是程程序序执执行行后后产产生生的中间或最终数据。的中间或最终数据。3.3.23.3.2进程控制块中的信息进程控制块中的信息 进程控制块中主要包括四个方面用于描述和控制进程运行进程控制块中主要包括四个方面用于描述和控制进程运行的信息。的信息。1 1 1.1.进程标识符信息进程标识符信息 进程标识符用于唯一的标识一个进程。一个进程通常有以进程标识符用于唯一的标识一个进程。一个进程通常有以下两种标识符。下两种标识符。外部标识
15、符外部标识符。由创建者提供,通常是由字母、数字组成,。由创建者提供,通常是由字母、数字组成,往往是用户(进程)访问该进程使用。外部标识符便于记忆,往往是用户(进程)访问该进程使用。外部标识符便于记忆,如:计算进程、打印进程、发送进程、接收进程等。如:计算进程、打印进程、发送进程、接收进程等。内部标识符内部标识符:为了方便系统使用而设置的。在所有的:为了方便系统使用而设置的。在所有的OSOS中,都为每一个进程赋予一个唯一的整数,作为内部标识符。中,都为每一个进程赋予一个唯一的整数,作为内部标识符。它通常就是一个进程的符号,为了描述进程的家族关系,还它通常就是一个进程的符号,为了描述进程的家族关系
16、,还应该设置父进程标识符以及子进程标识符。还可以设置用户应该设置父进程标识符以及子进程标识符。还可以设置用户标识符,来指示该进程由哪个用户拥有。标识符,来指示该进程由哪个用户拥有。1 2、处理机状态信息 处理机状态信息主要是由处理机各种寄存器中的处理机状态信息主要是由处理机各种寄存器中的内容所组成。内容所组成。通用寄存器通用寄存器。又称为用户可视寄存器,可被用户程。又称为用户可视寄存器,可被用户程 序访问,用于暂存信息。序访问,用于暂存信息。指令寄存器指令寄存器。存放要访问的下一条指令的地址。存放要访问的下一条指令的地址。程序状态字程序状态字PSWPSW。其中含有状态信息。(条件码、其中含有状
17、态信息。(条件码、执行方式、中断屏蔽标志等)执行方式、中断屏蔽标志等)用用户栈户栈指指针针。每个用。每个用户进户进程有一个或若干个与之相关程有一个或若干个与之相关 的系的系统栈统栈,用于存放,用于存放过过程和系程和系统调统调用参用参 数及数及调调用地址。用地址。栈栈指指针针指向指向该栈该栈的的栈顶栈顶。3.3.进程调度信息进程调度信息 在在PCBPCB中还存放了一些与进程调度和进程兑换有关的中还存放了一些与进程调度和进程兑换有关的信息。信息。(1 1)进程状态。指明进程当前的状态,作为进)进程状态。指明进程当前的状态,作为进程调度和对换时的依据。程调度和对换时的依据。(2 2)进程优先级。用于
18、描述进程使用处理机的)进程优先级。用于描述进程使用处理机的优先级别的一个整数,优先级高的进程优先获得优先级别的一个整数,优先级高的进程优先获得处理机。处理机。(3 3)进程调度所需要的其他信息。(进程已等)进程调度所需要的其他信息。(进程已等待待CPUCPU的时间总和、进程已执行的时间总和)的时间总和、进程已执行的时间总和)(4 4)事件。这是进程由执行状态转变为阻塞状)事件。这是进程由执行状态转变为阻塞状态所等待发生的事件。(阻塞原因)态所等待发生的事件。(阻塞原因)3.2.3 3.2.3 PCBPCB的组织方式的组织方式 常用的组织方式有两种:链接方式、索引方式。常用的组织方式有两种:链接
19、方式、索引方式。1 1、链接方式:链接方式:具有相同状态的具有相同状态的PCBPCB,用其中的链接字,链接成一个用其中的链接字,链接成一个队列。这样就可以形成就绪队列、若干个阻塞队队列。这样就可以形成就绪队列、若干个阻塞队列和空白队列等。对其中的就绪队列常按照进程列和空白队列等。对其中的就绪队列常按照进程优先权的大小排列,把优先权告的进程的优先权的大小排列,把优先权告的进程的PCBPCB排在排在队列前面。队列前面。执行指针就绪队列指针阻塞队列指针空闲队列指针PCB1PCB2PCB3PCB4PCB5PCB6PCB7PCB8PCB943087901n n1、索引方式:系统根据所有进程的状态,建立几
20、张索引表。例如:就绪索引表、阻塞索引表的国内。并把各索引表在内存的首地址记录在内存中的一些专用单元中。每个索引表的表目中,记录具有相同状态的某个PCB在PCB表中的地址。执行指针就绪表指针阻塞表指针就绪索引表阻塞索引表PCB3PCB4PCB5PCB7PCB6PCB2PCB1按索引方式组织PCB3.3.4进程上下文进程上下文:是进程执行活动全过程的静态描述。包括计算机系统中与执行该进程有关的各种寄存器的值、程序段在经过编译之后形成的机器指令代码集、数据集及各种堆栈值和PCB结构。可按一定的执行层次组合,如用户级上下文、系统级上下文等。335进程空间 任何一个进程,都有自己的地址空间,把该空间称为
21、进程空任何一个进程,都有自己的地址空间,把该空间称为进程空间或虚空间。间或虚空间。进程空间的大小只与处理机的位数有关。程序的执行都在进进程空间的大小只与处理机的位数有关。程序的执行都在进程空间内进行。用户程序、进程的各种控制表格都按一定程空间内进行。用户程序、进程的各种控制表格都按一定的结构排列在进程空间里。的结构排列在进程空间里。在在UnixUnix和和LinuxLinux系统中,进程空间还被划分为用户空间和系统系统中,进程空间还被划分为用户空间和系统空间两大部分空间两大部分在进程空间被划分为两大部分后,用户程序在用户空间内执在进程空间被划分为两大部分后,用户程序在用户空间内执行,操作系统内
22、核程序在进程的系统空间内执行。行,操作系统内核程序在进程的系统空间内执行。为了防止用户程序访问系统空间,造成访问出错,计算机系为了防止用户程序访问系统空间,造成访问出错,计算机系统还通过程序状态寄存器设置不同的执行模式,用户模式统还通过程序状态寄存器设置不同的执行模式,用户模式和系统模式来进行保护,即用户态和系统态。和系统模式来进行保护,即用户态和系统态。练习练习1.1.为使进程由活动就绪转变为静止就绪,应利用为使进程由活动就绪转变为静止就绪,应利用_ _ _原语;原语;为使进程由执行状态变为阻塞状态,应利用为使进程由执行状态变为阻塞状态,应利用_原语;原语;为使进程由静止就绪变为活动就绪,应
23、利用为使进程由静止就绪变为活动就绪,应利用_ _ _原语;原语;从阻塞状态变为就绪状态应利用从阻塞状态变为就绪状态应利用_原语。原语。-:A.create B.suspend C.active D.block E.wakeup A.create B.suspend C.active D.block E.wakeup 2.2.正在执行的进程由于时间片用完而被暂停执行,此时进正在执行的进程由于时间片用完而被暂停执行,此时进程应从执行状态变为程应从执行状态变为_ _ _ _ _状态;处于静止阻塞状态的进状态;处于静止阻塞状态的进程,在进程等待事件出现后,应转变为程,在进程等待事件出现后,应转变为_状态;若进状态;若进程正处于执行状态时,应终端的请求而暂停下来以便研究程正处于执行状态时,应终端的请求而暂停下来以便研究其运行情况,这时进程应转变为其运行情况,这时进程应转变为_ _ _状态,若进程已处状态,若进程已处于阻塞状态,则此时应转变为于阻塞状态,则此时应转变为_ _ _ _ _状态。状态。n n-:A.A.静静止止阻阻塞塞 B.B.活活动动阻阻塞塞 C.C.静静止止就就绪绪 D.D.活活动就绪动就绪 E.E.执行执行 n n-:A.create B.suspend C.active D.block E.wakeup n n B D C En nD C C A
限制150内