操作系统作业2023/10/26

14.有m个进程共享同一临界资源,若使用信号量机制实现对某个临界资源的互斥访问,请求出信号量的变化范围。

某个临界资源的信号量初值为1,其是信号量的最大值。m个进程分别对临界资源发出1次请求,信号量均要执行减1操作,因此,最多可允许m个进程同时申请。此时信号量的值是1-m,为最小值。因此,信号量值的范围是1-m至1。

15.若有4个进程共享同一程序段,而且每次最多允许3个进程进入该程序段,则信号量值的变化范围是什么?

程序段作为共享资源,最多允许3个进程进人其中,因此设置信号量初值为3。当4个进程共享该程序段时,在每个进程申请进入时,信号量都会执行减1操作。当第1个进程申请进入时,信号量值变为2;第2个进程申请进入时,信号量值变为1;第3个进程申请进入时,信号量值变为0,第4个进程申请进入时,信号量值变为-1。因此,信号量的变化范围是3.2,1.0,-1。

17.某银行提供了1个服务窗口和10个供顾客等待时使用的座位。顾客到达银行时,若有空座位,则到取号机上领取一个号,等待叫号。取号机每次仅允许一位顾客使用。当营业员空闲时,通过叫号选取一位顾客,并为其服务。顾客和营业员的活动过程描述如下。

请添加必要的信号量和P、V(或wait()、signal())操作,实现上述过程中的互斥与同步。要求写出完整的过程,说明信号量的含义并赋初值。


评论

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注