当前位置:文档之家› 操作系统例题汇总

操作系统例题汇总

操作系统例题汇总
操作系统例题汇总

1 . 2例题精选

例1.1如何理解虚拟机的概念?

解:一台仅靠由硬件组成的计算机一般被称为裸机,不易使用。操作系统为用户使用计算机提供了许多服务,从而把一台难于使用的裸机改造成了功能更强大、使用更方便的计算机系统,这种计算机系统称为虚拟机。所谓虚拟,是指把一个物理上的实体变为若干个逻辑上的对应物。前者是实际存在的,而后者是虚的,只是用户的一种感觉。在单CPU的计算机系统中能同时运行多

道程序,好像每个程序都独享一个CPU,这就是虚拟。在构造操作系统时,把操作系统分成若干层,每层完成特定的功能,从而形成一个虚拟机。下层的虚拟机为上层的虚拟机提供服务,这样逐次扩充以完成操作系统的功能。

讨论“虚拟”的概念体现在操作系统的方方面面。例如,虚拟存储器,使一台只有4MB存的计算机可以运行总容量远远超过4MB的程序;虚拟外设,能够使多个用户同时访问该外设等。

例1.2什么是多道程序设计,它的主要优点是什么?

解:所谓多道程序设计是指把一个以上的程序存放在存中,并且同时处于运行状态,这些程序共享CPU和其他计算机资源。其主要优点是:

(1)CPU的利用率高:在单道程序环境下,程序独占计算机资源,当程序等待1/O操作时CPU空闲,造成CPU资源的浪费。在多道程序环境下,多个程序共享计算机资源,当某个程序等

待I/O操作时,CPU可以执行其他程序,这大大地提高了CPU的利用率。

(2)设备利用率高:在多道程序环境下,存和外设也由多个程序共享,无疑也会提高存和外设的利用率。

(3)系统吞吐量大:在多道程序环境下,资源的利用率大幅度提高,减少了程序的等待时间,提高了系统的吞吐量。

讨论多道程序在计算机中并发地运行是现代计算机系统的重要特征。早期的单道批处理系统与人工操作相比自动化程度大大提高,但系统中仍有较多的空闲资源,系统的性能较差。多遭批处理系统虽有很多优点,但这种系统交互能力差,作业的平均周转时间长。多道程序处理系统要解决的主要问题是,如何使多个程序合理、有序地共事处理机、存、外设等资源。

例1.3 A,B两个程序,程序A按顺序使用CPU 10 S,使用设备甲5 S,使用CPU 5 S,使用设备乙10 S,最后使用CPU 10 S。程序B按顺序使用设备甲10 S,使用CPU 10 S,使用设备乙5S,使用CPU 5S,使用设备乙10S。(忽略调度程序执行时间)试问:

(1)在顺序环境下执行程序A和程序B, CPU的利用率是多少?

(2)在多道程序环境下,C PU的利用率是多少?

解(1)程序A和程序B顺序执行时,程序A执行完毕,程序B才开始执行。两个程序共耗时80S, 其中占用CPU时间为40S,顺序执行时CPU的利用率为50%。

(2)在多道程序环境下,两个程序并发执行,其执行情况如图所示。可以看出,两个程序共耗时

45S,其中占用CPU时间为40S,故此时CPU的利用率为40/45=88.89 %。

讨论

(1)在单道程序环境下,程序顺序—PU空闲,其他程序也不能使用,所以CPU的利用率低。

(2)在多道程序环境下,若干个程序宏观丄同时执行,微观丄交替执行。当其中一个程序由

于某种原因(例如进行1/O操作)而不能占用CPU时,其他程序就可以占用CPU,提高了CPU 的利用率。

(3)在该例中,当程序A使用完设备甲时,由于CPU正被程序B占用,所以程序 A 必须等待一段时间(如虚线所示)。同理,当程序B第二次使用完CPU准备使用设备动时,由于此时设备乙正被程序A占用,所以程序B也必须等待一段时间(如虚线所示),这时CPU将

空闲(如虚线所示)。

