操作系统第三章作业答案
操作系统第三章作业答案

第三章一、问答题1、某系统采用响应比高者优先的处理机调度算法,某个时刻根据用户要求创建了一个进程P,进程P在其存在过程中依次经历了:进程调度选中了进程P占用处理机运行(就绪—>运行),进程P运行中提出资源申请,要求增加主存使用量,没有得到(运行—>阻塞);进程等待一段时间后得到主存(阻塞—>就绪);进程调度再次选中了进程P占用处理机运行(就绪—>运行);有紧急进程Q进入,系统停止进程P的运行,将处理机分配进程Q(运行—>就绪);进程Q运行完,进程调度再次选中了进程P占用处理机运行(就绪—>运行);进程P运行完。
请分析进程P在其整个生命过程中的状态变化。
2、何谓进程,它与程序有哪些异同点?613、引起创建进程的事件通常有哪些?694、简述时间片轮转调度算的基本思想。
大多数时间片轮转调度算法使用一个固定大小的时间片,请给出选择小时间片的理由。
然后,再给出选择大时间片的理由。
755、进程有哪几种基本状态?试举出使进程状态发生变化的事件并描绘它的状态转换图。
636、进程创建、撤销、唤醒和阻塞原语的流程69、70、717、进程控制块的作用是什么?它主要包括哪几部分内容?658、用户级线程与内核级线程的区别是什么?819、PCB中包含哪些信息?进程状态属于哪类信息?6510、列举引起进程创建和撤销的事件69、7011、试比较进程和线程的区别。
8112、什么是操作系统的内核?6713、简述操作系统的三级调度(简述其各级调度的基本功能即可)。
72二、计算题1、就绪队列中有4个进程P1,P2,P3,P4同时进入就绪队列,它们进入就绪队列2秒之后开始进程调度,它们需要的处理器时间如表所示。
忽略进行调度等所花费的时间,且进程执行过程中不会发生阻塞,请回答下列问题:分别写出采用时间片轮转调度算法(时间片为4秒)、响应比高者优先调度算法选中进程执行的次序。
答:时间片轮转调度算法:P1,P2,P3,P4 ,P1,P2,P4,P1,P2,P2响应比高者优先调度算法:P3,P4,P1,P22、在某计算机系统中,时钟以固定的频率中断CPU,以增加日历计数或控制系统中的一些定时操作,时钟中断处理程序每次执行的时间为2ms(包括进程切换开销)。
计算机操作系统课后习题答案第三章(第四版)

第三章处理机调度与死锁1,高级调度与低级调度的主要任务是什么?为什么要引入中级调度?【解】(1)高级调度主要任务是用于决定把外存上处于后备队列中的那些作业调入内存,并为它们创建进程,分配必要的资源,然后再将新创建的进程排在就绪队列上,准备执行。
(2)低级调度主要任务是决定就绪队列中的哪个进程将获得处理机,然后由分派程序执行把处理机分配给该进程的操作。
(3)引入中级调度的主要目的是为了提高内存的利用率和系统吞吐量。
为此,应使那些暂时不能运行的进程不再占用宝贵的内存空间,而将它们调至外存上去等待,称此时的进程状态为就绪驻外存状态或挂起状态。
当这些进程重又具备运行条件,且内存又稍有空闲时,由中级调度决定,将外存上的那些重又具备运行条件的就绪进程重新调入内存,并修改其状态为就绪状态,挂在就绪队列上,等待进程调度。
3、何谓作业、作业步和作业流?【解】作业包含通常的程序和数据,还配有作业说明书。
系统根据该说明书对程序的运行进行控制。
批处理系统中是以作业为基本单位从外存调入内存。
作业步是指每个作业运行期间都必须经过若干个相对独立相互关联的顺序加工的步骤。
作业流是指若干个作业进入系统后依次存放在外存上形成的输入作业流;在操作系统的控制下,逐个作业进程处理,于是形成了处理作业流。
4、在什么情冴下需要使用作业控制块JCB?其中包含了哪些内容?【解】每当作业进入系统时,系统便为每个作业建立一个作业控制块JCB,根据作业类型将它插入到相应的后备队列中。
JCB 包含的内容通常有:1) 作业标识2)用户名称3)用户账户4)作业类型(CPU 繁忙型、I/O芳名型、批量型、终端型)5)作业状态6)调度信息(优先级、作业已运行)7)资源要求8)进入系统时间9) 开始处理时间10) 作业完成时间11) 作业退出时间12) 资源使用情况等5.在作业调度中应如何确定接纳多少个作业和接纳哪些作业?【解】作业调度每次接纳进入内存的作业数,取决于多道程序度。
计算机操作系统三章习题答案

