操作系统---第二章进程管理---进程同步---选择题

本文主要探讨操作系统中的进程管理,重点讲解进程同步的信号量、临界区概念、管程以及相关的选择题解析。内容涵盖信号量的值、临界区的定义、管程与信号量的区别、进程间的互斥与同步关系,以及让权等待等原则。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1信号量的值有什么含义?

信号量的值为-1,这表示等待进入临界区的进程数是1。信号量是一个特殊的整型变量,只有初始化和PV操作才能改变其值。通常,信号量分为互斥量和资源量,互斥量的初值一般为1,表示临界区只允许一个进程进入,从而实现互斥。当互斥量等于0时,表示临界区已有一个进程进入,临界区外尚无进程等待;当互斥量小于0时,表示临界区有1个进程,互斥量的绝对值表示在临界区外等待进入的进程数。资源信号量也是这么个情况。

2临界区是什么东西?临界区是访问临界资源中的一步。

临界资源是一次仅允许一个进程使用的资源,比如很多物理设备,如打印机。
进入区:为了进入临界区使用临界资源,在进入区要检查是否可进入临界区,若能进入临界区,则应设置正在访问临界区的标志,以阻止其他进程同时进入临界区。
临界区:进程中访问临界资源的那部分代码,又称临界段。
退出区:将正在访问临界区的标志清除。
剩余区:代码中的其他部分。

3 临界资源与共享资源

临界资源与共享资源的区别在于,在一段时间内能否允许被多个进程访问(并发使用),显然磁盘属于共享设备。共用队列可供多个进程使用,但一次只可供一个进程使用,试想若多个进程同时使用共用队列,势必造成队列中的数据混乱而无法使用。可重入的代码程序一次可供多个进程使用。# 4进程A和进程B共享缓冲区协作完成数据处理,进程A负责生产数据并放入缓冲区,进程B从缓冲区读数据并输出。进程A与B的关系是互斥和同步关系。其实这道题很坑啊!进程A要先放入数据,B才能取出来,这是很明显的同步机制。然后共享的缓冲区一定是互斥访问的,所以它们也有互斥关系。

5为什么P操作可能导致进程阻塞,但不可能导致进程就绪呢?

这是因为执行P操作时的进程处于运行态,如果说时间片消耗完了倒是可以从运行态转到就绪态,但是没取到资源就只能进入阻塞态,取到资源了进程还是运行态。

6什么是管程?

当共享资源用共享数据结构表示时,资源管理程序可用对该数据结构进行操作的一组过程来表示,如资源的请求和释放过程request和release。把这样一组相关的数据结构和过程一并归为管程。
管程由3部分组成:
(1)局部于管程的共享变量说明。
(2)该数据结构进行操作的一组过程
(3)对局部于管程的数据设置初始值得语句;此外,还需为该管程赋予一个名字。
管程的引入是为了解决临界区分散所带来的管理和控制问题。在没有管程之前,对临界区的访问分散在各个进程之中,不易发现和纠正分散在用户程序中的不正确使用P,V操作等问题。管程将这些分散在各进程中的临界区集中起来,并加以控制和管理,管程一次只允许一个进程进入管程内,从而既便于系统管理共享资源,又能保证互斥。

7一个进程因在互斥信号量mutex上执行V(mutex)操作而导致唤醒另一个进程时,执行V操作后mutex的值为?

因为系统中原来存在等待进入临界区的进程,mutx<=-1,因此在执行V(mutex)操作后,mutex<=0。

8管程的signal操作和信号量中的V操作相同吗?

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值