第3章-进程管理-习题
计算机操作系统进程管理练习题(1)

一、选择题1.在进程管理中,当时,进程从阻塞状态变为就绪状态。
A.进程被进程调度程序选中B.等待某一事件C.等待的事件发生D.时间片用完2.分配到必要的资源并获得处理机时的进程状态是。
A.就绪状态 B.执行状态 C.阻塞状态 D.撤消状态3.P、V操作是。
A.两条低级进程通信原语B.两组不同的机器指令C.两条系统调用命令D.两条高级进程通信原语4.设系统中有n(n>2)个进程,且当前不在执行进程调度程序,试考虑下述4种情况,不可能发生的情况是。
A.没有运行进程,有2个就绪进程,n个进程处于等待状态。
B.有1个运行进程,没有就绪进程,n-1个进程处于等待状态。
C.有1个运行进程,有1个就绪进程,n-2个进程处理等待状态。
D.有1个运行进程,n-1个就绪进程,没有进程处于等待状态。
5.若P、V操作的信号量S初值为2,当前值为-1,则表示有等待进程。
A. 0个B. 1个C. 2个D. 3个6.进程的三个基本状态在一定条件下可以相互转化,进程由就绪状态变为运行状态的条件是。
A.时间片用完B.等待某事件发生C.等待的某事件已发生D.被进程调度程序选中7.进程的三个基本状态在一定条件下可以相互转化,进程由运行状态变为阻塞状态的条件是。
A.时间片用完B.等待某事件发生C.等待的某事件已发生D.被进程调度程序选中8.下列的进程状态变化中,变化是不可能发生的。
A.运行→就绪B.就绪→运行C.等待→运行D.等待→就绪9.一个运行的进程用完了分配给它的时间片后,它的状态变为。
A.就绪B.等待C.运行D.由用户自己确定10.用V操作唤醒一个等待进程时,被唤醒进程的状态变为。
A.等待B.就绪C.运行D.完成11.操作系统通过对进程进行管理。
A. JCBB. PCBC. DCTD. CHCT 12.用P、V操作可以解决互斥问题。
A. 一切B. 某些C. 正确D. 错误13.一个进程被唤醒意味着。
A. 该进程重新占有了CPUB. 它的优先权变为最大C. 其PCB移至等待队列队首D. 进程变为就绪状态14.多道程序环境下,操作系统分配资源以为基本单位。
计算机操作系统三章习题答案

第三章处理机调度与死锁``030110011020101进程调度是从选择一个进程投入运行。
A.就绪队列B.等待队列C.作业后备队列D.提交队列``030110011020100A``030110022020101支持多道程序设计的操作系统在运行过程中,不断地选择新进程运行来实现CPU的共享,下列选项中,不是引起操作系统选择新进程的直接原因。
A.运行进程的时间片用完B.运行进程出错C.运行进程要等待某一时件发生D.有新进程进入就绪状态``030110022020100D``030110032020101下列因素中,不一定是引起进程调度的因素。
A.一个进程运行完毕B.运行进程被阻塞C.一个高优先级进程被创建D.实时调度中,一个紧迫的任务到来``030110032020100C``030110042020101若进程P一旦被唤醒就能投入运行,则系统可能是。
A.非抢占式调度方式,进程P的优先级最高B.抢占式调度方式,就绪队列上的所有进程的优先级皆比P低C.就绪队列为空队列D.抢占式调度方式,P的优先级高于当前运行的进程``030110042020100D``030110051020101在批处理系统中,周转时间是指。
A.作业运行时间B.作业等待时间和运行时间之和C.作业的相对等待时间D.作业被调度进入内存到运行完毕的时间``030110051020100B``030110062020101下列各项中,不是进程调度时机的是。
A.现运行的进程正常结束或异常结束B.现运行的进程从运行态进入就绪态C.现运行的进程从运行态进入等待态D.有一进程从等待态进入就绪态``030110062020100D``030210012020201现有3个同时到达的作业J1、J2、J3,它们的执行时间分别为T1、T2和T3,且T1<T2<T3。
系统按单道方式运行且采用短作业优先算法,则平均周转时间为。
A.T1+T2+T3 B.(T1+T2+T3)/3 C.(3T1+2T2+T3)/3D.(T1+2T2+3T3)/3``030210012020200C``030210022020101下列算法中,操作系统用于作业调度的算法是。
第三章习题

