操作系统的原理与应用答案 孔宪君 联系客服

发布时间 : 星期日 文章操作系统的原理与应用答案 孔宪君更新完毕开始阅读d5e24061a45177232f60a2d7

操作系统复习思考题答案

SPOOLing系统的组成 ⑴输入井和输出井

输入井用于收容I/O设备的输入数据,当SPOOLing输入时为用户进程提供输入数据。

输出井用于收容用户进程的输出数据,当SPOOLing输出时为输出设备提供输出数据。

⑵SPOOLing值班进程

SPOOLing值班进程即输入值班进程SPi和输出值班进程SPo。

输入值班进程SPi模拟SPOOLing输入时的外围控制机的功能。控制输入设备经输入缓冲区把用户的数据传送到备用存储器的输入井中,当用户进程需要输入数据时,直接将输入井中预存的输入数据读入内存,提供给用户进程使用。

输出值班进程SPo模拟SPOOLing输出时的外围控制机的功能。把用户进程的输出数据传送到备用存储器的输出井中,形成输出请求队列。控制输出井中的数据传送到低速的输出设备。

⑶创建SPOOLing目录

创建SPOOLing目录,登记SPOOLing数据文件,SPOOLing目录里的输入请求文件和输出请求文件分别存放在输入井和输出井中。

图6-17 SPOOLing系统原理图

10.描述两种适合使用阻塞I/O的情况和适合使用非阻塞I/O的情况?为什么不能只实现非阻塞I/O?

系统调用接口有阻塞I/O、非阻塞I/O和异步I/O等形式。当应用程序发出一个阻塞系统调用时,应用程序的执行就被中止。应用程序将会从操作系统的运

45

操作系统复习思考题答案

行队列移到等待队列中去。在系统调用完成后,应用程序就移回到运行队列,在适合的时候继续执行并能收到通过系统调用返回的值。大多数应用程序使用阻塞系统调用,这是因为阻塞应用代码比非阻塞应用代码更容易理解。有的应用程序需要使用非阻塞I/O。如一个视频应用程序,用来从磁盘文件上读取帧同时解压缩并在显示器上显示输出。

除了非阻塞系统调用外,还有异步系统调用。异步系统调用不必等待I/O完成就可立即返回,应用程序继续执行其代码。在将来I/O完成时可以通知应用程序,通知方式可以是设置应用程序地址空间内的某个变量,或通过触发信号或软件中断,或应用程序执行流程之外的某个回调函数。非阻塞与异步系统调用的差别是非阻塞read调用会马上返回,其所读取的数据可以等于或少于所要求的,或为零。异步read调用所要求的传输应完整地执行,其具体执行可以是将来某个特定时间。

11.试说明I/O设备驱动程序应完成哪些功能? 设备驱动程序主要有以下四个方面的处理工作:

⑴向有关的I/O设备控制器发出控制命令,并且监督它们的正确执行,进行必要的错误处理。

⑵对各种可能的有关设备排队、挂起、唤醒等操作进行处理。 ⑶执行确定的缓冲区策略。

⑷进行一些特殊的处理,如代码转换。它们均依赖于设备的,所以不适合放在高层次的软件中处理。

12.磁盘访问时间由哪几部分组成?每部分时间应如何计算 磁盘访问时间

⑴寻道时间Ts。这是指把磁头移动到指定磁道上所经历的时间。

⑵旋转延迟时间Tτ。这是指定扇区移动到磁头下面所经历的时间。对于硬盘,典型的旋转速度大多为7200r/min,每转需时8.3ms,平均旋转延迟时间Tτ为4.15ms。

⑶传输时间Tt。这是指把数据从磁盘读出或向磁盘写入数据所经历的时间。 访问时间较大权份是寻道时间和旋转延迟时间。

13.目前常用的磁盘调度算法有哪几种?每种算法优先考虑的问题是什么? ①先来先服务FCFS。该算法的优点是公平、简单。其缺点是效率不高,相邻两次请求可能会造成最内到最外的柱面寻道,使磁头反复移动,增加了服务时间,对机械也不利。

②最短寻道时间优先SSTF。该算法的优点是改善了磁盘平均服务时间。其缺点是存在饥饿现象。

③SCAN算法可防止老进程出现饥饿现象,扫描(SCAN)算法也叫电梯算法。其

46

操作系统复习思考题答案

克服了最短寻道优先的缺点,既考虑了距离,同时又考虑了方向。可能出现磁臂停留在某处不动的情况。

④N-Step-SCAN调度算法。这样就可避免出现粘着现象。

