操作系统习题集 联系客服

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

操作系统原理

执行结束后,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。

运行 2 3 1 4 阻塞

1设备驱动进程启动了通道程序( )○。 2进程发出了读键盘指令( )○。

3接受进程取消息时,发现消息队列中无消息( )○。

就绪 9

操作系统原理

4运行进程时间片用完( )○。

5高优先级进程剥夺运行进程的CPU()○。

6输入设备输入完成中断,且中断时没有其他进程运行()○。

7某资源的信号量S的值为负时,运行进程执行了Signal(S)操作( )○。 8批处理系统中,后备队列有新作业到来( )○。 9在就绪队列不空时,运行进程完成( )○。 10磁盘驱动进程把读入的数据传送给用户( )○。

2.3 判断题

1.原语仅可在管态下执行。 2.原语可在目态下执行。 3.进程就是作业。

4.所谓并行是指两个或两个以上的事件在同一时刻发生。 5.处理机从目态转变为管态是通过置程序状态字来实现的。 6.所谓并发是指两个或两个以上的事件在同一时刻发生。

7.操作系统的不确定性是指同一程序使用相同的输入、在相同的环境下,?经过多次运行却可能获得完全不同的结果。

8.处理机从管态转变为目态是通过置程序状态字来实现的。 9.广义指令必须在管态下执行。

10.在采用顾客/服务员模型的系统中,服务员必须在管态下运行。 11.在消息缓冲通信中,消息队列属于临界资源。 12.访管中断是由于程序执行特权指令引起的。 13.信号量的值不一定表示某类可用资源的数量。

14.在UNIX系统中所有进程都可在核心态和用户态两种状态下运行。 15.并发指的是在操作系统本身存在着许多同时的或并行的活动。 16.在UNIX系统中,所有进程都是利用系统调用fork创建的。 17.我们可以通过设置状态字,将CPU设置为内核态或用户态。

18.所谓的用户态、内核态实际上是处理器的一种状态,而不是程序的状态。

2.4 简答题

1.对比“进程”和“线程”的异同。

2.为什么要引入信号量集机制。信号量机制可以被用于何种场合?

3.原语与广义指令的主要区别。

4.管态和目态有何区别?如何区分二态?

5.什么是并发?什么是并行?

6.进程的三种基本状态是什么?它们之间相互转换的主要原因是什么?

7.何谓临界资源?使用临界资源的原则是什么?使用临界资源的诸进程间如何实现进程同步。

8.何谓管程,管程是由哪几部分组成?说明引入管程的必要性。

9.对相关临界区的管理有哪些要求?

10

操作系统原理

10.进程产生的主要原因有哪些?Windows XP在启动时会有哪些进程产生?

11.进程消亡的主要原因有哪些?

12.进程创建的主要步骤是什么?

13.消息队列和管道有何区别?

2.5 综合题

1.某宾馆门前有一个出租汽车停车位,假设宾馆每一位顾客出门都要乘坐出租车,并且对顾客约定:如果有其它顾客在此停车位等车则在旁等待;否则在此等车;此停车位有车则乘坐。对出租车作出约定:如果此停车位已停有车,则等待此停车位空闲;否则停到此停车位等待顾客;有顾客则搭载顾客离开。试用P、V原语编写程序描述顾客与出租车的行为。

2.使用P、V原语实现图示的前趋关系。

3.现有四个进程R1,R2,W1,W2,它们共享可以存放一个

数的缓冲区。进程R1?每次把从键盘上读入的一个数存到该缓冲区中,供进程W1打印输出;进程R2?每次从磁盘上读一个数存放到该缓冲区中,供W2打印输出。当一个进程把数存放到缓冲区后,?在该数还没有被打印输出之前不准任何进程再向缓冲区中存数。?当一个进程已把缓冲区中的数打印输出后,在缓冲区中还没有存入一个新的数之前不准任何进程再从缓冲区中取数打印。?用PV操作来协调它们的工作。

4.设有一数据区,有若干进程要去读或写它。各进程要遵循下列原则:

写是互斥的。当一进程正在写时,其它进程既不能读也不能写。 读可同时进行。只要没有进程正在写,则任何进程都可读。

请用P、V操作写出读写过程的同步算法。

5.假设有一如图所示的工作模型,具有三个并发进程P1、P2和P3,两个单缓冲B1和B2。进程P1负责不断从输入设备读数据,若读入的数据为正数,则直接送入B2,否则应先将数据送入B1,经P2取出加工后再送入B2,P3从B2中取信息输出。请用信号量和P、V操作描述进程P1、P2、P3实现同步的算法。 8.在天津大学与南开大学之间有一条弯曲的小路,这条路上每次每个方向上只允许一辆自行车通过。但其中有一个小的安全岛M,同时允许两辆自行车停留,可供两辆自行车已从两端进入小路的情况下错车使用。如图所示。

11

操作系统原理

下面的算法可以使来往的自行车均可顺利通过。其中使用了4个信号量,T代表天大路口资源,S代表南开路口资源, L代表从天大到安全岛一段路的资源,K代表从南开到安全岛一段路的资源。程序如下,请在空白位置处填写适当的PV操作语句,每处空白可能包含若干个P,V操作语句。 begin

t:=1;s:=1;l:=1;k:=1; cobegin

从天大到南开的进程 begin

______(1)_____ 通过L路段; 进入安全岛M; ______(2)______ 通过K路段 ______(3)______ end

从南开到天大的进程 begin

略,与“从天大到南开的进程”相反。 end coend

end.

9.五个哲学家在一块儿思考问题并一起用餐。用餐时,它们公用一个由5把椅子围成的圆桌。每把椅子归某个哲学家使用。桌子中间是一些“永远也吃不完”的饭菜。桌子上还放有5个盘子和5支筷子。当哲学家们思考问题时,它们互不干扰。一个哲学家需要用餐了,他就进入餐厅,走到餐桌边找到一把空椅子就座,然后就试图去拿相邻的两支筷子。当然,他不能去拿已经握在邻近椅子上同事手上的筷子,也不能去拿位于其左、右同事位置之外的筷子。当一个需用餐的哲学家拿到邻近的两支筷子后,他就开始用餐而不放下。当他用餐完毕,就把手中的两支筷子放回原处再去思考他的问题。因此,这些哲学家门的生活是一种单调的重复动作,即这个问题可以概括为: repeat

think, eat

12