例1.4试述分时系统与实时系统,并比较它们的区别。解:分时系统是指在一个系统中多个用户分时地使用同一计算机。实时系统是指计算机及时响应外部事件的请求,在规定时限完成对该事件的处理,并控制所有实时设备和实时任务协调一致地运行。

实时系统与分时系统的主要区别有两点。

(1)分时系统的目标是提供一种通用性很强的系统,有较强的交互能力,而实时系统则大都是具有

特殊用途的专用系统,交互能力略差;

(2)分时系统对响应时间虽有要求,但一般来说,响应时间由人所能承受的等待时间来确定;而实时系统对响应时间要求更高,一般由控制系统或信息处理系统所能接受的延迟时间来决定。

1 . 3习题

1. 填空题:

(1)当CPU执行操作系统代码时,称处理机处于 _____________

(A)执行态(B)目态(C)管态(D)就绪态

(2)在下列性质中,不是分时系统的特征。

(A)多路性(B)交互性(C)独占性(D)成批性

(3)下列仅一条指令只能在管态下执行。

(A)读取时钟指令(B)访管指令(C)屏蔽中断指令(D)取数指令

2?何谓管态(系统态)和目态(用户态)?

3. 一般从哪几方面对操作系统的性能进行评价?

4?试说出几种你所熟悉的操作系统名称,并说明其特征。

5. 试列举UNIX操作系统的特点。

6. 根据你使用计算机系统的经验,说明操作系统的作用。

7. 试说明批处理系统、分时系统和实时系统的主要特征。

8. 如何理解网络操作系统的主要功能?

9. A,B两个程序,A按顺序使用CPU 10s,使用设备甲5s使用CPU 5s,使用设备乙10s,最后使用CPU

10s;程序B按顺序使用设备甲10s,使用CPU 10s,使用设备乙5s使用CPU 5s,最后使用设备乙10s。请问:

(1)在顺序执行程序A和B时,CPU的利用率是多少?

(2)在多道程序环境下执行时,CPU的利用率是多少?

例题:考虑5个进程P1, P2, P3, P4, P5,见表2.1。规定进程的优先数越小,优先级越咼。试描述在采用下述几种调度算法时各个进程运行过程,并计算采用每种算法时的进程平均周转时间。

进程

创建时间运行时间优先数

P1033

P2265

P3441

P4652

P5824

假设忽略进程的调度时间。

(1)先来先服务调度算法;

M <1 )先来先酿务法;进程的运行过程如图2. 3所示。

(2) 时间片轮转调度算法(时间片为1n s);

(3) 非剥夺式优先级调度等法;

(4) 剥夺式优先级调度算法。

表2 . I例2. 5数据表

-J

P*

P1

<2>时间片轮转澗度冥法:进秤的运行过秤如【豹2.四浙亦.

图2- 3 先来先服务涮度興法进程的运疔过樫示愈图

图2, 4 时阿片轮转SW度算袪进程的运行过程示意闰

