第3章第3讲进程管理_3
时间:2025-04-12
时间:2025-04-12
进程管理
主讲教师:赵俊峰
进程管理
多道程序的设计进程进程间的相互作用管程进程通信进程调度线程系统内核
管
信号量同步的缺点程
–同步操作分散:信号量机制中,同步操作分散在各个进程中,使用不当就可能导致各进程死锁(如P、V操作的次序错误、重复或遗漏)
–易读性差:要了解对于一组共享变量及信号量的操作是否正确,必须通读整个系统或者并发程序;–不利于修改和维护:各模块的独立性差,任一组变量或一段代码的修改都可能影响全局;
–正确性难以保证:操作系统或并发程序通常很大,很难保证这样一个复杂的系统没有逻辑错误;
管程—管程的引入
1974年,Hoare和Hanson所提出;其基本思想是把信号量及其操作原语封装在一个对象内部。即:将共享变量以及对共享变量能够进行的所有操作集中在一个模块中
管程的定义:管程是关于共享资源的数据及一组针对该资源的操作过程所构成的软件模块
管程可增强模块的独立性:
–系统按资源管理的观点分解成若干模块,用数据表示抽象系统资源
–分析了共享资源和专用资源在管理上的差别,按不同的管理方式定义模块的类型和结构,使同步操作相对集中,从而增加了模块的相对独立性
管程是一个语言级别的构造,它的正确性由编译器负责保证。–计算机一条哲学原理:你不行时,将困难交于他人 管程的概念和机制已在Pascal、Modula-2和Java 等语言中被实现 Java:管程是指由synchronized修饰的线程,在同一时间内只能有一个线程对该方法进行访问,只有当一个线程结束对该方法的访问后,下一个线程才能对其访问
管程
基本思想:
–共享变量以及对共享变量能够进行的所有操作
集中在一个模块中
–把分散在各个进程中的临界区集中起来进行管理,并把系统中的共享资源用数据结构抽象地
表示出来
临界区访问的是共享资源的代码段,建立一个
“秘书”程序管理来到的访问,
“秘书”每次仅让一个进程访问
–便于共享资源的管理
–实行了互斥访问
“秘书”程序即为管程
管程
引入管程后的变化
–共享资源的管理可借助于数据结构及在其上的实施操作
的若干过程来进行
–对共享资源的申请和释放通过过程在数据结构上的操作
来实现
代表共享资源的数据结构及在其上操作的一组过程即为管程,管程被请求资源的进程所调用
管程是一种集中式同步机制
优点:
–引入管程可提高代码的可读性,便于修改和维护,正确
性易于保证:
–采用集中式同步机制。一个操作系统或并发程序由若干
个这样的模块所构成,一个模块通常较短,模块之间关
系清晰
管程—管程的定义
monitorexample
integeri;
conditionc;
procedureproducer( );
…
end;
procedureconsumer( );
…
end;
end monitor;管程的定义:管程是由一组变量、数据结构和函数所构成的一种特殊的软件模块。
管程—管程的主要特性
模块化:一个管程是一个基本程序单位,可以单独编译;
抽象数据类型:管程是一种特殊的数据类型,其中不仅有数据,而且有对数据进行操作的代码
信息封装:管程是半透明的,管程中的外部过程(函数)实现了某些功能,至于这些功能是怎样实现的,在其外部则是不可见的
管程—管程的限制
共享性:
–管程中的移出过程可被所有要调用管程的过程的进程所共享
安全性:
–管程的局部变量只能由该管程的过程存取,不允许进程或其他管程来直接存取,一个管程的过程也不应该存取任何非局部于它的变量 互斥性:
–在任一时刻,共享资源的进程可访问管程的管理该资源的过程,但最多只有一个调用者真正地进入管程,而任何其他调用者必须等待,直到访问者退出
管程—管程的实现要素
管程中的共享变量在管程外部是不可见的,外部只能通过调用管程中所说明的外部过程(函数)来间接地访问管程中的共享变量;
为了保证管程共享变量的数据完整性,规定管程互斥进入;
管程通常是用来管理资源的,因而在管程中应当设有进程等待队列以及相应的等待及唤醒操作;
管程—管程的实现
管程中的多个进程进入
–
–当一个进入管程的进程执行等待操作时,它应当释放管程的互斥权;当一个进入管程的进程执行唤醒操作时(如P唤醒Q),管程中便存在两个同时处于活动状态的进程,如何避免两个进程同时位于管程当中呢:
P等待,Q先执行,直到它退出管程或者再次被阻塞;P继续执行,等它退出管程后Q再执行;P在执行signal操作后立即退出管程,即
把signal作为管程函数的最后一条语句。
管程—管程的实现
入口等待队列:因为管程是互斥进入的,所以当一个进程试图进入一个巳被占用的管程时它应当在管程的入口处等待,因而在管程的入口处应当有一个进程等待队列,称作入口等待队列
紧急等待队列:如果进程P唤醒进程Q,则P等待 …… 此处隐藏:938字,全部文档内容请下载后查看。喜欢就下载吧 ……
上一篇:七年级历史上册21课课件
下一篇:党风廉政建设工作个人自查总结