操作系统第4章习题带答案

合集下载

操作系统-第4章复习题答案

操作系统-第4章复习题答案

操作系统-第4章复习题答案操作系统第四章复习题⼀、选择题1、在可变式分区分配⽅案中,某⼀作业完成后系统收回其主存空间,并与相邻空闲区合并,为此修改空闲区表,造成空闲区数减⼀的情况是( D )。

A ⽆上邻空闲区,也⽆下邻空闲区B 有上邻空闲区,但⽆下邻空闲区C 有下邻空闲区,但⽆上邻空闲区D 有上邻空闲区,也有下邻空闲区2、分区式存储器管理⽅式,每个程序(B)。

A ⼀定在分区中连续,部分存放B ⼀定在分区中连续,整体存放C 可以在分区中不连续,整体存放D 可以在分区中连续,部分存放3、下列选项中对分段存储管理叙述正确的是(B)A 分段存储管理中每个段必须是⼤⼩相等的。

B 每⼀段必须是连续的存储区C 每⼀段不必是连续的存储区D 段间的存储区必须是连续的4、下列对重定位的叙述中,正确的选项是(B)。

A 经过静态重定位后,指令代码并不发⽣变化。

B 经过静态重定位后,数据地址和指令地址发⽣了变化C 经过动态重定位后,指令代码中的操作码和操作数地址都要发⽣变化。

D经过动态重定位后,数据地址发⽣了变化⽽指令地址没有发⽣变化。

5、虚拟存储器功能的管理⽅法包括(C)。

A 可变分区存储管理B 基本分页存储管理C 请求分段存储管理D 段页式存储管理6、虚拟存储器的最⼤容量(C)。

A 由作业的地址空间决定B 是任意的C 由计算机的地址结构决定的D 为内、外容量之和7、操作系统为( C )分配内存空间。

A线程B⾼速缓冲存储器(Cache)C 进程 D 块表8、下⾯的页⾯置换算法中会产⽣所谓Belady异常现象的是(B)。

A 最佳页⾯置换算法(OPT)B 先进先出页⾯置换算法(FIFO)C 最近最久未使⽤页⾯置换算法(LRU)D 最少使⽤页⾯置换算法(LFU)9、采⽤( B )不会产⽣内部碎⽚。

A 分页式存储管理B 分段式存储管理C 固定分区式存储管理D 段页式存储管理10、最佳适应算法的空闲区是(B)。

A 按⼤⼩递减顺序连在⼀起B按⼤⼩递增顺序连在⼀起C 按地址由⼩到⼤排列D 按地址由⼤到⼩排列11、在可变式分区存储管理中的拼接技术可以(A)。

孙钟秀操作系统第四章部分习题答案

孙钟秀操作系统第四章部分习题答案

20.在一个分页虚拟存储系统中,用户编程空 间为32个页,页长1KB,主存空间为16KB。 如果应用程序有10页长,若已知虚页0、1、 2、3,已分得页框4、7、8、10,试把虚地 址0AC5H和1AC5H装换成对应的物理地址。 解:32=25 用5位表示页号 1KB=210B 用10位表示页内偏移 0AC5H=0000 1100 0101B 1AC5H=0001 1010 1100 0101B 缺页中断 物理地址:0010 0010 1100 0101 =22C5H
7.一个进程以下列次序访问5个页:A、B、C、 D、A、B、E、A、B、C、D、E;假定使 用FIFO替换算法,在主存储器重有3个和4 个空闲页框的情况下,分别给出页面替换 次数。 解:3个页框:页面替换次数为9 4个页框:页面替换次数为10
8.某计算机有缓存、主存储器、辅助存储器 来实现虚拟存储器。如果数据在缓存中, 访问数据需要Ans;如果数据在主存但不在 缓存,需要Bns将其装入缓存,然后才能访 问;如果数据不再主存而在辅存,需要Cns 将其读入主存。最后用Bns再读入缓存,然 后才能访问。假设缓存命中率为(n-1)/n, 主存命中率为(m-1)/m,则数据平均访问时间 是多少?
请求(1)
12K 10K 剩余 删除 删除 8 8 9K 空闲 剩余 18 9 15 9 9 删除 6 删除
空闲 剩余 空闲 首次适应 最佳适应 最差适应 下次适应 20 12 20 20 8 删除 8 8 10 10 18 18
10K、4K、20K、18K、 4K、7K、9K、10K、12K、15K、18K、20K 20K、18K、15K、12K、10K、9K、7K 、4K
1.在一个请求分页虚拟存储管理系统中,一 个程序运行的页面走向是: 1,2,3,4,2,1,5,6,2,1,2,3,7,6,3,2,1,2,3,6 分别用FIFO、OPT、LRU算法,对于分配 给程序3个页框、4个页框、5个页框和6个 页框的情况,求出缺页中断次数和缺页中 断率。

