《计算机操作系统原理》复习题 下载本文

61.设有4个作业同时到达,每个作业的执行时间均为2小时,它们在一台处理机上按单道方式运行,则平均周转时间为(B)。

A、1h B、5h C、2.5h D、8h

62.死锁现象并不是计算机系统独有的,例如:除(B)之外,下列三种案例都是死锁的体现。

A、公路上塞车,因为大修,桥上只有一个车道供同行。 B、高速公路大堵车,因为桥被台风吹断了。

C、两列相向行驶的列车在单轨铁路上迎面相遇了。

D、两位木匠钉地板,一位只握榔头,而另一位没有榔头,却有钉子。

63.某系统中有3个并发进程都需要4个同类资源,该系统不会发生死锁的最少资源是(B)

A、9 B、10 C、11 D、12 64.银行家算法用于(A)死锁。

A、避免 B、预防 C、控制 D、模拟 65.使用(B)方法可以实现虚拟存储。

A、分区靠拢 B、覆盖、交换 C、联想寄存器 D、段靠拢 66.下列算法会产生Belady异常的现象是(A)

A、先进先出的页面替换算法 B、最近最久未使用替换算法 C、栈式页面替换算法 D、最佳页面替换算法 67.下列设备属于共享设备的是(C)

A、打印机 B、磁带机 C、磁盘 D、磁带机和磁盘 68.如果I/O设备与存储设备间数据交换不经过CPU来完成,则这种数据交换方式是(C) A、程序查询方式 B、中断方式 C、DMA方式 D、外部总线方式

69.若8个字(字长32位)组成的位示图管理内存,假定用户归还一个块号为100的内存块时,它对应位的位置为(B)

A、字号为3,位号为5 B、字号为4,位号为4 C、字号为3,位号为4 D、字号为4,位号为5 70.文件系统中路径名是由(C)组成。

A、磁盘符和目录名 B、目录名和文件名

C、磁盘符、目录结构的各个目录名、文件名 D、磁盘符、根目录名、文件名

二、判断题(每小题1分,共10分)√×

(×)1.在分时系统中,时间片越小,越能改改善响应时间。 (×)2.特殊指令是随操作系统的发展而出现的一类特殊指令,主要是特殊用户才能使用的指令。 (×)3.每一个驻留在辅存上的文件都必须连续存放。

(×)4.P、V操作为同步原语,在执行中不可以被中断,以保证原语的不可分割性。 (√)5.进行的并发执行,失去了顺序程序的封闭性和可再现性。 (×)6.一个虚拟的存储器,其地址空间的大小等于辅存的容量加上主存的容量。 (√)7.进程——资源图中出现了环路,不一定就有死锁发生。 (×)8.先来先服务作业调度算法,有可能使长作业等待得不到运行,产生“饿死”现象。 (√)9.作业的周转时间越小,作业调度算法越好。

5

(×)10.作业从后备到就绪状态是由进程调度程序完成的。 (×)11.所谓批处理系统,即指每一时刻有若干个进程在执行。

(×)12.采用多道程序设计的系统,系统的程序道数越多,系统的效率越高。 (×)13.当一个进程从阻塞状态变成就绪,则一定有一个进程从就绪变成执行状态。 (√)14.在用P、V操作解决进程之间同步和互斥时,一定要正确地安排P和V操作的顺序,否则会引起死锁。 (×)15.死锁是指系统中的全部进程都处于阻塞状态。 (√)16.采用资源的静态分配算法可以预防死锁的发生。 (√)17.作业调度是处理机的高级调度,进程调度是处理机的低级调度。 (×)18.请求分页存储管理系统,若把页的大小增加一倍,则缺页中断次数会减少一半。 (×)19.采用多级目录不能实现不同用户可使用不同名字来访问系统中的同一共享文件。 (√)20.当前目录的引入,提高了访问文件的效率。 三、填空题(每小题1分,共10分)

1.操作系统是计算机系统中的一个 系统软件 ,它管理和控制计算机系统中的软件和硬件资源。

