- 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
现代操作系统(第五周作业).pdf
现代操作系统 尹凯凯 2012011109(无 25 班) 第五周(10 月 21 日) 7、如果创建一个多线程进程,若子进程得到全部父进程线程的副本,会出现问题。假如 原有线程之一正在等待键盘输入,现在则成为两个线程在等待键盘输入,每个进程有一 个。在单线程进程中也会发生这种问题吗? 答:在单线程进程中不会发生两个进程同时等待键盘输入的情况。因为如果单线程进程 在键盘上阻塞,就不能创建子进程。 8、如图 2-8 中,给出了一个多线程 web 服务器。如果读取文件的唯一途径是正常阻塞 的 read 系统调用,那么 Web 服务器应该使用用户级线程还是内核级线程?为什么? 答:应该使用内核级线程,因为当工作者线程从磁盘读取 Web 页时,它就会被阻塞。 如果使用用户级线程,该动作将阻塞整个进程,而破坏多线程的价值。这就是使用内核 线程的原因:某些线程的阻塞不会影响到其他线程。 10、在图2-12 中寄存器集合按每个线程中的内容列出而不是按每个进程中的内容列出。 为什么?毕竟机器只有一套寄存器。 答:当一个线程停止时,其值保存在寄存器中。当这个过程停止时,寄存器必须被保存, 同时寄存器中的值也被保存。分时线程和分市进程没有区别,因此每个线程都需要自己 的寄存器保存区。 11、为什么线程要通过调用 thread_yield 自愿放弃 CPU?毕竟,由于没有周期性的时钟 中断,线程可以不交回 CPU。 答:一般情况下程序是同一个人写的,那就可以让线程根据程序员的意愿工作。每个 线程应该及时调用 thread_yield 释放 CPU,因为线程库无法像进程那样通过时钟中断 强制线程让出 CPU。进程中的线程是相互协作的,而不是相互对立的。我们可以指定线 程的相互协作方式。比如某个线程做完某件事可以休息一会儿,让别的线程先做更重 要的事情,从而满足程序的功能需求,或者性能需求。如果放弃是为了应用程序,那 么线程将放弃 CPU。 13、在本习题中,要求对使用单线程文件服务器和多线程文件服务器读取文件比较。假 设所需要的???据都在块高速缓存中。花费 15ms 获得工作请求,分派工作,并处理其余 必要工作。如果在三分之一时间时,需要一个磁盘操作,要另外花费 75ms,此时该线程 进入睡眠,在单线程情形下服务器每秒钟可以处理多少个请求?若果是多线程呢? 答:在单线程情况下: cache 命中需??1 = 15???????? cache 未命中需要??2 = 15 + 75 = 90???????? 2 1 其加权平均??? = ? 15 + ? 90 = 40???????? 3 3 所以,单线程情况下平均请求花费时间为 40msec。因此服务器每秒可以处理请求数为 1?? = 25 个。 40???? 对于多程服务器: 所有磁盘等待都是重叠的,因此每个请求都耗时 15 msec,而服务器每秒可处理请求 1?? 数为 = 66.7 个 。 15????
文档评论(0)