《操作系统课件-张鹏程》14 [新] 第三章 并发进程-3.4管程.pdfVIP

  • 4
  • 0
  • 约 21页
  • 2017-04-07 发布于浙江
  • 举报

《操作系统课件-张鹏程》14 [新] 第三章 并发进程-3.4管程.pdf

3.4 管程(Monitor) 管程和条件变量 基于管程的哲学家就餐问题 基于管程的生产-消费问题 管程和条件变量 基于管程的哲学家就餐问题 基于管程的生产-消费问题 3.4.1 管程和条件变量 ? 信号量机制的缺点:进程自备同步操作,P(S)和V(S)操 作大量分散在各个进程中,不易管理,易发生死锁 ? 管程特点:管程(秘书进程,Monitors)封装了同步操 作,对进程隐蔽了同步细节,简化了同步功能的调用界 面。用户编写并发程序如同编写串行程序 3.4.1:基本思想 ? 1974年和1977年,Hoare和Hansen根据抽象数据类型的原 理提出了新的同步机制: ? 把分散在各个进程中的临界区集中起来管理,并把共享资源用 数据结构抽象地表示出来 ? 建立一个“秘书”程序管理到来的访问 ? “秘书”每次只让一个进程来访,后“秘书”更名为管程 3.4.1:引入管程机制的目的 ? 把分散在各进程中的临界区集中起来进行管理 ? 用高级语言来书写程序,也便于程序正确性验证 ? 管程属于程序语言中的特殊类型(例如Java 中的synchronized 关键字),由编译器识别,确保同一时刻只有一个进程/线程访 问 ? 防止进程有意或无意的违反同步操作 3.4.1:条件变量 ? 管程确保了进程的互斥访问,为了实现同步机制,则引 入了 条件变量 的概念 ? 条件变量是出现在管程内的全局数据结构

文档评论(0)

1亿VIP精品文档

相关文档