操作系统课后习题.ppt

进程和线程的关系;处理机调度的基本单位是线程,线程之间竞争处理机,真正在处理机上运行的是线程。 线程在执行过程中,需要同步。;例题1; 解:设信号量初值S=1 汽车进程Pi(i=1,2,3,…) 到达桥头 P(s) 上桥行驶 到达桥另一端 V(s);例题二; 解:信号量初值S=300 购票者进程Pi(i=1,2,3,…) P(s) 进入售票厅 购票 退出售票厅 V(s) ;例题三;; PA进程 PB进程 PC进程 读一个记录 P(full1) P(full2) P(empty1) 从缓1取一个记录 从缓2取一个记录 存入缓冲区1 V(empty1) V(empty2) V(full1) P(empty2) 打印输出记录 存入缓冲区2 V(full2);例题四;解:两个生产者和两个消费者共享了一个仅能存放一件产品的缓冲器,生产者各自生产不同的产品,消费者各自取自己需要的产品,P、V操作编程为:;猎手进程 农民进程 动物园进程 饭店进程 P(s) P(s) P(s1) P(s2) 放入虎 放入猪 买老虎 买猪 V(s1) V(s2) V(s) V(s) 其中S初值=1,S1=S2=0;例题五;解:信号量初值S1=0,S2=0,S=1 爸爸进程 妈妈进程 女儿进程 儿子进程 repeat repeat repeat repeat P(s) P(s) P(s1) P(s2) 放苹果 放桔子 取苹果 取桔子 V(s1) V(s2) V(s) V(s) until false until false until false until false ;例题六;解:因为P1、P2是并发进程,所以P1和P2调度顺序不确定。假设P1先执行,当P1执行到P(s2)时,s2=-1,P1阻塞,此时y=3,z=4;当调度程序调度到P2时,由于进程P1巳执行到了V(s1),P2在执行P(s1)时,不阻塞而继续执行,当执行到V(s2)时,将P1唤醒,然后执行到最后一个语句,此时x=5,z=9;当P1再次被唤醒、调度时,;继续执行P1的最后一处语句,此时y=12. 所以最后结果???:x=5,y=12,z=9. 如果P2先执行,结果同上。;习题1:有三个并发进程使用同一个缓冲区,进程P1负责写数据到缓冲区,P2负责加工缓冲区中的数据,进程P3负责将缓冲区中加工后的数据输出.在进程P3没有输完之前,进程P1不能读入新的数据到缓冲区中.请用P、V操作编程.;解:信号量初值:S1=0,S2=0,S=1 进程P1 进程P2 进程P3 P(S) P(S1) P(S2) 读数据到缓冲区 加工 输出 V(S1) V(S2) V(S) ;习题2:设有六个进程P

文档评论(0)

1亿VIP精品文档

相关文档