【问题】 (每小题2分,共16分)设有无穷多个信息,输入进程把信息逐个写入缓冲区,输出进程逐个从缓冲区中取出信息。设缓冲区是环形的,编号为0~n-1,in和out分别是输入进程和输出进程使用的指针,初值都是0。为使两类进程实行同步操作,设置三个信号量:两个计数信号量full和empty,一个互斥信号量mutex。full表示放有信息的缓冲区数,其初值为0。empty表示可供使用的缓冲区数,其初值为n。mutex互斥信号量,初值为1。 根据下面输入、输出进程的同步算法,填写相应的P、V操作。输入进程Input:whi

(每小题2分,共16分)设有无穷多个信息,输入进程把信息逐个写入缓冲区,输出进程逐个从缓冲区中取出信息。设缓冲区是环形的,编号为0~n-1,in和out分别是输入进程和输出进程使用的指针,初值都是0。为使两类进程实行同步操作,设置三个信号量:两个计数信号量full和empty,一个互斥信号量mutex。full表示放有信息的缓冲区数,其初值为0。empty表示可供使用的缓冲区数,其初值为n。mutex互斥信号量,初值为1。 根据下面输入、输出进程的同步算法,填写相应的P、V操作。输入进程Input:while (TRUE) {__(1)__;_P(mutex)__;信息送往buffer(in); in=(in+1) mod n; /*以n为模*/__(2)__;__(3)__;} 输出进程Output:while (TRUE){__(4)__;__(5)__;从buffer(out)中取出信息; out=(out+1) mod n; /*以n为模*/_V(mutex)_;__(6)__;}

正确答案:选项1P(empty)选项2

题目解析:本题出自国家开放大学,国家开放大学操作系统1,由丰阳塔题库搜集整理。