您的位置: 网站首页 > 公共课 > 计算机软件技术基础 > 第3章 操作系统 > 【3.7 操作系统练习题及参考答案】

3.7 操作系统练习题及参考答案

 

   

1.现代操作系统两个最基本的特性是什么?

2.分时操作系统需要使用下面哪些成分?

(1)多道程序设计技术

(2)作业说明书

(3)终端命令解释程序

(4)中断处理

(5)优先级调度

(6)系统调用

3.批处理系统的主要缺点是:

(1)CPU利用率低

(2)不能并发执行

(3)缺少交互性

(4)以上都不是

4.允许多个用户以交互方式使用计算机的操作系统称为(   );允许多个用户将多个作业交给计算机集中处理的操作系统称为(   );计算机系统能及时处理过程控制数据并做出响应的操作系统称为(   )。

  (1)批处理操作系统

  (2)分时操作系统

  (3)多处理机操作系统

  (4)实时操作系统

  (5)网络操作系统

5.下列哪些选择不是操作系统关心的问题:

(1)管理计算机裸机

(2)设计、提供用户程序与计算机硬件系统的界面

(3)管理计算机系统资源

(4)高级程序设计语言的编译器

6.引入多道程序设计的主要目的为:

(1)提高实时响应速度

(2)充分利用处理机

(3)有利于代码共享

(4)充分利用外围设备

(5)减少存储碎片

7.最佳适应算法的空闲块是:

(1)按大小递减顺序连在一起

(2)按大小递增顺序连在一起

(3)按地址由小到大排列

(4)按地址由大到小排列

8.设某一操作系统采用可变分区的存储管理方式,用户区内存为512KB,空闲块链入空闲块表,分配时截取空闲块的前半部分(小地址部分)。初始时用户区全部空闲,分别采用首次适应算法与最佳适应算法求出在执行了如下的申请、释放操作序列后的内存情况。

(1)申请300KB  (2)申请100KB  (3)释放300KB  (4)申请150KB 

(5)申请50KB   (6)申请90KB   (7)申请80KB

9.在一个分页管理系统中,假如系统分配给一个作业的物理块数为3,并且此作业的页面走向为2,3,2,1,5,2,4,5,3,2,5,2。试用FIFO和LRU两种算法分别计算出程序访问过程中所发生的缺页次数。

10.在某个分页管理系统中,某一个作业有4个页面,被分别装入到主存的第3,4,6,8页架中,假定页面和页架大小均为1024字节,当作业在CPU上运行时,执行到其地址空间第500号处遇到一条传送命令

MOV  2100,3100

请用地址变换图计算出MOV指令中两个操作数的物理地址。

11.假定某操作系统存储器采用分页管理,某作业在存储器中的页表为:

页号

0

1

2

3

4

5

6

7

8

9

页架号

6

4

3

2

0

0

0

0

0

0

状态

1

1

1

1

0

0

0

0

0

0

假定该作业的代码长度为320字,每页长为32字,现有逻辑地址(八进制)为:101,204,576,若能翻译成相应的物理地址,则说明翻译过程;若不能翻译,请说明原因。

12.覆盖技术与虚拟技术有何本质不同?交换技术与虚存中使用的调入调出技术有何相同与不同之处?

13.假设某长度为n的存储单元中,存放一长度为m的作业(n>m),则长度为(n-m)的空间称为该单元的内部碎片;若存储单元长度为n,在该系统采用的调度算法下,无法选出一道作业能放入此存储单元中,则称该存储空间为外部碎片。在固定分区分配、可变分区分配、分页存储系统、分段存储系统中,各会出现何种碎片?为什么?

14.在一个同时容纳4个进程的操作系统中,假设在一段时间内有6个作业提交,提交的时间为:

作业号             提交时间             估计运行时间(分)

Job1                8:00                      60

Job2                8:20                      35

Job3                8:25                      20

Job4                8:30                      25

Job5                8:35                       5

Job6                8:40                      10

系统采用短作业优先的调度算法,作业一旦被调度进入内存后不再中途退出,在内存中的4个进程其运行的优先次序取决于当时各进程实际剩余的运行时间。