计算机操作系统(习题集)第四章 答案

计算机操作系统(习题集)第四章 答案

第四章存储器管理一、单项选择题1、存储管理的目的是(C )。

A.方便用户B.提高内存利用率C.方便用户和提高内存利用率D.增加内存实际容量2、在( A)中,不可能产生系统抖动的现象。

A.固定分区管理B.请求页式管理C.段式管理D.机器中不存在病毒时3、当程序经过编译或者汇编以后,形成了一种由机器指令组成的集合,被称为(B )。

A.源程序B.目标程序C.可执行程序D.非执行程序4、可由CPU调用执行的程序所对应的地址空间为(D )。

A.符号名空间B.虚拟地址空间C.相对地址空间D.物理地址空间5、存储分配解决多道作业[1C]划分问题。

为了实现静态和动态存储分配,需采用地址重定位,即把[2C]变成[3D],静态重定位由[4D]实现,动态重定位由[5A]实现。

供选择的答案:[1]:A 地址空间 B 符号名空间 C 主存空间 D 虚存空间[2]、[3]: A 页面地址 B 段地址 C 逻辑地址 D 物理地址 E 外存地址 F 设备地址[4]、[5]: A 硬件地址变换机构 B 执行程序 C 汇编程序D 连接装入程序E 调试程序F 编译程序G 解释程序6、分区管理要求对每一个作业都分配(A )的内存单元。

A.地址连续B.若干地址不连续C.若干连续的帧D.若干不连续的帧7、(C )存储管理支持多道程序设计,算法简单,但存储碎片多。

A.段式B.页式C.固定分区D.段页式8、处理器有32位地址,则它的虚拟地址空间为( B)字节。

A.2GBB.4GBC.100KBD.640KB9、虚拟存储技术是( A)。

A.补充内存物理空间的技术B.补充相对地址空间的技术C.扩充外存空间的技术D.扩充输入输出缓冲区的技术10、虚拟内存的容量只受( D)的限制。

A.物理内存的大小B.磁盘空间的大小C.数据存放的实际地址D.计算机地址字长11、虚拟存储技术与(A )不能配合使用。

A.分区管理B.动态分页管理C.段式管理D.段页式管理12、(B )是指将作业不需要或暂时不需要的部分移到外存,让出内存空间以调入其他所需数据。

《操作系统》习题集参考答案:第4章 文件系统

《操作系统》习题集参考答案:第4章 文件系统

第4章文件系统-习题集参考答案一、选择题1. D2. A3. D4. A5. B6. A //一个文件对应一个文件控制块,所有文件控制块构成目录文件7. A //在文件系统中,为每个文件建立一个文件目录,作为目录文件的一个目录项,包含文件的名称及其属性。

8. C9. C //在设置当前工作目录后,文件查找在默认情况下是查当前目录,从而提高查找速度。

10. D11. C12. B13. C //如UNIX中,采用了把文件名与文件描述信息分开的方法,即使文件描述信息单独形成一个称为索引节点的数据结构,简称i节点(索引节点),这样文件目录中仅由文件名各指向该文件所对应的i节点的指针所构成,这样目录项仅有16个字节,其中14个字节为文件名,2个字节为i节点指针。

在1KB的盘块中可做1KB/16B=64个目录项,这样,为找到一个文件,可以大小减少读入内在的信息量。

14. B //只有索引分配方式中的FCB才包含索引表地址15. B16. B17. D //1K/64=1618. C //本注:每块能存放的目录项=1K/64=16个;3200个目录项占用盘块数=3200/16=200。

因为一级目录平均访问盘次数=1/2盘块数(顺序查找目录表中所有目录项,每个目录项为一个FCB),所以平均访问磁盘次数=200/2=100次。

19. C//本注:1.用的是称做“混合索引”的方式。

2.思路很简单,只是要用些专用概念3.三类地址项:1)直接地址项,每个地址直接管理一个“文件块”,而每个“块”是256字节。

