《计算机操作系统(第三版)第二章复习ppt课件.ppt》由会员分享,可在线阅读,更多相关《计算机操作系统(第三版)第二章复习ppt课件.ppt(23页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、第二章进 程 管 理 进程基本概念引入状态前趋图进程控制进程同步进程通信同步与互斥临界资源和临界区同步机制四规则同步方法信号量管程类别经典同步问题线程线程同步与控制用户级与内核级基本概念区别区别消息管道共享存储器小 结 1.1.前前趋趋图图是是一一个个有有向向无无循循环环图图,图图中中每每个个结结点点可可以以表表示示一一条条语语句、一个程序段或一个进程。边表示两个结点的前趋关系。句、一个程序段或一个进程。边表示两个结点的前趋关系。2.2.并并发发程程序序和和顺顺序序程程序序有有本本质质上上的的差差异异。为为了了能能更更好好地地描描述述程程序序的的并并发发执执行行,程程序序并并发发执执行行与与顺
2、顺序序执执行行相相比比产产生生了了一一些些新新特特性性:间间断断性性、失失去去封封闭闭性性、不不可可再再现现性性。实实现现操操作作系系统统的的并发性和共享性,引入并发性和共享性,引入“进程进程”的概念。的概念。3.3.进进程程:是是具具有有一一定定独独立立功功能能的的程程序序关关于于某某个个数数据据集集合合上上的的一一次次运运行行活活动动,是是系系统统进进行行资资源源分分配配和和调调度度的的一一个个独独立立单单位位。(重点)(重点)(重点)(重点)4.4.进进程程具具有有五五特特性性:并并发发性性、动动态态性性、独独立立性性、交交互互性性、异异步步性。进程是动态的概念,而程序是静态的概念。性。
3、进程是动态的概念,而程序是静态的概念。5.5.在操作系统核心中,为进程定义了一个专门的数据结构,在操作系统核心中,为进程定义了一个专门的数据结构,称为称为进程控制块进程控制块PCBPCB。系统利用。系统利用PCBPCB来描述进程的基本情况来描述进程的基本情况以及进程的运行变化过程。以及进程的运行变化过程。PCBPCB是进程存在的唯一标志:进是进程存在的唯一标志:进程由程序、数据和进程控制块程由程序、数据和进程控制块PCBPCB三部分组成三部分组成。(重点)(重点)(重点)(重点)6.6.进程控制块的初始化工作包括初始化标识符信息、初始化进程控制块的初始化工作包括初始化标识符信息、初始化处理机状
4、态信息、初始化控制信息。处理机状态信息、初始化控制信息。7.7.运行中的进程可以处于运行中的进程可以处于三种状态三种状态之一:运行、就绪、阻塞之一:运行、就绪、阻塞(等待)。系统中进程排成队列,就绪队列、阻塞队列。(等待)。系统中进程排成队列,就绪队列、阻塞队列。当进程执行的时间片用完时,进行由执行状态转变为就绪当进程执行的时间片用完时,进行由执行状态转变为就绪状态。执行状态只能由就绪状态转换;而无法由阻塞状态状态。执行状态只能由就绪状态转换;而无法由阻塞状态直接转换。直接转换。(重点)(重点)(重点)(重点)8.临临界界资资源源:也也称称独独占占资资源源,是是指指在在一一段段时时间间内内只只
5、允允许许一一个个进进程程访访问问的的资资源源。在在进进程程中中,访访问问临临界界资资源源的的代代码码称称为为临临界界区区。用用P P、V V操操作作管管理理临临界界区区时时,任任何何一一个个进进程程在在进进入入临临界界区区之之前前应调用应调用P P操作,退出临界区时调用操作,退出临界区时调用V V操作。操作。(重点)(重点)9.9.访访问问临临界界资资源源应应遵遵循循的的四四准准则则为为:空空闲闲让让进进、忙忙则则等等待待、有有限等待、让权等待。限等待、让权等待。10.10.信信号号量量的的物物理理意意义义是是当当信信号号量量值值大大于于零零时时表表示示可可用用资资源源的的数数目目:当当信信号
6、号量量值值小小于于零零时时,其其绝绝对对值值为为在在该该信信号号量量上上等等待待的的进程个数。进程个数。11.11.多多道道程程序序系系统统中中,并并发发运运行行的的进进程程之之间间存存在在着着两两种种相相互互作作用用关关系系:直直接接相相互互作作用用和和间间接接相相互互作作用用。进进程程间间的的直直接接相相互互作作用用构构成成进进程程的的同同步步。进进程程间间的的间间接接相相互互作作用用构构成成进进程程互互斥斥。设设信信号号量量为为S S,并并在在其其上上实实施施P-VP-V操操作作,以以实实现现进进程程间间的的同同步步和互斥。同类进程即为互斥关系,不同类进行即为同步关系。和互斥。同类进程即
7、为互斥关系,不同类进行即为同步关系。12.12.进进程程之之间间必必须须互互相相协协调调,彼彼此此之之间间交交换换信信息息,这这就就是是进进程程之之间间的的通通信信。P-VP-V操操作作只只是是低低级级通通信信原原语语,解解决决大大量量信信息息交交换换问问题题要要采采用用高高级级通通信信原原语语。目目前前常常用用的的高高级级通通信机构信机构有:消息缓冲通信、管道通信和信箱通信。有:消息缓冲通信、管道通信和信箱通信。13.13.进程控制进程控制的作用是:对进程在整个生命周期中各种状态的作用是:对进程在整个生命周期中各种状态之间的转换进行有效的控制。进程控制是通过之间的转换进行有效的控制。进程控制
8、是通过原语原语来实来实现的,用于进程控制的原语一般有:创建进程、撤消进现的,用于进程控制的原语一般有:创建进程、撤消进程、阻塞进程、唤醒进程等。程、阻塞进程、唤醒进程等。14.14.在支持线程的操作系统中,在支持线程的操作系统中,线程线程是进程的一个实体,是是进程的一个实体,是系统实施调度的独立单位。引入线程的目的是进一步提系统实施调度的独立单位。引入线程的目的是进一步提高系统的并发度,减少系统的开销。在操作系统中引入高系统的并发度,减少系统的开销。在操作系统中引入线程概念的主要目的是减少程序并发执行时所需付出的线程概念的主要目的是减少程序并发执行时所需付出的时空开销,提高程序执行的并发程度。
9、时空开销,提高程序执行的并发程度。线程的定义存在多种不同的提法。这些提法可以相互补线程的定义存在多种不同的提法。这些提法可以相互补充对线程的理解:充对线程的理解:线程是进程内的一个执行单元,比进程小。线程是进程内的一个执行单元,比进程小。线程是进程内的一个可调度实体。线程是进程内的一个可调度实体。线程是程序或进程中相对独立的一个控制流序列。线程是程序或进程中相对独立的一个控制流序列。线程本身不能单独运行,只能包含在进程中,只能在进程中线程本身不能单独运行,只能包含在进程中,只能在进程中执行。执行。系统开销:由于创建进程进程时,系统都要为之分配或回系统开销:由于创建进程进程时,系统都要为之分配或
10、回收资源,如内存空间、收资源,如内存空间、IO设备等,操作系统所付出的开销远设备等,操作系统所付出的开销远大于创建或撤销线程时的开销。大于创建或撤销线程时的开销。15.经典进程的同步问题经典进程的同步问题:生产者生产者消费者问题消费者问题读者读者-写者问题写者问题 哲学家进餐问题哲学家进餐问题 关于关于PV问题的解题思路:主要是看进程等的信号和要发问题的解题思路:主要是看进程等的信号和要发出的信号是什么,等信号用出的信号是什么,等信号用P/wait,发信号用,发信号用V/signal。主要步骤是:主要步骤是:分析清楚题目涉及的进程和它们之间的制约关系(同步或分析清楚题目涉及的进程和它们之间的制
11、约关系(同步或互斥)。互斥)。设置信号是(包括信号量的个数和初值及其物理含义),设置信号是(包括信号量的个数和初值及其物理含义),合作进程间需要收发几条消息相应就设置几个信号量。合作进程间需要收发几条消息相应就设置几个信号量。给出进程相应程序的算法描述或流程控制,并把给出进程相应程序的算法描述或流程控制,并把P/wait、V/signal操作加到程序的适当地方。操作加到程序的适当地方。某一进程若收不到另一进程给它提供的必要信息就不能继续下去,这种情况表明了两个进程之间在某些点上要交换信息,相互交流运行情况。这种制约关系称为同步关系,基本形式是“进程进程”。这种制约关系主要源于进程间的合作,同步
12、设置在不同进程之间以达到多种进程间的同步若某一进程要求使用某种资源,而该资源被另一进程使用。并且这一资源不允许两个进程同时使用,那么该等待已占用资源释放资源后再使用,这种制约关系称为互斥,基本形式为“进程资源进程。”这种制约关系源于多个同种进程需要互斥地共享某种系统资源,互斥是设置在同种进程之间以达到互斥地访问资源的目的。信号量及P、V操作讨论1)信号量的物理含义S0表示有S个资源可用S=0表示无资源可用S0则|S|表示S阻塞(等待)队列中的进程个数Wait(S)或)或P(S):表示申:表示申请请一个一个资资源源、或等消息、或等消息signal(S)或)或V(S):表示:表示释释放一个放一个资
13、资源源、或、或发发消息消息信号量的初信号量的初值应该值应该大于等于大于等于0信号量及 Wait 或或P、signal 或或V操作讨论2)Wait/signal 或或P/V操作应该成对出现,有一个 Wait 或或P操作就一定有一个 signal 或或V操作当为互斥操作时,它们同处于同类进程当为同步操作时,则在不同类进程中出现如果 Wait(S1)或 P(S1)和 Wait(S2)或P(S2)两个操作在一起,那么 Wait或或 P操作的顺序至关重要,一个同步 Wait或或 P操作与一个互斥 Wait或或 P操作在一起时同步 Wait或或 P操作在互斥 Wait或或 P操作前,而两个 signal或
14、或 V操作无关紧要.信号量及 Wait 或或P、signal 或或V操作讨论一、填空题(1)从静态角度上看,进程是由_、_、_三部分组成。(2)正在执行的进程由于用完其时间片而被暂停执行,此时进程应从执行状态变成为_。(3)临界区是指进程中用于_的那段代码。(4)设有6个进程共享同一互斥段,若最多允许有3个进程进入互斥段,则所采用的互斥信号量的初值为_。(9)有3个进程共享同一程序段,而每次最多允许两个进程进入该程序段,若用P、V操作作同步机制,则信号量S的取值范围为_。PCB程序段数据段就绪状态访问临界资源32,1,0,-11、若信号量S的初值为2,当前值为-1,则表示有()等待进程。A、0
15、个B、1个C、2个D、3个2、分配到必要的资源并获得处理机时的进程状态是分配到必要的资源并获得处理机时的进程状态是()。A、就绪状态、就绪状态 B、执行状态、执行状态 C、阻塞状态、阻塞状态 D、撤销状态、撤销状态 3 3、在进程状态转换时,下列(、在进程状态转换时,下列()转换是不可能发生的。)转换是不可能发生的。A A、就绪态、就绪态运行态运行态 B B、运行态、运行态就绪态就绪态 C C、运行态、运行态阻塞态阻塞态 D D、阻塞态、阻塞态运行态运行态4在一个单处理机系统中,若有个用户进程,在非管态的在一个单处理机系统中,若有个用户进程,在非管态的某一时刻,处于就绪某一时刻,处于就绪 状态
16、的用户进程最多有()个。状态的用户进程最多有()个。A.5 B.6 C.1 D.4 BBDA5.wait5.wait操作可能导致:操作可能导致:()()。A.A.进程就绪进程就绪 B.B.进程结束进程结束 C.C.进程阻塞进程阻塞 D.D.新进程创建新进程创建C6.()是一种只能进行是一种只能进行wait 操作和操作和 signal 操作的特殊变量。操作的特殊变量。A、调度、调度 B、进程、进程 C、同步、同步 D、信号量、信号量 1.PCB(进程控制块)是标志进程存在的数据结构。(进程控制块)是标志进程存在的数据结构。()2.操作系统中进程是一个独立运行的单位,是系统进行资源操作系统中进程是
17、一个独立运行的单位,是系统进行资源分配和调度的基本单位(分配和调度的基本单位()3.创建线程比创建进程开销小。(创建线程比创建进程开销小。()4.进程存在的唯一标志是它是否处于运行状态。(进程存在的唯一标志是它是否处于运行状态。()5.在操作系统中引入线程概念的主要目的是处理进程与进程在操作系统中引入线程概念的主要目的是处理进程与进程之间的竞争(之间的竞争().DTTTFF1.进程控制块的作用是什么?进程控制块的作用是什么?PCB中应包括哪些信息?中应包括哪些信息?答:答:进程控制块的作用是:进程控制块用于保存每个进程和进程控制块的作用是:进程控制块用于保存每个进程和资源的相关信息,以便于操作
18、系统管理和控制进程和资源。资源的相关信息,以便于操作系统管理和控制进程和资源。PCB中应包括:中应包括:1、进程标识信息:本进程的标识、父进程、进程标识信息:本进程的标识、父进程的标识、进程所属用户的标识。的标识、进程所属用户的标识。2、处理机状态信息。保存进、处理机状态信息。保存进程的运行现场信息,包括用户可用寄存器的信息;控制和状程的运行现场信息,包括用户可用寄存器的信息;控制和状态寄存器的信息;栈指针。态寄存器的信息;栈指针。2.请画图说明进程三种基本状态之间的转换,并指出转换原因。请画图说明进程三种基本状态之间的转换,并指出转换原因。3.何谓临界资源?何谓临界资源?答:临界资源:也称独
19、占资源,是指在一段时间内只允许一答:临界资源:也称独占资源,是指在一段时间内只允许一个进程访问的资源。例如打印机,也可以是进程共享的数据、个进程访问的资源。例如打印机,也可以是进程共享的数据、变量等。变量等。4.什么是临界区?什么是临界区?答:每个进程中访问临界资源的那段程序称为临界区。每次答:每个进程中访问临界资源的那段程序称为临界区。每次只准许一个进程进入临界区,进入后不允许其他进程进入只准许一个进程进入临界区,进入后不允许其他进程进入。5、简述进程同步与互斥的概念与区别。、简述进程同步与互斥的概念与区别。所谓进程同步是指多个相互合作的进程,在一些关键点上所谓进程同步是指多个相互合作的进程
20、,在一些关键点上可能需要互相等待或互相交换信息,这种相互制约关系称为进可能需要互相等待或互相交换信息,这种相互制约关系称为进程同步。程同步。在操作系统中,当一个进程进入临界区使用临界资源时,在操作系统中,当一个进程进入临界区使用临界资源时,另一个进程必须等待,当占用临界资源的进程退出临界区后,另一个进程必须等待,当占用临界资源的进程退出临界区后,另一个进程才允许去访问此临界资源,称进程之间的这种相互另一个进程才允许去访问此临界资源,称进程之间的这种相互制约关系为进程互斥。制约关系为进程互斥。其实互斥是进程同步的一种特殊情况,互斥也是为了达到其实互斥是进程同步的一种特殊情况,互斥也是为了达到让进
21、程之间协调推进的目的。让进程之间协调推进的目的。应用题应用题1.购购物物问问题题。某某超超级级市市场场,可可容容纳纳100个个人人同同时时购购物物,入入口口处处备备有有篮篮子子,每每个个购购物物者者可可持持一一个个篮篮子子入入内内购购物物。出出口口处处结结账账,并并归归还还篮篮子子(出出、入入口口仅仅容容纳纳一一人人通通过过)。请请用用 wait(P)、signal(V)操操作作完完成成购物算法。购物算法。答:答:同步信号量同步信号量S 表示同时在超级市场购物的人数;表示同时在超级市场购物的人数;信号量信号量mutex1 表示入口临界资源;表示入口临界资源;信号量信号量mutex2 表示出口临
22、界资源。表示出口临界资源。只要只要S=100,顾客便可进入超级市场。顾客便可进入超级市场。S=100 mutex1/mutex2的初始值为的初始值为1Var S,mutex1,mutex2:semaphore;S:=100;mutex1:=1;mutex2:=1 process Pi:begin wait(S);wait(mutex1);进入口处,取一只篮子;进入口处,取一只篮子;signal(mutex1);选购商品选购商品;wait(mutex2);结账,并归还篮子;结账,并归还篮子;signal(mutex2);signal(S);end2、某处有一东、西向单行道,其上班交通并不繁忙。试
23、用某处有一东、西向单行道,其上班交通并不繁忙。试用wait和和signal操作正确实现该东、西向单行道的管理:当有车操作正确实现该东、西向单行道的管理:当有车由东向西(或由西向东)行驶时,另一方向的车需要等待;由东向西(或由西向东)行驶时,另一方向的车需要等待;同一方向的车可连续通过;当某一方向已无车辆在单行道行同一方向的车可连续通过;当某一方向已无车辆在单行道行驶时,则另一方向的车可以驶入单行道(要求写出信号量含驶时,则另一方向的车可以驶入单行道(要求写出信号量含义和程序描述义和程序描述)。)。解:单车道意味着双向车流必须互斥地通过桥。解:单车道意味着双向车流必须互斥地通过桥。设置信号量设置
24、信号量mutex控制双向车流对桥的互斥使用。初值控制双向车流对桥的互斥使用。初值mutex=1。定义两个计数器定义两个计数器C1和和C2,分别记录由东向西行的车辆数和,分别记录由东向西行的车辆数和由西向东行的车辆数。由西向东行的车辆数。设置信号量设置信号量S1控制计数器控制计数器C1的互斥使用。初值的互斥使用。初值S1=1。设置信号量设置信号量S2控制计数器控制计数器C2的互斥使用。初值的互斥使用。初值S2=1。Semaphore:S1=1,S2=1,mutex=1;int:C1=0;C2=0;cobegin由东向西行的车辆:由东向西行的车辆:beginwait(S1);C1=C1+1;if(
25、Cl=l)then wait(mutex);signal(S1);过桥过桥;wait(S1);C1=C1-1;if(C1=0)then signal(mutex);signal(S1);end由西向东行的车辆:由西向东行的车辆:beginwait(S2);C2=C2+1;if(C2=l)then wait(mutex);signal(S2);过桥过桥;wait(S2);C2=C2-1;if(C2=0)then signal(mutex);signal(S2);endcoend第二章第二章习题课习题课二、应用题5.某寺庙有小、老和尚若干,有一水缸,由小和尚提水入缸供老和尚饮用。水缸可以容纳10桶
26、水,水取自同一井水。水井狭窄,每次只能容一个桶取水。水桶总数为3个。每次入、出水缸仅一桶,且不可同时进行。试给出有关取水、入水的算法描述。process小和尚:beginrepeatP(empty);P(count);P(mutex1);从井中取水;V(mutex1);P(mutex2);送水入水缸;V(mutex2);V(count);V(full);untilfalse;endVarmutex1,mutex2,empty,full,count:semaphore;mutex1:=1;mutex2:=1;empty:=10;full:=0;count:=3;process老和尚:beginrepeatP(full);P(count);P(mutex2);从缸中取水;V(mutex2);V(empty);V(count);untilfalse;end