操作系统练习题解析 下载本文

操作系统部分练习题

一、单项选择题(略) 二、填空题(略) 三、判断正误(略) 四、简答题

1.同步机构应遵循哪些基本准则?整型信号量机制是否完全遵循了同步机构的四条准则?1 答: 同步机构应遵循基本准则有:(1)空闲让进;(2)忙则等待;(3)有限等待;(4)让权等待。整型信号量机制没有遵循了同步机构的让权等待准则。

2.在创建一个进程时所要完成的主要工作是什么? (1)申请空白进程控制块;(2)为新进程分配资源;(3)初始化进程控制块(4)将新进程插入就绪队列

3.说明分页式、分段式存储管理的基本原理及它们的区别。1

答:分页式存储管理是把内存空间分成大小的若干块,将作业的逻辑地址空间分成大小相等的若干页,每页装入内存的一块中,利用页表实现地址的转换;分段式存储管理是把作业按照逻辑结构分成若干段,每段可放入内存不连续的空间,利用段表实现地址转换。

重要区别:页是信息的物理单位,分页仅仅是由于系统管理的需要而不是用户的需要,是为了消除内存外零头;段则是信息的逻辑单位,分段的目的是为了能更好地满足用户的需要。页的大小由系统决定,而段的长度却不固定;分页的作业地址空间是一维的,而分段的作业地址空间是二维的。

4.有哪几种I/O控制方式?各适用于何种场合?

有四种: ①程序I/O控制方式:适用于结构简单,只需少量硬件的电路; ②中断驱动I/O控制方式:适用于高效场合;

③直接存储访问DMA I/O控制方式:适用于无须CPU介入的控制器来控制内存与外设之间的数据交流的场合;

④I/O通道控制方式:适用于以字节为单位的干预,同时实现CPU,通道和I/O设备三者并行操作的场合。

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

所谓死锁是指 若干进程因竞争资源而无休止地相互等待他方释放已占有的资源,若无外力作用,它们都将无法再向前推进。

产生死锁的原因是竞争资源和进程间推进速度非法。

产生死锁的必要条件是互斥条件、请求和保持条件、不剥夺条件、环路等待条件。 6.对目录管理的主要要求是什么?采用单级目录能否满足对目录的主要要求?2 答:(1)实现“按名存取”;(2)提高对目录的检索速度;(3)文件共享;(4)允许文件重名。 单级目录只能实现“按名存取”;其他的要求都满足不了。 7.程序顺序执行和并发执行各有什么特点?1

答:程序顺序执行具有顺序性,封闭性,可再现性;程序并发执行具有间断性,失去封闭性和结果的不可再现性。

8.现有两道作业同时执行,一道以计算为主,另一道以输入输出为主,你将怎样赋予作业进程占有处理器的优先级?为什么?2

答:本题考核要点是,如何提高系统效率的问题。我们知道,以计算为主的进程运行期间,将主要集中在CPU的计算上,较少使用外部设备。而以输入输出为主的进程则主要集中在外部设备的I/O上,较少使用CPU。因此让两个进程并发运行是可以提高系统效率的。不过它们的优先级应当设定合理。

如果计算进程的优先级高于或者等于输入输出进程的优先级,系统效率不会提高。因为计算进程一旦占用了CPU便忙于计算,使输入输出进程得不到运行机会,同样会使设备空闲,不能提

高系统效率。

如果输入输出进程的优先级高于计算进程的优先级,系统效率就能够得到提高。因为输入输出操作是一种速度极慢的操作。若该项操作的优先级高,那么,当它完成一项输入输出操作后,便能立即获得CPU,为下一次输入输出作准备工作,并启动外部设备。当设备被启动起来后,它便主动让出CPU,由系统将CPU交给计算机进程使用。从而获得较好的运行效率。

因此,将赋予以输入输出为主的进程优先级高。 9.何谓设备的安全分配和不安全分配方式?2

答:安全分配:在这种分配方式中每当进程发出I/O请求后,便进入阻塞状态,直到I/O操作完成时才被唤醒。在这种分配策略时,一旦进程已经获得某种设备(资源)后便阻塞,使它不可能再请求任何资源,而在它运行时又不保持任何资源,因此,这种分配方式已经摒弃了造成死锁的四个必要条件之一的“请求和保持”条件,因而分配是安全的。