• 4. 静态重定位是在作业的 B 中进行的,动态重定位是在 作业的 D 中进行的。 • A:编译过程;B:装入过程;C:修改过程;D:执行过程。 • 5. 请求分页存储管理中,若把页面尺寸增加一倍,在程序 顺序执行时,则一般缺页中断次数会( )。 • A.增加 B.减少 C.不变 D.可能增加也可能减少 • 6.( )存储管理支持多道程序设计,算法简单,但存 储碎片多。 • A.段式 B.页式 C.固定分区 D.段页式
19、 ( )是指将作业不需要或暂时不需要的部分移到外 存,让出内存空间以调入其他所需数据。 A.覆盖技术 B.交换技术 C.虚拟技术 D.物理扩充 20、 外存(如磁盘)上存放的程序和数据( )。 A.可由CPU直接访问 B.必须在CPU访问之前移入内存 C.是必须由文件系统管理的 D.必须由进程调度程序管理 21、分区管理要求对每一个作业都分配( )的内存单元。 A.地址连续 B.若干地址不连续 C.若干连续的帧 D.若干不连续的帧
• 22.把逻辑地址转变为内存的物理地址的过程称作 ( ) • A.编译 B.连接 C.运行 D.重定位 • 23.分页存储管理的目的为( ) • A.解决碎片问题 B.便于多个进程共享内存 • C.回收空白区方便 D.摆脱用户干预 • 24.在页式存储管理方案中,采用______实现地址转换。 ( ) • A.页表 B.段表 C.段表和页表 D.空闲区表
• C.请求分页技术 D.对换技术 • 9、下列( )存储管理方式能使存储碎片尽可能少,而且 有利于实现作业的共享。 • A.固定分区 B.可变分区 • C.分页管理 D.段页式管理
• 10、操作系统中采用缓冲技术的目的是为了增强系统( ) 的能力。 • A.串行操作 B. 控制操作 C.重执操作 D.并行操作
第3章死锁习题及答案

第三章死锁习题一、填空题1.进程的“同步”和“互斥”反映了进程间①和②的关系。
【答案】①直接制约、②间接制约【解析】进程的同步是指在异步环境下的并发进程因直接制约而互相发送消息,进行相互合作、相互等待,使得各进程按一定的速度执行的过程;而进程的互斥是由并发进程同时共享公有资源而造成的对并发进程执行速度的间接制约。
2.死锁产生的原因是①和②。
【答案】①系统资源不足、②进程推进路径非法【解析】死锁产生的根本原因是系统的资源不足而引发了并发进程之间的资源竞争。
由于资源总是有限的,我们不可能为所有要求资源的进程无限地提供资源。
而另一个原因是操作系统应用的动态分配系统各种资源的策略不当,造成并发进程联合推进的路径进入进程相互封锁的危险区。
所以,采用适当的资源分配算法,来达到消除死锁的目的是操作系统主要研究的课题之一。
3.产生死锁的四个必要条件是①、②、③、④。
【答案】①互斥条件、②非抢占条件、③占有且等待资源条件、④循环等待条件【解析】互斥条件:进程对它所需的资源进行排它性控制,即在一段时间内,某资源为一进程所独占。
非抢占条件:进程所获得的资源在未使用完毕之前,不能被其它进程强行夺走,即只能由获得资源的进程自己释放。
占有且等待资源条件:进程每次申请它所需的一部分资源,在等待新资源的同时,继续占有已分配到的资源,循环等待条件:存在一进程循环链,链中每一个进程已获得的资源同时被下一个进程所请求。
4.在操作系统中,信号量是表示①的物理实体,它是一个与②有关的整型变量,其值仅能由③原语来改变。
【答案】①资源,②队列,③P-V【解析】信号量的概念和P-V原语是荷兰科学家E.W.Dijkstra提出来的。
信号量是一个特殊的整型量,它与一个初始状态为空的队列相联系。
信号量代表了资源的实体,操作系统利用它的状态对并发进程共享资源进行管理。
信号量的值只能由P-V原语来改变。
5.每执行一次P原语,信号量的数值S减1。
如果S>=0,该进程①;若S<0,则②该进程,并把它插入该③对应的④队列中。
第3章练习题(附参考答案)

