第二章_进程管理习题修改汇总
第2章进程管理练习题(答案)
第2章进程管理练习题(答案)第二章进程管理一、单项选择题1、在单一处理机上执行程序,多道程序的执行是在(B)进行的。
A.同一时刻B. 同一时间间隔内C.某一固定时刻D. 某一固定时间间隔内2、引入多道程序技术后,处理机的利用率( C)。
A.降低了B. 有所改善C.大大提高D. 没有变化,只是程序的执行方便了3、顺序程序和并发程序的执行相比,( C)。
A.基本相同 C.并发程序执行总体上执行时间快B. 有点不同 D.顺序程序执行总体上执行时间快4、单一处理机上,将执行时间有重叠的几个程序称为(C )。
A.顺序程序B. 多道程序C.并发程序D. 并行程序5、进程和程序的本质区别是(D )。
A.存储在内存和外存B.顺序和非顺序执行机器指令C.分时使用和独占使用计算机资源D.动态和静态特征6、进程就是程序在并发环境中的执行过程,它是系统进行资源分配和调度的一个基本单位。
进程具有[1A]、[2D]、调度性、异步性和结构性等基本特征。
进程是一次执行过程,具有生命期体现了进程的[1]特征。
进程由程序段、[3B]、[4C]组成,其中[4]是进程在系统中存在的唯一标识。
供选择的答案:[1][2] :A、动态性 B、静态性 C、共行性 D、并发性 E、可执行性 F、易用性[3] :A、过程 B、数据 C、进程标识符 D、函数[4] :A、FCB B、FIFO C、PCB D、JCB7、进程执行时的间断性,决定了进程可能具有多种状态。
进程的基本状态有三种,在分时系统中,当一个进程拥有的时间片到时,则该进程即由[1D]进入[2A]。
如果出现因某种原因使得处理机空闲时,则需要从就绪队列中选择一进程,并将处理机分配给它,此时该进程进入[3D],这个过程是由[4C]来完成。
供选择的答案:[1][2][3] :A、就绪状态 B、静止状态 C、阻塞状态 D、运行状态[4] :A、进程控制程序B、资源分配程序C、进程调度程序D、处理机分配程序8、为了描述进程的动态变化过程,采用了一个与进程相联系的(C ),根据它而感知进程的存在。
操作系统第二版课后习题答案
操作系统第二版课后习题答案操作系统第二版课后习题答案操作系统是计算机科学中的重要领域,它负责管理计算机硬件和软件资源,为用户提供良好的使用体验。
在学习操作系统的过程中,课后习题是巩固和深化知识的重要方式。
本文将为大家提供操作系统第二版课后习题的答案,帮助读者更好地理解和掌握操作系统的知识。
第一章:引论1. 操作系统的主要功能包括进程管理、内存管理、文件系统管理和设备管理。
2. 进程是指正在执行的程序的实例。
进程控制块(PCB)是操作系统用来管理进程的数据结构,包含进程的状态、程序计数器、寄存器等信息。
3. 多道程序设计是指在内存中同时存放多个程序,通过时间片轮转等调度算法,使得多个程序交替执行。
4. 异步输入输出是指程序执行期间,可以进行输入输出操作,而不需要等待输入输出完成。
第二章:进程管理1. 进程调度的目标包括提高系统吞吐量、减少响应时间、提高公平性等。
2. 进程调度算法包括先来先服务(FCFS)、最短作业优先(SJF)、优先级调度、时间片轮转等。
3. 饥饿是指某个进程长时间得不到执行的情况,可以通过调整优先级或引入抢占机制来解决。
4. 死锁是指多个进程因为争夺资源而陷入无限等待的状态,可以通过资源预分配、避免环路等方式来避免死锁。
第三章:内存管理1. 内存管理的主要任务包括内存分配、内存保护、地址转换等。
2. 连续内存分配包括固定分区分配、可变分区分配和动态分区分配。
3. 分页和分段是常见的非连续内存分配方式,分页将进程的地址空间划分为固定大小的页,分段将进程的地址空间划分为逻辑段。
4. 页面置换算法包括最佳置换算法、先进先出(FIFO)算法、最近最久未使用(LRU)算法等。
第四章:文件系统管理1. 文件是操作系统中用来存储和组织数据的逻辑单位,可以是文本文件、图像文件、音频文件等。
2. 文件系统的主要功能包括文件的创建、删除、读取、写入等操作。
3. 文件系统的组织方式包括层次目录结构、索引结构、位图结构等。
操作系统第二章课后答案
第二章进程管理2. 试画出下面4条语句的前趋图:S2: b:=z+1;S3: c:=a-b;S4: w:=c+1;3.程序在并发执行时,由于它们共享系统资源,以及为完成同一项任务而相互合作,致使在这些并发执行的进程之间,形成了相互制约的关系,从而也就使得进程在执行期间出现间断性。
4. 程序并发执行时为什么会失去封闭性和可再现性?因为程序并发执行时,是多个程序共享系统中的各种资源,因而这些资源的状态是由多个程序来改变,致使程序的运行失去了封闭性。
而程序一旦失去了封闭性也会导致其再失去可再现性。
5. 在操作系统中为什么要引入进程概念?它会产生什么样的影响?为了使程序在多道程序环境下能并发执行,并能对并发执行的程序加以控制和描述,从而在操作系统中引入了进程概念。
影响: 使程序的并发执行得以实行。
6. 试从动态性,并发性和独立性上比较进程和程序?a. 动态性是进程最基本的特性,可表现为由创建而产生,由调度而执行,因得不到资源而暂停执行,以及由撤销而消亡,因而进程由一定的生命期;而程序只是一组有序指令的集合,是静态实体。
b. 并发性是进程的重要特征,同时也是OS的重要特征。
引入进程的目的正是为了使其程序能和其它建立了进程的程序并发执行,而程序本身是不能并发执行的。
c. 独立性是指进程实体是一个能独立运行的基本单位,同时也是系统中独立获得资源和独立调度的基本单位。
而对于未建立任何进程的程序,都不能作为一个独立的单位来运行。
7. 试说明PCB的作用?为什么说PCB是进程存在的唯一标志?a. PCB是进程实体的一部分,是操作系统中最重要的记录型数据结构。
PCB中记录了操作系统所需的用于描述进程情况及控制进程运行所需的全部信息。
因而它的作用是使一个在多道程序环境下不能独立运行的程序(含数据),成为一个能独立运行的基本单位,一个能和其它进程并发执行的进程。
b. 在进程的整个生命周期中,系统总是通过其PCB对进程进行控制,系统是根据进程的PCB而不是任何别的什么而感知到该进程的存在的,所以说,PCB是进程存在的唯一标志。
第二章习题(进程管理)
第二章习题(进程管理)三、简答题1.在操作系统中为什么要引入进程的概念?进程和程序的关系?为了使程序在多道程序环境下能并发执行,并对并发执行的程序加以控制和描述,在操作系统中引入了进程概念。
同一程序同时运行于若干个数据集合上,它将属于若干个不同的进程。
也就是说同一程序可以对应多个进程。
在传统的操作系统中,程序并不能独立运行,作为资源分配和独立运行的基本单元都是进程。
2.试从动态性、并发性和独立性上比较进程和程序。
动态性是进程最基本的特性,可表现为由创建而产生,由调度而执行,因得不到资源而暂停执行,以及由撤销而消亡,因而进程由一定的生命期;而程序只是一组有序指令的集合,是静态实体.并发性是进程的重要特征,同时也是OS的重要特征.引入进程的目的正是为了使其程序能和其它进程的程序并发执行,而程序是不能并发执行的.独立性是指进程实体是一个能独立运行的基本单位,同时也是系统中独立获得资源和独立调度的基本单位.而对于未建立任何进程的程序,都不能作为一个独立的单位参加运行.3.何谓进程,进程由哪些部分组成?进程就是你的计算机正在运行的程序.进程就是一个活跃着的程序,即:已经被放入了系统调度队列当中了,占有了一定的系统资源的程序.程序在没有被调用之前只能叫程序,被调用并得到了资源后就可以称其为进程了,进程可以由许多线程组成,线程与进程的主要区别在于同一进程里的线程之间可以共享一些临界资源,而进程之间则不可以,每个进程是孤立的,其实,无论是进程还是线程都是一段受命并在内存中得到执行的代码.4.进程控制块的作用是什么?它主要包括哪几部分内容?进程控制块的作用是使一个在多道程序环境下不能独立运行的程序成为一个能独立运行的基本单位,即形成一个能与其他进程并发执行的进程。
包括内容:进程标识符,处理机状态,控制信息,调度信息.5.进程的基本状态,试举出使进程状态发生变化的事件并描绘它的状态转换图。
答:一个进程必须具有以下三种基本状态:⑴就绪状态⑵执行状态⑶阻塞状态(第二问略)6.什么是原语?所谓原语,是操作系统内核中,由若干条指令构成、用于完成一个特定的功能的一个过程,该过程在执行时是不可中断的。
第二章 进程管理-答案
第二章进程管理一、单项选择题1、顺序程序和并发程序的执行相比,()。
A.基本相同B. 有点不同C.并发程序执行总体上执行时间快D.顺序程序执行总体上执行时间快2、在单一处理机上,将执行时间有重叠的几个程序称为()。
A.顺序程序B. 多道程序C.并发程序D. 并行程序3、进程和程序的本质区别是()。
A.存储在内存和外存B.顺序和非顺序执行机器指令C.分时使用和独占使用计算机资源D.动态和静态特征4、在下列特性中,不是进程的特性的是()。
A. 异步性B. 并发性C. 静态性D. 动态性5、各进程向前推进的速度是不可预知,体现出“走走停停”的特征,称为进程的()。
A.动态性B.并发性C.调度性D.异步性6、在单处理机系统中,处于运行状态的进程()。
A.只有一个B. 可以有多个C.不能被挂起D. 必须在执行完后才能被撤下7、下列进程状态的转换中,不正确的是()。
A. 就绪→运行B. 运行→就绪C. 就绪→阻塞D. 阻塞→就绪8、已经获得除()以外的所有运行所需资源的进程处于就绪状态。
A.存储器B. 打印机C. CPUD. 磁盘空间9、一个进程被唤醒意味着()。
A.该进程重新占有了CPUB.进程状态变为就绪C.它的优先权变为最大D.其PCB移至就绪队列的队首10、进程从运行状态变为阻塞状态的原因是()。
A.输入或输出事件发生B.时间片到C.输入或输出事件完成D.某个进程被唤醒11、为了描述进程的动态变化过程,采用了一个与进程相联系的(),根据它而感知进程的存在。
A.进程状态字B. 进程优先数C.进程控制块D. 进程起始地址12、操作系统中有一组常称为特殊系统调用的程序,它不能被系统中断,在操作系统中称为()。
A.初始化程序B. 原语C.子程序D. 控制模块13、进程间的基本关系为()。
A.相互独立与相互制约B.同步与互斥C.并行执行与资源共享D. 信息传递与信息缓冲14、两个进程合作完成一个任务,在并发执行中,一个进程要等待其合作伙伴发来信息,或者建立某个条件后再向前执行,这种关系是进程间的()关系。
第二章_进程管理习题修改
一、选择题1.在进程管理中,当 C 时,进程从阻塞状态变为就绪状态。
A.进程被进程调度程序选中B.等待某一事件C.等待的事件发生D.时间片用完2.分配到必要的资源并获得处理机时的进程状态是 B 。
A.就绪状态B.执行状态C.阻塞状态D.撤消状态3.进程的三个基本状态在一定条件下可以相互转化,进程由就绪状态变为运行状态的条件是 D 。
A.时间片用完B.等待某事件发生C.等待的某事件已发生D.被进程调度程序选中4.进程的三个基本状态在一定条件下可以相互转化,进程由运行状态变为阻塞状态的条件是 B 。
A.时间片用完B.等待某事件发生C.等待的某事件已发生D.被进程调度程序选中5.下列的进程状态变化中, C 变化是不可能发生的。
A.运行(就绪B.就绪(运行C.等待(运行D.等待(就绪6.一个运行的进程用完了分配给它的时间片后,它的状态变为 A 。
A.就绪B.等待C.运行D.由用户自己确定7.操作系统通过 B 对进程进行管理。
A. JCBB. PCBC. DCTD. CHCT8.一个进程被唤醒意味着 D 。
A. 该进程重新占有了CPUB. 它的优先权变为最大C. 其PCB移至等待队列队首D. 进程变为就绪状态9.多道程序环境下,操作系统分配资源以C 为基本单位。
A. 程序B. 指令C. 进程D. 作业10. 从下面的叙述中选出一条正确的叙述:(1)操作系统的一个重要概念是进程,不同的进程所执行的代码也不同。
(2)操作系统通过PCB来控制和管理进程,用户进程可从PCB中读出与本身运行状态相关的信息。
(3)当进程由执行状态变为就绪状态时,CPU现场信息必须被保存在PCB中。
(4)当进程申请CPU得不到满足时,它将处于阻塞状态。
(5)进程是可与其他程序并发执行的程序在一个数据集合上的运行过程,所以程序段是进程存在的唯一标志。
11. 从下面的叙述中选出4条正确的叙述:(1)一个进程的状态发生变化总会引起其它一些进程的状态发生变化。
第2章 进程管理课后习题解答
第2章 进程管理 章
END
15
13
第2章 进程管理 章
19.设公共汽车上有一位司机和一位售票员,它们的活动 如下:
请分析司机与售票员之间的同步关系,如何用P、V 操作实 现。 【解答】为了安全起见,显然要求:关车门后才能启动车辆; 到站后才能开车门。所以司机和售票员在到站、开门、关门、 启动车辆这几个活动之间存在着同步关系。两个信号量S1、 S2分别表示可以开车和可以开门,S1的初值为1,S2的初 值为0。
5
第2章 进程管理 章
9.试说明进程的基本状态及转换的原因。 【解答】略
10.在创建一个进程时,所要做的工作有哪些? 【解答】操作系统通过进程创建原语来创建一个进 程。创建原语通过下述步骤创建一个进程: (1)申请空白PCB。 (2)为新进程分配资源。 (3)初始化进程控制块。 (4)将新建进程插入就绪态队列。
9
第2章 进程管理 章
15.什么是线程?说明它与进程的主要区别。 【解答】略
10
第2章 进程管理 章
16.什么是多线程机制?引入它有什么好处? 【解答】多线程机制是指操作系统支持在一个进程 内执行多个线程的能力。 引入线程的好处有以下几点: (1)易于调度。由于线程只作为独立调度的基本单 位,同一进程的多个线程共享进程的资源,所以线 程易于切换。 (2)提高了系统的效率。通过线程可方便有效地实 现并发性。进程可创建多个线程来执行同一程序的 不同部分。 (3)创建一个线程比创建一个进程花费的开销少, 创建速度快。 (4)在多处理器的系统中,有利于发挥多处理器的 功能,提高进程的并行性。 11
7
第2章 进程管理 章
12.在生产者—消费者问题中,如果缺少了 signal(full)或signal(empty),对执行结果将会有 何影响? 【解答】略 13.在生产者—消费者问题中,如果两个wait操作 即wait(mutex)和wait(empty)位置互换,会产生 什么后果? 【解答】如果两个wait操作即wait(mutex)和 wait(empty)位置互换,则有可能产生死锁。
第二章 进程管理习题及答案
第二章进程管理习题及答案一、填空题1.进程得静态描述由三部分组成: ① 、② 与③ 。
【答案】①PCB、②程序部分、③相关得数据结构集【解析】PCB就是系统感知进程得唯一实体。
进程得程序部分描述了进程所要完成得功能,而数据结构集就是程序在执行时必不可少得工作区与操作对象。
后两部分就是进程完成所需功能得物质基础。
2.进程存在得标志就是。
【答案】进程控制块PCB【解析】系统根据PCB感知进程得存在与通过PCB中所包含得各项变量得变化,掌握进程所处得状态以达到控制进程活动得目得。
3. ① 就是现代操作系统得基本特征之一,为了更好地描述这一特征而引入了② 这一概念。
【答案】①程序得并发执行,②进程【解析】程序得并发执行与资源共享就是现代操行系统得基本特征。
程序得并发执行使程序失去了程序顺序执行时所具有得封闭性与可再现性。
在程序并发执行时,程序这个概念不能反映程序并发执行所具有得特性,所以引入进程概念来描述程序并发执行所具有得特点。
4.给出用于进程控制得四种常见得原语① 、② 、③ 与④ 。
【答案】①创建原语、②撤消原语、③阻塞原语、④唤醒原语【解析】进程控制就是系统使用一些具有特定功能得程序段来创建、撤消进程以及完成进程各状态间得转换,从而达到多个过程高效率地并行执行与协调,实现资源共享得目得。
把那些在管态下执行得具有特定功能得程序段称为原语。
5.进程被创建后,最初处于① 状态,然后经② 选中后进入③ 状态。
【答案】①就绪,②进程调度程序,③运行【解析】进程得从无到有,从存在到消亡就是由进程创建原语与撤消原语完成得。
被创建得进程最初处于就绪状态,即该进程获得了除处理机以外得所有资源,处于准备执行得状态;从就绪状态到运行状态得转换就是由进程调度程序来完成得。
6.进程调度得方式通常有① 与② 方式两种。
【答案】①可剥夺、②非剥夺【解析】所谓可剥夺方式,就是指就绪队列中一旦有优先级高于当前运行进程得优先级得进程存在时,便立即发生进程调度,转让处理机。
02第二章进程管理习题解答.ppt
18、同步机制应遵循哪些基本准则?为什么?
答:用来实现互斥的同步机制必须遵循下述四条 准则:
(1)空闲让进。临界资源空闲时,应允许一 个请求进入临界区的进程立即进入自己的临界区, 以便有效地利用资源。
(2)忙则等待。当临界资源正被访问时,其 他要求进入临界区的进程必须等待,以保证对临 界资源的互斥使用。
•
C0nsume item in nextc;
• Until false;
• End.
•
• 答:修改过的程序如下面带有斜体的命令所示。
• Producer:
• Begin
• Repeat
•…
•
Produce an item in nextp;
•
wait(empty);
•
wait(mutex);
• Buffer(in):=nextp;
• In:=(in+1)mod N
• Siqnal(mutex);
• signal(full);
• Until false;
• End.
• consumer:
• Begin
• Repeat
• waห้องสมุดไป่ตู้t(full);
• wait(mutex);
• Nextc:=buffer(0ut);
• out:=(out+1)mod N;
第二章进程管理习题解答
5、在操作系统中为什么要引入进程概念?它会产生什么样 的影响? 答:在操作系统中引入进程概念,是为了实现多个程序的 并发执行。传统的程序不能与其他程序并发执行,只有在 为之创建进程后,才能与其他程序(进程)并发执行。这 是因为并发执行的程序(即进程)是“停停走走”地执行, 只有在为它创建进程后,在它停下时,方能将其现场信息 保存在它的PCB中,待下次被调度执行时,再从PCB中 恢复CPU现场而继续执行,而传统的程序却无法满足上 述要求。 建立进程所带来的好处是使多个程序能并发执行,这极大 地提高了资源利用率和系统吞吐量。但管理进程也需付出 一定的代价,包括进程控制块及协调各运行的机构所占用 的内存空间开销,以及为进行进程间的切换、同步及通信 等所付出的时间开销。
第2章 进程管理(参考答案)
第2章进程管理(参考答案)第2章 1.单项选择题 BCDCC CBDAD2.答:进程是一个可并发执行的具有独立功能的程序关于某个数据集合的一次执行过程,也是操作系统进行资源分配和保护的基本单位。
进程的属性:结构性、共享性、动态性、独立性、制约性、并发性。
3.答:区别:(1)进程是动态的,程序是静态的;(2)进程是暂时的,程序是永久的;(3)进程与程序的组成不同:进程的组成包括程序、数据和进程控制块(即进程状态信息),而程序是指令的有序集合。
联系:通过多次执行,一个程序可对应多个进程;通过调用关系,一个进程可包括多个程序。
一个程序段运行在两个不同数据集合上,就是两个不同的进程,因此进程和程序之间不存在一一对应关系。
一个程序可以对应多个进程;反之,一个进程至少要对应一个程序,或对应多个程序,多个进程也可对应相同的程序。
4.答:系统初始化时;系统调用时;用户进程创建;批处理系统初始化。
5. 答:正常退出;异常退出;错误退出;外界干预。
6. 答:在操作系统中引入进程的目的是为了使多个程序并发执行,以提高资源的利用率和系统的吞吐量,而在操作系统中引入线程的目的则是为了减少程序并发执行时所付出的时空开销,使操作系统具有更好的并发性。
(1)线程是进程的一部分,它是进程内的一个执行单元。
(2)引入线程的操作系统中,资源分配的对象是进程,而不是线程。
(3)引入线程的操作系统中,调度的基本单位是线程而不是进程。
(4)进程之间可以并发执行,而一个进程中的这些线程之间亦可并发执行。
(5)进程调度,系统要进行进程上下文的切换,需要系统大量的开销。
(6)线程调度,由于同一进程内的线程共享进程的资源,其切换是把线程仅有的一小部分资源变换即可,从而提高了系统的效率。
线程切换比进程切换快得多。
(7)从一个进程的线程向另一个进程的线程切换,将引起进程的上下文切换。
(8)同一进程的多线程共享进程的所有资源,一个线程可以改变另一个线程的数据,而多进程机制则不会产生这个问题。
操作系统__第二章_进程管理_习题答案
操作系统__第二章_进程管理_习题答案第二章进程管理2. 试画出下面4条语句的前趋图:S1S1: a:=x+y;S4S3S2: b:=z+1;S2S3: c:=a-b; S4: w:=c+1; 3. 为什么程序并发执行会产生间断性特征?程序在并发执行时,由于它们共享系统资源,以及为完成同一项任务而相互合作,致使在这些并发执行的进程之间,形成了相互制约的关系,从而也就使得进程在执行期间出现间断性。
4. 程序并发执行时为什么会失去封闭性和可再现性?因为程序并发执行时,是多个程序共享系统中的各种资源,因而这些资源的状态是由多个程序来改变,致使程序的运行失去了封闭性。
而程序一旦失去了封闭性也会导致其再失去可再现性。
5. 在操作系统中为什么要引入进程概念?它会产生什么样的影响?为了使程序在多道程序环境下能并发执行,并能对并发执行的程序加以控制和描述,从而在操作系统中引入了进程概念。
影响: 使程序的并发执行得以实行。
6. 试从动态性,并发性和独立性上比较进程和程序?a. 动态性是进程最基本的特性,可表现为由创建而产生,由调度而执行,因得不到资源而暂停执行,以及由撤销而消亡,因而进程由一定的生命期;而程序只是一组有序指令的集合,是静态实体。
b. 并发性是进程的重要特征,同时也是OS的重要特征。
引入进程的目的正是为了使其程序能和其它建立了进程的程序并发执行,而程序本身是不能并发执行的。
c. 独立性是指进程实体是一个能独立运行的基本单位,同时也是系统中独立获得资源和独立调度的基本单位。
而对于未建立任何进程的程序,都不能作为一个独立的单位来运行。
7. 试说明PCB的作用?为什么说PCB是进程存在的唯一标志?a. PCB是进程实体的一部分,是操作系统中最重要的记录型数据结构。
PCB中记录了操作系统所需的用于描述进程情况及控制进程运行所需的全部信息。
因而它的作用是使一个在多道程序环境下不能独立运行的程序(含数据),成为一个能独立运行的基本单位,一个能和其它进程并发执行的进程。
现代操作系统课后习题答案
第二章进程管理第一部分教材习题(P81)3、为什么程序并发执行会产生间断性特征?(P36)4、程序并发执行,为何会失去封闭性和可再现性?(P37)【解】程序在并发执行时,是多个程序共享系统中的各种资源,因而这些资源的状态将由多个程序来改变,致使程序的运行已失去了封闭性。
同时由于失去了封闭性,也将导致其再失去可再现性。
程序在并发执行时,由于失去了封闭性,程序经过多次执行后,其计算机结果已与并发程序的执行速度有关,从而使程序的执行失去了可再现性。
5、在操作系统中为什么要引入进程概念?(P37)它会产生什么样的影响?【解】在操作系统中引入进程的概念,是为了实现多个程序的并发执行。
传统的程序不能与其他程序并发执行,只有在为之创建进程后,才能与其他程序(进程)并发执行。
这是因为并发执行的程序(即进程)是“停停走走”地执行,只有在为它创建进程后,在它停下时,方能将其现场信息保存在它的PCB中,待下次被调度执行是,再从PCB中恢复CPU现场并继续执行,而传统的程序却无法满足上述要求。
建立进程所带来的好处是使多个程序能并发执行,这极提高了资源利用率和系统吞吐量。
但管理进程也需付出一定的代价,包括进程控制块及协调各运行机构所占用的存空间开销,以及为进行进程间的切换、同步及通信等所付出的时间开销。
6、试从动态性、并发性和独立性上比较进程和程序?(P37)【解】(1)动态性:进程既然是进程实体的执行过程,因此,动态性是进程最基本的特性。
动态性还表现为:“它由创建而产生,由调度而执行,因得不到资源而暂停执行,以及由撤消而消亡”。
可见,进程有一定的生命期。
而程序只是一组有序指令的集合,并存放在某种介质上,本身并无运动的含义,因此,程序是个静态实体。
(2)并发性:所谓进程的并发,指的是多个进程实体,同存于存中,能在一段时间同时运行。
并发性是进程的重要特征,同时也成为OS的重要特征。
引入进程的目的也正是为了使其程序能和其它进程的程序并发执行,而程序是无法并发执行的。
操作系统第2章(进程和线程的管理习题及解答)
第2章进程和线程的管理习题及解答例题解析例2.2.1 试说明进程和程序之间的区别和联系。
解进程和程序是既有区别又有联系的两个概念。
(1)进程是动态的,程序是静态的。
程序是一组有序的指令集合,是一个静态的概念;进程则是程序及其数据在计算机上的一次执行,是一个动态的集合。
离开了程序,进程就失去了存在的意义,但同一程序在计算机上的每次运行将构成不同的进程。
程序可看作是电影的胶片,进程可以看作电影院放电影的过程。
(2)一个进程可以执行多个程序,如同一个电影院的一场电影可放映多部影片。
(3)一个程序可被多个进程执行,如同多个影院同时利用一个电影的胶片放映同一部电影。
(4)程序可以长期保存,进程只能存在于一段时间。
程序是永久存在的,而进程有从被创建到消亡的生命周期。
例2.2.2 举例说明多道程序系统失去了封闭性和再现性。
解例如,有两个循环程序A和B,共享一个变量N。
程序A每执行一次时,都要做N:=N+1操作;程序B则每执行一次时,都要执行print(N)操作,然后再将N的值置成“0”。
程序A和B在多道程序系统中同时运行。
假定某时刻变量N的值为n,可能出现下述三种情况:(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。
所以,在A、B程序多次执行过程中,虽然其每次执行时的环境和初始条件都相同,但每次得到的结果却不一定相同。
例 2.2.3 为什么将进程划分成执行、就绪和阻塞三个基本状态?解根据多道程序执行的特点,进程的运行是走走停停的。
因此进程的初级状态应该是执行和等待状态。
处于执行状态的进程占用处理机执行程序,处于等待状态的进程正在等待处理机或者等待其它某种事件的发生。
但是,当处理机空闲时,并不是所有处于等待状态的进程都能放到处理机上执行,有的进程即使分配给它处理机,它也不能执行,因为它的执行的条件没有得到满足。
(完整版)第二章进程管理习题和答案
--一、填空题1. 进程是一个程序对某个数据集的一次执行过程。
进程从结构上讲,包括程序、数据和PCB三部分。
2. 进程是一个动态的概念,程序是一个静态的概念。
3. 操作系统中,可以并行工作的基本单位是进程,它是由程序、数据集和PCB组成。
4. 进程存在的唯一标志是PCB的存在。
当系统创建一个进程时,系统为其建立一个PCB,当进程被撤销时系统就将其收回。
5. 进程有三种基本状态,即运行状态、就绪状态、阻塞状态。
当进程由(1)变换到(2)或(3)时,就会立即引起重新调度。
6. 在操作系统中,不可中断执行的操作称为原语。
7. 并发进程之间的基本关系是同步或互斥。
其中互斥是指进程之间的一种间接关系。
8. 临界资源是指一段时间只允许一个进程使用的资源,而临界区是指进程中访问临界资源的程序代码。
9. P,V操作原语是在信号量上操作的。
10. 信号量的物理意义是:当信号量的值大于零时,表示可用资源的数量;当信号量值小于零时,其绝对值为等待使用信号量所代表资源的进程的数量。
11. 有n个进程共享同一个临界区,若使用信号量机制实现对临界资源的互斥访问,则信号量值的变化范围是1~-(n-1)。
12.如果系统中有n个进程,则在等待(阻塞)队列中进程的个数最多可为个n。
13. 如果信号量的当前值为-5,则表示系统中在该信号量上有5 个等待进程。
14.某程序运行时经常需打印中间结果。
计算时,该进程处于用户态,打印时处于系统态,打印结束时进程处于用户态。
(指系统状态)、15. 在操作系统中引入线程的主要目的是减少程序并发执行时的时空开销,使OS更具有并发性。
16. 如果一个程序能为多个进程同时共享执行,那么它应该以纯码形式编写,即该程序是可重人码程序,这种程序的特点是:在它执行过程中自身不可修改。
17. 中断优先级是由硬件规定的,若要调整中断的响应次序可通过系统调用。
18. 进程初建时处于就绪态,运行时因为时钟中断而处于就绪态,因等待事件或资源而处于阻塞态。
操作系统期中练习题第2章进程管理解答
第2章进程管理解答一、单项选择题[解答]1.d。
.2.c。
进程的实体由PCB、程序与数据3部分组成。
3.b。
4.b。
允许3个进程同时进入互斥段的互斥信号量初值设为3。
5.d。
并发进程之间可能存在同步与互斥关系,也可能不存在任何关系。
6.a。
7.c。
由于互斥信号量的初值是1,则极端情况是一个进程访问临界资源而其余N-1个进程处于等待状态,即信号量的值为-(N-1)8.d。
当资源总数为4,并发进程为2,每个进程的最大需求是3时,可能够出现每个进程都占用2个资源而又申请第3个资源的死锁状态。
9.a。
先来先服务、响应比高者优先和均衡调度算法都属于作业调度算法。
10.b。
进程从执行态变成就绪态通常有两种情况:(1)分时操作系统下时间片到;(2)剥夺式进程调度方式下有更高优先级的进程进入就绪状态。
11.b。
12.c。
13.d。
如果存在就绪进程且处理机空闲时,进程调度程序就必然选中一个就绪进程使之投入运行;所以d错误。
14.d。
a~c概念都不完全。
15.d。
a~c都会引进操作系统选择新进程运行,仅d不会。
16.a 17. a 18。
d 19。
d 20。
b 21。
a 22。
d 23。
d 24。
a 25.b 26.c 27。
b 28。
d 29。
c 30。
B二、填空题[解答]1.线性表链接表(或队列) 2.删除剥夺3.因为PCB是进程存在的唯一标志,故填PCB 4.资源竞、进程推进顺序不当5.非剥夺条件逐次请求条件环路条件 6.就绪运行7.进程中访问临界资源的那段程序代码8.当出现死琐的极端情况时,处于等待的进程数为n,故填n9.可用资源的数目,因请求该资源而被阻塞的进程数目10.剥夺式调度总是将优先级高的进程(不包括等待队列上的进程)投入运行,故填“剥夺式”11.P V12.当信号量知小于零时,其绝对值为被阻塞的进程个数,故填413.互斥、同步、条件变量14. —2~2 15.临界区(或互斥段) 16.程序数据 PCB. 17.银行家算法 18.同步 19.运行态进程调度 20.创建消亡21.资源分配独立运行调度 22.临界区 P操作 V操作23.引起进程调度的原因进程调度算法的选择就绪队列的组织.三、问答题1.操作系统中为什么要引入进程的概念?为了实现并发进程间的合作和协调工作,以及保证系统的安全,操作系统在进程管理方面应做哪些工作?[解答]在多道程序环境下,程序的并发执行代替了程序的顺序执行,并发执行破坏了程序的封闭性和可再现性,使得程序和计算不再一一对应。
操作系统课后习题答案第二章进程管理习题
操作系统课后习题答案第⼆章进程管理习题进程管理习题⼀:选择题1. 在进程管理中,当时,进程从阻塞状态变为就绪状态。
(A)进程被进程调度器程序选中(B)等待某⼀事件(C)等待的事件发⽣(D)时间⽚⽤完2. P,V操作是(A)两条低级进程通信原语(B)两组不同的机器指令(C)两条系统调⽤命令(D)两条⾼级进程通信原语3. 若P,V操作的信号量S初值为2,当前值为-1,表⽰有个等待进程。
(A)0 (B)2 (C)1 (D)34. 操作系统通过对进程进⾏管理(A)进程(B)进程控制块(C)进程启动程序(D)进程控制区5. (多选)进程具有的特征有(A)动态性(B)共享性(C)并发性(D)静态性(E)独⽴性(F) 不确定性6. 在多进程的系统中,为了保证公共变量的完整性,各进程应互斥进⼊临界区,所谓临界区是指(A)⼀个缓冲区(B)⼀段数据(C)同步机制(D)⼀段程序7. 在操作系统中解决进程间的两种基本关系,往往应⽤对信号量进⾏的(1)(A)同步和异步(B)串⾏和并⾏(C)调度和控制(D)同步和互斥(2)(A)消息操作(B)P,V操作(C)开关操作(D)读写操作(3)(A)原语(B)调度算法(C)分配策略(D)进程控制8. 从资源管理者的⾓度看,进程调度属于(A)I/O管理(B)⽂件管理(C)处理机管理(D)存储器管理9. 下列进程状态变化中,变化是不可能发⽣的(A)运⾏就绪(B)运⾏阻塞(C)阻塞运⾏(D)阻塞就绪10. ⽤P,V操作管理临界区时,信号量的初值定义为(A)-1 (B)0 (C)1 (D)任意值11. 信箱是⼀种通信⽅式(A)直接(B)间接(C)低级(D)信号量12. 如果系统中有N个进程,则就绪队列中进程的个数最多为(A)N+1 (B)N (C)N-1 (D)1 13. 在引⼊线程的操作系统中,资源分配的基本单位是,CPU分配的单位是(A)程序(B)作业(C)进程(D)线程14. 设有4个进程共享⼀程序段,⽽每次最多允许2个进程进⼊该程序段,则信号量的取值范围是(A)0~4 (B)1~4 (C)-4~0 (D)-2~2 15. 下⾯所述步骤中不是创建进程所必须的(A)由调度程序为进程分配CPU(B)建⽴⼀个进程控制块(C)为进程分配内存(D)将进程控制块链⼊就绪队列⼆:综合题1. 设有⼀个作业有三个进程组成,这三个进程必须按如下所⽰的次序运⾏,试⽤P,V操作表达四个进程的同步关系。
第2章 进程管理练习答案
第2章进程管理练习答案第二章进程管理一、单项选择题1、在单一处理机上执行程序,多道程序的执行是在(B)进行的。
A.同一时刻B. 同一时间间隔内C.某一固定时刻D. 某一固定时间间隔内 2、引入多道程序技术后,处理机的利用率( C)。
A.降低了B. 有所改善C.大大提高D. 没有变化,只是程序的执行方便了 3、顺序程序和并发程序的执行相比,( C)。
A.基本相同 C.并发程序执行总体上执行时间快B. 有点不同 D.顺序程序执行总体上执行时间快4、单一处理机上,将执行时间有重叠的几个程序称为(C )。
A.顺序程序 B.多道程序 C.并发程序 D. 并行程序 5、进程和程序的本质区别是(D )。
A.存储在内存和外存B.顺序和非顺序执行机器指令C.分时使用和独占使用计算机资源D.动态和静态特征6、进程就是程序在并发环境中的执行过程,它是系统进行资源分配和调度的一个基本单位。
进程具有[1A]、[2D]、调度性、异步性和结构性等基本特征。
进程是一次执行过程,具有生命期体现了进程的[1]特征。
进程由程序段、[3B]、[4C]组成,其中[4]是进程在系统中存在的唯一标识。
供选择的答案:[1][2] :A、动态性 B、静态性 C、共行性 D、并发性 E、可执行性 F、易用性[3] :A、过程 B、数据 C、进程标识符 D、函数 [4] :A、FCB B、FIFO C、PCB D、JCB7、进程执行时的间断性,决定了进程可能具有多种状态。
进程的基本状态有三种,在分时系统中,当一个进程拥有的时间片到时,则该进程即由[1D]进入[2A]。
如果出现因某种原因使得处理机空闲时,则需要从就绪队列中选择一进程,并将处理机分配给它,此时该进程进入[3D],这个过程是由[4C]来完成。
供选择的答案:[1][2][3] :A、就绪状态 B、静止状态 C、阻塞状态 D、运行状态[4] :A、进程控制程序 B、资源分配程序 C、进程调度程序 D、处理机分配程序 8、为描述进程的动态变化过程,采用了一个与进程相联系的(C ),根据它而感知进程的存在。
第2章 进程管理习题及答案
第2章进程管理习题及答案第2章-进程管理习题及答案第二章进程管理习题及答案一、填空题1.进程的静态描述由三部分组成:①、②和③。
【答案】①pcb、②程序部分、③相关的数据结构集【解析】pcb就是系统认知进程的唯一实体。
进程的程序部分叙述了进程所必须顺利完成的功能,而数据结构集是程序在继续执行时必不可少的工作区和操作方式对象。
后两部分就是进程顺利完成所须要功能的物质基础。
2.进程存有的标志就是。
【答案】进程掌控块pcb【解析】系统根据pcb认知进程的存有和通过pcb中所涵盖的各项变量的变化,掌控进程所处的状态以达至掌控进程活动的目的。
3.①是现代操作系统的基本特征之一,为了更好地描述这一特征而引入了②这一概念。
【答案】①程序的并发执行,②进程【解析】程序的mammalian继续执行和资源共享就是现代品行系统的基本特征。
程序的mammalian继续执行并使程序丧失了程序顺序继续执行时所具备的封闭性和可以重现性。
在程序mammalian继续执行时,程序这个概念无法充分反映程序mammalian继续执行所具备的特性,所以导入进程概念去叙述程序mammalian继续执行所具备的特点。
4.给出用于进程控制的四种常见的原语①、②、③和④。
【答案】①建立原语、②撤消原语、③堵塞原语、④唤起原语【解析】进程控制是系统使用一些具有特定功能的程序段来创建、撤消进程以及完成进程各状态间的转换,从而达到多个过程高效率地并行执行和协调,实现资源共享的目的。
把那些在管态下执行的具有特定功能的程序段称为原语。
5.进程被建立后,最初处在①状态,然后经②选上后步入③状态。
【答案】①准备就绪,②进程调度程序,③运转【解析】进程的从无到有,从存在到消亡是由进程创建原语和撤消原语完成的。
被创建的进程最初处于就绪状态,即该进程获得了除处理机以外的所有资源,处于准备执行的状态;从就绪状态到运行状态的转换是由进程调度程序来完成的。
6.进程调度的方式通常存有①和②方式两种。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
一、选择题1.在进程管理中,当 C 时,进程从阻塞状态变为就绪状态。
A.进程被进程调度程序选中B.等待某一事件C.等待的事件发生D.时间片用完2.分配到必要的资源并获得处理机时的进程状态是 B 。
A.就绪状态B.执行状态C.阻塞状态D.撤消状态3.进程的三个基本状态在一定条件下可以相互转化,进程由就绪状态变为运行状态的条件是 D 。
A.时间片用完B.等待某事件发生C.等待的某事件已发生D.被进程调度程序选中4.进程的三个基本状态在一定条件下可以相互转化,进程由运行状态变为阻塞状态的条件是 B 。
A.时间片用完B.等待某事件发生C.等待的某事件已发生D.被进程调度程序选中5.下列的进程状态变化中, C 变化是不可能发生的。
A.运行→就绪B.就绪→运行C.等待→运行D.等待→就绪6.一个运行的进程用完了分配给它的时间片后,它的状态变为A 。
A.就绪B.等待C.运行D.由用户自己确定7.操作系统通过 B 对进程进行管理。
A. JCBB. PCBC. DCTD. CHCT 8.一个进程被唤醒意味着 D 。
A. 该进程重新占有了CPUB. 它的优先权变为最大C. 其PCB移至等待队列队首D. 进程变为就绪状态9.多道程序环境下,操作系统分配资源以 C 为基本单位。
A. 程序B. 指令C. 进程D. 作业10. 从下面的叙述中选出一条正确的叙述:(1)操作系统的一个重要概念是进程,不同的进程所执行的代码也不同。
(2)操作系统通过PCB来控制和管理进程,用户进程可从PCB 中读出与本身运行状态相关的信息。
(3)当进程由执行状态变为就绪状态时,CPU现场信息必须被保存在PCB中。
(4)当进程申请CPU得不到满足时,它将处于阻塞状态。
(5)进程是可与其他程序并发执行的程序在一个数据集合上的运行过程,所以程序段是进程存在的唯一标志。
11. 从下面的叙述中选出4条正确的叙述:(1)一个进程的状态发生变化总会引起其它一些进程的状态发生变化。
(2)进程被挂起(suspend)后,状态变为阻塞状态。
(3)信号量的初值不能为负数。
(4)线程是CPU调度的基本单位,但不是资源分配的基本单位。
(5)在进程对应的代码中使用wait、signal操作后,可以防止系统发生死锁。
(6)管程每次只允许一个进程进入。
(7)wait、signal操作可以解决一切互斥问题。
(8)程序的顺序执行具有不可再现性。
二、是非题1.进程是动态的概念2.进程执行需要处理机3.进程是有生命期的4.进程是指令的集合5.操作系统的一重要概念是进程,因此不同进程所执行的代码也一定不同7.操作系统用PCB管理进程,用户进程可以从PCB中读出与本身运行状况有关的信息8.进程同步是指某些进程之间在逻辑上的相互制约关系9.在一个只有单个CPU的计算机中,进程不能并行操作。
一个进程在利用CPU运行,另一个进程可以同时进行I/O操作,它们是并行的。
10.线程可以分为内核级(Kernel Thread)和用户级(User Thread)两种,操作系统不可以直接调度用户级的线程。
三、填空题1.信号量的物理意义是当信号量值大于零时表示可用资源的数目;当信号量值小于零时,其绝对值为因请求该资源而被阻塞的进程数目。
2.临界资源的概念是一次仅允许一个进程访问的资源,而临界区是指进程中访问临界资源的那段程序代码。
3.进程在运行过程中有三种基本状态,它们是就绪、执行、阻塞。
4.进程主要由程序段、数据段、 PCB 三部分内容组成,其中 PCB 是进程存在的唯一标志。
而程序段部分也可以为其他进程共享。
5.系统中各进程之间逻辑上的相互制约关系称为进程同步。
6.若一个进程已进入临界区,其他欲进入临界区的进程必须等待。
7.将进程的 PCB 链接在一起就形成了进程队列。
8.用P、V操作管理临界区时,任何一个进程在进入临界区之前应调用 P 操作,退出临界区时应调用 V 操作。
9.在多道程序系统中,进程之间存在着的不同制约关系可以划分为两类:互斥与同步。
互斥指进程间具有的一定逻辑关系;同步是指进程间在使用共享资源方面的约束关系。
10.程序顺序执行时有顺序性、封闭性和可再现性的特点。
11.有m个进程共享同一临界资源,若使用信号量机制实现对临界资源的互斥访问,则信号量值的变化范围是 1至-(m-1)。
12.在一个单处理机系统中,若有5个用户进程,且假设当前时刻为用户态,则处于就绪状态的用户进程最多有 4 个,最少有0 个。
13、在单用户单任务环境下,用户独占全机,此时机内资源的状态,只能由运行程序的操作加以改变,此时的程序执行具有封闭性性和可再现性性特征。
14、并发进程之间的相互制约,是由于它们的共享资源和相互合作而产生的,因而导致程序在并发执行时具有间断性或异步性特征。
15、程序并发执行与顺序执行时相比产生了一些新特征,分别是间断性、失去封闭性和不可再现性。
16、引入进程的目的是使程序能正确地并发执行,以提高资源利用率和系统吞吐量,而引入线程的目的是减少并发执行的开销,提高程序执行的并发程度。
17、进程由程序段、数据段和 PCB 组成,其中 PCB 是进程存在的唯一标志。
18、进程最基本的特征是动态性和并发性,除此之外,它还有独立特征、异步性和结构特征。
19、由于进程的实质是程序的一次执行,故进程有动态性的基本特征,该特征还表现在进程由创建而产生,由调度而执行,由撤销而消亡,即进程具有一定的生命期。
20、引入进程带来的好处是提高资源利用率和增加系统吞吐量。
21、当前正在执行的进程由于时间片用完而暂停执行时,该进程应转变为就绪状态;若因发生某种事件而不能继续执行时,应转为阻塞状态;若应终端用户的请求而暂停执行时,它应转为静止就绪状态。
22、用户为阻止进程继续运行,应利用挂起原语,若进程正在执行,应转为静止就绪状态;以后,若用户要恢复其运行,应利用激活原语,此时进程应转为活动就绪状态。
23、系统中共有5个用户进程,且当前CPU在用户态下执行,则最多可有 4 个用户进程处于就绪状态,最多可有 4 个用户进程处于阻塞状态;若当前在核心态下执行,则最多可有 5 个用户进程处于就绪状态,最多可有 5 个用户进程处于阻塞状态。
24、同步机制应遵循的准则:空闲让进、忙则等待、有限等待和让权等待。
25、在记录型信号量机制中,S.value>0时的值表示可用的临界资源数量;每次wait操作意味着申请一个临界资源,因此应将S.value 减1 ,当S.value <0 时,进程应阻塞。
四、解析题1.进程的定义是什么?它最少有哪几种状态?【解】进程是一个具有一定功能的程序关于某个数据集合的一次运行活动。
一个进程最少有就绪、执行和阻塞三种状态。
就绪状态是指进程已获得了除处理机以外的所有资源,一旦获得处理机就可以立即执行。
执行状态是指进程获得必要的资源并正在处理机上执行。
阻塞状态是指进程由于发生某事件而暂时无法执行下去,此时即使把处理机分配给该进程,它也无法运行。
2.进程与线程的主要区别是什么?[解]1>线程是进程的一个组成部分2>进程的多线程都在进程地址空间活动3>资源是分给进程的4>处理机的调度基本单位是线程5>线程的执行需要同步3.什么是进程的互斥与同步?同步和互斥这两个概念有什么联系和区别?解:(1)同步:两个事件的发生有着某种时序上的关系,进程间的同步关系是指系统中往往有几个进程共同完成一个任务;(2)互斥是进程间的另外一种关系。
由于各进程要共享资源。
而有些资源往往要求排他性地使用;(3)互斥是一种特殊的同步关系。
4. 桌上有一空盘,允许存放一只水果。
爸爸可向盘中放苹果,也可向盘中放桔子,儿子专等吃盘中的桔子,女儿专等吃盘中的苹果。
规定当盘空时一次只能放一只水果供吃者取用,请用P、V原语实现爸爸、儿子、女儿三个并发进程的同步。
解:设置3个信号量S、SO、SA信号量S表示盘子是否为空,其初值为1;信号量SO表示盘中是否有桔子,其初值为0;信号量SA表示盘中是否有苹果,其初值为0。
同步描述:int S=1;int SA=0;int SO=0;main(){father();son();daughter();}father(){while(1){p(S);//盘子是否空将水果放入盘中;if(放入的是桔子)v(SO);//变形else v(SA) //很少有学生如此做!而这却是本题的关键}}son(){while(1){p(SO);//盘子中有无桔子从盘中取出桔子;v(S);吃桔子;}}daughter(){while(1){p(SA);//盘子中有无苹果从盘中取出苹果;v(S);吃苹果;}}5. 请用信号量实现对某数据库的读者-写者互斥。
要求:(1)读者与写者之间互斥,写者与写者之间互斥。
(2)读者之间不互斥。
解:本题是读者-写者问题。
在本题中,允许读进程同时读数据库,但写进程正在写数据库时不允许其他进程读该数据库,也不允许其他进程写该数据库。
为了解决读、写进程之间的同步,应该设置2个信号量和一个共享变量:读互斥信号量rmutex,用于使读进程互斥地访问共享变量count,其初值为1;写互斥信号量wmutex,用于实现写进程与读进程的互斥及写进程与写进程的互斥,其初值为1;共享变量count,用于记录当前正在读数据库的读进程数目,初值为0。
其工作过程描述如下:Semaphore rmutex=1;Semaphore wmutex=1;Int count=0;Main(){CobeginReader();Writer();Coend}Reader(){While(true){P(rmutex);If(count==0) p(wmutex);Count ++;V(rmutex);读数据库;P(rmutex);Count --;If (count==0) v(wmutex);V(rmutex);}}Writer(){While(true){P(wmutex);写数据库;V(wmutex);}}注意:正确理解信号量rmutex的意义是理解读者-写者问题的关键。
Rmutex是一个互斥信号量,用于使读进程互斥地访问共享变量count。
信号量rmutex并不表示读进程的数目,表示读进程数目的是共享变量count。
当一个读进程要读数据库时,应将读进程计数count增加1;如果此前(count加1以前)数据库中无读进程,还应对写互斥信号量wmutex做p操作,这样,若数据库中无写进程则通过p操作阻止后续写进程写,若数据库中有写进程,则通过p操作让读进程等待。
同理,当一个读进程完成读数据库操作时,应将读进程计数count减少1;如果此时(count减1以后)数据库中已无读进程,还应对写互斥信号量wmutex做v操作,以允许写进程写。