不安全分配:在这种分配方式中,进程发出I/O请求后仍继续运行,需要时又可发出第二个I/O请求、第三个I/O请求。仅当进程所请求的设备已被另一个进程占用时,进程才进入阻塞状态。这种分配方式的优点是一个进程可同时操作多个设备,从而使进程推进迅速。其缺点是分配不安全,因而它可能具备“请求和保持”条件,从而可能造成死锁。

10.试说明设备驱动程序应具有哪些功能?2

答:设备驱动程序是请求I/O的进程与设备控制器之间的一个通信程序,主要功能有: ①将用户的要求转换为具体要求。

②检查用户的合法性,了解设备状态,根据要求传递参数,设置设备的工作方式。 ③向设备控制器发I/O命令启动设备,完成具体的I/O操作。

④及时响应外设的中断请求,根据中断类型调用相应的中断处理程序。 ⑤具有通道的控制系统,还要构造通道程序。

11.内存管理有哪些主要功能?它们的主要任务是什么?3

答:内存管理应具有内存分配、内存保护、地址映射和内存扩充等功能。

内存分配的主要任务是为每道程序分配内存空间,提高存储器利用率,减少不可用的内存空间;内存保护是确保每道用户程序都只在自己的内存空间内运行,彼此互不干扰;地址映射将地址空间中的逻辑地址转换为内存空间中与之对应的物理地址;内存扩充是借助于虚拟存储技术,从逻辑上扩充内存容量,使用户感觉内存空间比实际内存容量大得多。

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

答:处于就绪状态的进程,在调度程序为之分配了处理机之后,该进程便可执行,变为执行态;处于执行态的进程因为分配给它的时间片用完而回到就绪态;因为发生某件事,如I/O请求而使进程的执行受阻,则由执行态变为阻塞态;当I/O完成或等待的事情完成则由阻塞态 变为就绪态。

13.进程的基本状态有什么?进程的结构特征由哪3部分组成?什么是进程存在的唯一标志? 就绪,阻塞,运行

动态性:进程的实质是程序的一次执行过程,进程是动态产生,动态消亡的。并发性:任何进程都可以同其他进程一起并发执行独立性:进程是一个能独立运行的基本单位,同时也是系统分配资源和调度的独立单位;异步性:由于进程间的相互制约,使进程具有执行的间断性,即进程按各自独立的、不可预知的速度向前推进 结构特征:进程由程序、数据和进程控制块三部分组成。

PCB什进程存在的唯一标志

14.为什么要引入设备独立性?如何实现设备独立性?3

答:①设备独立性又称为设备无关性。它指的是应用程序在使用设备进行I/O时,使用的是逻辑设备,而系统在实际执行时使用的是物理设备,由操作系统负责逻辑设备与物理设备的映射。引入设备独立性可以使设备的分配具有极大的灵活性,并易于实现I/O重定向。

②系统为每个进程设置一张“逻辑设备表”(LUT)。当某进程用逻辑名来请求设备时,系统

查阅“系统设备表”SDT,为它分配相应的可用物理设备。系统将这种用户逻辑设备与系统物理设备的映射,建立在该用户的LUT中,并将该物理设备的驱动程序入口地址填入LUT中。以后,该进程利用逻辑设备名请求I/O操作时,系统通过查找LUT即可找到物理设备及其驱动程序。 15.对空闲磁盘空间的管理常采用哪几种分配方式?在UNIX中又是采用何种分配方式?4 答:有空闲表法、空闲链表法(空闲盘块链、空闲盘区链)、位示图法、成组链接法。(4分) UNIX中采用成组链接法(1分)

16.为什么说多级反馈队列调度算法能较好地满足各方面用户的需要?4

答:由于终端型作业大多属于交互型作业,作业通常较小,系统只要能使这些作业在第一队列所规定的时间片内完成,便可使终端型作业用户感到满意;对于很短的批处理作业,开始时像终端型作业一样,对于稍长的作业,通常也只需在第二和第三队列各执行一个时间片即可,其周转时间仍然较短;对于长作业,它将依次在第1,2,…,n个队列中运行,然后再按轮转方式运行,用户不必担心其作业长期得不到处理。

17.为什么在操作系统中引入线程?4

答:在操作系统中引入线程,是为了减少程序并发执行时所付出的时空开销(2分),使OS具有更好的并发性,线程能比进程更好地提高程序的并行执行程度(2分),充分地发挥多处理机的优越性(1分)。

18.说明SPOOLing系统的组成?1