第3章练习题参考答案一、判断题(正确Y,错误N)1.软件产品的设计报告、维护手册和用户使用指南等不属于计算机软件的组成部分。
2. 完成从汇编语言到机器语言翻译过程的程序,称为编译程序。
3. 有一种计算机系统允许多个用户同时使用,每个用户都感觉好象自己在“独占”该计算机一样,这样的系统称为“分时处理系统”。
4. 从应用角度出发,通常将软件分为系统软件和应用软件两类,数据库管理系统软件属于应用软件。
5. 计算机软件技术就是指程序设计技术,包括程序的设计、编码、调试和维护等。
6. BIOS,Windows操作系统,C语言编译器等都是系统软件。
7. 汇编语言是面向机器指令系统的,因此汇编语言程序可以由计算机直接执行。
8. 程序是软件的主体,单独的数据和文档一般不认为是软件。
9. 操作系统的处理器调度程序负责计算机中所有处理器的分配和回收。
10. .虚拟存储器其实就是外存储器。
11.语言处理系统中的连接程序是将多个分别编译或汇编过的目标程序和库文件进行组合。
12. 所谓系统软件,就是购置计算机时计算机供应商提供的全部软件。
13.计算机自举完成后,操作系统的所有程序常驻内存。
操作系统可以在任何计算机上运行。
15.在裸机上不能运行任何程序。
16.在Windows系统中每张片软盘和每个逻辑硬盘经过高级格式化后都有一个根目录区存在于盘中。
参考答案:1~10:NNYNNYNYNN 11~16:YNNNNY二、单选题1. 目前流行的很多操作系统都具有网络功能,可以作为一个网络操作系统,以下操作系统中不能作为网络服务器操作系统的是_______。
A. Windows 98 B. Windows NT ServerC. Windows 2000 Server D. UNIX2. 高级语言种类繁多,但其基本成分可归纳为四种,其中对处理对象的类型说明属于高级语言中的_______ 成分。
A.数据B.运算 C.控制D.传输3. 在下列常用的PC机软件中,编辑的文档(内容)能直接保存为图片类型(例如JPEG文件类型)的是。
第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 现代计算机为什么设置目态/管态这两种不同的机器状态?现在的lntel80386设置了四级不同的机器状态(把管态又分为三个特权级),你能说出自己的理解吗?答:现在的Intel 80386把执行全部指令的管态分为三个特权级,再加之只能执行非特权指令的目态,这四级不同的机器状态,按照系统处理器工作状态这四级不同的机器状态也被划分管态和目态,这也完全符合处理器的工作状态。
2.6 什么是程序状态字?主要包括什么内容?答:如何知道处理器当前处于什么工作状态,它能否执行特权指令,以及处理器何以知道它下次要执行哪条指令呢?为了解决这些问题,所有的计算机都有若干的特殊寄存器,如用一个专门的寄存器来指示一条要执行的指令称程序计数器PC,同时还有一个专门的寄存器用来指示处理器状态的,称为程序状态字PSW。
主要内容包括所谓处理器的状态通常包括条件码--反映指令执行后的结果特征;中断屏蔽码--指出是否允许中断,有些机器如PDP-11使用中断优先级;CPU的工作状态--管态还是目态,用来说明当前在CPU上执行的是操作系统还是一般用户,从而决定其是否可以使用特权指令或拥有其它的特殊权力。
2.11 CPU如何发现中断事件?发现中断事件后应做什么工作?答:处理器的控制部件中增设一个能检测中断的机构,称为中断扫描机构。
通常在每条指令执行周期内的最后时刻中扫描中断寄存器,询为是否有中断信号到来。
若无中断信号,就继续执行下一条指令。
若有中断到来,则中断硬件将该中断触发器内容按规定的编码送入程序状态字PSW的相应位(IBM-PC中是第16~31位),称为中断码。
发现中断事件后应执行相中断处理程序,先由硬件进行如下操作:1、将处理器的程序状态字PSW压入堆栈2、将指令指针IP(相当于程序代码段落的段内相对地址)和程序代码段基地址寄存器CS的内容压入堆栈,以保存被子中断程序的返回地址。
3、取来被接受的中断请求的中断向量地址(其中包含有中断处理程序的IP,CS的内容),以便转入中断处理程序。
第三章习题——精选推荐