第三章处理机调度与死锁``0301进程调度是从选择一个进程投入运行。
A.就绪队列B.等待队列C.作业后备队列D.提交队列``0301A``0301支持多道程序设计的操作系统在运行过程中,不断地选择新进程运行来实现CPU的共享,下列选项中,不是引起操作系统选择新进程的直接原因。
A.运行进程的时间片用完B.运行进程出错C.运行进程要等待某一时件发生D.有新进程进入就绪状态``0301D``0301下列因素中,不一定是引起进程调度的因素。
A.一个进程运行完毕B.运行进程被阻塞C.一个高优先级进程被创建D.实时调度中,一个紧迫的任务到来``0301C``0301若进程P一旦被唤醒就能投入运行,则系统可能是。
A.非抢占式调度方式,进程P的优先级最高B.抢占式调度方式,就绪队列上的所有进程的优先级皆比P低C.就绪队列为空队列D.抢占式调度方式,P的优先级高于当前运行的进程``0301D``0301在批处理系统中,周转时间是指。
A.作业运行时间B.作业等待时间和运行时间之和C.作业的相对等待时间D.作业被调度进入内存到运行完毕的时间``0301B``0301下列各项中,不是进程调度时机的是。
A.现运行的进程正常结束或异常结束B.现运行的进程从运行态进入就绪态C.现运行的进程从运行态进入等待态D.有一进程从等待态进入就绪态``0301D``0302现有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``0302C``0302下列算法中,操作系统用于作业调度的算法是。
A.先来先服务算法B.先进先出算法C.最先适应算法D.时间片轮转算法``0302A``0302在作业调度中,排队等待时间最长的作业被优先调度,这是指调度算法。
操作系统题目第3章

第三章处理机调度与死锁1、时间片轮转调度算法是为了()。
A、多个用户能及时干预系统B、使系统变得高效C、优先级较高的进程得到及时响应D、需要CPU时间最少的进程最先做2、()有利于CPU繁忙型的作业,而不利于I/O繁忙型的作业。
A、时间片轮转调度算法B、先来先服务调度算法C、短作业(进程)优先算法D、优先权调度算法3、下面有关选择进程调度算法的准则中不正确的是()。
A、尽快响应交互式用户的请求B、尽量提高处理器利用率C、尽可能提高系统吞吐量D、适当增长进程就绪队列的等待时间4、设有4个作业同时到达,每个作业的执行时间均为2h,它们的一台处理器上按单道式运行,则平均周转时间为()。
A、1hB、5hC、2.5hD、8h5、若每个作业只能建立一个进程,为了照顾短作业用户,应采用();为了照顾紧急作业用户,应采用();为了能实现人机交互,应采用();而能使短作业、长作业和交互作业用户都满意,应采用()。
A、FCFS调度算法B、短作业优先调度算法C、时间片轮转调度算法D、多级反馈队列调度算法E、剥夺式优先级调度算法6、()优先级是在创建进程时确定的,确定之后在整个运行期间不在改变。
A、先来先服务B、动态C、短作业D、静态7、现在有三个同时到达的作业J1、J2和J3,它们的执行时间分别是T1、T2、T3,且T1<T2<T3。
系统按单道方式运行且采用短作业优先调度算法,则平均周转时间是()A、T1+T2+T3 B、(3×T1+2×T2+T3)/3C、(T1+T2+T3)/3D、(T1+2×T2+3×T3)/38、设有三个作业,其运行时间分别是2h、5h、3h,假定它们同时达到,并在同一个处理器上以单道方式运行,则平均周转时间最小的执行顺序是()A、J1,J2,J3B、 J3 ,J2,J1C、J2,J1,J3D、 J1 ,J3 ,J29、采用时间片轮转调度算法分配CPU时,当处于运行状态的进程用完一个时间片后,它的状态是()状态。
计算机操作系统三章习题答案

