一、选择题
1.操作系统中有一组常称为特殊系统调用,它不能被系统中断,在操作系统中称为(B ) 。
A.初始化程序
B.原语
C.子程序
D.控制模块
2.各进程向前推进的速度是不可预知的,体现出“走走停停”的特征,称为进程的( D)。
A.动态性
B.并发性
C.调度性
D.异步性
3.银行家算法在解决死锁问题中是用于(B )
A.预防死锁
B.避免死锁
C.检测死锁
D.解除死锁
4.产生死锁的基本原因是资源分配不当、(D ) 和进程推进顺序非法。
A.方法选择不当
B.系统资源不足
C.作业调度不当
D.进程调度不当
5.系统出现死锁的原因是( A)。
A.若干进程因竞争资源而无休止地等待着,不释放已占有的资源
B.计算机系统发生了重大故障
C.有多个封锁的进程同时存在
D.资源数大大少于进程数,或进程同时申请的资源数大大超过资源总数
6.PV操作是( A)。
A.两条低级进程通信原语
B.两组不同的机器指令
C.两条系统调用命令
D.两条高级进程通信原语
7.在操作系统中,并发性是指若干事件( C)发生。
A.在同一时刻
B.一定在不同时刻
C.某一时间间隔内
D.依次在不同时间间隔内
8.死锁产生的原因不包括( B)
A.系统资源不足
B.进程间彼此相关
C.进程推进顺序不当
D.PV操作不当
9.若信号量S的初值为2,当前值为-1,则表示有(B )等待进程。
A.0个
B.1个
C.2个
D.3个
10.设有4个进程共享一个互斥段,如果最多允许两个进程同时进入互斥段,则所采用的互斥信号量初值应该是( B)。
A.5
B.2
C.1
D.0
11.设有五个进程共享一个互斥段,如果最多允许两个进程同时进入互斥段,则所采用的互斥信号量初值应该是( B).
A.5
B.2
C.1
D.0
12.进程从运行状态到阻塞状态可能是由于( C)。
A.运行进程执行了V操作
B.运行进程时间片用完
C.运行进程执行了P操作
D.进程调度程序的调度
13.在操作系统中,要对并发进程进行同步的原因是(C ) 。
A.进程必须在有限的时间内完成
B.进程具有动态性
C.并发进程是异步的
D.进程具有结构性
14.原语是( B)。
A.一条机器指令
B.若干条机器指令组成
C.一条特定指令
D.中途能打断的指令
15.系统有5个进程共享临界资源,信号量S的初值为1,如果当前值为0,则表示有( B)进程进入临界区。
A.5个
B.1个
C.2个
D.3个
16.三个进程共享四个同类资源,这些资源的分配与释放只能一次一个。已知每个进程最多需要两个该类资源,则该系统( B)。
A.有某进程永远得不到该类资源
B.必然死锁
C.进程请求该类资源立刻能得到
D.必然无死锁
17.在单一处理机上,将执行时间有重叠的几个程序称为( C)。
A.顺序程序
B.多道程序
C.并发程序
D.并行程序
二、判断题
18.临界资源是指每次仅允许一个进程访问的资源。( T)
19.线程是运行的调度单位,但不是资源的拥有单位。 ( T)
20.并发是指两个或多个作业在同一时间间隔内依次运行。(T )
21.采用信号量和P,V操作,系统还可能产生死锁。 ( T)
22.利用信号量的PV操作可以交换大量的信息。 ( F)
23.当系统中有死锁产生时,所有的进程都处于等待状态。 ( F)
24.原语可以被多个进程同时执行。(F )
25.线程是调度的基本单位,但不是资源分配的基本单位。(T )
26.在用P,V操作解决进程之间的同步与互斥时,一定要正确地安排P,V操作的顺序,否则会引起死锁。(T )
27.信号量机制是一种有效的实现进程同步与互斥的工具。信号量只能由P-V操作来改变。 ( T)
28.当进程数大于资源数时,进程竞争资源一定会产生死锁。 ( F)
29.在用P,V操作解决进程之间的同步与互斥时,一定要正确地安排P,V操作的顺序,否则会引起死锁。(T )
30.进程A与进程B共享变量S1;需要互斥,进程B与进程C共享变量S2,需要互斥,从而,进程A与进程C也必须互斥。(F )
31.并发性是指若干个事件在不同的时刻发生。( F)
32.死锁是系统中的全部进程都处于阻塞状态。(F )
33.临界区是指并发程序中与共享变量有关的程序段(T )
34.操作和V操作都是原语操作。 ( T)
35.因为临界资源一次只允许一个进程使用,所以临界资源不能共享。( F)
36.操作系统可以管理计算机中的所有软硬件资源。(T )
37.并发是并行的不同表述,其原理相同。 (F )
38.当系统中有死锁产生时,一定是所有的进程都处于等待状态。(F )
三、简答题
1、信号量的物理意义是什么?
表示物理资源的实体,是一个和队列有关的整形变量,在具体实现时信号量时一直记录型数据结构,有两个分量,一个是其值,一个是信号量队列的队列指针。
2、说明什么是死锁?死锁的原因是什么?产生死锁的必要条件有哪些?
(1)死锁是指在一组进程中,每个进程都在等待着对方的资源,却不释放自己的资源,导致形成了一个闭环,永远也得不到所需资源的现象。
(2)产生死锁的原因与进程资源不足、PV操作不当、进程申请顺序不当、进程执行顺序非法有关。
(3)产生死锁的必要条件有四个:形成闭环、进程互斥、非抢占式、进程占有自身资源不释放又在等待对方进程资源。
3、试说明进程的互斥和同步两个概念。
(1)进程的互斥是一种竞争的关系,进程间间接制约,是指进程间因临界资源产生的资源争夺,因为临界资源一次只能由一个进程占用。
(2)进程的同步是一种合作的关系,进程间直接制约,是指进程间为了实现完成某一任务而产生有一前一后的执行顺序,既是一个进程的执行依赖于另一个协作进程的信号,倘若协作进程没有发来执行的信号,那么这个进程就会一直等待,直到协作进程发来信号。
4、简述解决死锁问题的三种方法。
(1)预免死锁:通过设置一些条件去破坏死锁产生的必要条件之一。
(2)避免死锁:通过银行家算法避免进程进入不安全的状态,结合安全性算法找出安全的序列。
(3)监测和解除死锁:在允许系统进入死锁状态下,在进程申请资源时进行监测,去监测其他进程是否请求A所占有额资源,没有则允许,有则强行剥夺A进程所占的资源,解决死锁。
5、什么是信号量?在信号量S 上作P、V 操作时,S 的值发生变化,当S>0、S=0、S<0 时,它们的物理意义是什么?
(1)信号量是指一个进程在某一个特殊点上被迫停止执行直到接收到一个对应的特殊变量值,是用来表示物理资源的尸体,与队列有关的整形变量。
(2)当信号量S执行PV操作时,S>0,表示当前还可以资源的数量;
S=0,表示当前没有可用资源也表示就绪队列中没有进程等待资源;
S<0,表示当前等待资源的进程数量。
6、什么是临界区和临界资源?对临界区管理的基本原则是什么?
临界区是指包含着临界资源的代码段;
临界资源是指一次只能由一个进程占有的资源;
临界区管理的基本原则是:
(1)软件方法,通过Peterson算法
(2)硬件方法
(3)PV操作