- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
操作系统第二次作业
第三章
3.1 Describe the differences among short-term, medium-term,and long-term scheduling.
描述短程,中程和长程调度的区别
答:长程调度从作业池中选取进程,并装入内存开始执行,它的执行频率较慢,短程调度从准备执行的进程中选择进程并分配CPU时间片,这种调度方式必须频繁地为CPU分配新的进程,且有一定量的时间浪费在CPU的上下文切换上,而中程调度使用的是交换的策略,将进程从CPU竞争中移出,以降低多道程序设计的程度。被交换出的进程会保存信息,并在换入时继续执行
3.2 Describe the actions taken by a kernel to context-switch between pro-cesses.
描述系统内核在上下文切换时的动作
答:在执行上下文切换时,在某个进程的挂起时(由中断或系统调用引起),先保存该进程状态至该进程控制块PCB中,包括进程的状态,编号,程序计数器PC,寄存器等等,而在程序从挂起状态重新执行时(由中断或系统调用引起),需要从对应的PCB表中读取信息,并从上次中断处继续执行。
3.4 Using the program shown in Figure 3.24, explain what will be output at Line A.
使用3.24的程序,解释LINE A的可能输出
答:因为子进程会复制父进程的堆栈信息,在生成子进程前,堆栈中已经存放全局变量value=5的信息,然后子进程的修改只是在其独有堆栈中,而父进程的打印操作打印的是父进程的value值,故没有被修改过,为5
3.5 The correct producer-consumer algorithm in the ppt,allows only n-1 buffers to be full at any one time .Modify the algorithm to allow all buffers to be utilized fully.
课件中的代码只能存储n-1个缓存空间,要求修改代码实现所有缓存都能被利用
答:本题是一个数据结构问题,在上学期的数据结构课中有所探讨,对于一个顺序队列来说,队空和队满的判断条件其实都是front==rear,所以书上采取的措施是舍弃一个存储单元,当队列中只剩下一个单元时就认为队满。
本题有两个解决思路,分别是:1通过增加flag位修正队满条件 2 增加count值来判定队列中元素个数,我在此处使用方法1来完成对于代码的修改。
//使用flag记录最后一个对队列的操作,当判断头尾指针相等时,如果标志记录为删除,则队列空,如果标志记录上一个操作为插入,则队列满
int?flag=0;?//0代表空,1代表满,2代表不空不满
While(1){ ?//生产者
While (flag==1)?????????;?//do nothing
//队列满 等待
buffer[in]=nextProduced;?
in=(in+1)%BUFFER_SIZE; ?//否则,存入下一个空位,移动指针
if(in==out) flag=1;
else flag=2; //如果生产之后in==out,则队满
}?
While(1){ //消费者
?While(flag==0)???????;?//do nothing
//队空时无操作
nextconsumed=buffer[out];
?out=(out+1)%buffer_size;? //否则,取出第一个信息,移动指针
if(in==out) flag=0; // 如果消费之后in==out 则队空
else flag=2;
}
}
第四章作业
4.1 Provide two programming examples in which multithreading does not provide better performance than a single-threaded solution.
举2个例子说明多线程不比单线程处理方式优良的情况
答:1 对于单核机器,执行一个具有两个线程的进程耗时要大于执行同一个线程两次,这是因为在线程的切换过程中有上下文切换的耗时,另一方面,线程的创建和销毁也有较多的耗时。
2 单核机器下,对于计算密集型的程序(即IO操作较少),多线程会囿于线程切换的耗时表现不如单线程
3 对于一个要求顺序很强的程序来说,比如对于一个文件的操作,要求先读,后写,这时如果采用多线程则会涉及到对于信号的保护,比如写的时候不能读,读的时候不能写等问题,所以这时
您可能关注的文档
- 湖北省武汉市蔡甸区2017-2018学年度第二学期期末测试八年级语文试题.doc
- 湖北省武汉市蔡甸区2018-2019学年下学期期中考前训练八年级语文试卷 无答案.doc
- 湖北省武汉市江汉区2017-2018学年八年级下期中数学试卷(解析版).pdf
- 湖北省武汉市美加外国语学校2016-2017学年八年级下期5月月考数学试题(无答案).doc
- 湖北省武汉市七一华源中学2018-2019学年上学期九年级九月检测语文试卷 (word版)(无答案).doc
- 湖北省武汉市硚口区度八年级语文第二学期期中试卷.doc
- 湖北省武汉市青山区2017-2018学年度下学期期末考试八年级语文试卷(无答案).doc
- 湖北省武汉市武昌区2014年七年级(下)期末数学试卷(含答案).doc
- 湖北省武汉市武珞路中学2017-2018学年七年级下期中数学试题(无答案).doc
- 湖北省浠水县三角山红色旅游景区.doc
最近下载
- GZ072 飞机维修赛项正式赛卷B2‘ -评分标准-2023年全国职业院校技能大赛赛项正式赛卷.pdf VIP
- 餐厅问题及解决方案总结.pptx
- 金城江区侧岭乡拉合石英砂岩矿项目环境影响报告书.docx VIP
- 楼上漏水双方协议书范本(6篇).docx VIP
- 大学物理(上)习题集剖析.ppt VIP
- 学堂在线 中国建筑史——元明清与民居 章节测试答案.docx VIP
- 接地体安装、回填、电阻测试检验批质量验收表(续表).doc VIP
- 电子技术课程设计报告---- 峰值检测系统.doc VIP
- GZ072 飞机维修赛项A模块评分标准A3(后台评分表)-2023年全国职业院校技能大赛赛项正式赛卷.pdf VIP
- GZ072 飞机维修赛项A模块评分标准A3(现场评分表)-2023年全国职业院校技能大赛赛项正式赛卷.pdf VIP
原创力文档


文档评论(0)