…producea
itemi
extpwaitmutexwaitfullbufferi
extp……sig
almutexu
tilfalsee
dco
sumerbegi
repeat……waitmutexwaitempty
f
extcbufferoutco
sumeitemi
extcoutout1u
tilfalsesig
almutexe
d27试利用记录型信号量写出一个不会出现死锁的哲学家进餐问题的算法。试利用记录型信号量写出一个不会出现死锁的哲学家进餐问题的算法。三种解决方法中的任意一种即可(略)62。P28在测量控制系统中的数据采集任务时,把所采集的数据送往一单缓冲区;计算任务从该在测量控制系统中的数据采集任务时,把所采集的数据送往一单缓冲区;单缓冲区中取出数据进行计算。单缓冲区中取出数据进行计算。试写出利用信号量机制实现两任务共享单缓冲区的同步算法。算法。aVarmutexemptyfullsemaphore110
gatherbegi
repeat……gatherdatai
extpwaitemptywaitmutexbuffer
extpsig
almutexsig
alfullu
tilfalsee
dbVaremptyfullsemaphore10gatherbegi
repeat……gatherdatai
extpwaitemptybuffer
extpsig
alfullu
tilfalsee
dcomputebegi
repeat……waitfull
extcbuffersig
alemptycomputedatai
extcu
tilfalsee
dcomputebegi
repeat……waitfullwaitmutex
extcbuffersig
almutexsig
alemptycomputedatai
extcu
tilfalsee
d
33试比较进程间的低级通信工具与高级通信工具试比较进程间的低级通信工具与高级通信工具用户用低级通信工具实现进程通信很不方便,因为其效率低,通信对用户不透明,所有的操作都必须由程序员来实现,而高级通信工具则可弥补这些缺陷,用户可直接利用操作系统所提供的一组通信命令,高效地传送大量的数据。36为什么要在OS中引入线程?中引入线程?在OS中引入进程的目的,是为了使多个程序能并发执行,以提高资源利用率和系统吞吐量。在OS中再引入线程,则是为了减少程序在并发执行时所付出的时空开销,使OS具有更好的并发性。38试从调度性,并发性,拥有资源及系统开销方面对进程和线程进行比较试从调度性,并发性,有资源及系统开销方面对进程和线程进行比较a调度性。在传统的操作系统中,拥有资源的基本单位和独立调度、分派的基本单位都是进程,在引入线程的OS中,则把线程作为调度和分派的基本单位,而把进程作为资源拥有的基本单位;
fb并发性。在引入线程的OS中,不仅进程之间可以并发执行,而且在一个进程中的多个线程之间,亦可并发执行,因而使OS具有更好的并发性;c拥有资源。无论是传统的操作系统,还是引入了线程的操作系统,进程始终是拥有资源的一r