当前位置:文档之家› 进程同步练习

进程同步练习


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 2
3 P0源源不断往传送带上放置 零件或 零 源源不断往传送带上放置A零件或 源源不断往传送带上放置 零件或B零 传送带上最多放N个零件 如果是A 个零件。 件,传送带上最多放 个零件。如果是 零件, 取下加工 如果是B零件 取下加工; 零件, 零件,P1取下加工;如果是 零件,P2 取下加工。 取下加工。用信号量实现三个进程的同 步
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 ()); wri of Information Science and Engineering,Lanzhou University OS Autumn 2009
3
4 物业中心有 (N>1)位维修员,一本一次只 物业中心有N( )位维修员, 允许一人填写的维修记录表。 允许一人填写的维修记录表。如没有维修任务 则维修员睡觉。住户有维修请求时,到物业中 则维修员睡觉。住户有维修请求时, 心在维修记录表上进行登记, 心在维修记录表上进行登记,每人每次只能登 记一个请求。当累计有三个维修请求时, 记一个请求。当累计有三个维修请求时,唤醒 维修员去进行维修。维修员完成维修任务后, 维修员去进行维修。维修员完成维修任务后, 回到物业中心在维修记录上填写维修结果。 回到物业中心在维修记录上填写维修结果。如 没有新的维修请求或请求少于三个时, 没有新的维修请求或请求少于三个时,维修员 休息睡觉。 休息睡觉。请用信号量机制解决维修员与住户 的同步问题。 的同步问题。
School of Information Science and Engineering,Lanzhou University OS Autumn 2009 7
8第二类读者写者问题 第二类读者写者问题 1)多个读者可以同时进行读 ) 2)写者必须互斥(只允许一个写者写, )写者必须互斥(只允许一个写者写, 也不能读者写者同时进行) 也不能读者写者同时进行) 3)写者优先于读者(一旦有写者,则 )写者优先于读者(一旦有写者, 后续读者必须等待, 后续读者必须等待,唤醒时优先考虑 写者) 写者)
练习
1.用wait,signal操作解决下图之同步问题 用 操作解决下图之同步问题: 操作解决下图之同步问题
get
copy
put
f
s
t
g
1
School of Information Science and Engineering,Lanzhou University OS Autumn 2009
2.桌上有一空盘,一次只允许放一个水果。爸爸 桌上有一空盘,一次只允许放一个水果。 桌上有一空盘 向盘中方苹果或橘子,儿子专等橘子吃, 向盘中方苹果或橘子,儿子专等橘子吃,女儿 专等苹果吃。用信号量实现三人的同步。 专等苹果吃。用信号量实现三人的同步。 三个并发进程R、 共享单缓冲区B。 (三个并发进程 、W1、W2共享单缓冲区 。 、 共享单缓冲区 进程R从输入设备上读入一个自然数存放到 从输入设备上读入一个自然数存放到B 进程 从输入设备上读入一个自然数存放到 中的数是奇数, 中,若B中的数是奇数,则由进程 中的数是奇数 则由进程W1取出打 取出打 中的数是偶数, 印,若B中的数是偶数,则由进程 中的数是偶数 则由进程W2取出打 取出打 用信号量机制实现同步, 印。用信号量机制实现同步,使这三个进程能 正确执行。) 正确执行。)
假设进程可以以任意相对速度执行, 假设进程可以以任意相对速度执行,且一个 值由机器指令载入寄存器后只能减1。 值由机器指令载入寄存器后只能减 。确定 此并发程序执行后变量result最终值的上限 此并发程序执行后变量 最终值的上限 和下限并解释原因。 和下限并解释原因。要使此并发程序有确定 的结果,用信号量如何实现。 的结果,用信号量如何实现。
School of Information Science and Engineering,Lanzhou University OS Autumn 2009
8
School of Information Science and Engineering,Lanzhou University OS Autumn 2009 4
5 利用信号量来描述前趋关系
s3
s1
s2
s5
s6
s4
School of Information Science and Engineering,Lanzhou University OS Autumn 2009 5
相关主题