共4个这种地址,所以管理:4*256=1KB2)一级间接地址项,每个地址项管理一个“索引块”,而索引块的大小也是256字节,其中可放置:256/4=64个地址项,而每个地址项管理256字节文件。

所以,2个一级间址可管理文件大小:2*64*256=32KB3)二级间接地址项,地址项→索引块→索引块→文件数据块。

所以可管理文件数据:1*64*64*256=1024KB.4.综合上面可管理的文件大小为:1+32+1024=1057KB20. B21. B22. B //每个盘面物理块=200*4=800块,盘面数=8000/800=10,互盘有两个盘面。

操作系统习题第四章

操作系统习题第四章

操作系统习题第四章第四章互斥、同步与通讯一、单项选择题1.一个正在访问临界资源的进程由于申请等待I/O操作而被中断时,__________.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.设有三个进程共享一个资源,如果每次只允许一个进程使用该资源,则用PV操作管理时信号量S的可能取值是___________A.1,0,-1,-2B.2,0,-1,-2C.1,0,-1D.3,2,1,0 7.进程的并发执行是指若干个进程__________.A. 同时执行B. 在执行的时间上是重叠的C. 在执行的时间上是不可重叠的D. 共享系统资源8.在进程通信中,__________常用信件交换信息。

A.低级通信 B.高级通信 C.消息通信 D.管道通信9.实现进程同步时,每一个消息与一个信号量对应,进程_________可把不同的消息发送出去。

A.在同一信号量上调用P操作B.在不同信号量上调用P操作C.在同一信号量上调用V操作D.在不同信号量上调用V操作10._________是只能有P和V操作所改变的整形变量。

A.共享变量B.锁C.整型信号量D.记录型信号量11.在执行V操作时,当信号量的值_________时,应释放一个等待该信号量的进程。

A.大于0B.小于0C.大于等于0D.小于等于0 12.进程和程序的主要区别是__________.A.占用处理器和不占用处理器B.占用主存和不占用主存C.动态和静态D.连续执行和非连续执行13.有三个进程P1,P2,P3共享同一个程序段,而每次最多允许两个进程进入该程序段,则信号量S的初值为___________. A. 0 B. 1 C. 2 D. 314.若P、V操作的信号量S初值为2,当前值为-1,则表示有_________等待进程。

操作系统原理-第四章 处理机调度(有答案)

操作系统原理-第四章  处理机调度(有答案)

第四章处理机调度4.3 习题4.3.1 选择最合适的答案1.某系统采用了银行家算法,则下列叙述正确的是()。

A.系统处于不安全状态时一定会发生死锁B.系统处于不安全状态时可能会发生死锁C.系统处于安全状态时可能会发生死锁D.系统处于安全状态时一定会发生死锁2.银行家算法中的数据结构包括有可利用资源向量Available、最大需求矩阵Max、分配矩阵Allocation、需求矩阵Need,下列选项正确的是()。

A.Max[i,j]=Allocation[i,j]+Need[i,j]B.Need[i,j]= Allocation[i,j]+ Max[i,j]C.Max[i,j]= Available[i,j]+Need[i,j]D.Need[i,j]= Available[i,j]+ Max[i,j]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.作业从后备作业到被调度程序选中的时间称为()。

A.周转时间B.响应时间C.等待调度时间D.运行时间10.资源静态分配法可以预防死锁的发生,它们使死锁四个条件中的()不成立。

操作系统第4章习题带答案

操作系统第4章习题带答案

操作系统第4章习题带答案第四章⼀、问答题1、同步机制应遵循的准则是什么?2、死锁产⽣的4个必要条件是什么?它们是彼此独⽴的吗?3、简述死锁的定义和死锁产⽣的原因。

4、简述死锁定理和解除死锁的⽅法。

5、什么是安全状态?怎么判断系统是否处于安全状态?6、同步机制应遵循的准则是什么?7、死锁产⽣的4个必要条件是什么?它们是彼此独⽴的吗?⼆、计算题(共20分)1、当前系统中出现下述资源分配情况:利⽤银⾏家算法,试问如果进程P2提出资源请求Request(1,2,2,2)后,系统能否将资源分配给它?答:Request(1,2,2,2)<=(2,3,5,6)申请合法Request(1,2,2,2)<=Available,开始试探性分配,Available=(0,4,0,0) 测试系统是否安全:work= Available,finish=1没有进程的need满⾜<=work系统处于不安全状态,系统拒绝此次资源分配。

