进程同步练习

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

School of Information Science and Engineering,Lanzhou University OS Autumn 2009 2
3 P0源源不断往传送带上放置A零件或B零 件,传送带上最多放N个零件。如果是A 零件,P1取下加工;如果是B零件,P2 取下加工。用信号量实现三个进程的同 步
School of Information Science and Engineering,Lanzhou University OS Autumn 2009
3
4 物业中心有N(N>1)位维修员,一本一次只 允许一人填写的维修记录表。如没有维修任务 则维修员睡觉。住户有维修请求时,到物业中 心在维修记录表上进行登记,每人每次只能登 记一个请求。当累计有三个维修请求时,唤醒 维修员去进行维修。维修员完成维修任务后, 回到物业中心在维修记录上填写维修结果。如 没有新的维修请求或请求少于三个时,维修员 休息睡觉。请用信号量机制解决维修员与住户 的同步问题。
6 用P,V操作解决司机与售票员的问题
司机进程: while (true){ 启动车辆 正常驾驶 售票员进程: while (true){ 关门 售票
到站停车 开门 }… of Information Science and Engineering,Lanzhou University }… School
School of Information Science and Engineering,Lanzhou University OS Autumn 2009 4
Βιβλιοθήκη Baidu
5 利用信号量来描述前趋关系
s3
s1
s2
s5
s6
s4
School of Information Science and Engineering,Lanzhou University OS Autumn 2009 5
假设进程可以以任意相对速度执行,且一个 值由机器指令载入寄存器后只能减1。确定 此并发程序执行后变量result最终值的上限 和下限并解释原因。要使此并发程序有确定 的结果,用信号量如何实现。
School of Information Science and Engineering,Lanzhou University OS Autumn 2009 7
OS Autumn 2009
6
7对于下面的程序:
int result; void dec () { int i; for(i=1,i<=10;i++) result--; } void main() { result=100;parbegin (dec (), dec (), dec ()); write(result) }
练习
1.用wait,signal操作解决下图之同步问题:
get
copy
put
f
s
t
g
1
School of Information Science and Engineering,Lanzhou University OS Autumn 2009
2,4,5,6,8
2.桌上有一空盘,一次只允许放一个水果。爸爸 向盘中方苹果或橘子,儿子专等橘子吃,女儿 专等苹果吃。用信号量实现三人的同步。 (三个并发进程R、W1、W2共享单缓冲区B。 进程R从输入设备上读入一个自然数存放到B 中,若B中的数是奇数,则由进程W1取出打 印,若B中的数是偶数,则由进程W2取出打 印。用信号量机制实现同步,使这三个进程能 正确执行。)
相关文档
最新文档