操作系统(第三版)OS23.pptVIP

  1. 1、本文档共37页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
补充作业 进程之间存在着哪几种制约关系?各是什么原因引起的?下列活动分别属于哪种制约关系? (1)若干同学去图书馆借书; (2)两队举行篮球比赛; (3)流水线生产的各道工序; (4)商品生产和社会消费。 参考答案 进程之间存在着直接制约和间接制约这两种制约关系,其中直接制约(同步)是由于进程间的相互合作而引起的,而间接制约关系则是由于进程间共享临界资源而引起的。 (1)若干同学去图书馆借书是间接制约,其中书是临界资源; (2)两队举行篮球比赛是间接制约,其中篮球是临界资源; (3)流水线生产的各道工序是直接制约,各道工序间需要相互合作,每道工序的开始都依赖于前一道工序的完成; (4)商品生产和社会消费是直接制约,两者也需要相互合作:商品生产出来后才可以被消费;商品被消费后才需要再生产。 int total=0; //P0,P1共享全局变量total P0,P1: //P0和P1进程的代码相同,如下: {int i; for(i=1;i=10;i++) total=total+1; } 问:最后total可能的最小值、最大值分别是多少? 思考题 参考答案 Total可能的最大值是20,最小值是2。 分析: 如果P0和P1是顺序执行的,则结果是20。 但如果是如下顺序,则会得到值2。 total=total+1虽然是一个语句,但换成汇编代码是: register=total; register=register+1;total=register; 于是存在如下可能性: P0: register0=total; register0=register0+1; //P0的register0=1,此时发生中断; P1:total=total+1;total=total+1… total=total+1; //P1的”total=total+1”语句执行了9次,此时发生中断 ; P0:total=register0; //全局变量total=1,此时发生中断 P0:total=total+1;total=total+1… total=total+1; //P1的”total=total+1”语句执行了9次,此时发生中断 ; P1: total=register1; //由于P1的register1=2,所以全局变量total=2 此时P0和P1的“total=total+1”都循环执行了10次,total的最终数值却定格在2。这显然与执行了20次“total=total+1”语句后total等于20的预期有很大差距。 该程序失去了原有的可再现性,所以要把total这个变量作为临界资源处理,让P0和P1互斥地访问total。 作业:17, 18 * 第2章 进程管理 进程控制块中的信息 进程标识符 处理机状态 进程调度信息 进程控制信息 PCB链表队列 执行指针 就绪队列指针 阻塞队列指针 空闲队列指针 PCB1 4 PCB2 3 PCB3 0 PCB4 8 PCB5 PCB6 7 PCB7 9 PCB8 0 PCB9 15 … 由图示可知: P5正在执行; 就绪进程有:P1,P4,P8 阻塞进程有:P2,P3 其余为空闲进程控制块PCB PCB索引表形式 PCB1 执行指针 就绪表指针 阻塞表指针 就绪索引表 阻塞索引表 PCB2 PCB3 PCB4 PCB5 PCB6 PCB7 2.2 进程控制 2.2.1 进程的创建 2.2.2 进程的终止 2.2.3 进程的阻塞与唤醒 2.2.4 进程的挂起与激活 开始 申请空白PCB 为新进程分配资源 初始化进程控制块 将新进程插入就绪队列 进程创建流图 由系统调用创建原语 开始 检索PCB,读出进程状态 若是执行,置调度标志为真 若有子孙进程,终止其子孙进程 进程终止流图 将所拥有的资源归还给父进程或系统 将PCB从所在队列移出 由系统调用终止原语 开始 设置进程状态为阻塞状态 将PCB插入阻塞队列 进程阻塞流图 转处理机调度 进程调用block将自己阻塞 开始 从阻塞队列移出该PCB 设置进程状态为就绪状态 将PCB插入就绪队列 结束 进程唤醒流图 相关进程调用 wakeup将其唤醒 第2章 进程管理 2.1 进程的基本概念 2.2 进程控制 2.3 进程同步 2.4 经典进程的同步问题 2.5 进程通信 2.6 线程 2.3 进程同步 2.3.1 进程同步的基本概念 2.3.2 信号量机制 2.3.3 信号量的应用 2.3.4 管程机制 2.3.1 进程同步的基本概念 在计算机中有许多资源只允许一个进程使用,如果有多个进程同时去使用这类资源就会产生严重的错误。 几个进程若共享同一临界资源,它们必须

文档评论(0)

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

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

1亿VIP精品文档

相关文档