计算机操作系统-第3章进程和处理机管理.ppt
《计算机操作系统-第3章进程和处理机管理.ppt》由会员分享,可在线阅读,更多相关《计算机操作系统-第3章进程和处理机管理.ppt(83页珍藏版)》请在三一办公上搜索。
1、清华大学出版社,计算机操作系统,刘 腾 红 主编,Computer Operating System,第3章 进程和处理机管理,要求学生掌握程序的顺序执行和并发执行;进程的定义、特点及状态变迁;进程的管理;线程的概念、类别;进程间的同步与互斥;进程通信;死锁产生的原因与解除方法;处理机、进程和作业的调度方法;最后还要了解Windows XP的进程和线程管理。,第3章 进程和处理机管理,3.1 进程的基本概念 3.2 进程管理 3.3 线程的概念 3.4 进程间的同步与互斥 3.5进程通信 3.6死锁 3.7处理机调度 3.8Windows XP的进程和线程管理,3.1.1 程序顺序执行 1.程
2、序顺序执行,3.1 进程的基本概念,图3-1 程序的顺序执行,2.程序顺序执行的特点(1)顺序性(2)封闭性(3)可再现性,3.1.2 程序并发执行 1.程序的并发执行 如图3-2,I3、C2、P1是并发执行的,则使用下面的语句描述:cobegin I3;C2;P1;coend;,3.1 进程的基本概念,2.程序并发执行的特点(1)失去了程序的封闭性 程序之间的相互制约关系(间接关系和直接关系)导致程序“执行-暂停-执行”,即程序的执行具有间断性。(2)通信性:如图3-3(3)独立性,3.1 进程的基本概念,3.1.3 进程描述 1.进程定义 最能反映进程实质的定义有:1)进程是程序的一次执行
3、活动;2)进程是可以和别的计算并发执行的计算;3)进程是一个程序在对应数据结构上的进行的操作;,3.1 进程的基本概念,4)所谓进程,就是一个程序在给定活动空间和初始环境下,在一个处理机上的执行过程;5)进程是程序在一个数据集合上运行的过程,它是系统进程资源分配和调度的一个独立单位。国内的定义:进程,是一个具有一定独立功能的程序,是关于某个数据集合的一次运行活动。,3.1 进程的基本概念,1.进程定义进程和程序的联系和区别:1)程序是指令的有序集合,其本身没有任何运行的含义,它是一个静态的概念。进程是程序在处理机上的一次执行过程,它是一个动态的概念。2)进程具有并行特征,能与其它进程并行地活动
4、;,3.1 进程的基本概念,2.进程类型(1)系统进程和用户进程,两者的区别:1)系统进程被分配一个初始的资源集合,其可以独占或按最高优先权限优先使用这些资源。但用户进程必须通过系统服务请求来申请资源,并竞争资源 2)用户进程不能直接完成I/O操作,而系统进程可以做显示的、直接的I/O操作 3)系统进程在管态下运行,而用户进程在目态下运行(2)计算进程和I/O进程,3.1 进程的基本概念,3.进程的特征和利弊 特征:1)动态性 2)并发性 3)独立性 4)异步性/间断性 5)结构特征 每个进程都有进程控制块PCB:其包含描述进程和控制信息 引入进程增加开销:空间开销和时间开销,3.1 进程的基
5、本概念,4.进程的状态与变迁 进程的三种基本状态及其状态变迁如图3-4 在不同的系统中,进程可以设置更多的状态,3.1 进程的基本概念,5.进程描述进程控制块PCB 1)PCB的作用:标识进程存在的唯一实体 2)进程控制块的内容进程控制块PCB常用的信息如表3-1。3)PCB的组织方式 a)链接方式如图3-5 b)索引方式如图3-6,3.1 进程的基本概念,表3-1 PCB信息,表3-1 PCB信息,3.1 进程的基本概念,表3-1 PCB信息,图3-5 按链接方式组织PCB,3.1 进程的基本概念,索 引 表,图3-6 按索引方式组织PCB,3.2.1 进程创建原语 进程创建原语的主要功能是
6、为被创建进程建立一个PCB 创建进程原语的操作过程是:首先从空闲PCB队列中申请一个可用的PCB,申请到后为该PCB分配一个内部标识符;然后填入创建者提供的参数和直接从父进程继承的参数;把新进程设为就绪状态,并插入到就绪队列和进程家族;最后,返回为新进程的内部标识PID(进程存在的唯一标识),3.2 进程管理,3.2.1 进程创建原语创建原语描述如下:,3.2 进程管理,算法:create输入:新进程的符号名,优先级,开始执行地址输出:新创建进程的内部标识符PID在总链队列上查找有无同名的进程;if(有同名进程)return(错误码)/*带错误码返回*/在空闲PCB队列申请一个空闲的PCB结构
7、;if(无空PCB结构)return(错误码);/*带错误码返回*/用参数填充PCB内容;置进程为就绪状态;将新进程的PCB插入到就绪队列;将新进程的PCB插入到总链队列中;设置进程的家族关系;return(新进程PID);/*create(name,priority,start-addr)*/,3.2.2 进程撤消原语撤消原语Kill操作如下:,3.2 进程管理,void kill输入:进程标识符PID输出:无 由参数PID查找到当前进程的PCB;释放本进程所占用的资源给父进程;将该进程从总链队列中摘除;释放此PCB结构;释放所占用的资源;转进程调度程序;/*kill*/,3.2.3 进程等
8、待原语等待原语操作过程如下:,3.2 进程管理,void susp(chan)输入:chan/*等待的事件(等待原因)*/保护现行进程CPU现场到PCB结构中;置该进程为“等待/阻塞”态;将该进程PCB插入到等chan的等待队列;转进程调度;/*susp(chan)*/,3.2.4 进程唤醒原语唤醒原语操作过程如下:,3.2 进程管理,void wakeup(chan)输入:chan/*等待的事件(等待原因)*/输出:无 保护现行运行进程的CPU现场到它的PCB结构中;置该进程为就绪状态;将该进程插入就绪队列;找到该阻塞原因的队列指针;for(该队列上的每一个等待进程)将进程移出此等待队列;置
9、进程状态为“就绪”并将进程放入就绪队列;转进程调度;/*wakeup(chan)*/,3.2.5 其他原语1.进程延迟原语和延迟唤醒原语 延迟原语的功能是:将需要延迟的进程PCB结构加入到延迟队列,当延迟时间到来时,由延迟唤醒进程(系统进程)把它唤醒2.进程挂起原语和进程激活原语 进程的挂起状态是一种静止状态,它分为挂起就绪和挂起等待。,3.2 进程管理,3.3.1 线程的概念 线程是比进程更小的活动单位,它是进程的一个执行路径。线程可以这样描述:1)线程是进程中的一条执行路径 2)它有自己的私用堆栈和处理机执行环境(尤其是处理器寄存器)3)它与父进程共享分配给父进程的主存 4)它是由单个进程
10、所创建的众多线程中的一个线程,3.3 线程的概念,3.3.2 线程与进程的比较1.调度:把线程作为调度和分派的基本单位,而把进程作为资源拥有的基本单位2.并发性:不仅进程之间可以并发执行,而且在一个进程中的多个线程之间也可并发执行3.拥有资源:进程是拥有资源的一个独立单位,线程不拥有系统资源,但可访问隶属于进程的全部资源。4.系统开销:由于在创建或撤消进程时,系统都要为之分配或回收资源,导致系统的开销将显著地大于在创建或撤销线程时的开销。,3.3 线程的概念,3.3.3 线程的分类 1.线程的两种类型 1)内核支持线程Kernel-Supported Threads 2)用户级线程User-L
11、evel Threads 2.两种线程的分析,3.3 线程的概念,3.4.1 进程间的制约关系 1.资源共享 互斥共享和同时访问 2.进程合作 进程相互合作和通信,共同完成一个任务3.4.2 进程互斥 1.互斥的概念 互斥共享的资源:物理设备和软件资源 相关概念:临界区和临界资源,3.4 进程间的同步与互斥,3.4.2 进程互斥2.锁及其操作置锁信号为1称为上锁原语(lock),置锁信号为0称为开锁原语(unlock),代码如下所示,3.4 进程间的同步与互斥,上锁原语,开锁原语,void lock(锁变量w)test:if(w为1)goto test/*测试锁位的值*/else w=1;/*
12、上锁*/*lock(w)*/,void unlock(锁变量w)w=0;/*开锁*/*unlock(w)*/,3.4.2 进程互斥2.锁及其操作goto语句使进程一直占用处理机来循环测试锁状态,故将上锁原语和开锁原语改进如下,3.4 进程间的同步与互斥,改进后的上锁原语,改进后的开锁原语,void lock(锁变量)while(w=1)保护现行进程CPU现场;现行进程入w的等待队列;置进程为“等待”状态;转进程调度;w=1;/*上锁*/*lock(w)*/,void lock(锁变量)while(w=1)保护现行进程CPU现场;现行进程入w的等待队列;置进程为“等待”状态;转进程调度;w=1;
13、/*上锁*/*lock(w)*/,3.4.2 进程互斥3.使用锁实现进程互斥如图3-7,说明了两个进程使用同一临界资源时的操作。两者都必须先执行上锁原语,3.4 进程间的同步与互斥,图3-7 进程使用临界资源时的操作,与图3-7相应的进程互斥代码如下:,3.4 进程间的同步与互斥,main()int w=0;/系统初启时置锁状态cobeginppa();/进程Appb();/进程Bcoendppa()/进程A;lock(w);进程A的临界区CSa;unlock(w);ppb()/进程B;lock(w);进程B的临界区CSb;unlock(w);,3.4.3 信号灯和P、V操作 1.信号灯的概念
14、 1965年荷兰Dijkstra提出的进程同步工具 信号灯表示:二元组(s,q)其中:s具有非负初值的整型变量,代表资源实体或并发进程的状态;q是一个初始状态为空的等待队列,3.4 进程间的同步与互斥,3.4.3 信号灯和P、V操作2.P、V操作原语系统一般提供P、V操作原语来修改信号灯的值如果信号灯用s表示,则P操作记为P(s),V操作记为V(s)1)P操作:对信号灯进行减1操作,再根据信号灯的值对调用P操作的进程进行相应处理 2)V操作:对信号灯进行加1操作,3.4 进程间的同步与互斥,3.4.3 信号灯和P、V操作,3.4 进程间的同步与互斥,void p(变量s)/变量s为信号灯 s-
15、;if(s0)/进程进入相应的等待队列保留调用进程CPU现场;将该进程进入s的等待队列;置“等待”状态;转进程调度;/*p(s)*/,1)P操作过程,void v(变量s)/变量s为信号灯 s+;if(s=0)移出s等待队列首元素;将该进程入就绪队列;置“就绪”状态;/*v(s)*/,2)V操作过程,3.4.3 信号灯和P、V操作 3.使用P、V操作实现进程互斥 举例1:说明两个进程使用信号灯实现进程互斥 设系统中同类的互斥资源只有1个,则:1)信号灯的初值为1,表示资源可用,2)信号灯的值小于等于0,表示资源已经被进程占用,则另一进程只能等待。相关代码见下页图表,3.4 进程间的同步与互斥,
16、3.4 进程间的同步与互斥,main()int mutex=1;/互斥信号灯cobeginpa();/进程Apb();/进程Bcoendpa();/进程A;P(mutex);进程A的临界区CSa;V(mutex);;pb();/进程B;P(mutex);进程B的临界区CSb;V(mutex);;,3.4.3 信号灯和P、V操作3.使用P、V操作实现进程互斥 举例2:假设系统中同类型的临界资源有多个,则信号灯的初始值应设为n信号灯mutex的值的意义如下:1)初始信号灯mutex0,表示系统中同类临界资源的数目有mutex个;2)操作中mutex0,表示可用的同类临界资源的数目为mutex;,3
17、.4 进程间的同步与互斥,3)操作中mutex0,则表示临界资源已经用完,在等待队列中有|mutex|个进程。4)mutex=0,n个临界资源正好用完 信号灯mutex取值范围:1)如果系统中只有一个临界资源,被两个进程共享,则信号灯mutex的取值范围为:1、0、-1三个值。2)当用mutex实现n个进程互斥共享一个临界资源时,其值的范围为1-(n-1),3.4 进程间的同步与互斥,3.4 进程间的同步与互斥,图3-9计算进程和打印进程之间的同步,(a)进程同步例1,(b)进程同步例2,图3-8 进程合作例子,3.4.4 进程同步 1.进程同步概念 合作进程的两种同步关系:1)在执行次序上的
18、同步;2)共享缓冲的同步,3.4.4 进程同步2.使用信号灯实现进程同步 举例1:如图3-8(a),设两个同步信号灯Sb、Sc,分别表示进程Pb、Pc是否可以开始行,Sb、Sc的初始值均为0,表示进程Pb、Pc还不能开始执行,如果为1,则进程Pb、Pc就可以开始执行。进程Pb、Pc中的P操作起测试作用,而进程Pa中的操作相当于唤醒,3.4 进程间的同步与互斥,图3-8(a)中的三个进程同步的代码,main()int Sb=0;int Sc=0;cobeginPa();Pb();Pc();coendPa()/进程 Pa;V(Sb);V(Sc);Pb()/进程 PbP(Sb);Pc()/进程 Pc
19、P(Sc);,main()int Sa=0;cobeginPa();Pb();Pc();coendPa()/进程 Pa;V(Sa);V(Sa);Pb()/进程 PbP(Sa);Pc()/进程 PcP(Sa);,2.使用信号灯实现进程同步 举例2:根据图3-9计算进程和打印进程之间的同步的规则,设置两个信号灯Sa、Sb,信号灯意义如下:1)信号灯Sa表示缓冲中有无数据,其初值为0,即缓冲中没有数据。2)信号灯Sb用来表示缓冲区有无空位置存放计算进程的计算结果,其初值为1,表示缓冲中有空的位置。,3.4 进程间的同步与互斥,计算进程cp和打印进程iop的同步代码,mainint Sa=0;/缓冲中
20、没有数据int Sb=1;/缓冲中有空位置cobegincp();iop();coendcp()/计算进程while(计算没有完成)计算一个结果数据;P(Sb);将结果数据送到缓冲区;V(Sa);iop()/打印进程while(打印工作没有完成)P(Sa);将结果数据从缓冲区中取出;V(Sb);在打印机上输出;,3.4.4 进程同步3.生产者和消费者问题(如图3-10所示)解决:设置两个信号灯full(表示缓冲中存放的产品的数量,初始值为0)和empty(表示缓冲中空位置的数量,初始值为n)设置一个互斥信号灯mutex,其初始值为1,3.4 进程间的同步与互斥,缓冲区,使用信号灯解决消费者问题
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 操作系统 进程 处理机 管理

链接地址:https://www.31ppt.com/p-6342507.html