1、课程名称计算机操作课程名称计算机操作系统系统School of ManagementSchool of ManagementTianjin UniversityTianjin University第二章:第二章:进程管理进程管理第二章:第二章:进程管理进程管理2.1 2.1 进程的基本概念进程的基本概念(进程的引入进程的引入)程序的顺序执行及其特征程序的顺序执行及其特征一个具有独立功能的程序一个具有独立功能的程序独占独占处理机处理机运行,直至得到最终结果的过程称为运行,直至得到最终结果的过程称为程序的顺序执行。例如,用户要求计程序的顺序执行。例如,用户要求计算机完成一道程序的运行时,通常先算机
2、完成一道程序的运行时,通常先输入用户的程序和数据,然后运行程输入用户的程序和数据,然后运行程序进行计算,最后将结果打印出来。序进行计算,最后将结果打印出来。School of ManagementSchool of ManagementTianjin UniversityTianjin University进程的基本概念进程的基本概念示意图示意图用圆结点表示各程序段的操作,其中用圆结点表示各程序段的操作,其中I I表示输入,表示输入,C C表示计算,表示计算,P P表示打印,表示打印,用箭头指明操作间的先后次序。计算用箭头指明操作间的先后次序。计算机处理完一道程序后再处理下一道程机处理完一道程
3、序后再处理下一道程序。序。顺序行、封闭性、可再现性顺序行、封闭性、可再现性School of ManagementSchool of ManagementTianjin UniversityTianjin University进程的基本概念进程的基本概念前趋图前趋图每个结点可以表示一个语句、一个程每个结点可以表示一个语句、一个程序段或是一个进程,结点间的有向边序段或是一个进程,结点间的有向边表示两个结点之间存在的前趋关系。表示两个结点之间存在的前趋关系。若图中存在结点若图中存在结点PiPi指向结点指向结点PjPj的有向的有向边,则称结点边,则称结点PiPi是结点是结点PjPj的直接前趋,的直接
4、前趋,而结点而结点PjPj是结点是结点PiPi的直接后继的直接后继没有前趋的结点称为初始结点,没有没有前趋的结点称为初始结点,没有后继的结点称终止结点后继的结点称终止结点School of ManagementSchool of ManagementTianjin UniversityTianjin University进程的基本概念进程的基本概念请指出上图中的前趋关系请指出上图中的前趋关系School of ManagementSchool of ManagementTianjin UniversityTianjin University进程的基本概念进程的基本概念程序的并发执行及其特征程序
5、的并发执行及其特征程序并发执行是有条件的。在程序并程序并发执行是有条件的。在程序并发执行时,是绝对不允许出现发执行时,是绝对不允许出现“与时与时间有关的错误的间有关的错误的”。I1I5I4I2I3C1C5C4C2C3P1P5P4P2P3School of ManagementSchool of ManagementTianjin UniversityTianjin University进程的基本概念进程的基本概念程序并发执行的特征程序并发执行的特征 间断性间断性相互制约导致并发程序具有相互制约导致并发程序具有“执行暂执行暂停执行停执行”的活动规律的活动规律 失去封闭性失去封闭性由于多个程序共享
6、系统中的资源,程序由于多个程序共享系统中的资源,程序执行时必然收到其它程序的影响。执行时必然收到其它程序的影响。不可再现性不可再现性程序经过多次执行后,可能得到的结果程序经过多次执行后,可能得到的结果各不相同各不相同 注意:注意:程序是不能并发执行的程序是不能并发执行的,引入引入“进程进程”School of ManagementSchool of ManagementTianjin UniversityTianjin University进程的基本概念进程的基本概念进程的特征与状态进程的特征与状态特征特征结构特征结构特征进程控制块进程控制块PCBPCB程序段、相关的数据、程序段、相关的数据、
7、PCBPCB三部三部分构成了分构成了进程实体进程实体动态性动态性:进程实体一次执行过程进程实体一次执行过程并发性:多个进程在内存同时运并发性:多个进程在内存同时运行行独立性:独立分配资源和接受调独立性:独立分配资源和接受调度度异步性:不可预知的速度向前推异步性:不可预知的速度向前推进进School of ManagementSchool of ManagementTianjin UniversityTianjin University进程的基本概念进程的基本概念 举例举例 我们举一个例子,比如在有一个我们举一个例子,比如在有一个用户程序用户程序notepad.exe(notepad.exe(记
8、事本记事本),当它存,当它存放在磁盘上时,就是一个程序,在放在磁盘上时,就是一个程序,在windows windows 操作系统下运行它时,就会在内操作系统下运行它时,就会在内存中建立一个记事本程序的进程,而我们存中建立一个记事本程序的进程,而我们在记事本中编辑的当前文字就是这个进程在记事本中编辑的当前文字就是这个进程的数据集,操作系统会为当前的进程设置的数据集,操作系统会为当前的进程设置一个进程控制块。如果我们再打开一个记一个进程控制块。如果我们再打开一个记事本程序的窗口,就会建立另一个进程,事本程序的窗口,就会建立另一个进程,此时运行的是同一个程序,但存在两个进此时运行的是同一个程序,但存
9、在两个进程,第二个窗口中的编辑内容就是第二个程,第二个窗口中的编辑内容就是第二个进程的数据集。进程的数据集。School of ManagementSchool of ManagementTianjin UniversityTianjin University进程的基本概念进程的基本概念进程的定义进程的定义进程是程序的一次执行进程是程序的一次执行进程是一个程序及其数据在处理进程是一个程序及其数据在处理机上顺序执行时所发生的活动机上顺序执行时所发生的活动进程是程序在一个数据集合上运进程是程序在一个数据集合上运行的过程,它是系统进行资源分配行的过程,它是系统进行资源分配和调度的一个独立单位和调度的
10、一个独立单位一个进程从创建而产生至撤销而消亡一个进程从创建而产生至撤销而消亡的整个生命周期,可用一组状态加以的整个生命周期,可用一组状态加以刻划,刻划,,按进程在执行过程中的状况按进程在执行过程中的状况至少定义三种不同的至少定义三种不同的进程状态进程状态School of ManagementSchool of ManagementTianjin UniversityTianjin University进程的基本概念进程的基本概念运行态运行态(runningrunning):该进程已经获得):该进程已经获得CPUCPU,正在执行正在执行就绪态就绪态(readyready):进程已经分配到除):
11、进程已经分配到除CPUCPU以外所有的必需资源,只要获得以外所有的必需资源,只要获得CPUCPU就可就可立即执行,这种状态成为就绪状态。处于立即执行,这种状态成为就绪状态。处于就绪状态的进程通常排成一个队列,称为就绪状态的进程通常排成一个队列,称为“就绪队列就绪队列”阻塞态阻塞态(blockedblocked):正在执行的进程由于):正在执行的进程由于发生事件而暂时无法继续执行,放弃发生事件而暂时无法继续执行,放弃CPUCPU处于暂停的状态。比如:请求处于暂停的状态。比如:请求I/OI/O操作等操作等School of ManagementSchool of ManagementTianjin
12、 UniversityTianjin University进程的基本概念进程的基本概念时间时间片完片完运行态运行态就绪态就绪态阻塞态阻塞态进程进程调度调度出现等待事件出现等待事件等待事件结束等待事件结束进程的三种基本状态和转换进程的三种基本状态和转换School of ManagementSchool of ManagementTianjin UniversityTianjin University进程的基本概念进程的基本概念引起状态发生转换的具体原因:引起状态发生转换的具体原因:运行态运行态阻塞态:等待使用资源或某阻塞态:等待使用资源或某事件发生事件发生 ;阻塞态阻塞态就绪态:资源得到满足或
13、事就绪态:资源得到满足或事件发生件发生 ;运行态运行态就绪态:运行时间片到;出就绪态:运行时间片到;出现有更高优先权进程。现有更高优先权进程。就绪态就绪态运行态:运行态:CPUCPU空闲时选择一空闲时选择一个就绪进程。个就绪进程。School of ManagementSchool of ManagementTianjin UniversityTianjin University进程的基本概念进程的基本概念 进程的挂起状态进程的挂起状态 为什么要有为什么要有“挂起挂起”状态状态?由于进程的不断创建,系统资源已不能满由于进程的不断创建,系统资源已不能满足进程运行的要求,就必须把某些进程挂足进程运
14、行的要求,就必须把某些进程挂起(起(suspendsuspend),对换到磁盘镜像区中,),对换到磁盘镜像区中,暂时不参与进程调度,起到平滑系统操作暂时不参与进程调度,起到平滑系统操作负荷的目的。负荷的目的。产生挂起状态的原因有:产生挂起状态的原因有:School of ManagementSchool of ManagementTianjin UniversityTianjin University进程的基本概念进程的基本概念(1)(1)系统中的进程均处于等待状态,需系统中的进程均处于等待状态,需要把一些阻塞进程对换出去,腾出足要把一些阻塞进程对换出去,腾出足够内存装入就绪进程运行。够内存装
15、入就绪进程运行。(2)(2)进程竞争资源,导致系统资源不足,进程竞争资源,导致系统资源不足,负荷过重,需要挂起部分进程以调整负荷过重,需要挂起部分进程以调整系统负荷系统负荷,保证系统的实时性或让系统保证系统的实时性或让系统正常运行。正常运行。(3)(3)定期执行的进程(如审计、监控、定期执行的进程(如审计、监控、记账程序)对换出去,以减轻系统负记账程序)对换出去,以减轻系统负荷。荷。School of ManagementSchool of ManagementTianjin UniversityTianjin University进程的基本概念进程的基本概念(4)(4)用户要求挂起自己的进程
16、,以便进用户要求挂起自己的进程,以便进行某些调试、检查和改正。行某些调试、检查和改正。(5)(5)父进程要求挂起后代进程,以进行父进程要求挂起后代进程,以进行某些检查和改正。某些检查和改正。(6)(6)操作系统需要挂起某些进程,检查操作系统需要挂起某些进程,检查运行中资源使用情况,以改善系统性运行中资源使用情况,以改善系统性能能;或当系统出现故障或某些功能受或当系统出现故障或某些功能受到破坏时,需要挂起某些进程以排除到破坏时,需要挂起某些进程以排除故障。故障。School of ManagementSchool of ManagementTianjin UniversityTianjin Un
17、iversity进程的基本概念进程的基本概念进程增加了两个新状态进程增加了两个新状态 静止就绪态(静止就绪态(ready suspendready suspend)表)表明进程具备运行条件但目前在二明进程具备运行条件但目前在二级存储器中,当它被对换到主存级存储器中,当它被对换到主存才能被调度执行。才能被调度执行。静止阻塞态(静止阻塞态(blocked suspendblocked suspend)表明进程正在等待某一个事件且表明进程正在等待某一个事件且在二级存储器中。在二级存储器中。School of ManagementSchool of ManagementTianjin Universi
18、tyTianjin University进程的基本概念进程的基本概念具有挂起状态的进程状态转换图具有挂起状态的进程状态转换图School of ManagementSchool of ManagementTianjin UniversityTianjin University进程的基本概念进程的基本概念挂起进程特征:挂起进程特征:该进程不能立即被执行。该进程不能立即被执行。挂起进程可能会等待事件,但所等待挂起进程可能会等待事件,但所等待事件是独立于挂起条件的,事件结束事件是独立于挂起条件的,事件结束并不能导致进程具备执行条件。并不能导致进程具备执行条件。进程进入挂起状态是由于操作系统、进程进入
19、挂起状态是由于操作系统、父进程或进程本身阻止它的运行。父进程或进程本身阻止它的运行。结束进程挂起状态的命令只能通过操结束进程挂起状态的命令只能通过操作系统或父进程发出。作系统或父进程发出。School of ManagementSchool of ManagementTianjin UniversityTianjin University进程的基本概念进程的基本概念 进程控制块进程控制块进程控制块进程控制块PCBPCB ,是操作系统用于,是操作系统用于记录和刻划进程状态及有关信息的记录和刻划进程状态及有关信息的数据结构。也是操作系统掌握进程数据结构。也是操作系统掌握进程的唯一资料结构,它包括了
20、进程执的唯一资料结构,它包括了进程执行时的情况,以及进程让出处理器行时的情况,以及进程让出处理器后所处的状态、断点等信息。后所处的状态、断点等信息。OSOS是通过是通过PCBPCB来感知进程的存在。来感知进程的存在。School of ManagementSchool of ManagementTianjin UniversityTianjin University进程的基本概念进程的基本概念 进程控制块中的信息进程控制块中的信息进程标志符进程标志符:用于唯一地标识一个进程,分由用户使用于唯一地标识一个进程,分由用户使用的外部标识符和被系统使用的内部标用的外部标识符和被系统使用的内部标识号。识
21、号。常用的标识信息有进程标识符、父进程常用的标识信息有进程标识符、父进程的标识符、用户进程名、用户组名等。的标识符、用户进程名、用户组名等。School of ManagementSchool of ManagementTianjin UniversityTianjin University进程的基本概念进程的基本概念处理机状态处理机状态保留进程运行时存放在处理器现场中保留进程运行时存放在处理器现场中的各种信息,进程让出处理器时必须的各种信息,进程让出处理器时必须把处理器现场信息保存到把处理器现场信息保存到PCBPCB中,当中,当该进程重新恢复运行时也应恢复处理该进程重新恢复运行时也应恢复处理
22、器现场。器现场。现场信息包括通用寄存器内容、控制现场信息包括通用寄存器内容、控制寄存器内容、用户堆栈指针、系统堆寄存器内容、用户堆栈指针、系统堆栈指针等。栈指针等。School of ManagementSchool of ManagementTianjin UniversityTianjin University进程的基本概念进程的基本概念进程调度信息进程调度信息 进程调度相关信息,如进程状态、等待事件进程调度相关信息,如进程状态、等待事件和等待原因、和等待原因、进程优先级进程优先级、队列指引元等;、队列指引元等;进程控制信息进程控制信息 程序和数据的地址程序和数据的地址 进程通信机制,如消
23、息队列指针,信号量进程通信机制,如消息队列指针,信号量 资源清单,包括进程所需全部资源、已经分资源清单,包括进程所需全部资源、已经分得资源得资源,如主存资源、如主存资源、I/OI/O设备、打开文件表设备、打开文件表等。等。链接指针,给出本进程所在队列的下一个进链接指针,给出本进程所在队列的下一个进程的程的PCBPCB首地址首地址School of ManagementSchool of ManagementTianjin UniversityTianjin University进程的基本概念进程的基本概念进程控制块的组织方式进程控制块的组织方式 处于同一状态的所有处于同一状态的所有PCBPCB
24、链接在一起的数据链接在一起的数据结构称为进程队列结构称为进程队列(Process Queues)(Process Queues)。同一状态进程的同一状态进程的PCBPCB既可按先来先到的原则既可按先来先到的原则排成队列排成队列;也可按优先数或其它原则排成队也可按优先数或其它原则排成队列列 链接方式链接方式系统为每个队列设置一个队列标志系统为每个队列设置一个队列标志:1.1.单向链接时单向链接时,队列标志指引元指向队列中队列标志指引元指向队列中第一个进程的队列指引元的位置第一个进程的队列指引元的位置;School of ManagementSchool of ManagementTianjin
25、UniversityTianjin University进程的基本概念进程的基本概念执行指针执行指针就绪队列指针就绪队列指针阻塞队列指针阻塞队列指针空闲队列指针空闲队列指针PCB1PCB2PCB3PCB4PCB5PCB6PCB7PCB8PCB94308 7901可根据阻塞原因不同把处于阻塞状态的进程可根据阻塞原因不同把处于阻塞状态的进程PCB排成不同队列排成不同队列School of ManagementSchool of ManagementTianjin UniversityTianjin University进程的基本概念进程的基本概念处理器处理器指派指派提交提交完成完成超时超时事件事件
26、1 1等待队列等待队列事件事件2 2等待队列等待队列事件事件n n等待队列等待队列就绪队列就绪队列等待事件等待事件1 1等待事件等待事件2 2等待事件等待事件n n事件事件1 1出现出现事件事件2 2出现出现事件事件n n出现出现School of ManagementSchool of ManagementTianjin UniversityTianjin University进程的基本概念进程的基本概念索引组织方式索引组织方式执行指针就绪表指针阻塞表指针PCB1PCB4PCB3PCB2PCB5PCB7PCB6就绪索引表阻塞索引表School of ManagementSchool of M
27、anagementTianjin UniversityTianjin University进程控制进程控制2.2 2.2 进程控制进程控制进程的创建进程的创建进程图用于描述一个进程家族关系进程图用于描述一个进程家族关系的有向图的有向图子进程可以继承父进程的所有资子进程可以继承父进程的所有资源,当子进程被撤消时,应将从父源,当子进程被撤消时,应将从父进程那里获得的资源归还给父进程。进程那里获得的资源归还给父进程。撤消父进程时也必须同时撤消其撤消父进程时也必须同时撤消其所有的子进程。所有的子进程。School of ManagementSchool of ManagementTianjin Uni
28、versityTianjin University进程控制进程控制 进程创建来源于以下事件:进程创建来源于以下事件:提交一个批处理作业提交一个批处理作业在终端上交互式的登录在终端上交互式的登录操作系统创建一个服务进程操作系统创建一个服务进程应用请求应用请求ABCDMEIJHGFLKSchool of ManagementSchool of ManagementTianjin UniversityTianjin University进程控制进程控制进程的创建(进程的创建(createcreate原语)原语)申请空白的申请空白的PCB PCB 为新进程分配唯一的数字为新进程分配唯一的数字标识符,并
29、从标识符,并从PCBPCB集合中索取一个空白的集合中索取一个空白的PCBPCB 为新进程分配资源为新进程的程序和数据为新进程分配资源为新进程的程序和数据以及内存空间以及内存空间 初始化进程控制块初始化进程控制块PCBPCB的初始化包括:初的初始化包括:初始化始化标志标志信息,将系统中分配的标识符、父信息,将系统中分配的标识符、父进程标识符填入新进程标识符填入新PCBPCB中;初始化处理机中;初始化处理机状状态态信息,是程序计数器指向程序的入口地址,信息,是程序计数器指向程序的入口地址,栈指针指向栈顶;初始化处理机栈指针指向栈顶;初始化处理机控制控制信息,信息,将进程的状态设置为就绪状态将进程的
30、状态设置为就绪状态1.1.将新进程插到就绪队列将新进程插到就绪队列School of ManagementSchool of ManagementTianjin UniversityTianjin University进程控制进程控制入口入口查查PCB链表链表有空有空PCB?PCB(I)入进程家族或进程链)入进程家族或进程链PCB(I)入就绪队列入就绪队列将有关参数填入将有关参数填入PCB(I)相应项)相应项取空表取空表PCB(I)返回返回创建失败创建失败无无创建原语流程图创建原语流程图有有School of ManagementSchool of ManagementTianjin Univ
31、ersityTianjin University进程控制进程控制 进程的终止(撤销进程)进程的终止(撤销进程)引起进程终止的事件引起进程终止的事件 进程正常运行结束。进程正常运行结束。进程执行了非法指令。进程执行了非法指令。进程在常态下执行了特权指令。进程在常态下执行了特权指令。进程运行时间超越了分给的最大时间段。进程运行时间超越了分给的最大时间段。进程等待时间超越了设定的最大等待时进程等待时间超越了设定的最大等待时间。间。School of ManagementSchool of ManagementTianjin UniversityTianjin University进程控制进程控制 进
32、程申请的内存超过了系统能提供最进程申请的内存超过了系统能提供最大量。大量。越界错误。越界错误。算术错误,如除零和操作数溢出。算术错误,如除零和操作数溢出。严重的输入输出错误。严重的输入输出错误。操作员或操作系统干预。操作员或操作系统干预。父进程撤销其子进程。父进程撤销其子进程。父进程撤销。父进程撤销。操作系统终止。操作系统终止。School of ManagementSchool of ManagementTianjin UniversityTianjin University进程控制进程控制 进程的终止过程进程的终止过程1 1 根据撤销进程标识号,从相应队列中找根据撤销进程标识号,从相应队列
33、中找到它的到它的PCBPCB;从中读出该进程的状态;从中读出该进程的状态2 2 若被终止进程处于执行态,应立即终止若被终止进程处于执行态,应立即终止该进程的执行,并设置调度标志为真该进程的执行,并设置调度标志为真(用于指示该进程被终止后应重新调(用于指示该进程被终止后应重新调度),然后再选择一个进程,分配处理度),然后再选择一个进程,分配处理机给它。机给它。3 3 如果该进程还有子孙进程,还应将它的如果该进程还有子孙进程,还应将它的所有子孙进程进行终止,以防它们称为所有子孙进程进行终止,以防它们称为不可控的。不可控的。School of ManagementSchool of Manageme
34、ntTianjin UniversityTianjin University进程控制进程控制4 4 将该进程所拥有的全部资源,或者归还将该进程所拥有的全部资源,或者归还给它的父进程,或者归还给系统。给它的父进程,或者归还给系统。5 5 将被终止进程(将被终止进程(PCBPCB)从所在队列(链)从所在队列(链表)中移出,等待其它程序来搜索信表)中移出,等待其它程序来搜索信息。息。进程的阻塞与唤醒进程的阻塞与唤醒 引起进程阻塞和唤醒的事件引起进程阻塞和唤醒的事件 请求系统服务:例如,进程请求使用某种请求系统服务:例如,进程请求使用某种资源资源1.1.启动某种操作:启动启动某种操作:启动I/OI/O
35、操作操作School of ManagementSchool of ManagementTianjin UniversityTianjin University进程控制进程控制新数据尚未到达:合作进程新数据尚未到达:合作进程无新工作可作:特殊服务的系统进程无新工作可作:特殊服务的系统进程进程的阻塞过程进程的阻塞过程 当有阻塞事件发生时,进程便调用阻当有阻塞事件发生时,进程便调用阻塞原语塞原语blockblock把自己阻塞。把自己阻塞。停止进程执行,保存现场信息到停止进程执行,保存现场信息到PCBPCB。修改修改PCBPCB的有关内容,如进程状态由运的有关内容,如进程状态由运行改为等待等。行改为
36、等待等。把修改状态后的把修改状态后的PCBPCB加入相应等待进程加入相应等待进程队列。队列。School of ManagementSchool of ManagementTianjin UniversityTianjin University进程控制进程控制 进程的唤醒过程进程的唤醒过程当阻塞进程所期待的事件出现时。则调当阻塞进程所期待的事件出现时。则调用唤醒原语用唤醒原语wakeupwakeup(),将等待事件的(),将等待事件的进程唤醒。进程唤醒。唤醒原语执行的过程是:首先把被阻塞唤醒原语执行的过程是:首先把被阻塞进程从等待该事件的阻塞队列中移出,进程从等待该事件的阻塞队列中移出,将其将
37、其PCBPCB中的阻塞状态改为就绪状态,中的阻塞状态改为就绪状态,然后把该进程插入到就绪队列中。然后把该进程插入到就绪队列中。School of ManagementSchool of ManagementTianjin UniversityTianjin University进程控制进程控制 进程的挂起与激活进程的挂起与激活当出现了引起进程当出现了引起进程挂起挂起的事件时,用户的事件时,用户请求将自己挂起,或者父进程请求挂起请求将自己挂起,或者父进程请求挂起自己的子进程,应该利用挂起原语自己的子进程,应该利用挂起原语suspend()suspend()执行过程:首先检查被挂起进程的状态,执行
38、过程:首先检查被挂起进程的状态,活动阻塞态改为静止阻塞,活动就绪态活动阻塞态改为静止阻塞,活动就绪态改为静止就绪态,排入相应队列中。改为静止就绪态,排入相应队列中。被挂起进程被挂起进程PCBPCB的非常驻部分要交换到的非常驻部分要交换到磁盘对换区。磁盘对换区。School of ManagementSchool of ManagementTianjin UniversityTianjin University进程控制进程控制激活激活原语主要工作:把进程原语主要工作:把进程PCBPCB非常驻非常驻部分调进内存,修改它的状态,静止阻部分调进内存,修改它的状态,静止阻塞态改为活动阻塞态,静止就绪态改为塞态改为活动阻塞态,静止就绪态改为活动就绪态,排入相应队列中。活动就绪态,排入相应队列中。当有新的进程进入就绪队列时,应检查当有新的进程进入就绪队列时,应检查是否需要重新调度,即与当前进程进行是否需要重新调度,即与当前进程进行优先级的比较。优先级的比较。挂起原语既可由进程自己也可由其他进挂起原语既可由进程自己也可由其他进程调用,但激活原语却只能由其他进程程调用,但激活原语却只能由其他进程调用。调用。谢谢!
侵权处理QQ:3464097650--上传资料QQ:3464097650
【声明】本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是网络空间服务平台,本站所有原创文档下载所得归上传人所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。