2、当前某系统有同类资源7个,进程P,Q所需资源总数分别为5,4。

它们向系统申请资源的次序和数量如表所⽰。

回答:问:采⽤死锁避免的⽅法进⾏资源分配,请你写出系统完成第3次分配后各进程占有资源量,在以后各次的申请中,哪次的申请要求可先得到满⾜?答:第1次申请,Q申请资源2,系统安全,分配第2次申请,P申请资源1,系统安全,分配第3次申请,Q申请资源1,系统安全,分配资源剩余3个,P占有1个资源,Q占有3个资源,第4次分配不安全,拒绝,第5分配系统安全,满⾜。

3、⼀个计算机系统有6个磁带驱动器和4个进程。

每个进程最多需要n个磁带驱动器。

问当n为什么值时,系统不会发⽣死锁?并说明理由答:n=2理由同第4题(进程资源最⼤需求-1)×进程数量+1≤系统资源数量4、若系统有某类资源m×n+1个,允许进程执⾏过程中动态申请该类资源,但在该系统上运⾏的每⼀个进程对该资源的占有量任何时刻都不会超过m+1个。

操作系统第四章习题及答案

操作系统第四章习题及答案

操作系统第四章习题及答案第四章进程管理1、⼀个由3个页⾯每页有2048个字节组成的程序,将它装⼊⼀个8个物理块组成的存储器中,装⼊的情况如下表所⽰:给出下列逻辑地址,请计算出2617对应的物理地址:2、某请求页式存储管理,允许⽤户编程空间为32个页⾯(每页1KB),主存为16KB, 如有⼀个⽤户程序有10页长,且某时刻该⽤户页⾯映射表如表所⽰。

如果程序执⾏时遇到以下的虚地址:0AC5H ,1AC5H 试计算对应的物理地址。

3、假设某分页系统中,主存储器的容量为1MB ,被分为256块,回答:1)主存地址应该⽤位来表⽰。

2)作业每⼀页的长度为;逻辑地址中的页内地址应该为位。

4、在段式管理系统中,段表为求下⾯逻辑地址对应的物理地址。

12 7 1 4 0 块号页号 95 1938 4 590 13503 90 100 220 2350 1 500 210 0 段长内存起始地址段号(1,10);(2,500);(3,400);(5,32)5、在⼀分页存储管理系统中,逻辑地址长度为16位,页⾯⼤⼩为4096字节,分别计算逻辑地址14AAH,235BH,3B4CH,78DDH所对应的物理地址,并指出可能发⽣何种中断?(8分)注:1表⽰可寻址,0表⽰在外存。

6、在⼀个请求分页系统中,假定系统分配给作业的物理块数为3,并且此作业的页⾯⾛向为2、3、2、1、5、2、4、5、3、2、5、2。

试⽤LRU算法计算出程序访问过程所发⽣的缺页次数和被替换的页⾯序列。

答案:1、P=int(2617/2048)=1 d=569物理地址=4*2048+569=87612、0AC5H的页号是2,对应的物理页号是4,所以物理地址应该为12C5H,1AC5H的页号是6,超过了页表的范围,所以该地址⾮法,产⽣越界中断3、假设某分页系统中,主存储器的容量为1MB,被分为256块,回答:1)主存地址应该⽤ 20 位来表⽰。

2)作业每⼀页的长度为 2048 ;逻辑地址中的页内地址应该为 12 位。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

第四章一、问答题1、同步机制应遵循的准则是什么?2、死锁产生的4个必要条件是什么?它们是彼此独立的吗?3、简述死锁的定义和死锁产生的原因。

4、简述死锁定理和解除死锁的方法。

5、什么是安全状态?怎么判断系统是否处于安全状态?6、同步机制应遵循的准则是什么?7、死锁产生的4个必要条件是什么?它们是彼此独立的吗?二、计算题(共20分)1、当前系统中出现下述资源分配情况:利用银行家算法,试问如果进程P2提出资源请求Request(1,2,2,2)后,系统能否将资源分配给它?答:Request(1,2,2,2)<=(2,3,5,6)申请合法Request(1,2,2,2)<=Available,开始试探性分配,Available=(0,4,0,0) 测试系统是否安全:work= Available,finish=1没有进程的need满足<=work系统处于不安全状态,系统拒绝此次资源分配。