一、选择题1.操作系统和应用软件在计算机中运行时,正确的是()A. 操作系统调用应用软件功能B. 应用软件调用操作系统功能C. 操作系统运行完毕后再运行应用软件D. 两者互不相关,独立运行2.下面有关windows操作系统中多任务处理的叙述中,正确的是()A. 用户如果只启动一个应用程序工作(如使用word写作),那么该程序就可以自始至终独占CPUB. 由于计算机中有多个处理器,所以操作系统才能同时执行多个任务的处理C. 前台任务和后台任务都能得到CPU的及时响应D. 由于CPU具有多个执行部件,可同时执行多条指令,所以操作系统才能同时进行多个任务的处理3.操作系统具有存储管理功能,当内存不够时,可以自动“扩充”内存,为用户提供一个容量比实际内存大得多的存储空间,所采用的技术是()A. 缓冲区技术B. 虚拟存储器技术C. SPOOLing技术D. 进程调度技术4.下面关于中文windows操作系统中文件管理的一些叙述中,错误的是()A. 文件夹中可以存放文件,也可以存放文件夹,从而构成树状的文件夹结构B. 根目录中只能用来存放文件夹,不能用来存放文件C. 文件和文件夹的名字既可以用英文也可以用中文D. 即时文件的属性是“隐藏”,该文件也能正常打开和关闭5. 在下列关于Windows操作系统中多任务处理的叙述中,正确的是()。
A.用户如果只启动一个应用程序,则该程序就可以自始至终独占CPU资源B.由于CPU中有多个执行部件,可同时执行多条指令,所以才能同时执行多个任务的处理C.从微观上看,前台任务和后台任务能同时得到CPU响应D.Windows操作系统在执行32位应用程序时,采用的是按时间片轮转的调度方法6. 在下列关于程序设计语言及其处理系统的叙述中,错误的是()。
A.汇编语言同机器语言一样,均是面向机器指令系统的,其程序的可移植性差B.汇编程序是指由汇编语言编写的程序C.高级语言在一定程度上与机器无关D.目前大多数应用程序是用高级语言编写、由编译程序处理后生成的可执行程序7. 在下列有关程序设计语言及其处理程序的叙述中,错误的是()。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第3章进程管理一、单项选择题1.在多进程的系统中,为了保证公共变量的完整性,各进程应互斥进入临界区。
所谓临界区是指。
(清华大学1996年研究生试题)a.一个缓冲区 b. 一段数据区 c. 同步机制 d.. 一段程序2. 一个进程是。
(清华大学1996年研究生试题)a.由协处理机执行的一个程序b.一个独立的程序+数据集c.PCB结构与程序和数据的组合 d.一个独立的程序3.在操作系统中,信号量表示资源实体,是一个与队列有关的变量,其值仅能用P、V操作来改变。
(陕西省1995年自考题)a.实型 b.整型 c.布尔型 d.记录型4.设有5个进程共享一个互斥段,如果最多允许有3个进程同时进入互斥段,则所采用的互斥信号量的初值应是。
(陕西省1996年自考题)a. 5b. 3c. 1d. 05.并发进程之间。
(陕西省1997年自考题) a.彼此无关 b、必须同步 c、必须互斥 d、可能需要同步或互斥6.实现进程之间同步与互斥的通信工具为。
a、P、V操作b、信箱通信c、消息缓冲d、高级通信7.N个进程共享某一临界资源,则互斥信号量的取值范围为。
a、0~1b、-1~0c、1~ -(N-1)d、0~ -(N-1)8.设m为同类资源数,n为系统中并发进程数。
当n个进程共享m个互斥资源时,每个进程的最大需求是w;则下列情况会出现系统死锁的是。
a、m=2,n=1,w=2b、m=2,n=2,w=1c、m=4,n=3,w=2d、m=4,n=2,w=3 9.是进程调度算法。
a、时间片轮转法b、先来先服务c、响应比高者优先d、均衡调度算法10.当时,进程从执行状态转变为就绪状态。
(西北工业大学1999年研究生试题)a、进程被调度程序选中b、时间片到b、等待某一事件 d、等待的事件发生11.对两个并发进程,其互斥信号量为mutex;若mutex=0,则表明。
a、没有进程进入临界区 b、有一个进程进入临界区c、一个进程进入临界区而另一个进程正处于等待进入临界区状态d、有两个进程进入临界区12.用P、V操作可以解决互斥问题。
A、某些 b、一个 c、一切 d、大多数13.系统中有n(n>2)个进程,并且当前没有执行进程调度程序,则不可能发生。
A、有一个运行进程,没有就绪进程,剩下的n-1个进程处于等待状态B、有一个运行进程和n-1个就绪进程,但没有进程处于等待状态C、有一个运行进程和1个就绪进程,剩下的n-2个进程处于等待状态D、没有运行进程但有2个就绪进程,剩下的n-2个进程处于等待状态14.下面临界区概念论述正确的是。
a、临界区是指进程中用于实现进程互斥的那段程序代码b、临界区是指进程中用于实现进程同步的那段程序代码c、临界区是指进程中用于实现进程通信的那段程序代码d、临界区是指进程中用于访问临界资源的那段程序代码15.支持多道程序设计的操作系统在运行过程中,不断地选择新进程运行来实现CPU的共享,但其中不是引起操作系统选择新进程的直接原因。
(复旦大学1999年研究生试题)a、运行进程的时间片用完b、运行进程出错c、运行进程要等待某一事件的发生d、有新进程进入就绪状态二、填空题1.进程的队列组织,通常采用和的形式。
(陕西省1995年自考题)2.法和法是接触死锁的两种常用方法。
(陕西省1997年自考题)3.当系统创建一个进程时,系统就为其建立一个,当进程被撤消时就将其回收。
(陕西省1998年自考题)4.死锁产生的主要原因是和。
5.死锁产生的4个必要条件是:互斥条件、、和。
6.当多个进程等待分配处理机时,系统按一种规定的策略从多个处于状态的进程中选择一个进程,让它占有处理机,被选中的进程就进入了状态。
7.临界区是指。
8.如果系统中有N个进程,则在等待队列中进程的个数最多为个。
9.在P、V操作中,信号量S的物理意义是当信号量S值大于零时表示;当信号量S值小于零时,其绝对值为。
10.若使当前运行的进程总是优先级最高的进程,应选择进程调度算法。
11.用P、V操作管理临界区时,任何一个进程在进入临界区之前应调用操作,在临界区时应调用操作。
12.如果信号量的当前值为-4,则表示系统在该信号量上有个等待进程。
13.实现一个进程时必须考虑的3个主要问题包括:。
三、问答题1.操作系统中为什么要引入进程的概念?为了实现并发进程间的合作和协调工作,以及保证系统的安全,操作系统在进程管理方面应做哪些工作?(南京大学1997年研究生试题)2.试比较进程和程序的区别。
(哈尔滨工业大学2000年研究生试题)3.进程和线程的主要区别是什么?(西北工业大学1999年研究生试题)4.试比较管程和进程的异同点。
5.进程之间存在哪几种相互制约的关系?各是什么原因引起的?下列活动分别属于哪种制约关系?(北京理工大学1996年研究生试题)(1)若干同学去图书借书;(2)两队举行篮球比赛;(3)流水线生产的各道工序;(4)商品生产和社会消费;6. 进程基本状态变迁如图3-8所示。
问:(1)在什么情况下将发生下述状态的因果变迁?a .2 1 b. 3 2 c. 4 1 d.. 3 1(2)在什么情况下,下述状态变迁不会立即引起其他变迁?a .1b . 2 c. 3 d . 44图3-8 进程基本状态变迁图7. 下述程序是解决两个进程互斥访问临界区问题的一种方法,试从“互斥”、“有空即进”、“有限等待”3个方面讨论它的正确性,如果它是正确的,则证明之;如果它不正确,请说明理由。
Program sample;Var c1 ,c2 :integer ;Procedure p1 ; /*第一个进程p1*/BeginRepeatOther section 1;RepeatC1 :=1-c2Until c2 <>0;Critical section ;/*临界区*/C1 :=1Until falseEndProcedure p2 ;BeginRepeatOther section 2;RepeatC2 :=1-c1Until c1 <>0;Critical section ;/*临界区*/C2 :=1Until falseEnd ;BeginC1 :=1;C2 :=1;CobeginP1 ;P2 ;CoendEnd(1)8. 产生死锁的必要条件是什么?解决死锁问题常用哪几种措施?9.要使一个系统不发生死锁,一般可采用哪些方法?简述它们的实现原理。
10.Dijkstra 1965年提出的银行家算法其主要思想是什么?它能够用来解决实际中的死锁问题吗?为什么?四、解答题1.设有8个程序prog1,prog2,……prog8,它们在并发系统中执行时有如图4-1所示的制约关系,试用P,V操作实现这些程序间的同步。
图4-1 prog1~prog8执行关系图2.两个可以并发执行的程序都分别包含输入、计算的打印3个程序段,即I1、C1、P1、和I2、C2和P2。
两程序的前趋关系如图3-12所示,试用P、V操作实现它们的同步关系。
3.有3个并发进程R、M、P,它们共享同一缓冲区。
进程R负责从输入设备读信息,每读入一个记录后,就把它放进缓冲区中;进程M在缓冲区中加工读入的记录;进程P把加工后的记录打印输出。
读入的记录经加工输出后,缓冲区又可以存放下一个记录。
试写出它们能够正确执行的关发程序。
4. 设有进程A,B,C分别调用过程get,copy,put对缓冲区S和T进行操作。
其中get负责把数据块输入缓冲区S,COPY负责从缓冲区S中提取数据块复制到缓冲区T中,PUT负责从缓冲区S,COPY负责从缓冲区T中提取信息打印,如图3-15所示。
试描述get,copy,put 的操作过程。
图3-15三进程工作示意图5. 进程A1,A2……..,An1通过m个缓冲区向进程B1,B2,….Bn2不断发送消息,发送和接受工作遵循如下规则:(1)每个发送进程一次发送一个消息,写如一个缓冲区,缓冲区大小与消息长度一样;(2)对每一个消息,B1,B2,…….Bn2都需要各接受一次,读入各自的数据区内:(3)m个缓冲区都满时,发送进程等待,没有可读的消息时,接受进程等待。
试用P、V操作组织正确的发送和接受操作。
6.有一个仓库,可以存放A和B两种产品,仓库的存储空间足够大,但要求:(1)一次只能存入一种产品(A或B);(2)-N<A产品数量-B产品数量<M。
其中,N和M是正整数。
试用“存放A”和“存放B”以及P、V操作描述产品A与产品B的入库过程。
(北京大学1991年研究生试题)7.有一个仓库存放两种零件A和B,最大库容量各为m 个。
有一车间不断地取A和B进行装配,每次各取一个。
为避免零件锈蚀,遵循先入库者先出库的原则。
有两组供应商分别不断地供应A和B。
为保证齐套和合理库存,当某种零件的数量比另一种的数量超过n(n<m)个时,暂时对数量大的零件进货,集中补充数量少的零件。
试用P、V操作正确的实现之。
8. 设有一个具有N个信息元素的环形缓冲区,A进程顺序把信息写入缓冲区,B进程依次地从缓冲区读出信息。
回答下列问题:(1)叙述A、B两进程的相互制约关系;(2)判别下列用P、V操作表示的同步算法是否正确?如不正确,试说明理由,并修改成正确算法。
VAR buffer:ARRAY[0..N-1] OF T;in,out:0..N-1;VAR S1,S2:Semaphore;S1:=0; S2:=N;in:=0; out:=0;PROCEDURE A;BEGINREPEAT生产数据m;P(S2);buffer(in):=m;in:=(in+1) mod N;V(S1);foreverEND;PROCEDURE B;BEGINREPEATV(S2);m:=buffer(out);消费m;out:=(out+1) mod N;P(S1);foreverEND;9.多个进程共享一个文件,其中只读文件的称之为读者,其余只写文件的称为写者。
读者可以同时读,但是写者只能独立地写。
(1)说明进程间的相互制约关系,应设哪些信号量?(2)用P、V操作写出其同步算法。
(3)修改上述的同步算法,使得它对写者优先,即一旦有写者到达,后续的读者都必须等待,而无论是否有读者在读文件。
10.设有P1、P2、P3 3个进程共享某一资源F,P1对F只读不写,P2对F只写不读,P3对F先读后写。
当一个进程写F时,其他进程对F不能进行读写,但多个进程同时读F是允许的。
试用P、V操作正确实现P1、P2、P3的同步与互斥。
要求:(1)正常运行时不产生死锁;(2)使用F的并发度要高。
11.设有5个哲学家,共享一张放有5把椅子和桌子,每人分得一把椅子。
但是,桌上总共只有5支筷子,在每人两边各放一支。