- 1、本文档共12页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
2013-2014A_20131122_期中测试
安徽大学计算机科学与技术学院 计算机操作系统 杨为民 m0304abc@126.com 1、有一个仓库可存放A、B两种零件,最大库容量各为m个。生产车间不断地取A和B进行装配,每次各取一个。为避免零件锈蚀,按先入库者先出库的原则。有两组供应商分别不断地供应A和B,每次一个。为保证配套和合理库存,当某种零件比另一种零件超过n(nm)个时,暂停对数量大的零件的进货,集中补充数量少的零件。试用信号量与P、V操作正确地实现它们之间的同步关系。 2、设有输入进程INPUT,缓冲区B1接纳输入内容。进程MAKER对B1中的内容加工后移送到B2。进程OUTPUT负责从B2中取出内容进行打印。设有一个无穷序列供INPUT输入,B1与B2的大小相同。请用PV过程写出三个进程同步工作的过程。 3、有一个阅览室,共有100个座位,读者进入时必须先在一张登记表上登记,该表为每一座位列一表目,包括座号和读者姓名等,读者离开时要消掉登记的信息,试问:(1)为描述读者的动作,应编写几个程序,设置几个进程?(2)试用PV操作描述读者进程之间的同步关系。 4、假定具有5个进程的进程集合P={P0,P1,P2,P3,P4},系统中有三类资源A,B和C。其中A类资源有10个,B类资源有5个,C类资源有7个。假定在某时刻有如下状态,试给出Need,并说明当前系统是否处于安全状态; 如果是,给出安全序列。如果不是,说明理由。 Allocation? ?? ????Max? ?? ?? ?? ?? Available? ?? ?? ?? ?? ? A? ?B? ?C? ?? ?? ?A? ? B? ?C? ?? ?? ? A? ? B? ? C? ? ? ?? ?? ?? ?P0??0? ?1? ? 0? ?? ?? ?7? ? 5? ? 3? ?? ?? ?3? ? 3? ???2? ?? ?? ?? ?P1??2? ?0? ? 0? ?? ?? ?3? ? 2? ? 2? ?? ?? ?? ?? ?? ?? ? ? ?? ?? ?? ?P2??3? ?0? ? 2? ?? ?? ?9? ? 0? ? 2? ?? ?? ?? ?P3??2? ?1? ? 1? ?? ?? ?2? ? 2? ? 2? ?? ?? ?? ?P4??0? ?0? ? 2? ?? ?? ?4? ? 3? ? 3 5、某虚拟存储器的用户空间共有32个页面,每页1KB,主存16KB,假定某时刻系统为该用户的第0、1、2、3页分别分配的物理块号为5、10、4、7,试将虚拟地址0A5C变换为物理地址 。 6、在一个采用页式虚拟存储管理的系统中,有一用户作业,它依次要访问的字地址序列是:115,228,120,88,446,102,321,432,260,167,若该作业的第0页已经装入主存,现分配给该作业的主存共300字,页的大小为100字,请回答下列问题: (1)按FIFO调度算法将产生 次缺页中断,依次淘汰的页号为 , , ,缺页中断率为 。 (2)按LRU调度算法将产生 次缺页中断,依次淘汰的页号为 , , , ,缺页中断率为 。 1、有一个仓库可存放A、B两种零件,最大库容量各为m个。生产车间不断地取A和B进行装配,每次各取一个。为避免零件锈蚀,按先入库者先出库的原则。有两组供应商分别不断地供应A和B,每次一个。为保证配套和合理库存,当某种零件比另一种零件超过n(nm)个时,暂停对数量大的零件的进货,集中补充数量少的零件。试用信号量与P、V操作正确地实现它们之间的同步关系。 答:按照题意,应满足以下控制关系: A零件数量- B零件数量≤n; B零件数量- A零件数量≤n; A零件数量≤m; B零件数量≤m。 四个控制关系分别用信号量sa、sb、empty1和empty2实施。为遵循先入库者先出库的原则,A、B零件可以组织成两个循形队列,并增加入库指针in1、in2和出库指针out1、out2来控制顺序。 并发程序编制如下: var empty1,empty2,full1,full2:semaphore; mutex,sa,sb:semaphore; in1,in2,out1,out2:integer; buffer1,buffer2 :array [0..m-1] of item; empty1:=empty2:=m; sa:=sb:=n; in1:=in2:=out1:=out2:=0; cobegin { process producer A { repeat P(empty1);
文档评论(0)