操作系统引论

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

第一章操作系统引论

1.操作系统的主要作用可表现为哪几个方面,其含义分别是什么?

2.在OS中引入多道程序设计技术,带来了哪些好处?

3.操作系统具有哪几大特征?它的最基本特征是什么?

4.试在交互性与及时性方面,将分时系统与实时系统进行比较。

5.操作系统用户接口中包括哪几种接口?它们分别提供给谁使用?

第二章进程管理

1.在操作系统中为什么要引入进程概念?它会产生什么样的影响?

2.试从动态性、并发性和独立性上来比较进程和程序?

3.试说明PCB的作用,为什么说PCB是进程存在的唯一标志?

4.试说明进程在三个基本状态之间转换的典型原因。

5.在进行进程切换时,所要保存的处理机状态信息主要有哪些?

6.试从调度性、并发性、拥有资源和系统开销几个方面,对进程和线程进行比较。

7.什么是用户级线程和内核级线程?并对它们进行比较。

8.进程在运行时,存在着哪两种形式的制约?并举例说明之。

9.什么是临界资源和临界区?

10.同步机构应遵循哪些基本准则?为什么?

11.试从物理概念上来说明记录型量和wait、signal操作。

12.我们为某临界区设置一把锁W,当W=1时,表示关锁;W=0时,表示锁已打

开。试写出开锁和关锁原语,并利用它们去实现互斥。

13.试利用记录型信号量写出一个不会死锁的哲学家进餐问题的算法。

14.在测量控制系统中的数据彩样任务,把所采集的数据送一单缓冲区,计算任务从

该单缓冲区中取出数据进行计算。试写出利用信号量机制实现两者共享单缓冲的同步算法。

15.图2-1示出了一个从键盘输入到打印机输出的数据处理流图,其中键盘输入进

程通过缓冲区buffer1把输入数据传送给计算进程,计算进程把处理结果通过缓冲区buffer2传送给打印进程。设上述两个缓冲区的大小分别是n1和n2,为实现输入进程与计算进程的同步,我们设置发一个互斥信号量mutex1,以及分别表示buffer1空和满的两个资源信号量empty1和full1;类似地,为实现计算进程和打印之间的同步,我们又设置buffer2的对应信号量mutex2、empty2及full2。试用类Pascal语言写出键盘输入进程、计算及打印进程间的同步算法。

输入进程→buf1 →计算进程→buf2 →打印进程

图2-1从键盘输入到打印输出流程

16.如何用管程来解决生产者-消费者问题?

17.在单处理环境下,进程之间有哪几种通信方式?

18.在剥夺调度方式中,剥夺的原则有哪些?

19.在操作系统中引起进程调度的主要因素有哪些?

20.在批处理系统、分时系统和实时系统中,各采用哪几种进程调度算法?

21.为什么说多级反馈队列能较好地满足各种用户的需要?.

22.在按时间片轮转调度的算法中,在确定时间片大小时,应考虑哪些因素?

23.何谓死锁?产生死锁的原因和必要条件是什么?

24.在解决死锁问题的几个方法中,哪一种方法最容易实现?哪一种方法使资源的利

用率最高?

25.请详细说明可通过哪些途径预防死锁?

26.在银行家算法中,若出现下述的资源分配情况:

Process Allocation Need Available

P0 0 0 3 2 0 0 1 2 1 6 2 2

P1 1 0 0 0 1 6 5 0

P2 1 3 5 4 2 3 5 6

P3 0 3 3 2 0 6 5 2

P4 0 0 1 4 0 6 5 6

试问:①该状态是否安全?

②若进程P2提出请求Request(1,2,2)之后,系统能否将资源分配给它?

27.试写出相应的程序来描述如下所示的前趋图。

S4

S2 S5 S7

S1

S3 S6

28.假如有四道作业,它们的进入时间和运行时间由表3-3给出。

表3-3四道作业的进入时间和运行时间

作业号进入时间(时)执行时间(小时)

110:000.4

210:101

310:200.6

410:300.2

在单道程序环境下,分别采用先来先服务和最短作业优先调度算法,试分别说明它

们的调度顺序及平均周转时间?

29.请用信号量解决以下的“过独木桥”问题:同一方向的行人可连续过桥,当某一方向有

人过桥时,另一方向的人必须等待;当某一方向无人过桥时,另一方向的人可以过桥。

30.下面是用记录型信号量来描述前趋关系的算法,讨论它的正确性。如果是正确的,请证

明它;否则,请说明原因,并给出正确的算法。

parend

end

31.设A、B两进程共享一个缓冲区Q,A向Q写入信息,B则从Q读出信息,讨论下面算法

的正确性。如果是正确的,请证明它;否则,请说明原因,并给出正确的算法。

begin

var s:semaphore:=0;

parbegin

A:begin B:begin

repeat repeat

向Q写入信息; wait(s);

signal(s); 从Q读出信息

until false; until false;

end end

parend

end

32.若P、Q为两个并发进程,共享一个物理资源(resource),下面给出P、Q对资源使用

实现互斥的算法:

var Pturn:boolean;

begin

Pturn:=true;

cobegin

P:repeat

repeat until Ptrun;

use resource;

Pturn:=false;

P passive

forever

Q:repeat

repeat until Ptrun;

相关文档
最新文档