- 29
- 0
- 约1.26万字
- 约 49页
- 2016-11-05 发布于重庆
- 举报
山东大学操作系统实验六报告死锁问题
计算机科学与技术学院操作系统实验报告
实验题目:死锁问题XUbuntu-Linux 操作系统
Gnome 桌面 2.18.3
BASH_VERSION=3.2.33(1)-release
gcc version 4.1.2
gedit 2.18.2
OpenOffice 2.3
实验步骤:
1、问题分析:
管程-Monitor
管程是一种高级抽象数据类型,它支持在它的函数中隐含互斥操作。结合条件变量和其他一些低级通信原语,管程可以解决许多仅用低级原语不能解决的同步问题。利用管程可以提供一个不会发生死锁或饥饿现象的对象;哲学家就餐问题和 Java语言中的 synchronized 对象都是很好的管程的例子.
管程封装了并发进程或线程要互斥执行的函数。为了让这些并发进程或线程在管程内互斥的执行,进入管程的进/线程必须获取到管程锁或二值信号量
条件变量 Condition Variables
条件变量提供了一种对管程内并发协作进程的同步机制。如果没有条件变量,管程就不会有很有用。多数同步问题要求在管程中说明条件变量。条件变量代表了管程中一些并发进程或线程可能要等待的条件。一个条件变量管理着管程内的一个等待队列。如果管程内某个进程或线程发现其执行条件为假,则该进程或线程就会被条件变量挂入管程内等待该条件的队列。如果管程内另外的进程或线程满足了这个条件,则它
原创力文档

文档评论(0)