![](https://csdnimg.cn/release/download_crawler_static/15704030/bg1.jpg)
操作系统复习
重点:进程同步问题、信号量机制、生产者消费者问题
1. 画出有挂起操作的操作系统中进程状态转换图,标出引起进程状态变化的主要原因。
2. 有一个可以存放消息的缓冲池 BUF,由指针 IN 和 OUT 分别指示当前可存取消息的缓冲
区位置。每存入一消息,执行 IN:=(IN+1 )mod 128,每取出一消息,执行 OUT:=(OUT+1 )mod
128,现在有多个进程并发共享该缓冲池 BUF,试用信号量机制协调诸进程正确地工作。
3. 桌上有一空盘,允许存放一只水果。妈妈可以向盘中放苹果,也可以向盘中放桔子,儿
子专等吃盘中的苹果,女儿专等吃盘中的桔子。规定当盘空时只能放一只水果供孩子取用,
请用 P、V 原语实现母子三人的同步。
4. 某集装箱仓库共有 100 个仓位,用同一辆吊车负责集装箱的吊进和吊出。现有一批集装
箱运来进仓,另有货主不断前来提货(按仓位顺序进出),设进仓用过程 PUTIN 表示,出仓
用过程 GETOUT 表示,请用 P、V 操作协调上述工作。
5.有一独木桥,每次只允许一人过桥,现在桥的南北两端随时有人要过桥(PASS),为保证
安全,请用 P、V 操作解决如下问题:
(1) 只要桥上无人则允许任一方的一人过桥,桥上有人则等待。
(2) 两边的人交替过桥。即某一方一人过桥后要让另一方的一个人过桥,桥上有人则等待
6.设进程 A 每次产生一个记录依次存入缓存,进程 B 依次从缓存取出一个记录加以处理;又
设缓存由 N 个缓存块(每块存放一个记录)组成,对缓存的两个操作(add_to_buffer,
take_from_buffer)属临界区,请用信号量控制上述并发进程。
7. 假设有一个成品仓库,总共能存放 100 台成品,生产者进程生产成品放入仓库,消费者
进程从仓库中取出成品消费,为了防止积压,仓库满时就停止生产。由于仓库搬运设备只有
一套,故成品的进出只能分别进行。使用 P、V 操作来实现该方案。
8. 有一个可以存放消息的缓冲池 BUF,由指针 IN 和 OUT 分别指示当前可存取消息的缓冲
区位置。每存入一消息,执行 IN:=(IN+1)mod 100,每取出一消息,执行 OUT:=(OUT+1)mod 100,
现在有多个进程并发共享该缓冲池 BUF,其中输入进程一次写一个缓冲区(WRITE TO
BUFFER),输出进程一次读一个缓冲区(READ FROM BUFFER),试用记录型信号量机制协调
诸进程正确地工作。