第一范文网 - 专业文章范例文档资料分享平台

《操作系统》课程综合练习题 及答案

来源:用户分享 时间:2025/11/21 5:13:30 本文由loading 分享 下载这篇文档手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:xxxxxxx或QQ:xxxxxx 处理(尽可能给您提供完整文档),感谢您的支持与谅解。

return(item); } { count=0; in=0; out=0; } 进程:

producer,consumer producer(生产者进程); Item_Type item; {

while(true) {

produce(&item); buffer.enter( ); buffer.deposit(item); buffer.leave( ); } }

consumer(消费者进程); Item_Type item; {

while(true) {

buffer.enter( ); item=buffer.fetch( ); buffer.leave( ); consume(&item); }

}

六、在一个页式存储管理系统中,页表内容如下所示: 页号 块号 0 2 1 1 2 6 3 3 4 7 若页的大小为2K,则地址转换机构将逻辑地址4116转换成的物理地址是什么。(请写明计算过程)。 答:

页号p=INT(0/2048)=0… 页内偏移w=mod(0/2048)…0

以页号为索引搜索页表得到0号页面所在的物理块号为2 物理地址=物理块号*块大小+页内偏移=2*(2*1024)+0=4096

七、写出使用记录型信号量的wait(s)和signal(s)操作的实现,说明与使用整型信号量相比,使用记录型信号量有什么优点。 procedure wait(s) var s:semaphore begin

s.value:=s.value-1; if s.value<0 then block(s.L) end.

procedure signal(s) var s:semaphore begin

s.value:=s.value+1; if s.value<=0 then wakeup(s.L)

end.

记录型信号量解决生产者-消费者同步问题的算法:

设置一个互斥信号量,mutex用于实现对公共缓冲池的互斥访问,初值为1。 设置两个同步信号量,分别表示可用资源数。 empty:表示空缓冲区数,初值为n

full:表示装有产品的缓冲区数,初值为0,(一个缓冲区中放一个产品)

Producer: begin repeat ? produce an item in nextp; wait(empty); wait(mutex); buffer(in):=nextp; in:=(in+1)mod n

signal(mutex); signal(full); until false(3分)

Consumer: begin repeat … wait(full); wait(mutex); nextc:=buffer(out); out:=(out+1)mod n; signal(mutex);

signal(empty); consume item in nextc; until false;

《操作系统》课程综合练习题 及答案.doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.diyifanwen.net/c0u9g92bk0x6u75f0b3w102ra61x6wi01dgx_3.html(转载请注明文章来源)
热门推荐
Copyright © 2012-2023 第一范文网 版权所有 免责声明 | 联系我们
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:xxxxxx 邮箱:xxxxxx@qq.com
渝ICP备2023013149号
Top