《操作系统设备管理习题课件.ppt》由会员分享,可在线阅读,更多相关《操作系统设备管理习题课件.ppt(5页珍藏版)》请在三一文库上搜索。
1、操作系统设备管理习题,1,例题. 今有4个进程read1,read2,write1和write2,它们共享可以存放一个数的缓冲器B。进程read1每次把来自键盘的一个数存到缓冲器B中,供进程write1打印输出;进程read2每次从磁盘上读一个数存放到缓冲器B中,供进程write2打印输出。当一个进程把数存放到缓冲器后,在该数还没有被打印输出之前不准任何进程再向缓冲器中存数;当一个进程已把缓冲器中的数打印输出后,在缓冲器中还没有存入一个新的数之前不准任何进程再从缓冲器中取数打印。若利用记录型信号量解决此问题,请用类PASCAL语言写出这四个并发进程能正常工作的程序。,解:,操作系统设备管理习题
2、,2,Var empty, full1, full2: semaphore:=1, 0, 0; B: integer; begin parbegin read1: begin repeat x:=接收的来自键盘的数; wait(empty); B:=x; signal(full1); until false; end,操作系统设备管理习题,3,read2: begin repeat y:=从磁盘读入的数; wait(empty); B:=y; signal(full2); until false; end,操作系统设备管理习题,4,write1: begin repeat wait(full1); z:=B; signal(empty); print z; until false; end,操作系统设备管理习题,5,write2: begin repeat wait(full2); k:=B; signal(empty); print k; until false; end,