问题 单项选择题

在操作系统的进程管理中,若系统中有8个进程要使用互斥资源R,但最多只允许2个进程进入互斥段临界区),则信号量S的变化范围是______;若信号量S的当前值为-4,则表示系统中有_______个进程正在等待该资源。

A.1
B.2
C.3
D.4

答案

参考答案:D

解析: 在多任务操作系统环境下,多个进程会同时运行,并且一些进程之间可能存在一定的关联。多个进程可能为了完成同一个任务会相互协作,这样形成进程之间的同步关系。在不同进程之间,为了争夺有限的系统资源(硬件或软件资源)会进入竞争状态,这就是进程之间的互斥关系。
进程之间的互斥与同步关系存在的根源在于临界资源R。临界资源是在同一个时刻只允许有限个(通常只有一个)进程可以访问(读)或修改(写)的资源,通常包括硬件资源(处理器、内存、存储器以及其他外围设备等)和软件资源(共享代码段、共享结构和变量等)。访问临界资源的代码叫做临界区,临界区本身也会成为临界资源。
信号量S用来解决进程之间的同步与互斥问题的一种进程之间通信机制,包括一个称为信号量的变量和在该信号量下等待资源的进程等待队列,以及对信号量进行的基本操作,其中信号量对应于某一种资源。信号量值指的是当前可用的该资源的数量,若它大于0,则其数值表示可用资源的数目,等于0则意味着目前没有可用的资源,小于0则其数值意味着有等待资源的进程数目。
如果有可能的资源(信号量值>0),则占用一个资源(给信号量值减去1,进入临界区代码);如果没有可用的资源(信号量值等于0),则被阻塞到直到系统将资源分配给该进程(进入等待队列,一直等到资源轮到该进程)。该操作也称为P操作。
如果在该信号量的等待队列中有进程在等待资源,则唤醒一个阻塞进程。如果没有进程等待它,则释放一个资源(给信号量值加1)。该操作也称为V操作。
现代操作系统中,还有第三种操作,Z操作,又称为测试操作。它的典型流程为:等待当前信号量取值为0,如果成立,进程返回,否则进程阻塞直到条件成立为止。

综合
判断题