单选题
- 在操作系统中,进行资源分配、调度和管理的最小独立单位是()。 【 正确答案: C】
A. 作业
B. 程序
C. 进程
D. 用户 - 进程在发出I/O请求后,可能导致下列哪种进程状态演变? 【 正确答案: D】
A. 就绪 → 执行
B. 执行 → 就绪
C. 阻塞 → 执行
D. 执行 → 阻塞 - 使用一个信号量协调6个进程对2个同类临界资源的访问,下列哪个信号量值不应该出现? 【 正确答案: A】
A. 3
B. 0
C. –1
D. –3 - “临界资源”是指()。 【 正确答案: C】
A. 正在被占用的资源
B. 不可共享的资源
C. 一次只能被一个进程使用的资源
D. 可同时使用的资源 - 如何从用户方式(用户态)转入特权方式(核心态)?【 正确答案: D】
A. 使用特权指令
B. 发生子程序调用
C. 使用共享代码
D. 进行系统调用 - 进程由就绪状态转变为执行状态是通过以下那个调度程序实现的?【 正确答案: B】
A. 作业调度
B. 进程调度
C. 中级调度
D. 驱臂调度 - 以下哪个不是程序并发执行时所产生的特性。 【 正确答案: D】
A. 与速度无关性
B. 不可再现性
C. 相互制约性
D. 通信性 - 以下哪个不是程序顺序执行时的特性。【 正确答案: D】
A. 封闭性
B. 顺序性
C. 无关性
D. 不可再现性 - 作业经过下面哪一个过程进入“后备”状态?【正确答案:B】
A. 作业创建
B. 作业调度
C. 进程调度
D. 作业终止 - 使用一个信号量协调5个进程对3个同类临界资源的访问,下列哪个信号量值不应该出现?【正确答案:D】
A. 3
B. 0
C. –1
D. –3 - 操作系统中的高级调度是指:【正确答案:A】
A. 作业调度
B. 进程调度
C. 进程交换调度
D. 线程调度 - 在消息缓冲队列中,消息队列属于( )资源。【正确答案:A】
A. 临界
B. 共享
C. 永久
D. 可剥夺 - 在消息缓冲通信方式中,通信的基本单位是()。【正确答案:B】
A. 文件
B. 消息
C. 记录
D. 字段
判断题
- 信号量的值不一定表示某类可用资源的数量。【正确答案:正确】
- 在消息缓冲通信中,消息队列属于临界资源。【正确答案:正确】
- 在UNIX系统中,所有进程都是利用系统调用fork创建的。【正确答案:错误】
- 所谓的用户态、内核态实际上是处理器的一种状态,而不是程序的状态。【正确答案:正确】
- 多用户实时操作系统一定采用剥夺调度方式。【正确答案:错误】
- 进程发出I/O请求后将被阻塞,直至I/O操作完成。【正确答案:正确】
- 死锁危害很大,操作系统要绝对防止死锁的发生。【正确答案:错误】
- 进程就是作业。【正确答案:错误】
- 作业A处于运行状态,作业A的进程一定处于执行状态。【正确答案:错误】
- 如果死锁的四个必要条件同时成立,则系统一定产生死锁。【正确答案:错误】
- 进程被创建后处于就绪状态。【正确答案:正确】
- 作业A处于运行状态,但作业A的进程可能处于阻塞状态。【正确答案:正确】
- 不安全状态是死锁状态。【正确答案:错误】
- 系统中存在死锁,没有进程可再运行。【正确答案:正确】
- 多级反馈队列属于非剥夺式调度。【正确答案:错误】
填空题
- 有2个同类临界资源,被5个并发进程访问,使用信号量机制实现互斥,则初值为 ___ 【 正确答案: 2】,信号量值的变化范围为 [ ___【 正确答案: -3】, ___【 正确答案: 2】] 。
- 假设有一如下图所示的工作模型,具有三个并发进程P1、P2和P3,两个单缓冲B1和B2的容量大小均为M。进程P1负责不断从输入设备读数据,若读入的数据为正数,则直接送入B2,否则应先将数据送入B1,经P2取出加工后再送入B2,P3从B2中取信息输出。下面是用信号量的P、V操作描述进程P1、P2、P3实现同步的伪代码,请补充完整。
注意填写的文本必须是ASCII字符。
答:设置信号量empty1,empty2,其初值为 ___ 【 正确答案: M】;
信号量full1,full2,其初值为 ___【 正确答案: 0】;
信号量mutex1,mutex2,其初值为 ___【 正确答案: 1】;
各个进程的描述如下:
P1:
repeat
读入一个数据data;
if( ___【 正确答案: data>0 或 0<data】) {
P(empty2);P(mutex2);
放数据data到B2中;
V(mutex2);V(full2);
}
else {
P(empty1);P(mutex1);
放数据data到B1中;
V(mutex1);V(full1);
}
until forever
P2:
repeat
P(full1); ___ 【 正确答案: P(mutex1)】;
从B1中取出数据data;
然后处理该数据data成DATA;
V(mutex1); ___ 【 正确答案: V(empty1)】;
___ 【 正确答案: P(empty2)】;P(mutex2);
将数据DATA放入B2中;
V(mutex2); ___ 【 正确答案: V(full2)】;
until forever
P3:
repeat
___ 【 正确答案: P(full2)】;P(mutex2);
从B2中取出数据data;
V(mutex2); ___ 【 正确答案: V(empty2)】;
打印数据data;
until forever - 并发进程之间存在着 ___ 【 正确答案: 同步】 和 ___ 【 正确答案: 互斥】 两种关系,后者是并发进程之间因为要竞争独占资源而形成的一种关系。
- 资源信号量S的初值为6,多个并发进程先依次执行了8次P操作后,又执行了5次V操作,此时S的值为 ___ 【 正确答案: 3】。
- PCB的初始化包括( _____ 【 正确答案: 进程标识符信息】 )、( _____ 【 正确答案: 处理机状态信息】 )和( _____ 【 正确答案: 处理机控制信息】 )。
- 进程的并发性是指多个进程在( _____ 【 正确答案: 同一时间间隔 或 一段时间内】 )内同时发生。
- 进程的执行并不是“一气呵成”,而是走走停停的,这种特征称为进程的( ___ 【 正确答案: 异步性】 )
- 在多进程并发执行中,肯定不会因竞争( ___ 【 正确答案: CPU 或 中央处理单元】 )而发生死锁。
- Sa、Sb、Sc是已定义信号量,初值分别为1、0、0;x、y、z是公共变量。下面三个并发程序段执行结束后,x= ___ 【 正确答案: 19】,y= ___ 【 正确答案: 10】,z= ___ 【 正确答案: 28】。
prA() { P(Sc); z=x+y; V(Sb); } prB() { y=18; P(Sb); V(Sc); P(Sb); y=z-y; V(Sa); } prC() { P(Sa); x=10; V(Sb); P(Sa); x=z-9; }