信号量题目(1)
操作系统习题

操作系统作业【注意】对于作业中的选择题,都要求抄写题目(题中若有插图可不画),并在题目上填写答案。
作业1——进程同步(1)1.设有n个进程使用同一个共享变量,如果最多允许m(m < n)个进程同时进入相关临界区,则信号量的变化范围是。
A. n,n-1,...,n-mB. m,m-1,...1,0,-1,...m-nC. m,m-1,...1,0,-1,...m-n-1D. m,m-1,...1,0,-1,...m-n+12.对于有两个并发进程的系统,设互斥信号量为mutex,若mutex=0,则。
A. 表示没有进程进入与mutex相关的临界区B. 表示有一个进程进入与mutex相关的临界区C. 表示有一个进程进入与mutex相关的临界区,另一个进程等待进入D.表示有两个进程进入与mutex相关的临界区3.S.queue,S.value是信号灯S的两个组成部分,当S.queue为空时,S.value的值是( ) A.S.value≤0 B.S.value=0 C.S.value=1 D.Svalue≥04.如果信号量的当前值为-3,则表示系统中在该信号量上有个等待进程。
5.下列选项中,操作系统提供给应用程序的接口是。
(2010全国试题)A.系统调用B.中断C.库函数D.原语6.下列选项中,导致创建新进程的操作是。
(2010全国试题)I.用户登录成功II.设备分配III.启动程序执行A.仅I和II B.仅II和III C.仅I和III D.I、II和III7.设与某资源关联的信号量初值为3,当前值为1。
若M表示该资源的可用个数,N表示等待该资源的进程数,则M、N分别是。
(2010全国试题)A.0、1 B.1、0 C.1、2 D.2、0作业2——进程同步(2)1.如何利用信号量机制来实现多个进程对临界资源的互斥访问?2.四个进程A、B、C、D都要读一个共享文件F,系统允许多个进程同时读文件F,但限制是进程A 和进程C不能同时读文件F,进程B和进程D也不能同时读文件F,为了使这四个进程并发执行时能按系统要求使用文件,现用PV操作进行管理,请回答下面的问题:(1)应定义的信号量及初值:。
操作系统计算题

计算题:一、 生产消费者问题为解决生产者消费者问题,应该设两个同步信号量,一个说明空缓冲区的数目,用S1 表示,初值为有界缓冲区的大小N ,另一个说明已用缓冲区的数目,用S2表示,初值 为0。
由于在此问题中有M 个生产者和N 个消费者,它们在执行生产活动和消费活动中要对有界缓冲区进行操作。
由于有界缓冲区是一个临界资源,必须互斥使用,所以,另外还需要设置一个互斥信号量mutex ,其初值为1。
二、 地址转换例1:若在一分页存储管理系统中,某作业的页表如下所示。
已知页面大小为1024字节,试将逻辑地址1011,2148,3000,4000,5012转化为相应的物理地址。
页号 块号0 21 32 13 6解:本题中,为了描述方便,设页号为P ,页内位移为W ,逻辑地址为A ,页面大小为L ,则:p=int(A/L)w=A mod L对于逻辑地址1011p=int(1011/1024)=0w=1011 mod 1024=1011查页表第0页在第二块,所以物理地址为3059。
对于逻辑地址2148p=int(2148/1024)=2w=2148 mod 1024=100查页表第2页在第1块,所以物理地址为1124。
对于逻辑地址3000p=int(3000/1024)=2w=3000 mod 1024=928查页表第2页在第1块, 所以物理地址为1796。
对于逻辑地址4000p=int(4000/1024)=3w=4000mod 1024=928查页表第3页在第6块, 所以物理地址为7072。
对于逻辑地址5012p=int(5012/1024)=4w=5012mod1024=916因页号超过页表长度,该逻辑地址非法。
例2:在一分页存储管理系统中,逻辑地址长度为16位,页面大小为4096字节,现有一逻辑地址为2F6AH,且第0, 1, 2页依次存放在物理块5, 10 ,11中,问相应的物理地址为多少?解:由题目所给给条件可知,本页式系统的逻辑地址结构为:逻辑地址2F6AH的二进制表示如下:由此可知逻辑地址2F6AH的页号为2,该页存放在第11号物理块中,用十六进制表示志号为B,所以物理地址为BF6AH.三、求文件最大长度例:设文件索引节点中有7个地址项,其中4个地址项为直接地址索引,2个地址项是一级间接地址索引,1个地址项是二级间接地址索引,每个地址项大小为4字节,若磁盘索引块和盘块大小均为256字节,则可表示的单个文件的最大长度是多少?解答:本题的文件结构属混合索引分配方式。
系统架构设计师-试题1

