您好,欢迎访问三七文档
第二章进程管理安徽财经大学管理科学与工程学院张徽燕2.1进程的基本概念程序的顺序执行方式;程序的并发执行方式;•在多道程序环境下,多个程序并发执行。2.1.1程序的顺序执行及其特征一、程序的顺序执行•把一个应用程序分成若干个程序段,在各程序段之间,必须按照某种先后次序顺序执行。•对一个程序段中的多条语句来说,也有一个执行顺序问题。如:S1:a:=x+y;S2:b:=a-5;S3:c:=b+1;其中,语句S2必须在S1句后(即a被赋值)才能执行,同样,语句S3也只能在S2句后(b被赋值)才能执行。2.1.1程序的顺序执行及其特征图2-1程序的顺序执行(a)程序的顺序执行(b)三条语句的顺序执行I1C1P1I2C2P2S1S2S32.1.1程序的顺序执行及其特征二、程序顺序执行时的特征•1)顺序性:•2)封闭性:•3)可再现性:2.1.2前趋图前趋图是一个有向无循环图,记为DAG,用于描述进程之间执行的前后关系。图中的每个结点可用于描述一个程序段或进程,乃至一条语句;结点间的有向边则用于表示两个结点之间存在的前趋关系“→”。图2-2前趋图P1P3P8P9P4P2P5P6P7S1S2S3(a)具有九个结点的前趋图(b)具有循环的前趋图2.1.3程序的并发执行及其特征一、程序的并发执行二、程序并发执行时的特征:•1)间断性;•2)失去封闭性;•3)不可再现性;•程序经过多次执行后,虽然它们执行时的环境和初始条件相同,但得到的结果却各不相同。2.1.3程序的并发执行及其特征1.程序的并发执行图2-3并发执行时的前趋图P1P2P3P4I1I2I3I4C1C2C3C4在该例中存在下述前趋关系:Ii→Ci,Ii→Ii+1,Ci→Pi,Ci→Ci+1,Pi→Pi+1而Ii+1和Ci及Pi-1是重迭的,亦即在Pi-1和Ci以及Ii+1之间,可以并发执行。对于具有下述四条语句的程序段:S1:a∶=x+2S2:b∶=y+4S3:c∶=a+bS4:d∶=c+b图2-4四条语句的前趋关系S1S2S3S42.程序并发执行时的特征1)间断性2)失去封闭性3)不可再现性例如,有两个循环程序A和B,它们共享一个变量N。程序A每执行一次时,都要做N∶=N+1操作;程序B每执行一次时,都要执行Print(N)操作,然后再将N置成“0”。程序A和B以不同的速度运行。(1)N∶=N+1在Print(N)和N∶=0之前,此时得到的N值分别为n+1,n+1,0。(2)N∶=N+1在Print(N)和N∶=0之后,此时得到的N值分别为n,0,1。(3)N∶=N+1在Print(N)和N∶=0之间,此时得到的N值分别为n,n+1,0。2.1.4进程的定义和特征一、进程的定义为使程序能并发执行,且为了对并发执行的程序加以描述和控制,人们引入了“进程”概念。•为使程序(含数据)能独立运行,在操作系统中应为之配置一个专门的数据结构,称为进程控制块PCB。•进程实体包括:程序段、相关的数据段和PCB三部分。•通常所说的进程,实际上是指进程实体中的PCB。•进程定义:进程是进程实体的运行过程,是系统进行资源分配和调度的一个独立单位。2.1.4进程的定义和特征二、进程的特征1)动态性•进程的实质是进程实体的一次执行过程。•动态性是进程最基本的特征。动态性还表现在:“它由创建而产生,由调度而执行,由撤消而消亡”。2.1.4进程的定义和特征2)并发性•指多个进程实体同存于内存中,且能在一段时间内同时运行。3)独立性•指进程实体是一个能独立运行、独立获得资源和独立接受调度的基本单位。2.1.4进程的定义和特征2.1.4进程的定义和特征4)异步性•指进程按各自独立的、不可预知的速度向前推进,或说进程实体按异步方式运行。2.1.4进程的状态与转换一、进程的三种基本状态•进程具有以下三种基本状态:•1)就绪(Ready)状态;•2)执行状态;•3)阻塞状态;一、进程的三种基本状态1)就绪(Ready)状态:•当进程已分配到除CPU以外的所有必要资源后,只要再获得CPU,便可立即执行,进程这时的状态称为就绪状态。•在一个系统中处于就绪状态的进程可能有多个,通常将它们排成一个队列,称为就绪队列。2)运行状态•进程已获得CPU,其程序正在执行。一、进程的三种基本状态3)阻塞状态•正在执行的进程由于发生某事件而暂时无法继续执行时,便放弃处理机而处于暂停状态,亦即进程的执行受到阻塞,把这种暂停状态称为阻塞状态。一、进程的三种基本状态•致使进程阻塞的典型事件有:请求I/O,申请缓冲空间等。•通常将这种处于阻塞状态的进程也排成一个阻塞队列。有的系统则根据阻塞原因的不同而把处于阻塞状态的进程排成多个队列。一、进程的三种基本状态进程的状态和转换:三态模型就绪阻塞执行时间片完进程调度I/O完成I/O请求图2-5进程的三种基本状态及其转换运行态→阻塞态:等待使用资源;等待外设传输;等待人工干预阻塞态→就绪态:资源得到满足;外设传输结束;人工干预完成运行态→就绪态:运行时间到;出现有更高优先权进程就绪态→运行态:CPU空闲时选择一个就绪进程进程的状态和转换:三态模型二、进程的其他状态:创建状态:创建工作尚未完成,进程不能被调度执行,此时进程所处的状态称为创建状态。处于创建状态的进程,当其获得所需资源以及对PCB的初始化工作完成后,便可转入就绪状态。终止状态:进入终止态的进程不能再执行,但在操作系统中依然保留其PCB,供其他进程收集。一旦善后处理完成后,即将其PCB清零,并将空白PCB返还系统。挂起状态。运行态就绪态阻塞态选中落选出现等待事件等待事件结束新建态终止态进程的状态和转换:五态模型(增加了创建状态和终止状态)进程的挂起:为了系统和用户观察和分析进程的需要,还引入了挂起操作。当某进程被挂起时,意味着此时该进程处于静止状态。如果进程正在执行,他将暂停执行。若原本就处于就绪状态,则该进程此时暂不接受调度。与挂起对应的是激活(ACTIVE)进程的挂起:1.引入挂起状态的原因有:•(1)终端用户的请求。•(2)父进程请求。•(3)负荷调节的需要。•(4)操作系统的需要。进程的挂起:一个挂起进程等同于不在主存的进程,它将不参与进程调度。它具有如下特征:•1)该进程不能立即被执行;•2)挂起进程可能会等待一个事件,但所等待的事件是独立于挂起条件的,事件结束并不能导致进程具备执行条件;进程的挂起:•3)进程进入挂起状态是由于操作系统、父进程或进程本身阻止它的运行;•4)结束进程挂起状态的命令只能通过操作系统或父进程发出;进程的挂起:2.进程状态的转换:•在引入挂起状态后,又将增加从挂起状态(又称为静止状态)到非挂起状态(又称为活动状态)的转换,或者相反。可有以下几种情况:进程的挂起:(1)活动就绪-静止就绪。当进程处于未被挂起的就绪状态时,称此为活动就绪状态,表示为Readya。当用挂起原语Suspend将该进程挂起后,该进程便转变为静止就绪状态,表示为Readys,处于Readys状态的进程不再被调度执行。进程的挂起:(2)活动阻塞-静止阻塞,当进程处于未被挂起的阻塞状态时,称它是处于活动阻塞状态,表示为Blockeda。当用Suspend原语将它挂起后,进程便转变为静止阻塞状态,表示为Blockeds。处于该状态的进程在其所期待的事件出现后,它将从静止阻塞变为静止就绪。进程的挂起:(3)静止就绪-活动就绪。处于Readys状态的进程,若用激活原语Active激活后,该进程将转变为Readya状态。(4)静止阻塞-活动阻塞。处于Blockeds状态的进程,若用激活原语Active激活后,进程将转变为Blockeda状态。引入挂起后进程间状态的转换:挂起等待事件结束出现等待事件解除挂起挂起落选选中运行态活动就绪态等待事件结束终止态新建态静止就绪态解除挂起挂起静止阻塞态活动阻塞态提交提交2.1.5进程控制块(ProcessControlBlock)一、进程控制块的概念:•PCB作为进程实体的一部分,记录了操作系统所需的,用于描述进程的当前情况以及管理进程运行的全部信息,是操作系统中最重要的纪录型数据结构。•系统利用PCB来控制和管理进程,所以PCB是系统感知进程存在的唯一标志。•进程与PCB是一一对应的。2.1.5进程控制块二、进程控制块的作用:•进程控制块的作用是使一个在多道程序环境下不能独立运行的程序(含数据),成为一个能独立运行的基本单位,一个能与其它进程并发执行的进程。三、进程控制块信息:1)进程标识符•进程标识符用于惟一地标识一个进程。•一个进程通常有两种标识符:•(1)内部标识符。由OS为每一个进程赋予一个惟一的数字标识符,它通常是一个进程的序号。主要是为了方便系统使用。•(2)外部标识符。它由创建者提供,通常是由字母、数字组成,往往是由用户(进程)在访问该进程时使用。三、进程控制块信息:2)处理机状态(处理机上下文)•处理机状态信息主要是由处理机的各种寄存器中的内容组成的。•①通用寄存器,又称为用户可视寄存器,它们是用户程序可以访问的,用于暂存信息,在大多数处理机中,有8~32个通用寄存器;•②指令计数器,其中存放了要访问的下一条指令的地址;•③程序状态字PSW,其中含有状态信息,如条件码、执行方式、中断屏蔽标志等;•④用户栈指针,指每个用户进程都有一个或若干个与之相关的系统栈,用于存放过程和系统调用参数及调用地址。栈指针指向该栈的栈顶。三、进程控制块信息:3)进程调度信息•进程状态(如:运行,就绪,阻塞...)•进程优先级•进程调度所需的其他信息•该进程在等待的事件(若被阻塞)三、进程控制块信息:4)进程控制信息•①程序和数据的地址,•②进程同步和通信机制,•③资源清单,•④链接指针,四、进程控制块的组织方式PCB表:•系统把所有PCB组织在一起,并把它们放在内存的固定区域,就构成了PCB表。•PCB表的大小决定了系统中最多可同时存在的进程个数,称为系统的并发度。(注:多道程序中的多道与系统并发度不同)四、进程控制块的组织方式PCB表组织方式:•常用索引方式,对具有相同状态的进程,分别设置各自的PCB索引表,表明PCB在PCB表中的地址。(其他方式:线性方式或链接方式)四、进程控制块的组织方式PCB14PCB2PCB3PCB4PCB5PCB6PCB7PCB8PCB93087901执行指针就绪队列指针阻塞队列指针空闲队列指针…1)链接方式2)索引方式执行指针就绪索引表PCB1PCB2PCB3PCB4PCB5PCB6PCB7阻塞索引表就绪表指针阻塞表指针2.2进程控制进程控制是进程管理中最基本的功能。创建一个新进程、终止一个已完成的进程、负责进程运行中的状态转换。进程控制一般是由OS的内核来实现的。2.2进程控制2.2.1操作系统内核通常将一些与硬件紧密相关的模块(如中断处理程序)、各种常用设备的驱动程序以及运行频率较高的模块(如时钟管理、进程调度和一些公用的基本操作),都安排在紧靠硬件的软件层次中,常驻内存,不会因内存紧张而换出,即通常被称为的OS内核。相对应地,也将处理机的执行状态分为系统态(管态、内核态)和用户态(目态)两种。2.2进程控制不同类型和规模的OS,内核的功能存在着一定的差异,但大都包含以下两大功能:1.支撑功能最基本的三种支撑功能是:中断处理、时钟管理和原语操作。2.资源管理功能2.2进程控制2.2.2进程的创建1.进程图(ProcessGraph)图2-13进程树DEFGHBCIJKLMA2.2进程控制2.引起创建进程的事件(1)用户登录(2)作业调度(3)提供服务(4)应用请求进程控制原语:创建进程原语撤销进程原语阻塞进程原语唤醒进程原语挂起进程原语激活进程原语改变优先数原语调度进程原语一、进程创建:申请空白PCB;为新进程分配资源;初始化进程控制块;将新进程插入就绪队列。二、进程的终止1.引起进程终止(TerminationofProces
本文标题:2第二章 进程管理
链接地址:https://www.777doc.com/doc-3792725 .html