①输入输出井。这是在磁盘上开辟两个大空间,一个是输入井,用来收容输入设备上的数据(模拟拖机输入的磁盘);另一个是输出井,用来收容用户进程的输出数据(模拟脱机输出的磁盘)。(1分)

②输入缓冲区和输出缓冲区。这是内存中开辟的两个缓冲区,一个是输入缓冲区,暂存输入设备来的数据,以后再传送到输入井;另一个是输出缓冲区,暂存输出井送来的数据,以后传送到输出设备。(2分)

③输入进程和输出进程。输入进程实现的是收容输入和提取输入。在收容输入时,负责将输入设备的数据通过内存输入缓冲区转存到磁盘的输入井中;提取输入时,负责将磁盘输入井的数据送入内存用户区。输出进程实现的是收容输出和提取输出,过程与输入过程相反。(2分)

19.高级调度与低级调度的主要任务是什么,为什么要引入中级调度?5

答:高级调度用来决定从外存中选择什么作业调入内存,为之创建进程,分配必要资源,将创建的进程排在就绪队列上。低级调度决定就绪队列中的哪个进程将获得处理机,然后由分派程序执行把处理机分配给该进程的操作(3分)。

引入中级调度的目的:为了提高内存的利用率和系统吞吐量,应使那些暂时不能运行的进程不再占用宝贵的内存空间,而将它们调至外存上去等待,由中级调度决定将外存上的那些重又具有运行条件的就绪进程重新调入内存(2分)。

20.分页和分段存储管理有何区别?6

分页 单一连续逻辑地址空间 页是信息的物理单位 页是面向系统的 页内的信息逻辑上可能不完整的 页的大小固定 由系统划分 对用户透明

分段 二维逻辑地址空间 段是信息的逻辑单位 段是面向用户的 段内的信息在逻辑上是完整的 段长度可变增长 用户可见 便于动态链接和存储

以页面为单位分配空间 存在内零头 不需要紧凑技术 保护 修改和共享 以段大小为单位分配的空间 存在外零头 需采用紧凑技术 21. 当前有哪几种高级通信机制? 22. 死锁产生的4个必要条件是什么?

23.操作系统的特征有什么?其中最基本的特征是什么?操作系统的功能有什么? 24.试比较进程与程序的区别?

1、进程是动态的,程序是静态的。程序是一组有序的指令集合,是一个静态的概念;进程则是程序及其数据在计算机上的一次执行,是一个动态的集合。离开了程序,进程就失去了存在的意义,但同一程序在计算机上的每次运行将构成不同的进程。程序可看作是电影的胶片,进程可以看作电影院放电影的过程。一个进程可以执行多个程序,如同一个电影院的一场电影可放映多部影片。一个程序可被多个进程执行,如同多个影院同时利用一个电影的胶片放映同一部电影。程序可以长期保存,进程只能存在于一段时间。程序是永久存在的,而进程有从被创建到消亡的生命周期。(得

25.虚拟存储器有哪些基本特征? 答:(1)多次性:作业只要部分装入内存便可执行,其余部分可待需要时再调入内存,即一个作业将分成多次装入内存。(1.5分)

(2)对换性:在进程运行期间,允许将那些暂不使用的程序和数据从内存调至外存的兑换区上,待以后需要时再将他们从外存调入内存。(1.5分)

(3)离散性:实现虚拟存储器必须采用离散的分配技术,而连续的分配技术无法实现虚拟存储器的功能。(1分)

(4)虚拟性:虚拟存储器只是在逻辑上扩充内存容量,而实际的内存容量并没有真正扩大。(1分)

26.什么叫程序地址转换?

27.有快表的页式存储管理中,如何实现地址变换?

28.访问磁盘的时间由哪3部分组成? 29. 死锁处理的方式由哪4种?其中银行家算法、破坏环路等待、剥夺资源各属于哪种策略? 30.文件的物理结构有哪几种?什么是容错技术? 31.何谓虚拟存储器,并举一例说明操作系统如何实现虚拟内存的? 32.一个计算机系统中拥有6台打印机,现有N个进程竞争使用,每个进程要求两台,试问,若保证系统中绝对不会出现死锁,N的最大值可达到多少? 33.有一计算机系统,内存容量为2MB,辅存容量为2GB,逻辑地址形式如下: 段号 段内地址 29 20 19 0 求其虚拟存储器的实际容量? 34.举例说明SPOOLing系统的组成和基本原理。

答:SPOOLING由输入井、输出井、输入缓冲区、输出缓冲区、输入进程、输出进程。在输入进