⑤FSCAN算法实质上是N步SCAN算法的简化,即FSCAN只将磁盘请求队列分成两个子队列。一个是由当前所有请求磁盘I/O的进程形成的队列,由磁盘调度按SCAN算法进行处理。在扫描期间,将新出现的所有请求磁盘I/O的进程,放入另一个等待处理的请求队列。这样,所有的新请求都将被推迟到下一次扫描时处理。

14.为什么要引入磁盘高速缓冲?何谓磁盘高速缓冲? 15.为什么必须进行磁盘格式化?

在磁盘存储数据之前,磁盘必须划分成磁盘控制器可以读写的扇区,这个划分过程就是低级格式化,低级格式化也叫物理格式化。低级格式化为磁盘的每个扇区填写一个特殊的数据结构,这个特殊的数据结构包含头部字段、数据字段(数据大小一般是512字节)和尾部字段。

16.什么是逻辑设备?什么是物理设备?如何实现从逻辑设备到物理设备的转换?

物理设备是实际存在的设备。

逻辑设备是依靠物理设备存在的,没有物理设备不可能存在逻辑设备。利用虚拟设备技术多个进程在同时使用一台独立设备,而对每一个进程而言,它们都认为自己是独占了一个设备。当然,该设备只是逻辑上的设备。SPOOLing系统可以实现将独占设备变换为若干台对应的逻辑设备的功能

17.说明I/O软件的层次结构及各层完成的功能?

I/O软件包括I/O设备驱动软件和设备无关软件。设计I/O软件的一个最关键的目标是设备无关性,I/O设备管理软件采用分层构造,每一层的软件都有自己独立的功能,最低层软件与硬件的细节密切相关,并对高层软件隐藏了硬件的具体特性,I/O软件除了直接与设备打交道的低层软件之外,其他部分的软件并不依赖于硬件。

18.廉价磁盘冗余阵列是如何提高对磁盘的访问速度和可靠性的?

廉价磁盘冗余阵列RAID通过利用一台磁盘阵列控制器来统一管理和控制一组磁盘驱动器,从而组成一个高度可靠的、快速的大容量磁盘系统。为了提高对磁盘的访问速度,其采用了并行交叉存取技术。具体而言,在该系统中,有多台磁盘驱动器,系统将每一盘块中的数据分为若干个盘块数据,并把每一个子盘块的数据分别存储到各个不同的磁盘中的相同位置。当要将一个盘块中的数据传送到内存时,采取并行传输的方式,将各个盘块中的子盘块数据同时向内存中传输,从而使传输时间大大减少。进一步说,RAID分为0~7级,这里主要介绍以下六

47

操作系统复习思考题答案

级:

(1)RAID 0级仅提供并行交叉存取,虽能有效提高磁盘的I/O速度,但无冗余校验功能,致使磁盘系统的可靠性不好。

(2)RAID 1级具有磁盘镜像功能,可利用并行读、写特性,将数据分块并行同时写入主盘和镜像盘,故比传统的镜像盘速度快,但它的磁盘容量的利用率只有50%。

(3)RAID 3级具有并行传输功能,它利用一台奇偶校验盘来完成容错功能,同磁盘镜像相比,它减少了所需要的冗余磁盘数,常用于科学计算和图像处理。

(4)RAID 5级具有独立传送功能,每个驱动器都有各自独立的数据通道,独立地进行读写且无专门的校验盘,用来进行纠错的校验信息,是以螺旋方式散布在所有数据盘上,常用于I/O较频繁的事务处理。

(5)RAID 6级的阵列中,设置了一个专用的、可快速访问的异步校验盘,该盘具有独立的数据访问通路,具有比RAID 3 和RAID 5更好的性能。

(6)RAID 7级是对RAID6级的改进,在该阵列中的所有磁盘都具有较高的传输速度、有着优异的性能,是目前最高档次的磁盘阵列。

第7章 文件系统

7.1名词解释

记录:记录是一组相关数据项的集合,用于描述一个对象某方面的属性。 文件:文件是具有文件名的一组相关信息的集合。 文件系统:

目录:文件控制块的集合构成了文件目录。 目录项:一个文件控制块就是一个文件目录项。

文件控制块:文件控制块(FCB)是操作系统用来描述和控制文件的数据结构。 索引节点:除了文件名,文件控制块的其他控制信息称之为索引节点(I节点)。 文件逻辑结构:从用户观点出发,研究的是用户思维中的抽象文件,也叫逻辑文件。一般可分为记录式文件和流式文件两种。

文件物理结构:是指文件在物理存储介质上的结构,它与存储介质的存储特性有关,它对文件的存取方法有较大的影响。

打开文件:使用已经存在的文件,首先必须打开文件,调用open将文件名传给文件系统。打开文件就是建立起用户、应用进程和文件之间的联系。将打开文件的文件控制块填入打开文件表中,如果打开文件表中存在该文件(共享文件),则该

48