期中考试题答案
一、单项选择题
1、下列系统中( C )是实时系统。(外包班) A.计算机激光照排系统 B.办公自动化系统 C. 化学反应堆控制系统 D.计算机辅助设计系统 2、并发性是指若干事件在( B )发生。 (计应) A.同一时刻 B. 同一时间间隔内 C.不同时刻 D. 不同时间间隔内
3、以下( C )项功能不是操作系统具备的主要功能。(计应) A.内存管理 B.中断处理 C.文档编辑 D. CPU调度 4、分时系统响应时间与( D )有关。(计应) A.每个应用进程分配的时间片长度 C.就绪进程数目
B.进程大小
D.就绪进程数目和时间片长度
5、下列的进程状态变化中,( C )的变化是不可能发生的。(计应) A.运行→就绪 B.运行→等待 C.等待→运行 D.等待→就绪 6、下列选项中,导致创建新进程的操作是( C )。(计应) I.用户登录成功 A.仅I和II
II.设备分配
III.启动程序执行
D.I、II和III
B.仅II和III C.仅I和III
7、进程和程序的最根本区别在于( B )。(外包、计应) A. 对资源的占有类型和数量。 B. 进程是动态的,而程序是静态的。 C. 看它们是否能够并发地在处理机上运行 D. 进程规模较小,程序规模较大
8、如果单CPU系统中有n个进程,则就绪队列中进程的个数最多可达到( C )个。(外包) A. n+1 B. n C. n-1 D. 1
9、某计算机系统中有8台打印机,有k个进程竞争使用,每个进程最多需要3台打印机。该系统可能会发生死锁的k的最小值是( C )。(计应)
A.2 B.3
C.4
D.5
10、下列选项中,满足短任务优先且不会发生饥饿现象的调度算法是( B )(计应)。 A.先来先服务 B.高响应比优先 C.时间片轮转 D.非抢占式短任务优先
二、填空题
1、批处理操作系统、__分时_____和实时操作系统是基本的操作系统。(外包)
2、现代操作系统通常为用户提供三种使用界面:____命令界面______、图形界面和 系统调用界面。(计
应、外包)
3、采用用户级线程的系统中,处理器调度的对象是 __进程_____;采用内核支持的线程系统中,处理器调度的对象是 ____线程______。(外包)
三、判断题
1、并发和共享是操作系统的两个最基本的特征,两者之间互为存在条件。( 对 )(外包) 2、进程执行的相对速度不能由进程自己来控制。( 对 )(外包) 3、计算机系统产生死锁的根本原因是系统中进程太多。( 错 )(外包) 4、不安全状态一定会出现死锁。( 错 )(计应)
四、综合题
1、答案
a.操作系统发现请求创建新进程事件后,调用进程创建原语Creat(): b.申请空白PCB; c.为新进程分配资源; d.初始化进程控制块; e.将进程插入就绪队列。 2、
a S2 c S4 g f d S1 b S3 c S5 S6 h S7
【答案】上图a所示的前趋图中存在着如下的前趋关系:S1→S2、S1→S3、 S2→S4、 S2→S5、 S3 →S6 、S4→S7、 S5→S7、 S6→S7 ,因此可分别为它们设置初值为0的信号量a、b、c、d、e、f、g、h,如图b所示。具体的程序可描述如下:
Var a,b,c,d,e,f,g,h:semaphore:=0,0,0,0,0,0,0,0; begin parbegin
begin S1;signal(a);signal(b);end begin wait(a);S2;signal(c);signal(d);end
begin wait(b);S3;signal(e);end begin wait(c);S4;signal(f);end begin wait(d);S5;signal(g);end begin wait(e);S2;signal(h);end begin wait(f); wait(g); wait(h);S7;end parend
3、【答案】(1)是互斥关系,同一本书不能同时借给两个同学;
(2)是互斥关系,篮球比赛不能同时有两个人拿球;
(3)是同步关系; (4)是同步关系。 4、答案 【答案】
//设同步信号量empty,表示图书馆是否还有空座位可坐,初值为100。 //设互斥信号量mutex,表示互斥的访问登记表,初值为1; semaphore mutex=1; semaphore empty=100; 读者: While(True) {
wait(empty); wait(mutex) ;
在登记表上登记自己的内容。 signal(mutex); 进入阅览室读书; wait (mutex) ;
在登记表中删除自己的登记项; signal(mutex);
signal(empty) ; } 5、答案 解:
begin
semaphore mutex=1; //用于顾客取号的互斥信号量 semaphore seat=10; semaphore S1=0; semaphore S2=0; cobegin {
process 顾客i {
wait(seat); wait(mutex);
//若没有空座位,顾客等待 //取号互斥
//顾客等待座位的资源信号量,当没有空座位时顾客在其上阻塞 //营业员与顾客的同步信号量,当没有顾客时营业员在其上阻塞 //顾客与营业员的同步信号量,等待叫号时顾客在其上阻塞
从取号机获得一个号码; signal(mutex); V(S1); P(S2); 等待叫号; 获得服务;
}
process 营业员 {
while (TRUE) {
P(S1); //若无顾客则等待 V(S2); //唤醒等待叫号的顾客 叫号; V(seat);
//空出一个座位(此行放在顾客进程的等待叫号后面也可) //通知营业员,已有顾客
为顾客服务; } } } coend end
6、答案 作业名 J1 J2 J3 到达时间 8:00 8:45 9:30 执行时间 2小时 1小时 0.25小时 开始时间 8:00 10:15 10:00 完成时间 10:00 11:15 10:15 周转时间 2小时 2.5小时 0.75小时 三个作业的执行顺序是:J1 J3 J2 平均周转时间=(2+2.5+0.75)/3=1.75 7、答案
解:① 由已知条件可得尚需矩阵Need和可用资源向量Avalable如下:
Need
Avalable A B C 2
3
3
A B C P1 3 4 7 P2 1 3 4 P3 0 0 6 P4 2 2 1 P5 1 1 0
利用银行家算法对此时刻的资源分配情况进行分析如下表: 进程 P4 P2 P3 P5 P1 2 3 3 4 3 7 8 3 9 12 3 14 15 4 18 2 2 1 1 3 4 0 0 6 1 1 0 3 4 7 2 0 4 4 0 2 4 0 5 3 1 4 2 1 2 4 3 7 8 3 9 12 3 14 15 4 18 17 5 20 true true true true true Work Need Allocation Work+Allocation Finish 从上述分析可知,存在一个安全序列P4,P2,P3,P5,P1,故T0时刻系统是否安全的。
② 在T0时刻若进程P2请求资源(0,3,4),不能实施资源分配。因为当前C类资源剩余3个而P2请求4个,客观条件无法满足它的请求,因此不能实施资源分配,P2阻塞。
③ 在②的基础上,若进程P4请求资源(2,0,1),可以实施资源分配。因为由①可知,P4是安全序列中的第一个进程,只要P4的请求量没有超出它的尚需量,系统满足它的请求后仍处于安全状态,即仍然存在安全序列P4,P2,P3,P5,P1。