2.现代操作系统的两个最基本的特性:并发性 和 共享性

3.在操作系统中,不可中断执行的操作称为 原子操作 。 4.对信号量S只能通过 PV 操作进行,其物理意义是:一个相当于申请资源,一个相当于释放资源。

5.进程是由程序、数据和 进程控制块(PCB) 组成的。 6.进程的同步是进程的直接相互制约 关系,进程的互斥是进程的 间接相互制约 关系。 7.如果信号量的当前值为-4,则表示系统中在该信息量上有 4 等待进程。 8.作业调度是处理机的高级调度, 进程 调度是处理机的低级调度。

9.如果系统中所有作业是同时到达,则使作业平均周转时间最短的作业调度算法是 短作业优先调度算法 。

10.在有m个进程的系统中出现死锁时,死锁的进程的个数K应满足的条件是: 2<= K<=m 。

11.用户编程时使用 逻辑 地址,处理机执行程序时使用 物理 地址。 12.虚拟设备是指操作系统利用某种I/O技术,将某个 独占 设备改造为多个用户可以同时共享的设备。

13.SPOOLing系统中,作业执行时从磁盘上的 输入井 中读取信息,并把作业的执行结果暂时存放在磁盘上的 输出井 中。 14.目录的作用在于实现 按名存取 ;目前广泛采用的目录结构是 树型目录结构 。 15.根据文件的逻辑结构,文件分为 流式文件 和记录式文件。 四、 简述题(每小题5分,10分) 1.进程和程序的主要区别。

答:1)进程是程序在一个数据集合上的一次运行过程,而程序是指令的有序集合,所以两者是相关但完全不同的两个概念; 2)程序就是一个存储在某个储存介质上的代码,进程除了程序段和数据段外还有进程控制块PCB; 3)进程从创建到被撤销是有生命周期的,是个动态的过程,而程序则是一组放在介质上的指令的集合,是静态的;

6

4)多个进程在内存中是并发地执行的,而程序的并发执行具有不可再现性,不能正确地并发执行;

5)进程能独立运行,独立分配资源,独立接受调度,而程序不能在多道程序环境下独立运行。

2.若系统只有一个进程,它会被卷入死锁吗?为什么? 答:若系统中只有一个进程,不会卷入死锁。因为系统中的所有资源都归它使用,不可能存在为申请某个资源而永运得不到的情况。

3.产生死锁的必要条件是什么?解决死锁问题常用哪几种措施? 答:产生死锁的必要条件是:

1)互斥条件。即被争夺的资源同一时间只能被一个进程使用。

2)请求和保持条件。即一个进程由于请求某个资源不成功被阻塞的时候不丢失它之前已经申请到的其他资源的使用权。

3)不剥夺条件。指一个进程申请到资源后不能被其他进程剥夺,直到使用完该资源释放掉。

4)环路等待条件。指发生死锁时,必然存在一个资源-进程的环路。 解决死锁问题常用的措施有: 1)预防死锁。通过一些限制条件的设置来破坏死锁发生的四个必要条件中一个或多个,以预防死锁的发生。

2)避免死锁。在资源的动态分配的过程中用某些算法加以限制,防止系统进入不安全状态从而避免死锁的发生。

3)检测死锁。采取一定的机制检测系统是否死锁,以配合死锁的解除。 4)解除死锁。通过撤消一些进程回收资源把系统从死锁中解脱出来。 4.请简要比较进程与线程。

答:进程和线程有着很多相似的地方:都可以并发执行;都有就绪、执行、阻塞这些基本状态,也都可以在这些基本状态间转换状态;从创建到撤消都有一定的生命同期;都需要同步工具。

进程和线程也有很多差异:

1)在传统的OS中进程是拥有资源和独立调度分派的基本单位,在加入线程的OS中,线程代替进程成为独立调度和分派的基本单位,进程则仍是拥有资源的基本单位。

2)并发粒度不同。除了不同进程的线程之外,同一进程里的不同线程之间也可以并发执行,所以线程拥有更好的并发性。