(1)按照所选择的调度算法,分别给出上述6个作业执行的时间序列。

(2)计算在上述调度算法下,作业的平均周转时间。

15.在一个批处理系统中,有2个作业进程,有一个作业序列其到达时间及估计运行时间如下:

作业              到达时间              估计运行时间(分)

J1                10:00                     35

J2                10:10                     30

J3                10:15                     45

J4                10:20                     20

J5                10:30                     30

作业采用最高响应比优先调度算法,进程调度采用最短进程优先算法。

(1)列出各作业执行时间段

(2)计算这批作业的平均周转时间

16.在某单道批处理系统中,有5个批处理作业(A,B,C,D,E)几乎同时到达一个计算中心,估计运行时间分别为(2,4,6,8,10)分,优先数分别为(1,2,3,4,5)(1为最低),对下面每种调度算法分别计算作业的平均周转时间:

   (1)最高优先级优先

   (2)FCFS(作业到达顺序为C,D,B,E,A)

   (3)短作业优先

17.假定一个操作系统的进程调度采用剥夺式短进程优先调度算法,即每当新的进程加入就绪队列或某一进程运行结束时,都应重新进行一次调度选择,选取当前所运行时间最短的进程。系统为单CPU系统,系统中各进程到达就绪队列的时刻以及执行时间如下:

进程               到达就绪队列时间              执行时间

1                       0                          8

2                       1                          4

3                       2                          9

4                       3                          3

请给出各进程的调度次序,并计算平均等待时间和平均周转时间。

18.有5个进程A,B,C,D,E几乎同时到达,它们预计运行时间为10,6,2,4,8分钟,其优先级分别为3,5,2,1,4,这里5为最高优先级。对于下列每一种调度,计算其品军进程周转时间。

   (1)先来先服务(按A,B,C,D,E)

   (2)优先级调度

(3)时间片轮转(时间片为2分)

19.设有8个程序porg1,porg2,…,porg8,它们在并发系统中执行时有如图3.1所示的制约关系,试用P.V操作实现这些程序之间的同步。

20.兄弟俩共同使用一个存折amount初值为0,每次限存或取10元,存钱与取钱的进程分别为:

存钱                                  取钱

m1     amount                          m2    amount

m1          m1+10                           m2     m2-10

amount    m1                          amount     m2

   由于兄弟俩可能同时存钱或取钱,因此两个进程是并发的,若哥哥先存了两次钱,但在第三次存钱的时候,弟弟正在取钱,请问最后存折上可能出现的值?如何用P.V操作实现两并发进程的互斥执行?

21.试从物理概念上来说明P.V操作中的信号量。

22.某数据库有一个写进程,n个读进程,它们之间读、写操作的互斥要求是:

   (1)写进程正在写该数据库时,不能有其他进程读该数据库;

   (2)读进程之间不互斥,可以同时读该数据库;

   (3)如果有若干进程正在读该数据库,一个写进程在等待写,则随后欲读的进程不能读该数据库,需让写进程先写。

   用P.V操作描述这一组进程的互斥工作过程。

23.设公共汽车上,司机、售票员的活动分别是:

               司机             售票员

             启动车辆           上乘客

             正常行车           关车门

             到站停车           售票

                                开车门

                                下乘客

   假设售票员关车门后司机才可启动车辆,到站停车后售票员方可开车门,在汽车不断到站、停车、行驶过程中,这两个活动有什么同步关系?用P.V操作实现它们的同步。

24.桌子上有一直盘子,最多可容纳两个水果,每次只能放入或取出一个水果,爸爸专向盘子中放苹果(apple),妈妈专向盘子中放橘子(orange),两个儿子专等吃盘子中的橘子,两个女儿专等吃盘子中的苹果,请用P.V操作来实现爸爸、妈妈、儿子、女儿间的同步与互斥关系。

