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
forever。
13
第三章 处理机调度与死锁 3.1 选择题
1.操作系统中的高级调度是指:
A. 作业调度 B. 进程调度 C. 进程交换调度 D. 线程调度
2.作业经过下面哪一个过程进入“后备”状态?
A. 作业创建 B. 作业调度 C. 进程调度 D. 作业终止
3.要求进程一次性申请所需的全部资源,是破坏了死锁必要条件中的哪一条? A. 互斥 B. 请求与保持 C. 不剥夺 D. 循环等待
4.使用“银行家算法”决定是否给进程分配资源,这种策略属于: A. 预防死锁 B. 避免死锁 C. 检测死锁 D. 解除死锁
5.对资源编号,要求进程按照序号顺序申请资源,是破坏了死锁必要条件中的哪一条? A. 互斥 B. 请求与保持 C. 不剥夺 D. 循环等待
6.通过破坏死锁必要条件之一来防止死锁产生,这种策略属于: A. 预防死锁 B. 避免死锁 C. 检测死锁 D. 解除死锁
7.当某个作业被作业调度程序选中,进入内存开始运行时,作业的状态为: A、提交状态 B、完成状态 C、执行状态 D、后备状态
8.死锁定理用于:
A、预防死锁 B、解除死锁 C、避免死锁 D、检测死锁
9.进入输入井的作业其状态处于( ) A、提交状态 B、完成状态 C、执行状态 D、后备状态
10.作业由后备状态转变为执行状态是通过以下那个调度程序实现的( ) A、作业调度 B、进程调度 C、中级调度 D、驱臂调度
11.以下那种调度算法不可能是剥夺式的( ) A、先来先服务 B、最短CPU执行期优先 C、最高优先权 D、轮转法
12.在UNIX系统中,用来实现进程换入换出的是( )
A、0进程 B、1进程 C、kill系统调用 D、作业调度进程
13.可以破坏环路等待条件的策略是( )
A、资源抢占 B、独享分配 C、按序分配 D、共享分配
14.在操作系统中用户进程本身启动的唯一状态转换是____。
14
A、调度 B、阻塞 C、时间片到 D、唤醒
15.把资源按类型排序编号,并要求进程严格按序申请资源,这种方法摒弃了下述哪一个( )死
锁发生条件?
A、互斥条件 B、部分分配条件 C、不剥夺条件 D、环路等待条件
16.以下哪种调度算法不可能是剥夺方式的?( )
A、先来先服务 B、最短CPU执行期优先 C、最高优先权 D、轮转法
17.作业调度无工作可做时处于 A 状态,当后备队列有新作业录入时,输入进程要 B 作业调度。进程调度作为 C 执行,通常采用两种调度方法,批处理系统常采用 D 方式,分时系统采用 E 方式。在内存和外存对换区之间完成‘页面对换’或‘分段对换’功能的进程称之为 F 调度。
选择答案:
(1) 激活 (2)唤醒 (3)就绪 (4)挂起 (5)阻塞 (6)非抢占 (7) 进程 (8)原语 (9)低级 (10)高级 (11)中级 (12)抢占 A B C D E F 答 案
18.CPU的状态可分为用户态和 A ,CPU状态由现行的 B 来描述。在用户态下运行时,CPU执行特权指令将产生 C ,中断处理程序将 D 该程序的执行。
选择答案:
(1)运行态 (2)目态 (3)系统态 (4)通道寄存器 (5)指令寄存器 (6) 程序状态字 (7)I/O中断 (8)访管中断 (9)程序中断 (10)终止 (11) 暂停 (12)继续 A B C D 答 案
19.现有3个同时到达的作业J1、J2和J3,它们的执行时间分别为T1、T2和T3,且T1 3.2 填空题 1.常用的多道处理系统的作业调度算法有 。 2.产生死锁的原因 。 3.一个作业从提交开始到完成,往往要经历 、 和中级调度三级调度。 4.常用的单道批处理作业调度有 和 。 5.解决死锁问题常用的三种方法是 、 和 。 3.3 判断题 1.多用户实时操作系统一定采用剥夺调度方式。 2.进程发出I/O请求后将被阻塞,直至I/O操作完成。 3.死锁危害很大,操作系统要绝对防止死锁的发生。 4.不安全状态是死锁状态。 5.处于死锁的系统中,没有进程可再运行。 6.最短CPU执行期优先算法一定是剥夺式的。 7.多级反馈队列属于非剥夺式调度。 15