3)拥有资源数量不同。进程是拥有资源的基本单位,线程除了些在运行过程中必不可少的资源外基本不拥有系统资源,它可访问自己所在的进程的资源。

4)管理开销不同。创建、撤销进程时系统都要为之分配和回收资源,所以进程切换用的时间等开销相对要多于线程。进程间通信很麻烦,而同一进程的线程间则通过共享进程的资源很方便地通信和同步,同步开销小得多。

5.对基本的进程状态转换图(如下)中的状态转换编号1、2、3和4,令I和J分别取1,2,3和4(J不等于4)。请分别讨论在状态转换I和状态转换J之间是否存在因果关系。若存在,请指出这种关系是必然的,还是有条件的?条件是什么?

7

答:1)先来回答补充的问题: 引起1的事件:该进程的时间片用完,或可抢占式系统中有比正在执行的进程优先级更高的进程需要被执行。

引起2的事件:CPU调度算法分配CPU给这个进程。

引起3的事件:正在等待I/O传输完成的进程的I/O传输完成。 引起4的事件:正在执行的进程出现I/O传输请求等事件 2)再来分析I和J存在的各种因果关系

I=1时能引发J=2的发生。而且这种因果关系是必然的。此时就绪队列中优先级最高的进程得到CPU。

I=2时和任何状态转换J的发生都没有因果关系。

I=3时能引发J=2的发生,这种因果关系是有条件的,条件是“就绪队列为空且没有进程被执行”或者“在可抢占式系统中,就绪队列为空且该进程比正在执行的进程的优先级高”,在两个条件下都必然引发J=2的发生,否则不能引发任何状态转换。

I=4时能引发J=2的发生。这种因果关系是有条件的,条件是“就绪队列不空”。此时就绪队列中优先级最高的进程得到CPU,若就绪队列为空则不能引发任何状态变化。

五、辨析题(每小题10分,共20分)

1.请判断这句话是否正确“并发是并行的不同表述,其原理相同。” 答:答案是“错误的”,因为并发和并行是两个相似却有区别的概念,并行是指多个事件在同一时刻发生,比如多道程序设计技术里的CPU和I/O设备就是并行工作的,因为CPU和I/O设备可以在同一时刻都处于工作状态;而并行则指多个事件在同一时间间隔内发生,比如多道程序设计里的同在主存中的进程就是并发执行的,因为在一个特定的时刻主存中只能有一个进程得到CPU运行(单处理机)而不是多个进程在同一个时刻同时运行,但宏观上看在一个时间间隔内有多个进程在运行。 2.进程就是程序

答:这个观点是错误的,错在没有理解进程的动态性,进程从被创建到被撤销有一个生命同期,而程序则可以永久地存在某种介质上,是静态的。 3.虚拟存储器的大小等于或小于内存和外存的容量之和。 答:这个观点是错误的。这个观点的产生是因为看到了虚拟存储器的实现方式是通过页面和段在外存和内存间调入调出实现的,所以认为虚拟存储器的大小至少要等于或小于这两者之和。实际上决定虚拟存储器大小的因素只有一个,那就是计算机的地址结构,也就是在该计算机上运行的汇编代码中的地址的位数,和该系统中的内存和外存的大小没有关系。程序运行的时候给出的地址都不是物理地址,而是一个逻辑地址,需要通过地址变换机构映射到内存中,而虚拟存储的地址空间就是一个程序能给出的所有地址的总和,而这显然是由地址总线的位数决定的,一般来说就是CPU的位数,比如CPU是32位的话,那么能给出的地

3232

址总数是2个,那么虚拟存储器的大小就是2X1B=4GB。

4.在分页存储管理中,减少页面大小,可以减少内存的浪费。所以页面越小越好。 答:这个观点是错误的。分页存储管理中,页面大有大的优势,小有小的好处,并非越大越好,更不是越小越好。页面大可以减少页表的大小,节省内存空间;而页面小可以有效减少页内碎片的大小,也能节省内存空间。所以应该统筹兼顾,取合适的页面大小。

8