操作系统习题集 联系客服

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

操作系统考试题Y12107434吴丽华

唤醒 (9)正在运行 (10)I/O操作 (11)就绪态 (12)运行态 (13)阻塞态 17.如果多个进程共享系统资源或相互合作完成一个共同的任务,则诸进程是以 A 方式运行的。对临界资源的访问时采用 B 方式,对于相互合作的进程采用 C 方式以协调各进程执行的 D 。

(1)共享 (2)独立 (3)互斥 (4)同步 (5)次序 (6)次数(7)异步

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 end parend end

(1) p(mutex) (2) p(wmutex) (3) p(count) (4) v(mutex) (5) v(wmutex) (6) v(count)

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

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

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

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

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

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

5

操作系统考试题Y12107434吴丽华

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)

22.利用消息缓冲通信机制进行通信,a为发送进程的发送区首地址,b为接收进程的接收区首地址,mq、mutex、sm分别为接收进程消息队列的队首地址、互斥信号量和同步信号量,对以下发送原语和接收原语实现正确的同步操作:

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;

6

操作系统考试题Y12107434吴丽华

end

(1)wait(j.mutex) (2)wait(j.sm) (3)signal(j.mutex) (4)signal(j.sm) 23.进程get、copy、put分别对缓冲区buffer1、buffer2进行操作。get把产生的数据送buffer1;copy把buffer1

get copy put 的数据复制到buffer2中;put把buffer2中的数据取出来打印。请选择相关的wait、signal语句完善给出的流buffer1 buffer2 程:流程中s1是get的私用信号量;s2、s3是copy的私用信号量;s4是put的私用信号量。

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 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)

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

A:① 内核 ② 线程库 ③ 原语 ④ 系统调用 B:① 需要 ② 不需要

7

操作系统考试题Y12107434吴丽华

C、D、E、F、G:

① 线程 ② 程序 ③ 进程 ④ 任意数量 ⑤ 提高 ⑥ 并发 ⑦ 不变 ⑧ 并行 ⑨ 有限数量

填空

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

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; }

2.从物理意义上讲,信号量的值大于0时,其值表示 。

3.管程的三个组成部分为 。 4.系统感知进程存在的唯一标识为 。

5.从结构上看每个进程由 组成。 6.一段时间内仅允许一个进程访问的资源称为 。

7.在操作系统控制下的多个程序的执行顺序和每个程序的执行时间是不确定的,?这种现象称为操作系统的 。

8.进程的动态特征是指 。

9.设有n个进程共享一个临界区,若最多允许m个进程(m

10.在Unix V系统中,PCB大致可分为 和 两部分。 11.并发进程之间存在着 和 两种关系。 12.把执行不能分割的过程称为 。

13.进程调度的两种基本方式为 和 。

14.有2个同类临界资源,被5个并发进程访问,使用信号量机制实现互斥,则初值为 ,信号量值的变化范围为 。

15.进程三种基本状态之间有四种基本变迁关系:1、2、3、4,如图所示。对下列给出的每个事件,在括号“()”中分别填上对应的变迁关系。例如:若事件只引起了变迁关系“2”,则只在括号“()”中填入2:若事件引起了变迁关系“2”,随后一定会再产生变迁关系“1”,则在“()”中填入2、1。

8