(3?非剥夺式优先级调度算法:进程的运行过程如图2. 5所示。

10 15 20

I 111 I 1 I I I 11 |

Pi L

图占客非剰夺式优先级调度算祛进程的运行过程示童图

(4>剥夺式优先级调度算法*进程的运行过程如图2. 6所示。

10

20

JI

F L

P.

算法

进程客r 创建时刻 轴束时刻

周转时I H J /ms 平的周转时间/n 讣

非剥夺 贰优先级

Pi 0

3

' -

3 (3+7+9 + 12 + 12)/5 = 8. 60

______________________________________

Fy

2 9 7 Pi 4 1

3 9 玖 € 18 12 Pn 8 20

12 剎夺式 优先级

Pt 口

3

_ 3 1

心十 1_皐 + 丄 + 7 T- 7> /5 — 7. R0

2 20 18

J 1

8 4

13

7 A

8 15

7

图2*fi #1夸式优先级调度算迭进程的运行过程示倉圏

| 一空 2 18 16

|

4

17 13 1

6 20 14 P.

8

15

7

时何片

轮转

练习题

一、 单选题 1、 一个进程是

(清华大学1996)

A由协处理机执行的一个程序 B 一个独立的程序+数据集

C PCB结构与程序和数据的组合

D 一个独立的程序

2、并发进程之间。

A彼此无关B必须同步C必须互斥D可能需要同步或互斥

3、是进程调度算法。

A 时间片轮转法B先来先服务C响应比高者优先D均衡调度算法

4、当时,进程从执行扎转变为就绪状态。(西北工大1999)

A进程被调度程序选中B时间片到C等待某一事件D等待的事件发生

5、系统中有n (n>2)个进程,并且当前没有执行进程调度程序,则不可能发生。

A 有一个运行进程,没有就绪进程,剩下的n-1个进程处于等待状态

B有一个运行进程和n-1个就绪进程,但没有进程处于等待状态

C有一个运行进程和1个就绪进程,剩下的n-2个进程处于等待状态

D 没有运行进程但有2个就绪进程,剩下的n-2个进程处于等待状态

6、支持多道程序设计的操作系统在运行过程中,不断地选择新进程运行来实现CPU的共享,

但其中不是引起操作系统选择新进程的直接原因。(复旦大学1999)

A 运行进程的时间片用完B运行进程出错

C运行进程要等待某一事件的发生D有新进程进入就绪状态

判断题

1、在剥夺式进程管理方式下,现运行进程的优先级不低于系统中所有进程的优先级。

2、进程是一个独立的运行单位,也是系统进行资源分配和调度的基本单位。

3、程序的并发执行是指同一时刻有两个以上的程序,它们的指令在同一处理器上执行。

4、进程由进程控制块和数据集以及对该数据集进行操作的程序段组成。

5、并发是并行的不同表述,其原理相同。

问答题

1、操作系统中为什么要引入进程的概念?为了实现进程的并发运行,操作系统在进程管理

方面应做那些工作?(大学1997)

2、试比较进程与程序的区别。(工业大学2000)

3、进程与线程的主要区别是什么?(西北工大1999)

例:假设某系统中有4种资源(R1,R2, R3, R4),在某时刻系统中共有5个进程。进程P1,

P2,P3, P4, P5的最大资源需求数向量和此时已分配到的资源数向量分别为进程当前已分配到资源

最大资源需求

P1(0, 0, 1 , 2) (0, 0 , 1, 2)

P2(2, 0, 0, 0 ) (2 ,

7 , 5 , 0 )

P3(0, 0, 3, 4) (6 ,

6 , 5 , 6)

P4(2, 3, 5, 4) (4 ,

3 , 5 , 6)

P5(0, 3, 3, 2) (0 , 5 , 2) 系统中当前可用资源向量为(2, 1, 0, 0)。问:(1)当前系统是否是安全的?

(2)如果进程3已发出资源请求向量(0, 1 , 0, 解:(1)进程的最大资源需求数减去当前进程已获得的资源数就是进程仍需的资源数。此时各个进程的仍需资源数

向量为0),系统能否将资源分配给它?

P1: (0, 0, 0, 0)

P2: (0, 7, 5, 0)

P3: (6, 6, 2, 2)

P4: (2, 0, 0 , 2) P5: (0, 3, 2 , 0)

而系统的可用资源向量为(2, 1 , 0, 0),这 时存在如下进程执行序列,可以使进程顺利执行完 毕,所以该状态是安全的。

(2)在P3发出资源请求(0, 1,0,0)后, 假设系统把资源分配给 P3,贝咯进程已分配资源 数为

P1:( 0 , 0 , 1, P2:( 2 , 0 , 0 , 0) P3:( 0, 1, 3 , 4)

P4:( 2 , 3 , 5 ,

4) P5:( 0 , 3 , 3 , 2)

这时系统可用资源数为(2, 0, 0, 0),各个 进程仍需资源向:为

P1:( 0 , 0 , 0 , 0) P2:( 0 , 7 , 5 , 0) P3:( 6 , 5 , 2 , 2) P4:( 2 , 0 , 0 , 2) P5:( 0 , 3 , 2 , 0)

进程 P1完成后 P4完成后 P5完成后

P2完成后 P3完成后 可用资源数

(2, 1 , 1 , 2) (4, 4, 6, 6) (4 , 7 , 9 , 8) (6 , 7 , 9 , 8) (6 , 7, 12 , 12)

相关主题
文本预览
相关文档 最新文档