湖大操作系统期中考试试卷试题-答案.docxVIP

湖大操作系统期中考试试卷试题-答案.docx

  1. 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
湖大操作系统期中考试试卷试题-答案

1.(20%) 简述进程的概念。画出进程的状态图,并就状态图中可能发生CPU调度决策的四种情况进行说明。结合进程控制块PCB对内核在两个进程间进行上下文切换过程进行描述。参考答案:进程,执行中的程序;执行一个程序所需要的资源集的系统抽象;一个程序的运行实例;进程状态图:CPU调度决策可以如下四种情况下发生:当一个进程从运行状态切换到等待状态当一个进程从运行状态切换到就绪状态当一个进程从等待状态切换到就绪状态当一个进程终止时。进程切换:2. (10%)简述系统调用(System call)、系统程序(System program)的用途。参考答案:系统调用,允许用户进程请求操作系统提供的服务。由OS内核实现并提供访问接口,由用户程序调用,程序员使用。系统程序,给用户提供基本的功能,这样用户在解决公共问题的时候不用写自己的程序。提供程序开发和执行的环境,普通操作用户使用。3. (15%)线程通常可分为用户级线程和内核级线程,请回答两种线程之间的区别,并就两者之间的关系,对多线程模型的类型及其优缺点进行简要说明。参考答案:用户线程不受内核支持,无需内核管理,使用用户级的线程库完成线程的管理,对用户线程的支持通常处于内核之上,通过一个用户级线程库(thread library)实现。线程库提供了对线程的创建、调度和管理的支持,这无需来自内核的支持。因为内核并不知道用户级线程的存在,所有的线程创建和调度工作都在用户空间完成,而且整个过程不受内核的干涉。内核线程由操作系统直接支持:内核在内核空间内实现了线程的创建、调度和管理。常见的多线程模型包括以下三种:多对一,优点线程管理由线程库在用户空间进行,效率较高,缺点一旦某个线程执行了阻塞,则整个进程也会被阻塞一对一,允许线程并发的执行并且运行在多处理器系统上,不会导致单一线程阻塞进程的情况,缺点用户线程和内核线程一一对应,开销较大,限制了系统线程的数量。多对多,多路复用了许多用户级线程到同样数量或更小数量的内核线程上,允许OS创建足够数量的内核线程,且在某个线程发生阻塞时,可调度其他线程执行。4.(15%) 对于一个多任务的应用软件,分析比较采用多进程实现和多线程实现的优劣,并举例说明。仅供参考:从资源或系统开销、维护、进程阻塞、崩溃、安全等情况分析。以web浏览器为例(360浏览器从多线程到多进程实现)。5. (10%)如下所示程序使用Pthread API实现,请将空白部分补充完整,并说明LINE C和LINE P将会输出的结果。#include pthread.h #include stdio.hint value = 0;void *runner(void *param); /* the thread */int main{intargc, char *argv[]){intpid;pthread_ttid;pthread_attr_tattr;pid = fork () ;if (pid == 0) {/* child process */pthread_attr_init ( 1 ) ; 2 (tid, attr , runner, NULL) ; 3 (tid,NULL) ;printf(CHILD: value = %d,value);/* LINE C */}else if (pid 0) {/* parent process */wait(NULL);printf(PARENT: value = %d,value); /* LINE P */}}void 4 (void *param){value = 5;pthread_exit (0) ;}参考答案:1、attr2、pthread_create3、pthread_join4、*runnerLINE C、CHILD: value =0 LINE P、PARENT: value =56. (20%)有5个待运行的作业A、B、C、D、E,它们的运行时间分别为10、6、2、4和8分钟,其提交时间分别为第0、2、3、5、7分钟,其优先级别分别为3、2、5、1、4,其中5级为最高优先级。对于下列进程调度算法,试计算其平均周转时间。1)、先来先服务;2)、非抢占式优先级调度;3)、抢占式优先级调度。参考答案:1)EDCBA0 10 16 18 22 30平均周转时间15.8分,平均等待时间9.8分。2)EBDCA0 10 12 2026 30平均周转时间16.2分,平均等待时间10.2分。3)AEACABD0 357 15 2026 30平均周转时间15.8分,平均等待时间9.8分。7.(

文档评论(0)

haihang2017 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档