2、当前某系统有同类资源7个,进程P,Q所需资源总数分别为5,4。

它们向系统申请资源的次序和数量如表所示。

回答:问:采用死锁避免的方法进行资源分配,请你写出系统完成第3次分配后各进程占有资源量,在以后各次的申请中,哪次的申请要求可先得到满足?答:第1次申请,Q申请资源2,系统安全,分配第2次申请,P申请资源1,系统安全,分配第3次申请,Q申请资源1,系统安全,分配资源剩余3个,P占有1个资源,Q占有3个资源,第4次分配不安全,拒绝,第5分配系统安全,满足。

3、一个计算机系统有6个磁带驱动器和4个进程。

每个进程最多需要n个磁带驱动器。

问当n为什么值时,系统不会发生死锁?并说明理由答:n=2理由同第4题(进程资源最大需求-1)×进程数量+1≤系统资源数量4、若系统有某类资源m×n+1个,允许进程执行过程中动态申请该类资源,但在该系统上运行的每一个进程对该资源的占有量任何时刻都不会超过m+1个。

当进程申请资源时只要有资源尚未分配完则满足它的申请,但用限制系统中可同时执行的进程数来防止发生死锁,你认为进程调度允许同时执行的最大进程数应该是多少?并说明原因。

答;假设系统中有x个进程的进程,则资源至少要有m×x+1个才不会产生死锁,由于系统资源有m×n+1个,则可列出不等式:m×x+1≤m×n+1解不等式,得到x≤n,所以系统允许同时执行的最大进程数为n。

证明:假设在系统允许同时执行的最大进程数为n时,仍然出现了死锁,此时应该存在一组进程都在等待资源,而且系统已无资源可用。

则此时该组进程最多n个,每个进程没有执行完时最多占用m个资源,所以现在系统分配出去的资源最多m×n,少于系统资源m×n+1,所以不可能有死锁出现。

若系统进程数量为n+1,每个进程占有最大资源数量为m+1,则会出现死锁。

例如,当其中n个进程均占有m个资源,剩下的一个进程占有了最后一个资源,所有进程都都还需要资源才可运行完,而此时系统已经无资源可用,产生死锁。

因此,系统允许同时执行的最大进程数为n时系统不会有死锁发生5、设系统中有3种类型的资源A、B、C和5个进程P0、P1、P2、P3、P4,A 资源的数量为10,B资源的数量为5,C资源的数量为7。

在T0时刻系统状态如下表所示。

系统采用银行家算法实施死锁避免策略。

(12分)①. T0时刻是否为安全状态?若是,请给出安全序列。

②在T0时刻若进程P1发出资源请求Request(1,0,2),是否能够实施资源分配?③在②的基础上P4发出资源请求Request(3,3,0),是否能够实施资源分配?④在③的基础上P0发出资源请求Request(0,2,0),是否能够实施资源分配? 见课本五、应用题1、如果有三个进程R、W1、W2共享一个缓冲器B,而B中每次只能存放一个数。

当缓冲器中无数时,进程R可以将从输入设备上读入的数存放到缓冲器中。

若存放到缓冲器中的是奇数,则允许进程W1将其取出打印;若存放到缓冲器中的是偶数,则允许进程W2将其取出打印。

同时规定:进程R必须等缓冲区中的数被取出打印后才能再存放一个数;进程W1或W2对每次存入缓冲器的数只能打印一次;W1和W2都不能从空缓冲中取数。

写出这三个并发进程能正确工作的程序。

