计算机操作系统ppt课件第2章-进程管理.ppt
《计算机操作系统ppt课件第2章-进程管理.ppt》由会员分享,可在线阅读,更多相关《计算机操作系统ppt课件第2章-进程管理.ppt(86页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、进程管理进程管理进程的描述进程的描述 进程是资源分配和独立运行的基进程是资源分配和独立运行的基本单位。操作系统所具有的四大特征本单位。操作系统所具有的四大特征也是基于进程形成的,即所谓进程观也是基于进程形成的,即所谓进程观点。点。 显然,进程在操作系统中是个极显然,进程在操作系统中是个极其重要的概念。其重要的概念。内容提要内容提要进程的概念进程的概念进程的状态及其转换进程的状态及其转换进程控制进程控制进程的同步和互斥进程的同步和互斥临界资源和临界区临界资源和临界区进程同步机制进程同步机制管程机制管程机制线程线程程序的顺序执行程序的顺序执行 在任何时刻,机器只执行一个操在任何时刻,机器只执行一个
2、操作,只有在前一个操作执行完后,才作,只有在前一个操作执行完后,才能执行后继操作。如下图:能执行后继操作。如下图:程序顺序执行的特点程序顺序执行的特点顺序性顺序性封闭性封闭性可再现性可再现性程序的并发执行程序的并发执行 若干个程序(或程序段)同时在若干个程序(或程序段)同时在系统中运行,这些程序(或程序段)系统中运行,这些程序(或程序段)的执行在时间上是重叠的,一个程序的执行在时间上是重叠的,一个程序(或程序段)的执行尚未结束,另一(或程序段)的执行尚未结束,另一个程序(或程序段)的执行已经开始。个程序(或程序段)的执行已经开始。多道技术下作业执行过程多道技术下作业执行过程作业作业A作业作业B
3、开开始始开开始始空转空转输入输入空转空转输入输入空转空转输入输入空转空转输入输入停停止止停停止止程序并发执行的特点程序并发执行的特点间断性间断性失去封闭性失去封闭性不可再现性不可再现性不可再现性举例之一不可再现性举例之一S1S2S3S4可能的执行序列为:可能的执行序列为:S1 S2 S3 S4S2 S1 S3 S4不可再现性举例之二不可再现性举例之二 例如,有两个循环程序例如,有两个循环程序A A和和B B,它们共享一,它们共享一个变量个变量NN。程序。程序A A每执行一次都做每执行一次都做N=N+1N=N+1的操作,程序的操作,程序B B每执行一次都打印每执行一次都打印NN的值,的值,并将并
4、将NN置为置为0 0。A A和和B B的执行速度不同。的执行速度不同。不可再现性举例之二不可再现性举例之二 打印的结果为打印的结果为N+1N+1,N=0N=0NN+1Print(N)N0程序程序A程序程序B不可再现性举例之二不可再现性举例之二 打印的结果为打印的结果为NN,N=1N=1NN+1Print(N)N0程序程序A程序程序B不可再现性举例之二不可再现性举例之二 打印的结果为打印的结果为NN,N=0N=0NN+1Print(N)N0程序程序A程序程序B进程概念的引入进程概念的引入 多道程序设计技术引入后,程序在多道程序设计技术引入后,程序在系统中的执行是并发执行。并发程序在系统中的执行是
5、并发执行。并发程序在系统中执行时,和顺序程序相比,失去系统中执行时,和顺序程序相比,失去了封闭性,程序与了封闭性,程序与CPUCPU执行的活动之间执行的活动之间不再一一对应,这样就使系统中的活动不再一一对应,这样就使系统中的活动以及各种活动之间的相互关系非常复杂,以及各种活动之间的相互关系非常复杂,从而程序这个静态的概念已不能如实地从而程序这个静态的概念已不能如实地反映系统中的活动情况,为此,现代操反映系统中的活动情况,为此,现代操作系统引入进程概念。作系统引入进程概念。进程的特征进程的特征进程的定义进程的定义进程是程序的一次执行进程是程序的一次执行进程是一个程序及其数据在处理机上顺进程是一个
6、程序及其数据在处理机上顺序执行时所发生的活动序执行时所发生的活动进程是程序在一个数据集合上运行的过进程是程序在一个数据集合上运行的过程,它是系统进行资源分配和调度的一程,它是系统进行资源分配和调度的一个独立单位个独立单位进程是进程实体的运行过程,是系统进进程是进程实体的运行过程,是系统进行资源分配和调度的一个独立单位行资源分配和调度的一个独立单位从操作的角度理解进程从操作的角度理解进程图形窗口界面:一个窗口就是一个进程。图形窗口界面:一个窗口就是一个进程。打开窗口:建立一个进程;关闭窗口:打开窗口:建立一个进程;关闭窗口:一个进程结束。一个进程结束。字符命令界面:一条命令一般就是一个字符命令界
7、面:一条命令一般就是一个进程。命令行尾回车:一个进程开始;进程。命令行尾回车:一个进程开始;命令执行结束命令执行结束( (下一命令提示符出现下一命令提示符出现) ):一个进程结束。一个进程结束。从编程的角度理解进程从编程的角度理解进程进程建立:进程建立:“建立进程建立进程”函数或系统调函数或系统调用用进程结束:进程结束:“撤消进程撤消进程”函数或系统调函数或系统调用,或者程序的正常或非正常结束。用,或者程序的正常或非正常结束。进程与程序进程与程序在并发环境下,一个正在执行中的程序在并发环境下,一个正在执行中的程序称为进程。称为进程。内存中的进程(动态)比外存上的程序内存中的进程(动态)比外存上
8、的程序(静态)要多很多内容(栈,动态数据,(静态)要多很多内容(栈,动态数据,状态信息等)。状态信息等)。一个进程可对应多个程序(代码覆盖)一个进程可对应多个程序(代码覆盖)一个程序可对应多个进程(例如开两个一个程序可对应多个进程(例如开两个WORDWORD窗口)窗口)进程与程序的比较进程与程序的比较进程是动态的;程序是静态的进程是动态的;程序是静态的进程具有并发性;程序本身具有顺序进程具有并发性;程序本身具有顺序性,程序的并发执行是通过进程实现性,程序的并发执行是通过进程实现的的进程具有独立性,是能独立运行的单进程具有独立性,是能独立运行的单位位程序可作为一种软件资源而长期保存;程序可作为一
9、种软件资源而长期保存;进程是程序的一次执行,是动态的,进程是程序的一次执行,是动态的,具有临时有限的生命期具有临时有限的生命期进程具有结构性,从结构上看,进程进程具有结构性,从结构上看,进程是由程序、数据和进程控制块三部分是由程序、数据和进程控制块三部分组成的组成的进程组成模型进程组成模型PCB程序部分程序部分数据集合数据集合进程的组成进程的组成PCBPCB进程控制块是进程实体的一部分,是进程控制块是进程实体的一部分,是操作系统中最重要的记录型数据结构操作系统中最重要的记录型数据结构PCBPCB中记录了操作系统所需的、用于中记录了操作系统所需的、用于描述进程情况及控制进程运行所需的描述进程情况
10、及控制进程运行所需的全部信息全部信息OSOS根据根据PCBPCB来对并发执行的进程进行来对并发执行的进程进行控制和管理控制和管理PCBPCB的结构的结构1进程标识符进程标识符2处理机状态信息处理机状态信息3进程状态信息进程状态信息4进程优先权进程优先权5进程调度所需的其它信息进程调度所需的其它信息6进程阻塞原因进程阻塞原因7进程控制信息进程控制信息8族系关系族系关系9其它信息其它信息进程与进程与PCBPCB的关系的关系每个进程有惟一的每个进程有惟一的PCBPCB操作系统依靠操作系统依靠PCBPCB管理进程管理进程利用利用PCBPCB实现进程的动态并发实现进程的动态并发PCBPCB是进程存在的惟
11、一标志是进程存在的惟一标志进程的三种基本状态进程的三种基本状态新状态和终止状态新状态和终止状态新状态是一个进程刚刚建立,但还未新状态是一个进程刚刚建立,但还未进入就绪队列的状态;进入就绪队列的状态;终止状态是当一个进程已经正常或异终止状态是当一个进程已经正常或异常结束,常结束,OSOS已经将它从就绪队列中已经将它从就绪队列中移出,但尚未被撤销时的状态;移出,但尚未被撤销时的状态;在进程管理中,新状态和终止状态是在进程管理中,新状态和终止状态是非常有用的。非常有用的。进程状态转换的意义进程状态转换的意义 进程在运行期间,不断地从一个进程在运行期间,不断地从一个状态转换到另一个状态,体现出了进状态
12、转换到另一个状态,体现出了进程的动态性。从进程的创建,到执行,程的动态性。从进程的创建,到执行,再到进程的撤销,组成了进程的整个再到进程的撤销,组成了进程的整个生命周期。生命周期。进程状态图进程状态图新进程新进程执行执行结束结束阻塞阻塞就绪就绪接纳接纳中断中断完成完成进程调度进程调度I/O请求或请求或等待某事件等待某事件I/O完成或完成或事件发生事件发生几点说明几点说明进程间的状态转换并非都是可逆的进程间的状态转换并非都是可逆的对于一个进程来说,它处于新状态和对于一个进程来说,它处于新状态和终止状态都只有一次终止状态都只有一次进程间的状态转换并非都是主动的进程间的状态转换并非都是主动的进程在执
13、行态才是真正运行进程在执行态才是真正运行进程控制进程控制 进程控制是指系统使用一些具有进程控制是指系统使用一些具有特定功能的程序段来创建、撤销进程特定功能的程序段来创建、撤销进程以及完成进程运行中的状态转换。这以及完成进程运行中的状态转换。这些功能的实现由些功能的实现由原语原语完成。完成。原语原语 由若干条指令组成。这些指令,由若干条指令组成。这些指令,要么全做,要么全不做,不允许中断。要么全做,要么全不做,不允许中断。是是不可分割不可分割的操作,具有原子操作的的操作,具有原子操作的性质。性质。进程的创建进程的创建 一旦操作系统发现了要求创建新进程的事件一旦操作系统发现了要求创建新进程的事件后
14、,便调用进程创建原语后,便调用进程创建原语CreatCreat( )( ),步骤如下:,步骤如下:申请空申请空白白PCBPCB为新进为新进程分配程分配资源资源初始化初始化PCBPCB插入就插入就绪队列绪队列进程树体现进程间的关系进程树体现进程间的关系ABCDEFGHKIJLM引起创建进程的事件引起创建进程的事件用户登录用户登录作业调度作业调度提供服务提供服务应用请求应用请求引起进程终止的事件引起进程终止的事件正常结束正常结束异常结束异常结束外界干预,包括:操作员或外界干预,包括:操作员或OSOS干预、干预、父进程请求、父进程终止父进程请求、父进程终止进程终止的过程进程终止的过程根据被终止进程的
15、标识符,从PCB集合中检索出该进程的PCB,从中读出该进程的状态;若被终止进程正处于执行状态,应立即终止该进程的执行,并置调度标志为真,用于指示该进程被终止后应重新进行调度;若该进程还有子孙进程,还应将其所有子孙进程予以终止,以防他们成为不可控的进程;将被终止进程所拥有的全部资源,或者归还给其父进程, 或者归还给系统;将被终止进程(它的PCB)从所在队列(或链表)中移出。引起进程阻塞和唤醒的事件引起进程阻塞和唤醒的事件请求系统服务请求系统服务启动某种操作启动某种操作新数据尚未到达新数据尚未到达无新工作可做无新工作可做进程阻塞的过程进程阻塞的过程中断中断CPUCPU将其运行现场保存在其将其运行现
16、场保存在其PCBPCB中中置进程状态为阻塞态置进程状态为阻塞态插入阻塞队列插入阻塞队列转进程调度转进程调度进程唤醒的过程进程唤醒的过程把被阻塞进程从阻塞队列中移出把被阻塞进程从阻塞队列中移出将其将其PCBPCB的现行状态改为就绪状态的现行状态改为就绪状态插入就绪队列中插入就绪队列中进程挂起的过程进程挂起的过程系统利用挂起原语系统利用挂起原语suspend( )suspend( )将指定进将指定进程或处于阻塞状态的进程挂起;程或处于阻塞状态的进程挂起;运行态运行态 静止就绪静止就绪活动就绪活动就绪静止就绪静止就绪活动阻塞活动阻塞静止阻塞静止阻塞进程激活的过程进程激活的过程系统利用激活原语系统利用
17、激活原语active( )active( )将指定进程将指定进程激活;激活;静止就绪静止就绪活动就绪活动就绪静止阻塞静止阻塞活动阻塞活动阻塞进程同步进程同步 进程同步的主要任务,是使并发执行的多个进程同步的主要任务,是使并发执行的多个进程之间能有效地共享资源和互相合作,从而使进程之间能有效地共享资源和互相合作,从而使程序的执行具有程序的执行具有可再现性可再现性。进程间存在的两种关系进程间存在的两种关系资源共享关系资源共享关系互相合作关系互相合作关系临界资源与临界区临界资源与临界区临界资源:一次仅允许一个进程使用临界资源:一次仅允许一个进程使用的共享资源,如打印机、磁带机、共的共享资源,如打印机
18、、磁带机、共享变量等享变量等临界区:在每个进程中访问临界资源临界区:在每个进程中访问临界资源的那段程序,简称的那段程序,简称CSCS区区生产者生产者消费者举例消费者举例inin指针指针outout指针指针1n设置整型变量设置整型变量counter,记录可以消,记录可以消费的消息数。设它的初值为费的消息数。设它的初值为5。执行举例执行举例P1: register1=counter;P2: register1=register1+1;P3: counter=register1;C1: register2=counter;C2: register2=register2-1;C3: counter=r
19、egister2;执行序列一:执行序列一:P1,P2,P3,C1,C2,C3,则最后结果为,则最后结果为counter=5执行序列二:执行序列二:C1,C2,C3,P1,P2,P3 ,则最后结果为,则最后结果为counter=5执行序列三:执行序列三:P1,P2,C1,C2,P3,C3,则最后结果为,则最后结果为counter=4具有临界区的进程结构具有临界区的进程结构一个访问临界资源的循环进程可描述如下:一个访问临界资源的循环进程可描述如下:repeat entry section critical section exit section remainder sectionuntil fa
20、lse;结果分析结果分析 执行序列三最后结果执行序列三最后结果counter的值为的值为4,是,是错误的,这表明程序的执行不能具有可再现性错误的,这表明程序的执行不能具有可再现性。为了预防发生这种错误,解决此问题的关键。为了预防发生这种错误,解决此问题的关键,是应把变量,是应把变量counter设为临界资源,令生产设为临界资源,令生产者和消费者进程互斥访问变量者和消费者进程互斥访问变量counter。同步机制应遵循的机制同步机制应遵循的机制空闲让进空闲让进忙则等待忙则等待有限等待有限等待让权等待让权等待用软件方法解决进程互斥问题用软件方法解决进程互斥问题 利用软件方法来解决进程互斥问题,可以利
21、用软件方法来解决进程互斥问题,可以在很大程度上体现进程互斥问题的复杂度,现在很大程度上体现进程互斥问题的复杂度,现在已经很少使用软件方法来解决进程互斥了。在已经很少使用软件方法来解决进程互斥了。算法一算法一设置一个公用整型变量设置一个公用整型变量turn,用于指示被允许进,用于指示被允许进入临界区的进程编号。入临界区的进程编号。repeat while turni do no_op; critical section turn=j; remainder sectionuntil false;算法算法1不能保证实现不能保证实现“空闲让进空闲让进”的准则。的准则。算法二算法二repeat whil
22、e flagj do no_op; critical section flagi=false; remainder sectionuntil false;算法算法2违背了违背了“忙则等待忙则等待”的准则。的准则。Boolean flagn; flagi=true;算法三算法三repeat while flagj do no_op; critical section flagi=false; remainder sectionuntil false;算法算法3违背了违背了“有空让进有空让进”的准则。的准则。Boolean flagn; flagi=true;算法四算法四repeat while(
23、flagj and turn=j) do no_op; critical section flagi=false; remainder sectionuntil false;算法算法4结合了算法结合了算法2和算法和算法3各自的优点,各自的优点,是一种成功的算法。是一种成功的算法。Boolean flagn; flagi=true; turn=j;用硬件方法解决进程互斥问题用硬件方法解决进程互斥问题利用利用Test-and-SetTest-and-Set指令实现互斥指令实现互斥利用利用SwapSwap指令实现互斥指令实现互斥Test-and-SetTest-and-Set指令指令boolean
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 操作系统 ppt 课件 进程 管理
限制150内