吉林大学操作系统课件作业解析.pptVIP

  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 作业 #1 进程切换时需要保存哪些现场信息?请尽量考虑完全。 答案:进程切换过程是进程上下文的切换过程,进程上下文是指进程运行的物理环境。包括地址映寄存器、通用寄存器、浮点寄存器、SP、PSW(程序状态字)、PC(指令计数器)、以及打开文件表等。 2. 由核心返回目态程序时,进程的PSW和PC为何必须用一条机器指令同时恢复? 答案:中断向量中程序状态字PSW和指令计数器PC的内容必须由一条指令同时恢复,这样才能保证系统状态由管态转到目态的同时,控制转到上升进程的断点处继续执行。 如果不同时恢复,则只能 1.先恢复PSW再恢复PC,在恢复PSW后已经转到目态,操作系统恢复PC的使命无法完成 2.先恢复PC再恢复PSW,PC改变后转到操作系统另外区域(因为PSW仍在系统状态),PSW无法恢复 作业 #2 Consider the following program: var blocked: array[0..1]of boolean; turn:0..1; procedure P(id:integer); begin repeat blocked[id]:=true; while turnid do begin while blocked[1-id] do {nothing} turn:=id end; Critical section blocked[id]:=false; Remainder until false end; begin blocked[0]:=false; blocked[1]:=false; turn:=0; parbegin P(0); P(1) parend; end. This is a software solution to the mutual exclusion problem proposed by Hyman. Find a counter example to demonstrate that this solution is incorrect. It is interesting to note that even the Communication of the ACM was fooled on this one. begin repeat blocked[id]:=true; while turnid do begin while blocked[1-id] do {nothing} (1) turn:=id end; Critical section 若turn=1, blocked[0]:=true, blocked[1]:= false ,P(0), P(1)并发执行, P(0)先推进,当P(0))执行到while blocked[1-id] 时不满足条件跳出循环在(1)处让出处理机P(1)推进, P(1)执行while turnid 而进入临界区后让出处理机, P(0), 继续也进入临界区,不满足正确性。 作业 #3 关于读者写者问题改进算法 semaphore r_w_w ,mutex ,s=1; int count=0; 写者活动: P(s); P(r_w_w); {写操作}; V(r_w_w); V(s); 读者活动: P(s); P(mutex); count++; if (count==1) p(r_w_w); V(mutex); V(s); {读操作}; P(mutex); count--; if (count==0) v(r_w_w); V(mutex); 写者优先算法 int readcount ,writecount =0; semaphore rsem, wsem =1; Semaphore x ,y , z =1; Reader: writer

文档评论(0)

159****9606 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档