系统架构设计师-试题1(总分:68.00,做题时间:90分钟)一、单项选择题(总题数:51,分数:68.00)在进行金融业务系统的网络设计时,应该优先考虑 (13) 原则。
在进行企业网络的需求分析时,应该首先进行 (14) 。
(分数:2.00)(1).A.先进性 B.开放性 C.经济性 D.高可用性(分数:1.00)A.B.C.D. √解析:(2).A.企业应用分析B.网络流量分析C.外部通信环境调研 D.数据流向图分析(分数:1.00)A. √B.C.D.解析:可用性、有效性和安全性是金融业务核心系统架构中被着重关注的三方面。
数据量大、数据类型多样、业务需求多样、业务需求变化快和子系统繁多是金融业务的特点,因此金融业务核心系统架构中,可用性、有效性和安全性尤为重要。
在复杂的金融业务环境中,只采用片面的策略来提高系统单方面的性能,会导致系统性能失衡,整体性能降低。
因此在金融业务核心系统架构中要采用一定的策略保持可用性、有效性和安全性的平衡,以提升系统整体性能。
而在进行网络设计时,其网络的高可用性是设计优先考虑。
企业内部网络的建设已经成为提升企业核心竞争力的关键因素。
企业网已经越来越多地被人们提到,利用网络技术,现代企业可以在供应商、客户、合作伙伴、员工之间实现优化的信息沟通。
这直接关系到企业能否获得关键的竞争优势。
企业网络要求具有资源共享功能、通信服务功能、多媒体功能、远程VPN拨入访问功能。
所以在进行企业网络的需求分析时,对企业的需求、应用范围、基于的技术等,要从企业应用来进行分析。
Employee(职工号,姓名,性别,年龄,通信地址,家庭成员),其中通信地址记录了邮编、省、市、街道信息;家庭成员记录了职工的亲属的姓名。
职工实体中的通信地址是一个(5) 属性;为了将数据库模式设计得更合理,对于家庭成员属性 (6) 。
(分数:2.00)(1).A.简单 B.复合 C.多值 D.派生(分数:1.00)A.B. √C.D.解析:(2).A.可以不作任何处理直接记录亲属的姓名B.只允许记录一个亲属的姓名C.需要对职工实体设置若干个亲属姓名字段D.应该将职工的亲属的姓名加上职工号设计成为一个独立的实体(分数:1.00)A.B.C.D. √解析:简单属性是原子的,不可再分的。
腾讯真题整理(含答案)

