第2讲从应用编程者角度看进程.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文档。上传文档
查看更多
第2讲从应用编程者角度看进程

* * * * * * * * 你可以用以上的算法解决你的程序之间的同步与互斥的关系 * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 37 互斥 在操作系统中,当多个并发进程使用同一个资源。而这个资源又不能同时使用,进程间的这种相互制约关系称为互斥。 进程及进程管理——进程相互制约关系 34 1. 进程互斥的概念 进程及进程管理——进程相互制约关系 例1:两个进程A、B共享一台打印机 例2:两个进程共享一个变量x 设:x代表某航班机座号,p1和p2两个售票进程,售票 工作是对变量x加1。这两个进程在一个处理机C上并 发执行,分别具有内部寄存器r1和r2。 35 P1与P2并发执行,两种可能的执行次序: A情形(希望这样) p1: r1 := x;r1:= r1+1; x := r1 ; p2: r2:= x;r2 := r2+1; x := r2 ; 设x的初值为10,两种情况下的执行结果: 情况A: x = 10+2 情况B: x = 10+1 进程及进程管理——进程相互制约关系 B情形 p1: r1 := x; r1:= r1+1; x := r1 ; p2: r2:= x;r2 := r2+1; x := r2 ; 36 临界区是进程中对临界资源使用的程序段,称为相对于该临界资源的临界区。 临界资源 一次仅允许一个进程使用的资源称为临界资源。 硬件:如输入机、打印机、磁带机等 软件:如公用变量、数据、表格、队列等 临界区 进程及进程管理——进程相互制约关系 ? x := x+1; ? csa { 进程P1 进程P2 ? x := x+1; ? csb { 40 1. 锁和上锁、开锁操作 什么是锁 用变量w代表某种资源的状态,w称为“锁” 。 上锁操作和开锁操作 进程及进程管理——进程同步机构 检测w的值 (是0还是1); 如果w的值为1,继续检测; 如果w的值为0,将锁位置1 (表示占用资源),进入临界区执行。 (此为上锁操作) 临界资源使用完毕,将锁位置0。 (此为开锁操作) 42 上锁原语和开锁原语 上锁原语 算法 lock 输入:锁变量w 输出:无 { test: if (w为1) goto test; ∕* 测试锁位的值*∕ else w=1; ∕*上锁*∕ } 进程及进程管理——进程同步机构 开锁原语 算法 unlock 输入:锁变量w 输出:无 { w=0;∕*开锁*∕ } 47 进程及进程管理——进程互斥与同步的实现 程序描述 程序 task1 main( ) pa( ) pb( ) { { { int w=1; ∕* 互斥锁 *∕ ? ? cobegin 

文档评论(0)

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

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

1亿VIP精品文档

相关文档