设有一缓冲池P,P中含有20个可用缓冲区,一个输入进程将外部数据读入P,另有一个输出进程将P中数据取出并输出。若讲程每次操作均以一个缓冲区为单位,试用记录型信号量写出两个进程的同步算法,要求写出信号量的初值。
举一反三
- 设有n个进程共用一个相同的程序段(临界区),如果每次最多允许m个进程(m£n)同时进入临界区。则信号量的初值为____。 </p></p>
- 有三个并发进程:R 负责从输入设备读入信息块,M 负责对信息块加工处理;P 负责打印输出信息块。今提供; l )一个缓冲区,可放置k个信息块; 2 )二个缓冲区,每个可放置k个信息块;M从一个缓冲区中取数据加工处理,将结果放到另外一个缓冲区。 试用信号量和P 、V 操作写出三个进程正确工作的流程。
- 有三个并发进程R、M、P,它们共享一个可循环使用的缓冲区B,缓冲区B共有N个单元,三个进程不允许同时访问缓冲区。进程R负责从输入设备读信息,每读入一个字符后,把它存入缓冲区B的一个单元中;进程M负责处理读入的字符,若发现读入的字符中有空格符,则把它改成“,”;进程P负责把处理后的字符取出并打印输出。(1)请分析三个进程之间的互斥和同步关系(2)说明信号量的设置、初值及含义。(3)请用P、V操作写出它们能正确并发执行的程序。
- 设有n个进程共用一个相同的程序段,如果每次最多允许m个进程同时进入临界区,则信号量的初值为()
- 设有无穷多个缓冲区和无穷多个信息,A进程把信息逐个的写入每个缓冲区,B进程则逐个地从缓冲区中取出信息。试问:(1)两个进程之间的制约关系; (2)用P、V操作写出两进程的同步算法,并给出信号量的初值; (3)指出信号量的值的变化范围和其值的含义