- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
操作系统原理期末考试题B卷()_参考答案2
南开大学信息技术科学学院本科生2009-2010年度第一学期操作系统原理课程期末试卷(B卷)
专业▁▁▁▁▁年级▁▁▁▁▁姓名▁▁▁▁▁▁学号▁▁▁▁▁▁成绩▁▁▁▁▁
得 分
一、简答题(本题共30分,每题6分,必做) 草稿区
请阐述“操作系统”和“进程”的定义。
答案:
操作系统是控制和管理计算机系统内各种硬件和软件资源、合理有效地组织计算机系统的工作,为用户提供一个使用方便可扩展的工作环境,从而起到连接计算机和用户的接口作用
得 分
二、编程计算题(本题共5小题,共计45分,选做4题,多做不得分) 草稿区
请在下面的表格中指定答题顺序,在对应的分值下列明题号。每格只许列出一个题号,否则做无效处理。
下表中必须写明所有题目的题号,如果填写不完全,视为不指定答题顺序。
如填写内容无效或者不填写表格,则按照默认的题面分值评分
第一题(15分) 第二题(12分) 第三题(10分) 第四题(8分)
CPU利用率计算:有5个批处理作业A到E,他们几乎同时到达一个计算中心,估计他们的运行时间分别为10,5,
3,4,8分钟,其优先级(由外部设定)分别为4、3、5、2、1,其中5为最高优先级。对于下列每种调度算法,计
算其平均进程周转时间,可忽略进程切换的时间开销。
1)时间片轮转法(假设每个作业均公平共享CPU时间);
2)优先级调度法;
3)先来先服务(作业到达顺序为A、B、C、D、E); (本题默认分值:8分,列出计算公式与计算结果即可)
评分标准:执行顺序正确,1分;计算过程正确1到2分,结果1分。
时间片轮转法:(4分)
假设时间片为t,并且t为一个充分小的数值,以保证其能够被任何宏观时间整除。
进程C运行完各个进程消耗的总时间=5*5*t*(3/t)
进程D运行完各个进程消耗的总时间=5*5*t*(3/t)+4*4*t*(4/t-3/t)
进程B运行完各个进程消耗的总时间=5*5*t*(3/t)+4*4*t*(4/t-3/t)+3*3*t*(5/t-4/t)
进程E运行完各个进程消耗的总时间=5*5*t*(3/t)+4*4*t*(4/t-3/t)+3*3*t*(5/t-4/t)+2*2*t*(8/t-5/t)
进程A运行完各个进程消耗的总时间
=5*5*t*(3/t)+4*4*t*(4/t-3/t)+3*3*t*(5/t-4/t) +2*2*t*(8/t-5/t)+1*t*(10/t-8/t)
平均周转时间 = 进程A运行完各个进程消耗的总时间/5 = 114/5 =22.8
优先级调度法:(3分)
执行顺序为:C ( A ( B ( D ( E
作业 C A B D E 等待时间 0 3 13 18 22 运行时间 3 10 5 4 8 周转时间 3 13 18 22 30
平均周转时间 = (3+13+18+22+30)/5 = 17.2
先来先服务:(3分)
执行顺序为:A ( B ( C ( D ( E
作业 A B C D E 等待时间 0 10 15 18 22 运行时间 10 5 3 4 8 周转时间 10 15 18 22 30
平均周转时间 = (10+15+18+22+30)/5 = 19
草稿区
进程同步互斥问题解决:消息机制是解决IPC问题的一种重要方法,它大大简化了使用信号量机制的代码复杂性和设
计上的风险。请用消息机制来描述生产者-消费者问题的解决方法,并回答以下问题
简要描述消息机制中Send和Receive原语的内部处理流程(根据你的想法来设定)
请基于消息机制,用伪代码来描述生产者-消费者问题的解决方案。 (本题默认分值:15分)
答案:
假设所有的消息都有同样的大小,建立一个类似于一块共享内存缓冲区的N个槽。消费者首先将N条空消息发送给生产者,
当生产者向消费者传递一个数据项时,它取走一条空消息并送回一个填充了内容的消息;这样系统中总的消息数保持不变,
所以消息都可以存放在事先确定数量的内存中。
Send(dst, content)
{
关中断 //保证Send函数为原子操作;
将content放入dst进程的消息缓冲区中;
开中断 //恢复被关闭的中断情况;
Scheduler() //调用进程调度函数,恢复用户进程运行;
}
Receive(src, content)
{
If (没有从src进程发送来的消息)
等待src消息,睡眠;
Scheduler() //调用进程调度函数,恢复用户
原创力文档


文档评论(0)