A:2,4,1,3,5 B:2,1,3,5 C:4,1,3,5 D:1,3,5
答案:C。因为NumberList是顺序容器,第一次循环之后删除元素2,容器中2后面的所有元素需要向前移动一个位置,即{4,1,3,5}。而第二次循环判断的是i=1位置的元素,并没有对4进行操作,所以4并没有被删除。所以答案选C。
input = scan.next();
permutation(input.toCharArrቤተ መጻሕፍቲ ባይዱy(),0,input.length());
if ("[]".equals(hashset.toString())){//空字符串
System.out.println("[]");
}else {
Iterator iterator = hashset.iterator();
//递归出口,最后只有一个字符,不需要交换
if(start == length-1) {
hashset.add("\""+String.valueOf(str)+"\"");
}else {
for(int j=start;j<length;j++) {
if(str[start] == str[j] && start!=j) {
腾讯真题整理(含答案)
整理了几道腾讯真题,来挑战一下看看自己多厉害(含答案及解答)。
1、下列哪些可以用于Linux进程间通讯?
A:UNIX套接字B:信号量C:无名管道D:文件锁E:共享内存
操作系统信号量习题

(一)图书馆有100个座位,每位进入图书馆的读者要在登记表上登记,退出时要在登记表上注销。
要几个程序?有多少个进程?(答:一个程序;为每个读者设一个进程)(1)当图书馆中没有座位时,后到的读者在图书馆为等待(阻塞)(2)当图书馆中没有座位时,后到的读者不等待,立即回家。
解(1 )设信号量:S=100; MUTEX=1P(S)P(MUTEX)登记V(MUTEX)阅读P(MUTEX)注销V(MUTEX)V(S)解(2)设整型变量COUNT=100; 信号量:MUTEX=1;P(MUTEX);IF (COUNT==0){ V(MUTEX);RETURN;}COUNT=COUNT-1;登记V(MUTEX);阅读P(MUTEX);COUNT=COUNT+1;V(MUTEX);RETURN;(二)有一座东西方向的独木桥;用P,V操作实现:(1)每次只允许一个人过桥;(2)当独木桥上有行人时,同方向的行人可以同时过桥,相反方向的人必须等待。
(3)当独木桥上有自东向西的行人时,同方向的行人可以同时过桥,从西向东的方向,只允许一个人单独过桥。
(此问题和读者与写者问题相同,东向西的为读者,西向东的为写者)。
(1)解设信号量MUTEX=1P (MUTEX)过桥V (MUTEX)(2)解设信号量:MUTEX=1 (东西方互斥)MD=1 (东向西使用计数变量互斥)设整型变量:CD=0 (东向西的已上桥人数) CX=0 (西向东的已上桥人数)从东向西:P (MD)IF (CD=0){P (MUTEX) }CD=CD+1V (MD)过桥P (MD)CD=CD-1IF (CD=0){V (MUTEX) }V (MD)从西向东:P (MX){P (MUTEX) }CX=CX+1V (MX)过桥P (MX)CX=CX-1IF (CX=0){V (MUTEX) }V (MX)(3) 解:从东向西的,和(2)相同;从西向东的和(1)相同。
操作系统计算题

计算题:一、 生产消费者问题为解决生产者消费者问题,应该设两个同步信号量,一个说明空缓冲区的数目,用S1 表示,初值为有界缓冲区的大小N,另一个说明已用缓冲区的数目,用S2表示,初值 为0。
由于在此问题中有M 个生产者与N 个消费者,它们在执行生产活动与消费活动中要对有界缓冲区进行操作。
由于有界缓冲区就是一个临界资源,必须互斥使用,所以,另外还需要设置一个互斥信号量mutex,其初值为1。
二、 地址转换 例1:若在一分页存储管理系统中,某作业的页表如下所示。
已知页面大小为1024字节,试将逻辑地址1011,2148,3000,4000,5012转化为相应的物理地址。
页号 块号0 21 32 13 6解:本题中,为了描述方便,设页号为P,页内位移为W,逻辑地址为A,页面大小为L,则:p=int(A/L)w=A mod L对于逻辑地址1011p=int(1011/1024)=0w=1011 mod 1024=1011查页表第0页在第二块,所以物理地址为3059。
对于逻辑地址2148p=int(2148/1024)=2w=2148 mod 1024=100查页表第2页在第1块,所以物理地址为1124。
对于逻辑地址3000p=int(3000/1024)=2w=3000 mod 1024=928查页表第2页在第1块, 所以物理地址为1796。
对于逻辑地址4000p=int(4000/1024)=3w=4000mod 1024=928查页表第3页在第6块, 所以物理地址为7072。
对于逻辑地址5012p=int(5012/1024)=4w=5012mod1024=916因页号超过页表长度,该逻辑地址非法。
例2:在一分页存储管理系统中,逻辑地址长度为16位,页面大小为4096字节,现有一逻辑地址为2F6AH,且第0, 1, 2页依次存放在物理块5, 10 ,11中,问相应的物理地址为多少?解:由题目所给给条件可知,本页式系统的逻辑地址结构为:逻辑地址2F6AH的二进制表示如下:由此可知逻辑地址2F6AH的页号为2,该页存放在第11号物理块中,用十六进制表示志号为B,所以物理地址为BF6AH、三、求文件最大长度例:设文件索引节点中有7个地址项,其中4个地址项为直接地址索引,2个地址项就是一级间接地址索引,1个地址项就是二级间接地址索引,每个地址项大小为4字节,若磁盘索引块与盘块大小均为256字节,则可表示的单个文件的最大长度就是多少?解答:本题的文件结构属混合索引分配方式。
【转】进程同步之信号量机制(pv操作)及三个经典同步问题

【转】进程同步之信号量机制(pv操作)及三个经典同步问题上篇博客中(),我们对临界区,临界资源,锁机制详细解读了下,留下了⼀个问题,就是锁机制只能判断临界资源是否被占⽤,所以他解决了互斥问题,但是他不能确定前⾯的进程是否完成,所以他不能⽤于同步问题中。
下⾯就为你讲解信号量机制是如何解决这⼀问题的。
1.信号量机制信号量机制即利⽤pv操作来对信号量进⾏处理。
什么是信号量?信号量(semaphore)的数据结构为⼀个值和⼀个指针,指针指向等待该信号量的下⼀个进程。
信号量的值与相应资源的使⽤情况有关。
当它的值⼤于0时,表⽰当前可⽤资源的数量;当它的值⼩于0时,其绝对值表⽰等待使⽤该资源的进程个数。
注意,信号量的值仅能由PV操作来改变。
⼀般来说,信号量S³0时,S表⽰可⽤资源的数量。
执⾏⼀次P操作意味着请求分配⼀个单位资源,因此S的值减1;当S<0时,表⽰已经没有可⽤资源,请求者必须等待别的进程释放该类资源,它才能运⾏下去。
⽽执⾏⼀个V操作意味着释放⼀个单位资源,因此S的值加1;若S£0,表⽰有某些进程正在等待该资源,因此要唤醒⼀个等待状态的进程,使之运⾏下去。
2.PV操作什么是PV操作?p操作(wait):申请⼀个单位资源,进程进⼊经典伪代码wait(S){while(s<=0)<span style="white-space:pre"> </span>//如果没有资源则会循环等待;;S-- ;}v操作(signal):释放⼀个单位资源,进程出来signal(S){S++ ;}p操作(wait):申请⼀个单位资源,进程进⼊v操作(signal):释放⼀个单位资源,进程出来PV操作的含义:PV操作由P操作原语和V操作原语组成(原语是不可中断的过程),对信号量进⾏操作,具体定义如下:P(S):①将信号量S的值减1,即S=S-1;②如果S<=0,则该进程继续执⾏;否则该进程置为等待状态,排⼊等待队列。
系统调用中的信号量PV操作 理发师问题

⏹理发师问题:一个理发店由一间等候室W和一间工作室B组成。
顾客可以从外面大街上进入W等候理发。
两个房间的入口是并排的,且共享一扇日本式可滑动的推拉门(门总是挡住一个入口)。
顾客在工作室内理完发,可由B 的旁门出去。
W中有N把椅子,顾客必须坐着等候。
理发师可由门上小窗查看W中无人就睡觉,否则开门,并叫一位顾客入内理发。
顾客每进入一位,都拉铃通知理发师。
若把顾客和理发师都视为进程,请用P、V操作写出进程的同步算法。
⏹要求打印:题目中要求描述理发师和顾客的行为,因此需要两类线程barber()和customer ()分别描述理发师和顾客的行为。
其中,理发师有活动有理发和睡觉两个事件;等待和理发二个事件。
店里有固定的椅子数,上面坐着等待的顾客,顾客在到来这个事件时,需判断有没有空闲的椅子,理发师决定要理发或睡觉时,也要判断椅子上有没有顾客。
所以,顾客和理发师之间的关系表现为:(1)理发师和顾客之间同步关系:当理发师睡觉时顾客近来需要唤醒理发师为其理发,当有顾客时理发师为其理发,没有的时候理发师睡觉。
(2)理发师和顾客之间互斥关系:由于每次理发师只能为一个人理发,且可供等侯的椅子有限只有n把,即理发师和椅子是临界资源,所以顾客之间是互斥的关系。
(3)故引入3个信号量和一个控制变量:ⅰ控制变量waiting用来记录等候理发的顾客数,初值为0;ⅱ信号量customers用来记录等候理发的顾客数,并用作阻塞理发师进程,初值为0;ⅲ信号量barbers用来记录正在等候顾客的理发师数,并用作阻塞顾客进程,初值为1;ⅳ信号量mutex用于互斥,初值为1using System;using System.Collections.Generic;using System.Text;using System.Threading;namespace理发师问题2{internal class Program{// Fieldsprivate static Semaphore barbers = new Semaphore(1, 10);private static int chairs;private static int count = 0;private static Semaphore customers = new Semaphore(0, 10);private static int finish = 0;private static Semaphore mtx = new Semaphore(1, 10);private static int waiting = 0;// Methodspublic static void barber(){while (true){customers.WaitOne();mtx.WaitOne();waiting--;barbers.Release();mtx.Release();cuthair();finish++;}}public static void customer(){mtx.WaitOne();count++;Console.WriteLine("叮咚!第{0}个顾客来了", count);if (waiting < chairs){if (waiting > 0){Console.WriteLine("此时有{0}个人在等待理发", waiting);}else{Console.WriteLine("没有人在等待");}waiting++;Console.WriteLine("还有{0}个座位,顾客留下", (chairs - waiting) + 1);mtx.Release();customers.Release();barbers.WaitOne();gethaircut();}else{Console.WriteLine("座位已满,第{0}个顾客离开", count); mtx.Release();}}public static void cuthair(){Console.WriteLine("开始理发!这是理发师的第{0}个顾客.", finish + 1);Thread.Sleep(0x2328);Console.WriteLine("理发完成 !");}public static void gethaircut(){Thread.Sleep(0x238c);Console.WriteLine("第{0}个顾客理发完毕,离开.", finish);}private static void Main(string[] args){string str = string.Empty;Console.WriteLine("请输入椅子的总数目:");chairs = Convert.ToInt32(Console.ReadLine());Console.WriteLine("理发店共有{0}把椅子", chairs);Console.WriteLine("开门接待顾客吗?Y/N");for(string str2 = Console.ReadLine(); (str2 != "Y") && (str2 != "y"); str2 = Console.ReadLine()){Console.WriteLine("********对不起,尚未开门!********");Console.WriteLine("开门接待顾客吗?Y/N");}Console.WriteLine("********营业中,欢迎光临!********");new Thread(new ThreadStart(Program.barber)).Start();while ((str != "y") && (str != "Y")){Random random = new Random(lisecond);Thread.Sleep(random.Next(1, 0x2710));Console.WriteLine("*******************************");new Thread(new ThreadStart(Program.customer)).Start();if ((finish >= 10) && (waiting == 0)){Console.WriteLine("已经为{0}个顾客理发了,要关门下班吗?(Y/N)", finish);str = Console.ReadLine();}if ((str == "Y") || (str == "y")){Console.WriteLine("************暂停营业!**********");break;}}}}}题目: 用多线程同步方法解决睡眠理发师问题(Sleeping-Barber Problem)理发店有一位理发师,一把理发椅和n把用来等候理发的椅子。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
2015/12/22
第一章 绪论
9
解
设有5个信号量S2、S3、S4、S5、S6,初值均为0 P1: P2: P3: P4: P5: P6: … P(S2); P(S3) P(S4); P(S5); P(S6); V(S2); … … … P(S5); P(S6); V(S3); … … V(S4); V(S6); V(S5) V(S5); V(S6);
第一章 绪论 22
}
2015/12/22
2015/12/22 第一章 绪论 20
甲:煤库————筐————煤斗 乙:煤斗————筐————(锅炉) 临界资源:对煤库、煤斗的操作互斥进行
设互斥信号量mutex1=1,mutex2=1
筐:basket=10 煤斗空:empty=100 煤斗满:full=0
2015/12/22 第一章 绪论 21
(1)实现进程互斥
用信号量实现临界区互斥 设置一信号量,信号量初值为1, 进入临界区以前对信号量执行P操作, 退出临界区后对信号量执行V操作.
2015/12/22
第一章 绪论
1
解决进程间互斥问题
P(mutex)
P(mutex)
P(mutex) V(mutex) V(mutex)
V(mutex)
2015/12/22
第一章 绪论
16
分析
CP、IOP必须遵守以下同步规则: 当CP进程把计算结果送入缓冲区后,IO P进程才能从缓冲区中取出结果去打印; 当 IOP 进程把缓冲区中的数据取出打印 后,CP进程才能把下一个计算结果送入 缓冲区
2015/12/22 第一章 绪论 17
解:设有两个信号量 Sa=0 , Sb=1 ,Sa表示缓冲 区中数据数,Sb表示缓冲区中空位置数。 两个进程的同步可以描述如下:
2015/12/22
第一章 绪论
18
【题6】用P.V操作解决下图之同步问题 get copy put
提示:分别考虑对缓冲区S和T的同步,再合并考虑
2015/12/22 第一章 绪论 19
【题7】
假设在一个送煤车间,有甲乙两工种的工人若干。 甲种工人每次用筐从车间外的一个煤库取一筐煤运到 车间的一个煤斗里, 乙种工人每次用筐从煤斗中取一筐煤送到锅炉里。 煤斗最初是空的,最多可以存储100筐煤,筐子共有 10只。 假设煤库每次只允许一人进入取煤,煤斗每次只允许 一人操作(即不能同时取煤或放煤),请用信号量描 述甲乙两种工人的活动。
2015/12/22 第一章 绪论 13
解
设置三个信号量S,So,Sa ,初值分别 为1,0,0。分别表示可否向盘中放水果, 可否取桔子,可否取苹果。
2015/12/22
第一章 绪论
14
Father() { while(1) { p(S);
将水果放入盘中;
if(是桔子)v(So); else v(Sa);
资源:
A进程:{ while(1){
P(empty); P(basket); 走到煤库 P(mutex1); 进入煤库取一筐煤; V(mutex1); 走到煤斗; P(mutex2); 向煤斗倒煤; V(mutex2); V(basket); V(full); }
B进程:{ while(){ P(full); P(basket); 走到煤斗; P(mutex2); 从煤斗取一筐煤; V(mutex2); 倒一筐煤到锅炉; V(basket); V(empty); } }
2015/12/22
第一章 绪论
2
Var mutex:semaphore:= 1; process 2: begin begin parbegin repeat process 1: wait(mutex); begin critical section repeat signal(mutex); wait(mutex); remainder section critical section until false; signal(mutex); end remainder seetion parend until false; 3 第一章 绪论 end 2015/12/22
2015/12/22
第一章 绪论
10
【题3】P.V操作解决司机与售票员问题
司机进程: while(1) { 启动车辆 正常驾驶 到站停车 }… }… 售票 员 进程 : while(1) { 关门 售票 开门 要求:
先关门再 启动车辆
先停车再 开门
2015/12/22
第一章 绪论
11
解 设有两个信号量S1,S2,初值均为0。
司机进程: while(1) { P(S1) 启动车辆
正常驾驶
售票 员 进程 : while(1) { 关门 V(S1)
售票
到站停车 V(S2) }…
2015/12/22
}…
P(S2) 开门
12
第一章 绪论
【题4】吃水果问题
桌上有一空盘,最多允许存放一只水果。爸 爸可向盘中放一个苹果或放一个桔子,儿子 专等吃盘中的桔子,女儿专等吃苹果。 试用P、V操作实现爸爸、儿子、女儿三个并 发进程的同步。 提示:设置一个信号量表示可否向盘中放水果, 一个信号量表示可否取桔子,一个信号量表 示可否取苹果。
(2)实现前趋关系
控制合作进程的执行次序 若干个进程为了完成一个共同任务而并发执行,有些进程之 间有次序的要求,有些进程之间没有次序的要求 前趋图来表示进程集合的执行次序。
2015/12/22
第一章 绪论
4
(2)实现前趋关系
2015/12/22
第一章 绪论
5
例
如图,试用信号量实现这三个进 程的同步。 设有两个信号量 S B 、SC,初值均 为0 Pa: Pb: Pc: … P(SB); P(SC) V(SB); … … V(SC);
} }
Son() { while(1) { p(So) 取桔子 v(S); 吃桔子; } }
Daughter() { while(1) { p(Sa) 取苹果 v(S); 吃苹果; } }
2015/12/22
第一章 绪论
15
【题5】共享缓冲区进程的同步
设某计算进程CP和打印进程IOP共用一个单缓 冲区,CP进程负责不断地计算数据并送入缓冲 区T中,IOP进程负责不断地从缓冲区bufT中 取出数据去打印。
2015/12/22 第一章 绪论
6
【题1】
如图,试用信号量实现这三个进 程的同步。
2015/12/22
第一章 绪论
7
解
设有两个信号量S1、S2,初值均为0 P1: P2: P3: … … P(S1) V(S1); V(S2); P(S2) …
2015/12/22
第一章 绪论8源自【题2】如图,试用信号量实现这6个 进程的同步