【操作系统】进程(线程)间同步互斥问题——高校上机实习问题
2018-04-04 09:38
597 查看
问题描述:
某高校计算机系开设有网络课并安排了上机实习,假设机房共有2m台机器,有2n名学生选修该课,规定:(1)每两个学生组成一组,各占一台机器,协同完成上机实习。
(2)只有一组的两个学生到齐,并且此时机房有空闲机器时,该组学生才能进入机房。
(3)上机实习由一名教师检查,检查完毕,一组学生同时离开机房。
试用P、V操作模拟上机实习过程。
问题思路:
在本题中,为了保证系统的控制流程,增加了Monitor进程,用于控制学生的进入和计算机分配。从题目本身来看,虽然没有明确写出这一进程,但实际上这一进程是存在的。因此,在解决这类问题时,需要对题目认真加以分析,找出其隐蔽的控制机制。代码如下:
BEGINstudent, computer, enter, finish, check:semaphore;
student:=0;
computer:=Bm;
enter:=0;
finish:=0;
check:=0;
COBEGIN
Process Procedure Student; begin V(student); {表示有学生到达} P(computer); {获取一台计算机} P(enter); {等待允许进入} DO it with partner; V(finish); {表示实习完成} P(check); {等待教师检查} V(computer); {释放计算机资源} end
Process Procedure Teacher; begin LA: P(finished); {等待学生实习完成} P(finished); {等待另一学生实习完成} check the work; V(check); {表示检查完成} V(check); {表示检查完成} goto LA; end
Process Procedure Monitor begin LB: P(student); {等待学生到达} P(student); {等待另一学生到达} V(enter); {允许学生进入} V(enter); {允许学生进入} goto LB; end
相关文章推荐
- 【操作系统】进程(线程)间同步互斥问题——熟睡的理发师问题
- 进程、线程知识点总结和同步(消费者生产者,读者写者三类问题)、互斥、异步、并发、并行、死锁、活锁的总结
- 进程(线程)间同步互斥问题(三) 熟睡的理发师问题
- 操作系统课程设计-线程和进程的同步与互斥
- 进程(线程)间同步互斥问题(四) 三个烟鬼问题
- 进程(线程)间的同步互斥问题(五) 读者-作者问题
- 进程(线程)间同步互斥经典问题(二)哲学家问题
- 操作系统进程同步互斥经典问题之读者写者问题
- 进程、线程知识点总结和同步(消费者生产者,读者写者三类问题)、互斥、异步、并发、并行、死锁、活锁的总结
- 操作系统之进程互斥与同步和线程
- 操作系统 进程/线程 同步与互斥
- 信号量---解决进程间的同步与互斥问题之1
- 操作系统的信号量 进程互斥 同步等概念
- 进程间同步互斥经典问题(一)生产者-消费者问题
- 操作系统之进程互斥的经典问题的分析
- 计算机操作系统笔记(5)--进程管理之经典进程的同步问题
- 操作系统经典同步互斥问题——哲学家就餐
- 操作系统--进程同步和互斥的概念
- Unix,进程,线程,同步,互斥,通信
- 操作系统之进程互斥的经典问题的分析