操作系统习题集 联系客服

发布时间 : 星期日 文章操作系统习题集更新完毕开始阅读

操作系统原理

A.预防 B.检测 C.解除 D.避免

14.在消息缓冲队列中,消息队列属于__资源。

A.临界 B.共享 C.永久 D.可剥夺

15.在操作系统中,进行资源分配、调度和管理的最小独立单位是__。

A.作业 B.程序 C.进程 D.用户 16.进程控制的功能是首先将要参加并发执行的程序 A ,进程完成时撤销进程,以及控制进程 B ,进程控制通常是利用 C 实现的。进程从运行态到阻塞态的转换,由 D 的进程调用 E 原语来实现;一个进程因等待某类资源而阻塞,正在执行的进程释放该类资源时调用 F 原语把阻塞的进程转换为 G 。正在执行的进程响应外中断后再把阻塞的进程唤醒,被唤醒的进程原来等待的事件为 H 。

选择答案:

(1)创建进程 (2)分派CPU (3)调入内存 (4)状态转换 (5)过程调用 (6)原语 (7)阻塞 (8)唤醒 (9)正在运行 (10)I/O操作 (11)就绪态 (12)运行态 (13)阻塞态

A B C D E F G H 答 案

17.如果多个进程共享系统资源或相互合作完成一个共同的任务,则诸进程是以 A 方式运行的。对临界资源的访问时采用 B 方式,对于相互合作的进程采用 C 方式以协调各进程执行的 D 。

选择答案:

(1)共享 (2)独立 (3)互斥 (4)同步 (5)次序 (6)次数(7)异步 A B C D 答 案

18.一个数据表格(Dtab),在同一时间只允许一个写者去写,容许RN个读者同时去读。每个读者读前必须在登记表(Tab)上登记,退出时则要删除相应的登记项。对以下流程填入正确语句实现同步操作。

(注:Tab=Ω表示登记表为空,即没有读者或写者正在操作Dtab。) var mutex,wmutex,count : semaphore : =1,1,RN //语义? begin parbegin

reader :begin

repeat □A □B

if tab= Ω then P(wmutex) Add entry V(mutex)

perform reading dtab operation; P(mutex) delete entry

if Tab=Ω then □C □D

V(count); until false

End

writer : begin repeat □E

perform writing dtab operation □F

until false

5

操作系统原理

end parend end

选择答案:

(1) p(mutex) (2) p(wmutex) (3) p(count) (4) v(mutex) (5) v(wmutex) (6) v(count) A B C D E F 答 案

19.在分时系统中用户登陆成功,系统要为该终端用户建立 A ,并把它插入到就绪队列。正在执行的进程请求读磁盘数据,若数据不在输入缓冲区中,则调用 B 将自己投入到相应的 C 。

选择答案:

(1)输入进程 (2)子进程 (3)终端解释进程 (4)激活原语 (5)唤醒原语 (6)阻塞原语 (7)阻塞队列 (8)就绪队列 (9)运行队列

A B C 答 案 20.在含有线程的系统中,引入线程的目的是为了进一步提高系统的 A ,节省只有进程系统的 B 。线程是一个 C 单位,线程切换基本不涉及 D 的再分配。

选择答案: (1)吞吐量 (2)交互能力 (3)并发能力 (4)执行 (5)资源 (6)CPU (7)占有资源 (8)时间开销 (9)空间开销 (10)时空开销

A B C D 答 案

21.生产者与消费者分别利用计数信号量empty,full并借助单缓冲buffer进行数据传输:

var empty,full: semaphore: =1,0; begin parbegin

producer: begin repeat

produce an item in nextp:

A; □

buffer: =nextp:

B □

until false: end

consumer: begin repeat

C □

nextc: =buffer:

D □

consume the item in nextc: until false end parend end

选择答案:

(1)wait(full) (2)wait(empty) (3)signal(full) (4)signal(empty) A B C D 答 案 22.利用消息缓冲通信机制进行通信,a为发送进程的发送区首地址,b为接收进程的接收区首地址,mq、mutex、sm分别为接收进程消息队列的队首地址、互斥信号量和同步信号量,对以下发送原语

6

操作系统原理

和接收原语实现正确的同步操作:

procedure send (receiver,a) begin

getbuf(a.size ,i) i.sender:= a.sender; i.size: = a.size; i.text: = a.text; i.next: =0;

getid (PCBset, receiver, j);

A; □

insert (j.mq, i)

B; □

signal (j.sm); end

procedure receive() begin

j: = internal name; C; □

Wait(j.mutex); D; □

b.sender: =i.sender; b.size: =i.size; b.text: =i.text; end

选择答案:

(1)wait(j.mutex) (2)wait(j.sm) (3)signal(j.mutex) (4)signal(j.sm) A B C D 答 案

23.进程get、copy、put分别对缓冲区buffer1、buffer2进行操作。get把产生的数据送buffer1;copy把buffer1的数据复制到buffer2中;put把buffer2中的数据取出来打印。请选择相关的wait、signal语句完善给出的流程:

流程中s1是get的私用信号量;s2、s3是copy的私用信号量;s4是put的私用信号量。 get copy put buffer1 buffer2 卡片 打印机

var s1, s2, s3, s4:semaphore := A ; buffer1, buffer2 : item; begin parbegin get : begin repeat produce an item in x; wait(s1) ; buffer1:= x ; B ; until false ; end

7

操作系统原理

copy : begin repeat wait(s2) ; C ; copy buffer1 to buffer2; D ; E ; until false ; end put : begin repeat F ; y := buffer2; signal(s3) ; print data in y ; until false ; end parend end

选择答案:

A : 错误!未找到引用源。 1,1,1,1 错误!未找到引用源。 0,1,0,1 错误!未找到引用源。 1,0,1,0 错误!未找到引用源。 1,1,0,0

B、C、D、E、F:

错误!未找到引用源。 wait(s1) 错误!未找到引用源。 wait(s2) 错误!未找到引用源。 wait(s3) 错误!未找到引用源。 wait(s4)

错误!未找到引用源。 signal(s1) 错误!未找到引用源。 signal(s2) 错误!未找到引用源。 signal(s3) 错误!未找到引用源。 signal(s4) A B C D E F 答 案

24.用户级线程与内核线程之间的关系存在多对一、一对一、多对多三种模型。其中:多对一模型是指多个用户级线程映射到一个内核线程。在这种模型中用户级线程在内核之上支持,并在用户空间通过 A 实现;对线程的创建、管理、和调度 B 内核支持;任何一个用户级线程执行了引起阻塞的系统调用,则该 C 阻塞;开发人员可创建任意多的线程,系统的并发度(并发性能) D 。一对一模型是指每个用户级线程映射到一个内核线程,在这种模型中线程的并发能力 E ,能 F 运行在多处理器系统上。多对多模型是指多路复用了许多用户级线程到同样数量或更小数量的内核线程上,开发人员可创建 G 的用户级线程,内核线程可在多处理器系统上并行运行。

选择答案: A:错误!未找到引用源。 内核错误!未找到引用源。 线程库 错误!未找到引用源。 原语

错误!未找到引用源。 系统调用

B:错误!未找到引用源。 需要 错误!未找到引用源。 不需要 C、D、E、F、G:

错误!未找到引用源。 线程 错误!未找到引用源。 程序 错误!未找到引用源。 进程 错误!未找到引用源。 任意数量 错误!未找到引用源。 提高 错误!未找到引用源。 并发 错误!未找到引用源。 不变 错误!未找到引用源。 并行 错误!未找到引用源。 有限数量 A B C D E F G 答 案

2.2 填空题

1.Sa、Sb、Sc是已定义信号量,初值分别为1、0、0;x、y、z是公共变量。下面三个并发程序段

8