semaphore S=1,SO=SE=0;buffer B;void R1(){int x;while(1){从输入设备上读一个数;x=接收的数;wait(S);B=x;if B=奇数then signal(SO);else signal(SE);}}void W1(){int y;while(1){wait(SO);y=B;signal(S);{打印y中数};}}void W2(){int z;while(1){wait(SE);z=B;signal(S);打印z中数 ;}}main(){cobegin{R();W1();W2();}2、设计一种可以避免死锁的资源分配算法,要求写明数据结构和相应方案或算法。

参考课本上方案3、复印室里有一个操作员为顾客复印资料,有5把椅子供顾客休息等待复印。

如果没有顾客,则操作员休息。

当顾客来到复印室时,如果有空椅子则坐下来,并唤醒复印操作员;如果没有空椅子则必须离开复印室。

利用信号量机制解决该同步互斥问题。

设置3个信号量:customers表示正在等待复印的顾客数量(不包括正在复印的顾客);operator记录正在等候顾客的操作员数,只有1和0;mutex用于对变量waiting的互斥访问。

1个变量:waiting表示等待的顾客数量。

semaphore customers=0,operator=0,mutex=1;waiting=0;process operator( )//操作员进程{ while(1){wait(customers); //等待顾客到来复印;signal(operator); //通知顾客已经完成复印}}process cusotmeri( )//顾客进程i{wait(mutex);if(waiting<5){waiting++;signal(customers);signal(mutex);wait(operator);wait(mutex);waiting--;signal(mutex);}else{signal(mutex);离开复印室;}}main( ){cobegin{ operator( );customeri( );}}4、a,b两点之间是一段东西向的单行车道,现要设计一个自动管理系统,管理规则如下:当ab之间有车辆在行驶时同方向的车可以同时驶入ab段,但另一方向的车必须在ab段外等待;当ab之间无车辆在行驶时,到达a点(或b点)的车辆可以进入ab段,但不能从a点和b点同时驶入,当某方向在ab段行驶的车辆驶出了ab段且暂无车辆进入ab段时,应让另一方向等待的车辆进入ab段行驶。

请用信号量机制为工具,对ab段实现正确管理以保证行驶安全。

Semaphore S1=1,S2=1,Sab=1;int ab=ba=0;void P ab (){while(1){wait(S1);if(ab==0)wait(Sab);ab=ab+1;signal(S1);车辆从a点驶向b点;wait(S1);ab=ab-1;if(ab==0)signal(Sab);signal(S1);}}void P ba (){while(1){wait(S2);if(ba==0)wait(Sab);ba=ba+1;signal(S2);车辆从b点驶向a点;wait(S2);ba=ba-1;if(ba==0)signal(Sab);signal(S2);}}main(){cobegin{P ab ();P ba ();}}5、某系统五个合作的进程前驱图如下,请用信号量方法控制它们的执行,以确保它们的执行顺序,请写出类c算法。

参考解题方案5、一条河上架设了由若干个桥墩组成的一座桥。

若一个桥墩只能站一个人,过河的人只能沿着桥向前走而不能向后退。

过河时,只要对岸无人过,就可以过。

但不允许河对岸的两个人同时过,以防止出现死锁。

请给出两个方向的人顺利过河的同步算法。

假设桥墩数量为ksemaphore s, scounteast, scountwest, scount;s=1, scounteast=1, scountwest=1, scount=k;int Counteast=0, Countwest=0;void east(int i){wait(scounteast);if(Counteast==0)wait(s);Counteast++;signal(scounteast);wait(scount4);上桥,过桥,下桥;signal(scount4);wait(scounteast);Counteast--;if(Counteast==0)signal(s);signal(scounteast);}void west(int i){wait(scountwest);if(Countwest==0)wait(s);Countwest++;signal(scountwest);wait(scount4);上桥,过桥,下桥;signal(scount4);wait(scountwest);Countwest--;if(Countwest==0)signal(s);signal(scountwest);}main(){cobegin{east(1);...east(n);west(1);...west(m);}}6、现有四个进程R1、R2、W1、W2,它们共享可以存放一个数的缓冲器B。

进程R1每次把来自键盘的一个数存入缓冲器B中,供进程W1打印输出;进程R2每次从磁盘上读一个数存放到缓冲器B中,供进程W2打印输出。

为防止数据的丢失和重复打印,问怎样用wait,signal操作来协调这四个进程的并发执行。

semaphore S=1,S1=S2=0;buffer B;void R1(){int x;while(1){接收来自键盘的数;x=接收的数;wait(S);B=x;signal(S1);}}void R2(){int y;while(1){从磁盘上读一个数;y=接收的数;wait(S);B=y;signal(S2);}}void W1(){int k;while(1){wait(Sl);k=B;signal(S);打印k中数;}}void W2(){int j;while(1){wait(S2);j=B;signal(S);打印j中数;}}main(){cobegin{R1();R2();W1();W2();}7、系统中有4种类型的资源A、B、C、D和5个进程P0、P1、P2、P3、P4,当前系统出现下表所示资源分配情况:试问:①该状态是否安全?分析说明。

相关文档
最新文档