第三章处理机调度与死锁``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下列算法中,操作系统用于作业调度的算法是。
【操作系统 第3章 作业】

C. 不可强占处理机的静态优先数调度算法
D. 可强占处理机的静态化先数调度算法
解答: A
16.单选题: 设系统中有n个并发进程,竞争资源R,且每个进程都需要m个R类资源,为使该系统不会因竞争该类资源而死锁,资源R至少要有( )个。
1.单选题: 设有三个作业J1、J2、J3,它们的到达时间和执行时间如下表: 作业名 到达时间 执行时间 J1 8:00 2小时 J2 8:45 1小时 J3 9:30 0.25小时 它们在一台处理器上按单道运行,若采用短作业优先调度算法,则此三作业的执行次序是( )。
A. J3,J2,J1
A. 一定死锁
B. 不一定死锁
C. 只要互斥就不会死锁
D. 以上说法都不对
解答: B
8.单选题: 在批处理系统中,周转时间是指( )。
A. 作业运行时间
B. 作业等待时间和运行时间之和
C. 作业的相对等待时间
D. 作业被调度进入内存到运行完毕的时间
19.单选题: 采用时间片轮转调度算法主要是为了( )。
A. 多个终端都能得到系统的及时响应
B. 先来先服务
C. 优先权高的进程及时得到调度
D. 需要CPU时间最短的进程先做
解答: A
20.单选题: 有关资源分配图中存在环路和死锁关系,正确的说法是( )。
解答: B
9.单选题: 下列选项中,降低进程优先级的合理时机是( )。(2010全国试题)
A. 进程的时间片用完
B. 进程刚完成I/O,进入就绪队列
C. 进程长期处于就绪队列中
D. 进程从就绪队列转为运行状态
计算机操作系统第三章答案
第三章处理机调度与死锁一、单项选择题K操作系统中的作业管理是一种(A )oA.宏观的高级管理B.宏观的低级管理C.系统刚开始加电D.初始化引导完成2、作业调度又称为[1A],它决定将哪些在外存储器上的处于[2D]状态的作业调入主机内存。
系统经作业调度程序选中一个或多个作业后,就为它们分配必要的内存、设备及软资源。
然后控制权就交给了 [3B],由 [3]将它们变为一个或一组[4C],并[5A]。
供选择的答案:[11: A、高级调度B、低级调度C、中级调度D、进程调度[2]: A、就绪B、阻塞C、提交D、后备[3]: A、存储管理模块B、处理机管理模块C、文件管理模块D、设备管理模块[4]: A、指令B、子程序C、进程D、程序段⑸:A、把它们挂到就绪队列上B、为它们分配处理机C、把它们挂到后备队列上D、为它们分配设备)中。
A、处于后备状态的作业存放在(3.A•外存B.内存和B D.扩展内存4、在操作系统中,JCB是指(A )oA.作业控制块B.进程控制块C.文件控制块D.程序控制块5、作业在系统中存在与否的唯一标志是(C)。
A.源程序B.作业说明书C.作业控制块D.目的程序6、按照作业到达的先后次序调度作业,排队等待时间最长的作业被优先调度,这是指(A)调度算法。
A.先来先服务法B.短作业优先法C.时间片轮转法D.优先级法7、在批处理系统中,周转时间是(B )oA.作业运行时间B.作业等待时间和运行时间之和C.作业的相对等待时间D.作业被调度进入内存到运行完毕的时间8、为了对紧急进程或重要进程进行调度,调度算法应采用(B)oA.先来先服务法B.优先级法C.短作业优先法D.时间片轮转法9、操作系统中,(A)负责对进程进行调度。
A.处理机管理B.作业管理C.高级调度管理D.存储和设备管理.10、如果系统中所有作业是同时到达的,则使作业平均周转时间最短的作业调度算法是短作业优先调度算法。
1K系统出现死锁的原因是(C )oA.计算机系统发生了重大故障B.有多个封锁的进程同时存在C.若干进程因竞争资源而无休止地等待着,不释放已占有的资源D.资源数大大少于进程数,或进程同时申请的资源数大大超过资源总数12、设系统中有n个进程并发,共同竞争资源X,且每个进程都需要m个X资源,为使该系统不会发生死锁,资源x至少要有(C)(A) n*m+1 (B) n*m+n (C) n*m+1 -n (D)无法预计 13、选出不正确的两条叙述(BE)OA、死锁是指因相互竞争资源使得系统中有多个阻塞进程的情况;B、若系统中并发运行的进程和资源之间满足互斥条件、占有且申请、不可抢占和环路条件,则可判定系统中发生了死锁;C、在对付死锁的策略中,解除死锁通常都是和检测死锁配套使用;D、产生死锁的原因可归结为竞争资源和进程推进顺序不当;E、在死锁的解决方法中,由于避免死锁采用静态分配资源所以对资源的利用率不高14、死锁预防是保证系统不进入死锁状态的静态策略,其解决方法是破坏产生死锁的四个必要条件之一。
操作系统第3章参考答案
第3章作业参考答案1、高级调度的任务是:将外存上处于后备队列的作业调入内存,并为他们创建必要的进程与分配资源。
然后将进程插入就绪队列中。
高级调度主要涉及两个问题:(1)每次调度多少个作业进入内存,(2)怎样选择作业(怎样调度)。
低级调度的任务是:指决定就绪队列中哪些进程应获得处理机。
这是OS的核心调度,所有操作系统都必须有这种调度。
通常采用两方式—非强占方式与强占方式。
在一个OS中如何选择方式与调度算法,在很大程度上取决于OS的目标。
但总体而言可分为两类—面向用户与面向系统的原则面向用户的原则:主要考虑用户的需求,如周转时间、响应时间、截止时间、优先权原则。
面向系统的原则:主要考虑系统的需求,如系统的吞吐量、处理机利用率、各类资源的平均利用率等注(周转时间:周转时间是衡量批处理系统的调度算法的重要指标。
周转时间:指作业从提交开始到完成所需要的时间。
包括:作业在外存后备队列上等待调度的时间、进程在就绪队列上等待进程调度的时间、进程在CPU上的执行时间、进程等待I/O操作完成的时间。
•注意:我们所讲的周转时间是指系统的平均周转时间,而不是单个作业的周转时间。
•平均周转时间:T=(T1+T2+…Tn)/n。
•带权平均周转时间:•响应时间:响应时间是衡量分时系统的重要指标。
响应时间—从用户通过键盘提交一个请求开始,到屏幕上显示结果为止的这段时间。
包括:从键盘输入的请求信息到CPU的时间,CPU对请求的处理时间、以及信息回送到显示器的时间。
•截止时间:是评价实时系统的重要指标。
截止时间:是指某任务必须开始执行的最迟时间必须完成的最迟时间。
•优先权原则:在所有的OS中,都应有一定的优先权原则,--强占式调度。
系统的吞吐量:是衡量批处理系统的重要指标。
系统的吞吐量—单位时间内系统完成的作业数。
处理机利用率:这对大中型多用户系统很重要,因此CPU价格昂贵(特别是大型计算机),因此这也是衡量大型机与系统的重要指标。
操作系统第3章习题-答案
第3章调度与死锁一、单项选择题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. 动态D. 短作业9. 某系统中有3个并发进程,都需要同类资源4个,试问该系统不会发生死锁的最少资源数是________。
A. 9 =B. 10C. 11D. 1210. 以优先级为基础的进程调度算法可以保证在任何时候正在运行的进程总是诸就绪进程中优先级最高的进程。
上述描述是________。
A. 正确的=B. 错误的11. 当检测出发生死锁时,可以通过撤消一个进程解除死锁。
上述描述是________。
A. 正确的=B. 错误的12. 在下列解决死锁的方法中,属于死锁预防策略的是____。
《现代操作系统第四版》第三章答案
第三章内存管理习题1.IBM360 有一个设计,为了对2KB 大小的块进行加锁,会对每个块分配一个4bit的密钥,这个密钥存在PSW (程序状态字)中,每次内存引用时,CPU都会进行密钥比较。
但该设计有诸多缺陷,除了描述中所言,请另外提出至少两条缺点。
A:密钥只有四位,故内存只能同时容纳最多十六个进程;需要用特殊硬件进行比较,同时保证操作迅速。
2. 在图3-3 中基址和界限寄存器含有相同的值16384 ,这是巧合,还是它们总是相等?如果这只是巧合,为什么在这个例子里它们是相等的?A :巧合。
基地址寄存器的值是进程在内存上加载的地址;界限寄存器指示存储区的长度。
3. 交换系统通过紧缩来消除空闲区。
假设有很多空闲区和数据段随机分布,并且读或写32位长的字需要10ns的时间,紧缩128MB大概需要多长时间?为了简单起见,假设空闲区中含有字0,内存中最高地址处含有有效数据。
A: 32bit=4Byte===> 每字节10/4=2.5 ns 128MB=1282A20=2A27Byte 对每个字节既要读又要写,22.5*2A27=671ms4. 在一个交换系统中,按内存地址排列的空闲区大小是10MB,4MB,20MB,18MB,7MB,9MB,1 2 M B ,和1 5 M B 。
对于连续的段请求:(a) 12MB(b) 10MB(c) 9MB 使用首次适配算法,将找出哪个空闲区?使用最佳适配、最差适配、下次适配算法呢?A:首次适配算法:20MB ,10MB ,18MB ;最佳适配算法:12MB ,10MB ,9MB;最差适配算法:20MB ;18MB ;15MB ;下次适配算法:20MB ;18MB ;9MB;5. 物理地址和虚拟地址有什么区别?A :实际内存使用物理地址。
这些是存储器芯片在总线上反应的数字。
虚拟地址是指一个进程的地址空间的逻辑地址。
因此,具有32 位字的机器可以生成高达4GB 的虚拟地址,而不管机器的内存是否多于或少于4GB。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第三章作业
1.下进程之间存在相互制约关系吗?若存在,是什么制约关系?为什么?
①几个同学去图书馆借同一本书。
答:互斥,只能有一个借到
②篮球比赛中两队同学争抢篮板球。
答:互斥,只能有一个抢到
③果汁流水线生产中捣碎、消毒、灌装、装箱等各道工序。
答:同步时进行,相互不影响
④商品的入库出库。
答:同步时进行,相互无影响
⑤工人做工与农民种粮。
答:同步进行,相互无影响
2.在操作系统中引入管程的目的是什么?条件变量的作用是什么?
答:引入管城是为了实现进程的同步和互斥。
条件变量的作用是:设置多个信号量,使用大量的P、V操作,还要仔细安排多个P操作的排列次序,否则会出现错误的结果或出现死锁现象。
3.说明P、V操作为什么要设计成原语。
答:用信号量S表示共享资源,其初值为1表示有一个资源。
设有两个进程申请该资源,若其中一个进程先执行P操作。
P操作中的减1操作有3条指令组成:去S送寄存器R;R-1送S。
若P操作不用原语实现,在执行了前述三条指令中的2条,即还未执行R 送S时(此时S值仍为1),进程被剥夺CPU,另一个进程执行也要执行P操作,执行后S的值为0,导致信号量的值错误。
正确的结果是两个进程执行完P操作后,信号量S的值为-1,进程阻塞。
4.设有一个售票大厅,可容纳200人购票。
如果厅内不足200人则允许进入,超过则在厅外等候;售票员某时只能给一个购票者服务,购票者买完票后就离开。
试问:
①购票者之间是同步关系还是互斥关系?
答:互斥关系
②用P、V操作描述购票者的工作过程。
如下:
semaphore mutex=1;
semaphore full=200;
void customer()
{ p(metux);
P(full);
Buying
V(mutex);
V(full);
}
5.进程之间的关系如图3-16所示,试用P、V操作描述它们之间的同步。
如下:
设:s1→s2为a s1→s3为b s2→s6为c s3→s4 为d s3→s5为e s4→s6为f s5→s6为g
semaphore a,b,c,d,g,f,g=0,0,0,0,0,0,0;
{ s1;v(a);v(b);}
{ p(a);s2;v(a);}
{ p(b);s3;v(b);}
{ p(d);s4;v(d);}
{ p(e);s5;v(e);}
{ p(c);s6;}
{ p(f);p(g);s6}
6.有4个进程P1、P2、P3、P4共享一个缓冲区,进程P1向缓冲区存入消息,进程P2、
P3、P4从缓冲区中去消息,要求发送者必须等三个进程都去过本消息后才能发送下
调消息。
缓冲区内每次只能容纳一个消息,用P、V操作描述四个进程存取消息的情
况。
如下:
Semaphore: metux=0;
{ p1;v(metux);}
{ p(metux); { p(metux); { p(metux);
P2; p3; p4;
V(metux); v(metux); v(metux);
} } }
7.分析生产者——消费者问题中多个P操作颠倒引起的后果。
semaphore mutex=1;
semaphore empty=n;
semaphore full=0;
int i,j;
ITEM buffer[n];
ITEM data_p,data_c;
void producer()
{
While(ture)
{
Produce an item in data_p;
P(empty);
P(mutex);
buffer[i]=data_p;
i=(i+1)%n;
v(empty);
v(full);
}
Void consumer()
{
While(ture)
{
P(full);
P(mutex);
data_c= buffer[j];
j=(j+1)%n;
v(metux);
v(empty);
coumer the item in data_c;
}
8.读者——写者问题中写者优先算法的实现。
semaphore Wmutex,Rmutex=1;
int Rcount=0;
semaphore mutex=1
void reader()void writer(){while(true) { while(true)
{P(mutex); {P(mutex);
P(Rmutex); P(wmutex);
If(Rcount==0) P(wmutex);
Rcount=Rcount+1 ; 写;
V(Rmutex);
V(mutex); V(Wmutex);
V(mutex);
读; }
}
P(Rmutex);
Rcount=Rcount-1;
if (Rcount==0) V(wmutex);
V(Rmutex);}
}
9.写一个用信号量解决哲学家进餐问题不产生锁死的算法。
如下:
Semaphore chopstick[5]={1,1,1,1,1};
Semaphore mutex;
Void profession(int n)
{
While (ture)
{ p(chopstick[i];
p(chopstick[(i+1)%5]);
p(metux);
进餐;
V(chopstick[i];
V(chopstick[(i+1)%5]);
思考;
V(metux);
}
}
10.一个文件可有若干个不同的进程所共享,每个进程具有唯一的编号。
假定文件可有满足下列限制的若干个不同的进程同时访问,并发访问该文件的哪些进程的编号的总和不得大于n,设计一个协调对该文件访问的管程。
不会做这道题
11.用管程解决读者——写者问题,并采用公平原则。
不会做这道题。