- 1、本文档共32页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
* 操作系统 - 例题选讲 计 算 机 操 作 系 统 例题选讲 第二章 进程管理 第三章 处理机调度与死锁 第四章 存储器管理 第五章 设 备 管 理 第六章 文件管理 A、B两个火车站之间是单轨连接的,现有许多列车同时到A站,须经A再到达B站,列车出B站后又可分路行驶。为保证行车安全,请你当调度时,你将如何调度列车?请你用PV操作为工具设计一个能实现你的调度方案的自动调度系统。 A B 例1: 当A、B两站之间无列车停驶时,可让到达A站的一列车进人A、B站之间行驶。 当AB站之间有列车在行驶时,则到达A站者必须在站外等待。 当有列车到达B站后,让等在A站外的一列车进入。 答: 因此,可用一个信号量S来控制到达A站的列车能否进入单轨道行驶,S的初始值为1。 列车到达A站后,先执行P(S),若无列车在A、B站之间行驶,则执行P(S)后立即进人单轨道行驶,到达B站后,执行V(S),可释放一个等待进入的列车进入行驶。 若A、B站之间已有列车在行驶,则执行P(S)后就等待,直到行驶者到了B站执行V(S)后释放一个欲进入者。 例2: 假设有一个成品仓库,总共能存放8台成品,生产者进程生产产品放入仓库,消费者进程从仓库中取出成品消费。为了防止积压,仓库满时就停止生产。由于仓库搬运设备只有一套,故成品的存入和取出只能分别执行,使用PV操作来实现该方案。 答: Var mutex,full,empty:semaphore; mutex:=1; empty:=8; full:=0; 答: processor producer begin 生产一个成品; P(empty); P(mutex); 将产品存入仓库; V(mutex); V(full); End; Processor consumer Begin P(full); P(mutex); 将产品从仓库取出;V(mutex); V(empty); 消费成品; end Var mutex,full,empty:semaphore; mutex:=1; empty:=8; full:=0; 有三个进程R、M、P,它们共享一个缓冲区。R负责从输入设备读信息,每次读出一个记录并把它存放在缓冲区中;M在缓冲区加工读入的记录;P把加工后的记录打印输出。输入的记录经加工输出后,缓冲区中又可存放下一个记录。请用P、V操作为同步机构写出他们并发执行时能正确工作的程序。 例3: 答: 三个进程共用一个缓冲区,他们必须同步工作,可定义三个信号量: S1:表示是否可把读人的记录放到缓冲区,初始值为1. S2:表示是否可对缓冲区中的记录加工,初始值为0. S3:表示记录是否加工好,可以输出,初始值也为0. 三个进程可如下设计: 答: begin S1,S2,S3:semaphore; S1:=l;S2:=S3:=0; cobegin process R begin L1:读记录; P(S1); 记录存入缓冲区; V(S2); goto L1; end; process M begin L2: P(S2); 加工记录; V(S3); goto L2; end; process P begin L3: P(S3); 输出加工后的记录; V(S1); goto L3; end; coend; end. 有4个进程R1,R2,W1,W2,它们共享可以存放一个数的缓冲器B. 进程R1每次把从键盘上投入的一个数存放到缓冲器B中,供进程W1打印输出; 进程R2每次从磁盘上读一个数放到缓冲器B中,供进程W2打印输出。 当一个进程把数据存放到缓冲器后,在该数还没有被打印输出之前不准任何进程再向缓冲器中存数。 在缓冲器中还没有存入一个新的数之前不允许任何进程从缓冲区中取出打印。 问:怎样才能使这四个进程在并发执行是协调的工作? 例4: 答: 四个进程实际上是两个生产者 R1,R2和两个消费者 W1,W2,各自生成不同的产品让各自的消费对象去消费,且共享一个的缓冲器。 由于缓冲器只能存放一个数,所以,R1和R2在存放数时必须互斥。而R1和W1、R2和W2之间存在同步。 为了协调它们的工作可定义三个信号量: S:表示能否把数存人缓冲器B,初始值为1. S1:表示R1是否已向缓冲器存入从键
您可能关注的文档
最近下载
- 古诗赏析-李白《将进酒》课件精品课件(31页).pptx VIP
- 一种自然发酵加香起泡葡萄酒及其酿造工艺.pdf VIP
- 新《劳动合同法》下企业如何规范用工和完善人事管理课件.ppt
- 大型城市客车车身骨架结构设计.doc
- 申龙电梯SSL-2100电梯控制器手册调试资料.pdf
- 2023-2024学年贵州省贵阳市高二(上)期末英语试卷.docx VIP
- 苏S01-2012-给水排水图集.docx
- 2.2 抒情与写意——文人画(课件)-2023-2024学年高中美术人美版(2019)美术鉴赏.pptx
- 全口径债务监测平台系统操作培训.pptx
- 2024全液冷冷板系统参考设计及性能测试白皮书.pdf VIP
文档评论(0)