25.A,B两个并发进程,它们共享一个临界区,其执行临界区的算法如下:

                  A 进程                     B 进程

                L1:临界区                 L2:P(S1

                  V(S1                    临界区

                  P(S2                    V(S2

                 GOTO L1                    GOTO L2

   试判断算法是否有错?请说明理由,如有错,请改正。S1,S2的初值均为0。

26.用P.V操作处理生产者和消费者问题如下:

            mutex初值为1;empty初值为n;full初值为0

生产者                    消费者

L1:生产产品              L2:P(full)

P(empty)                P(mutex)

P(mutex)                取出产品

             产品装入缓冲区              V(empty)

               V(full)                 V(mutex)

               V(mutex)                GOTO L2

               GOTO L1

   (1)信号量mutex,empty,full的作用是什么?

   (2)为什么P操作的顺序不能调换?

27.按序分配是防止死锁的一种策略,什么是按序分配?为什么可以防止死锁?

28.一个系统具有150个存储单元,在某时刻分配给3个进程:

进程             最大需求             已分到

P1                  70                   25

P2                  60                   40

P3                  60                   45

P4                  60

   对下列请求,用银行算法分别判定是否安全?

   (1)第4个进程请求分配25个单元;

   (2)第4个进程请求分配35个单元。

29.设系统中有3种类型资源(A,B,C)和5个进程(P1,P2,P3,P4,P5),A资源数量为17,B资源数量为5,C资源数量为20,在t0时刻系统状态如下:

进程          最大资源需求量          已分配资源数量

                A    B    C              A   B   C

 P1             5    5    9              2   1   2

 P2             5    3    6              4   0   2

 P3             4    0    11             4   0   5

 P4             4    2    5              2   0   4

 P5             4    2    4              3   1   4

   剩余资源数为:2,3,3。

   系统采用银行算法实施死锁避免策略。

   (1)t0时刻是否安全状态?若是,请给出安全序列。

   (2)在t0时刻若进程P4请求资源(0,3,4),是否能实施资源分配?为什么?

   (3)在(2)的基础上,若进程P4请求资源(2,0,1),是否能实施资源分配?为什么?

   (4)在(3)的基础上,若进程P1请求资源(0,2,0),是否能实施资源分配?为什么?

30.化简如图3.2所示的资源分配图,并说明有无进程处于死锁状态?

31.何谓设备独立性?如何实现设备独立性?

32.设备管理中引入缓冲机制的主要原因是什么?

33.操作系统提供了假脱机操作功能后,系统单位时间处理的作业数是否增加了?为什么?每个作业的周转时间是延长了还是缩短了?为什么?

34.有文件系统如图3.3所示,图中的框表示目录,圆表示普通文件。

   (1)可否建立F与R连接?

   (2)能否删除R?为什么?

   (3)能否删除L?为什么?

   (4)某用户指定P为当前目录,若想用Pr命令打印Q及S,请列出命令行。

35.一个树型结构文件系统如图3.4所示。

 

(1)可否进行下列操作?

①在目录D中建立一个文件,取名为A?

②将目录C改名为A。

(2)若E和G是两个用户各自的目录。

①用户E欲共享文件Q,应有什么条件?如何操作?

②在一段时间内用户G主要使用文件S和T,为简便操作和提高速度,应如何处理?

③用户E欲对文件I加以保护,不许别人使用,能否实现?如何实现?

36.系统调用是操作系统与用户程序的接口,库函数也是操作系统与用户程序的接口,这句话对吗?为什么?

     

1.史湘宁等,操作系统典型题解析与实战模拟,长沙:国防科技大学出版社,2001

2.吴企渊等,计算机操作系统,北京:清华大学出版社,2000

3.屠立德,操作系统基础,北京:清华大学出版社,1987

4.孙钟秀等,操作系统原理,北京:人民邮电出版社,1983

 

     

 

1.并发性,共享性

2.(1)、(3)、(4)、(6)

3.(3)

4.(2)、(1)、(4)

5.(4)

6.(2)、(4)

7.(2)

8.首次适应算法

   最佳适应算法

   当再申请(7)80KB时,不能满足要求。说明最佳适应算法并不总优于首次适应算法。

9.(1)FIFO法

页面走向

2

3

2

1

5

2

4

5

3

2

5

2

 

物理块

 

2

2

2

2

5

5

5

5

3

3

3

3

 

3

3

3

3

2

2

2

2

2

5

5

 

 

 

1

1

1

4

4

4

4

4

2

缺页次数

 

 

 

 

缺页次数为9次

  (2)LRU法

页面走向

2

3

2

1

5

2

4

5

3

2

5

2

 

物理块

 

2

2

2

2

3

3

3

3

3

3

3

3

 

3

3

3

5

5

5

5

5

5

5

5

 

 

 

1

1

1

4

4

4

2

2

2

缺页次数

 

 

 

 

 

 

   缺页次数为7次

10.页面大小为1024字节,用二进制表示为210

                          1   0,000,000,000

                         页号

   逻辑地址2100页号为2,页内位移为52

           3100页号为3,页内位移为28

   转换过程如图3.5所示:

 

11.页面大小32为25,所以逻辑地址结构中低5位为页内位移,其余高位为页号。

(101)8=(001000001)2  页号为2,页架号为3,物理地址为(011000001)2=(301)

     (204)8=(010000100)2  页号为4,状态为“0”,说明此页当时不在内存中,需要产生一次缺页中断,按页面更换策略进行页面置换。

(576)8=(101111110)2  页号为11,超出了页表的范围,不能翻译成物理地址,须进行越界处理。

12.覆盖技术中,覆盖段由用户设计,用户对内存的划分要参与操作(覆盖描述语言);虚拟存储技术是由系统提供空间给用户使用,用户并不需要了解内存情况,物理空间的划分和管理均由系统来完成。

   交换技术是将内存中某些作业暂时调出内存,放入磁盘空间中,腾出内存空间给某些优先程度高的作业进入内存。虚存中使用的内外存调入调出技术是利用磁盘空间对内存进行扩充,为用户提供一个大于实际内存的逻辑空间。它们相同之处是:都将本应处于实际内存的内容调到外存;不同之处是:交换技术并未提高大于实际内存空间的逻辑空间供用户使用,而虚存技术为每道作业提供更大的逻辑空间供用户使用。

13.在固定分区分配中,两种碎片均会存在,因为空间划分是固定的,无论作业长短,存储单元长度不会随之变化。若作业短而存储块长则产生内部碎片,若作业长而存储块短则产生外部碎片。

   在可变分区分配中,只有外部碎片而无内部碎片,因为空间划分是按作业长度进行的,但剩下部分太短而无法再分配就成为外部碎片。

   在分页存储管理中,存在内部碎片而无外部碎片,因为存储空间与作业均分为等长单元,所以不存在无法分配的单元,但作业长度并不刚好为页面大小的整数倍,因此在最后一页会有剩余空间,即为内部碎片。

   在分段存储管理中,存在外部碎片而无内部碎片。因分段管理中段的划分类似于可变分区分配,根据各段长度,要多少给多少,但会剩余小空间无法分配,则为外部碎片。

14

时间

Job1(60分)

Job2(35分)

Job3(20分)

Job4(25分)

Job5(5分)

Job6(10分)

8:00

进入内存

运行

-

-

-

-

-

8:20

余40分

进入内存

运行

-

-

-

-

8:25

余40分

余30分

进入内存

运行

-

-

-

8:30

余40分

余30分

运行

进入内存

运行

-

-

8:35

余40分

余30分

运行

余25分

收容状态

-

8:45

余40分

余30分

结束运行

退出内存

余25分

进入内存

运行

-

8:50

余40分

余30分

-

余25分

结束运行

退出内存

进入内存

运行

9:00

余40分

余30分

-

运行

-

结束运行

退出内存

9:25

余40分

运行

-

结束运行

退出内存

-

-

9:55

运行

结束运行

退出内存

-

-

-

-

10:35

结束运行

退出内存

-

-

-

-

-

周转时间

155

95

20

55

15

20

 

   平均周转时间=360/6=60分

15.各作业运行时间段示意图为:

 

 

 运行过程如下:

时间

J1(35分)

J2(30分)

J3(45分)

J4(20分)

J5(30分)

10:00

进入内存

运行

-

-

-

-

10:10

运行

进入内存

运行

-

-

-

10:15

运行

余30分

收容状态

-

-

10:20

运行

余30分

收容状态

收容状态

-

10:30

运行

余30分

收容状态

收容状态

收容状态

10:35

结束运行

退出内存

余30分

响应比15/45

响应比15/45进入内存运行

响应比5/30

10:55

-

运行

响应比40/45进入内存

结束运行

退出内存

响应比25/30

11:25

-

结束运行

退出内存

余45分

-

进入内存运行

11:55

-

-

运行

-

结束运行

退出内存

12:40

-

-

结束运行

退出内存

-

-

周转时间

35

75

145

35

85

 

   平均周转时间=375/5=75分

16.(1)最高优先级优先算法

   平均周转时间=110/5=22分

   (2)FCFS算法

   平均周转时间=96/5=19.2分

   (3)短作业优先算法

   平均周转时间=70/5=14分

17.0时刻:P1到达,无其他进程,进入运行。

    1时刻:P2到达,需时4,P1剩余时间7,P2开始运行。

    2时刻:P3到达,需时9,P2继续运行。

    3时刻:P4到达,需时5,P2剩余时间2,运行至结束。

    5时刻:P2结束,从P1、P3、P4中选取运行时间最短者,P1为7、P3为9、P4为5,运行至结束。

   10时刻:结束,从P1、P3中选取运行时间最短者,P1运行至结束。

   17时刻:P1结束,P3运行至结束。

   调度次序为P1、P2、P4、P1、P3

   平均等待时间=(9+0+15+2)/4=6.5

   平均周转时间=(17+4+24+23)/4=37

18.(1)先来先服务

   平均周转时间=(10+16+18+22+30)/5=19.2分

   (2)优先级调度

   平均周转时间=(6+14+24+26+30)/5=20分

   (3)时间片轮转

   平均周转时间=(30+22+6+16+28)/5=20.4分

19.本题是典型的同步问题,假设两个进程A,B,要求进程A执行完后才可执行进程B,只需在两进程间设置信号量;当进程A执行结束后即执行V操作,通知进程B可以开始;而进程B在开始之前先执行P操作,直到得到进程A的消息后才能开始执行。本题的同步关系为:

   S13=0;S14=0;S15=0;

   S23=0;S24=0;S25=0;

   S36=0;S57=0;

   S68=0;S48=0;S78=0;

       P1                P2               P3               P4              P5              P6              P7               P8

      prog1    prog2    P(S13  P(S14  P(S15  P(S36  P(S57  P(S68

V(S13  V(S23   P(S23  P(S24  P(S25  prog6    prog7    P(S48

V(S14  V(S24   prog3    prog4    prog5    V(S68  V(S78  P(S78

V(S15  V(S25   V(S36  V(S48  V(S57                    prog8

20.哥哥存两次钱后,amount=20,第3次存钱时,弟弟正在取钱,因没有对amount互斥操作,故可能会发生错误,amount上出现的值与两个进程相对执行速度有关:

   (1)若取钱进程先结束存钱进程才开始,则最后amount为20元

   (2)若存钱进程先结束取钱进程才开始,最后的amount也为20元

   (3)若两个进程交替执行时,关键在于最后被执行的语句是amount     m1

还是amount    m2

·  若先amount    m1,后amount     m2,则amount=10;

·  若先amount    m2,后amount     m1,则amount=30。

设置信号量S(初值为1)控制两进程时变量amount的互斥使用,进程为:

存钱                                  取钱

P(S)                                P(S)

m1     amount                          m2    amount

m1          m1+10                           m2     m2-10

amount    m1                          amount     m2

               V(S)                                V(S)

21.信号量具有整数值的对象,支持P.V操作。P操作减少信号量的值,若新的信号量的值小于零,则操作阻塞;V操作增加信号量的值,若结果大于等于零,V操作就要唤醒一个等待的进程。从资源管理的角度看,资源是一些固定数目的实例(如n个缓冲区),想获得资源时使用P操作,每次请求成功就要减少信号量的值。信号量的值减少至0时(无空闲可用资源),下一个P操作将被阻塞。释放资源时使用V操作,它增加信号量的值,同时唤醒被阻塞的进程。

22.设置:we记录是否有写进程访问请求,当后来到达的读进程发现wc=1,则该读进程循环等待。Rc是计数器,记录正在访问数据库的读进程个数,rc,wc的初值为0。Wr为互斥访问数据库的信号量,初值为1;mutex为互斥访问rc的信号量,初值为1。

   读进程与写进程如下:

              读进程                          写进程

       while(wc=1)do skip                 wc     1

            P(mutesx)                       P(wr)

            rc    rc+1                        写数据

      if(rc=1)then P(wr)                wc     1

            V(metex)                        V(wr)

              读数据

P(mutesx)

rc    rc-1

if(rc=0)then V(wr)

V(mutex)

23.定义信号量stop,run初值为0。

                司机                         售票员

            L1:P(run)                   L2:上乘客

              启动车辆                       关车门

              正常行车                       V(run)

                                              售票

              到站停车                       P(stop)

              V(stop)                       开车门

              GOTO L1                         下乘客

                                             GOTO L2

24.盘子为互斥资源,可以放两个水果,因此设empty初值为2;爸爸放苹果前先看看有无空间,若有,则放入苹果,向女儿发信号V(apple);妈妈放橘子前先看看盘子有无空间,若有,放入橘子后向儿子发信号V(orange);女儿先看看有无苹果,若有,则取走苹果后将盘子置空V(empty);儿子先看看有没有橘子,若有,则取走橘子后将盘子置空。该题是生产者/消费者的变形,有两对生产者和消费者,生产者需指明是给哪个消费者的产品,但消费者取走产品后无须特别通知某个生产者,因为空出的缓冲区可由两个生产者随意争夺。

   设信号量mutex初值为1,控制对盘子的互斥访问;apple表示盘子中的苹果数,orange表示盘中橘子个数,初值为0。

   爸爸、妈妈、儿子、女儿进程如下:

爸爸             妈妈            女儿            儿子

        L1:P(empty)   L2:P(empty)  L3:P(apple)  L4:P(orange)

            P(mutex)       P(mutex)      P(mutex)      P(mutex)

            放苹果           放橘子          取苹果          取橘子

            V(mutex)       V(mutex)      V(mutex)      V(mutex)

            V(apple)       V(orange)     V(empty)      V(empty)

            GOTO L1        GOTO L2       GOTO L3       GOTO L4

25.按照题意,A,B两进程的执行思路是:A进程对临界区操作结束后将其释放给进程B,而B进程对临界区操作结束后将其释放给进程A。系统初启时,S1,S2初值为0,B执行P(S1)被阻,而A可直接访问临界区,故不会对资源产生破坏,所以该算法并不是因为不能保证对资源的互斥作用。问题在于如果A进程在一段时间内不要求访问临界区,那么不会执行V(S1),这就意味着B进程的申请永远得不到满足;同理若B进程在一段时间中不要求访问临界区,则不会执行V(S2),意味着进程A的下一次请求将得不到满足。主要是因为在这里使用的是同步控制,应改为互斥控制,如下:

   (mutex初值为1)

                A进程                   B进程

            L1:P(mutex)           L2:P(mutex)

                临界区                   临界区

               V(mutex)               V(mutex)

                GOTO L1                  GOTO L2

26.(1)mutex起互斥作用,empty与full为同步作用。

(2)假设进程处于如下运行状态:缓冲区暂时无进程申请,故mutex=1。

缓冲区无空单元,即empty=0,此时生产者进程要放产品,若P(empty)与P(mutex)位置颠倒,先执行P(mutex),顺利通过,再执行P(empty),被阻塞,且该进程不会释放临界区资源,使消费者进程无法进入缓冲区,就不能取走产品,最终导致死锁。

对于消费者进程,颠倒P操作的道理相同。

27.按序分配是把系统中所有资源排一个顺序,每一个资源给一个确定的编号,规定任何一个进程申请两个以上资源时,总是先申请编号小的资源,再申请编号大的资源。

按序分配可以防止死锁,证明如下:

假设存在一组循环等待的进程记为(P0,P1,…,Pn),其中Pi拥有资源ri,编号为F(ri);根据按序分配原则,有F(r0F(r1﹤…﹤F(rn),因存在循环等待,所以Pn申请的下一个资源就为P0所占的rn,,若Pn能正常运行,必须依据资源顺序分配原则,即下次申请资源标号应比其所占有的资源标号大,于是有F(rnF(r0),这与前面的不等式有矛盾,故不能存在。

28.此时系统剩余资源数是40个。

(1)P4要求分配25个单元,分配后,至少可以找到一个安全序列<P3 P2 P1 P4>不惟一),可以分配。

(2)P4要求分配35个单元,系统剩余资源数为5,此时4个进程的剩余需求量均无法满足,为不安全状态,不能分配。

29.t0时系统中各进程的剩余需求量为

            进程           剩余需求量          系统剩余资源

             P1              3,4,7              2,3,3

             P2              1,3,4

             P3              0,0,6

             P4              2,2,1

             P5              1,1,0

   进程继续申请时,检查系统剩余量能否满足该进程剩余的所有需求量,若不能则不予分配。

   (1)系统现剩余量为2,3,3,此时P4 ,P5可满足,依次进入安全序列,并将所占的资源归还;同理又可将P3P1进入安全序列,最后可判断t0时刻为安全状态,因为至少

   可以找到一个安全序列<P4P2P3P5P1>(答案不惟一)。

(2)不能,因为系统剩余资源不够。

   (3)可以分配,因为至少可以找到一个安全序列<P4P5P1P2P3>

   (4)不能分配,因为找不到一个安全序列。

30.化简结果如图3.6所示。不能完全化简,有死锁存在。

31.设备独立性又称设备无关性,我们希望所编制的用户程序与实际使用的物理设备无关,为此引入逻辑设备名,正如在用户程序中避免使用内存物理地址而采用逻辑地址一样。这对改善资源的利用率、增加程序的可扩展性和可适应性都有好处,当使

用逻辑设备名时,系统可将当时任意一台空闲的该类设备分配给该进程,仅在所有该类设备都已分配完时,该进程才被阻塞。此外当系统中增加了新的设备,或更新了原来到老设备,只要由操作系统进行处理而不必更改用户的程序。

为了实现设备独立性,系统中必须有一张联系逻辑设备名称和物理设备名称的映象表,它类似于存储管理中的页表。

32. 改善CPU与I/O设备之间速度不匹配的矛盾,实现CPU与I/O设备及I/O设备之间并进行工作的程度,提高了系统的效率。

33. 由于系统中独占型设备的数量是有限的,常常不能满足每个作业的需求,从而使不少作用不能即时金融系统工作或使系统处于“停工待料”状态;假脱机系统中当某作用要求分配某独占型设备时,系统分配给它共享型设备(磁盘)的一部分空间,该作业不必处于等待状态,系统单位时间内处理的作业数也能增加。

在假脱机系统中由于作业执行中不直接和速度较慢的独占型设备联系,只要从磁盘上读入信息或将输入信息写入磁盘即可,减少了它的执行时间,这样作用的周转时间会缩短。

34. (1)可以。

(2)不能,R为共享文件。

(3)可以,L不时共享文件。

(4)打印Q:Pr/C/I/N/Q

     打印S:Pr S

35. (1)①可以。

②不可以。

(2)①用户E需要有访问文件Q的权限。

②可以指定P为当前目录。

③可以通过修改文件I的存取控制来对文件I加以保护。

36. 不正确。

系统中各种资源都有操作系统统一管理。故在用户程序中凡是与资源有关操作都必须通过某种方式向操作系统提出服务请求,由操作系统代为完成。操作系统必须提供某种形式的接口,以便让用户程序通过接口使用系统提供的各种功能。这种接口称为系统调用。

库函数是程序设计语言中将一些常用的功能模块编写成函数,放在函数库中供公共选用。函数库的作用与系统的资源分配并无关系,它属于用户程序而非操作系统程序,其功能的实现并不由操作系统完成,而且运行时仍在用户状态而非系统状态。