好文档 - 专业文书写作范文服务资料分享网站

计算机学科专业基础综合计算机操作系统-14

天下 分享 时间: 加入收藏 我要投稿 点赞

计算机学科专业基础综合计算机操作系统-14

(总分:99.99,做题时间:90分钟)

一、综合应用题(总题数:26,分数:100.00)

1.在许多UNIX系统中,索引结点往往放在磁盘的开始处。一种可选的设计是在文件创建时分配索引结点,而且索引结点作为文件的第一块。请讨论这两种方法的优劣。

__________________________________________________________________________________________ 索引结点放在磁盘开始处可以减少I/O次数(搜索文件的I/O次数),但是开始处的磁盘空间大小是有限的,因此文件系统中文件数目取决于存放索引结点的空间大小。第2种方法正好相反。

在有些系统中,一个目录可以被一个授权用户读和写(如VAX/VMS),就像一个普通文件。请问:(分数:4.00)

(1).这样会产生怎样的安全问题?

__________________________________________________________________________________________ 修改文件目录,指向一个未被授权访问的文件的FCB。 (2).请就你认识到的安全问题给出一种解决方案。

__________________________________________________________________________________________ 在修改文件目录文件时禁止指向其他目录。 2.当数据发生如下情况时:

(1)很少修改并且随机、顺序频繁访问; (2)频繁修改而且相对频繁地访问整个文件; (3)频繁修改而且很少读取。

从系统性能方面考虑,请选择恰当的文件组织结构。

__________________________________________________________________________________________ (1)顺序结构; (2)顺序结构; (3)链接结构。

3.一个软盘的扇区安排采用图(a)所示的形式。这个软盘的每个磁道有8个扇区,每个扇区可以存放512B数据,软盘的旋转速率为300rpm。如果旋转臂已经在合适的位置,那么顺序读完一个磁道上的所有扇区需要多长时间?如果扇区安排使用图(b)和图(c)的形式呢?

(分数:4.00)

__________________________________________________________________________________________ 旋转延迟为60000÷300=200(ms),假设处理数据的速度为kB/ms。在(a)中读取一个磁道的时间为8×(200÷(512/K))×200(ms);在(b)中为8×(400÷(512/K))×200(ms);在(c)中贝0为8×(600÷(512/K))×200(ms)。

4.某个文件系统管理一个4GB多的磁盘,它可以管理一个大小为4GB的文件,也可以管理一个包含4000个10KB的文件的目录树。但是在测试中,如果顺序读取4GB的大文件,只需要2min,而当遍历4000个10KB的文件时几乎需要运行1h。请分析引起这种性能差别的原因。 (分数:4.00)

__________________________________________________________________________________________ 顺序读取一个磁盘上仅有的一个文件,几乎没有旋转延迟和寻找时间。而读取多个文件则需要更多的寻找时间和旋转延迟(包括文件块和目录块)。

5.为什么要引入设备独立性?如何实现设备独立性? (分数:4.00)

__________________________________________________________________________________________ 引入设备独立性,可使应用程序独立于具体的物理设备。此时,用户用逻辑设备名来申请使用某类物理设备。当系统中有多台该类型的设备时,系统可将其中的任一台分配给请求进程,而不必局限于某一台指定

的设备。这样,可显著地改善资源的利用率及可适应性。独立性还可以使用户程序独立于设备的类型。如进行输出时,既可用显示终端,也可以用打印机。有了这种适应性,就可以很方便地进行输入/输出重定向。 为了实现设备独立性,在应用程序中应使用逻辑设备名称来请求使用某类设备。系统中必须设置一张逻辑设备表,用来进行逻辑设备到物理设备的映射,其中每个表目中包含了逻辑设备名、物理设备名和设备驱动程序入口地址等三项。当应用程序用逻辑设备名请求分配I/O设备时,系统必须为它分配相应的物理设备,并在LUT中建立一个表目,以后进程利用该逻辑设备名请求I/O操作时,便可从LUT中得到物理设备名和驱动程序入口地址。

6.Spooling系统由哪几部分组成?以打印机为例说明如何利用Spooling技术实现多个进程对打印机的共享。 (分数:4.00)

__________________________________________________________________________________________ Spooling系统由磁盘上的输入井和输出井、内存中的输入缓冲区和输出缓冲区以及输入进程和输出进程构成。

在用Spooling技术共享打印机时,对所有提出输出请求的用户进程,系统接受它们的请求时,并不真正把打印机分配给他们,而是为每个进程做两件事情:

(1)由输出进程在输出井中为它申请一空闲缓冲区,并将要打印的数据送入其中。

(2)输出进程再为用户进程申请一张空白的用户打印请求表,并将用户的打印请求填入表中,再将该表挂到打印队列上。

至此,用户进程觉得他的打印过程已经完成,而不必等待真正的慢速的打印过程的完成。当打印机空闲时,输出进程从请求队列首取出一张打印请求表,根据表中的要求将要打印的数据从输出井传送到内存输出缓冲区,再由打印机进行输出打印。打印完后,再处理打印队列中的下一个打印请求表,直至打印队列空。这样,虽然系统中只有1台打印机,但系统并未将它分配给任何进程,而只是为每个提出打印请求的进程在输出井中分配一个存储区(相当于一个逻辑设备),使每个用户进程都觉得自己在独占一台打印机,从而实现了对打印机的共享。

7.如果将某些功能从操作系统内核中搬移到设备控制器,请问会有什么优缺点? (分数:4.00)

__________________________________________________________________________________________ 优点:功能中存在的bug不会引起操作系统崩溃;使用专用的硬件和硬编码算法可以提高系统性能;将算法从内核中搬移出去,可以简化内核的设计。

缺点:存在的bug不易消除,需要新的硬件或者新版本的firmware;提高算法性能更加困难;嵌入式的算法可能与用户对设备的使用相冲突,从而可能导致性能退化。 [解析] 功能实现的层次取决于计算机系统的设计选择。在应用软件、操作系统和硬件系统中存在许多这样的实例。 8.Memory—Mapped I/O方式相对于I/O端口方式存在哪些优点? (分数:4.00)

__________________________________________________________________________________________ (1)不需要特殊的指令支持。Memory-Mapped I/O通过一般的访存指令访问设备控制寄存器,而I/O端口方式则需要类似于IN/OUT形式的访问指令,这些指令一般在C和C++等高级语言中无法实现。 (2)无须特殊的保护机制隔离用户进程和I/O。

(3)所有访问存储器的指令均可以访问控制寄存器,便于系统性能优化。

注: (1)I/O端口方式中,计算机系统使用了一个专门的170空间,对设备控制寄存器进行编址,而对I/O空间的访问需要使用特殊的机器指令。例如:IN RO,4指令是指将I/O空间的控制寄存器4的内容读入CPU寄存器R0。

(2)在Memory-Mapped I/O方式中,计算机系统专门使用一段特殊的地址来编址设备控制寄存器,对这些特殊地址的访问就是对设备控制寄存器的访问。

(3)Memory-Mapped I/O方式的缺点:现代计算机CPU都会对存储进行缓存,丢失缓存设备控制寄存器内容是灾难性的。

9.什么是设备无关性(device independence)? (分数:4.00)

__________________________________________________________________________________________

设备无关性一般是指程序可以通过一组统一的操作过程来操作设备,这种操作接口与具体的设备无关。 [解析] 按照操作系统的设计目标,任何子系统追求的目标应该是“性能”和“方便”。在I/O管理中“方便”一词可以特指为“设备无关性”。

I/O管理的设备无关性是一种透明性问题,任何系统想达到完全的透明性是非常困难的。比如在现代操作系统中为设备操作都提供了“打开”“关闭”“读”“写”等接口,程序员可以使用与文件相同的模式操作设备。这就体现了一种“设备无关性”。

设备无关性的另一种形式是“统一的命名”,在UNIX系统中为所有的设备均在/dev目录下创建了一个设备文件,用户可以向打开一个普通文件一样打开设备。

即使这样,UNIX的设备无关性也不是完全的。为了支持对特殊设备的特殊控制,UNIX提供了ioctl接口,方便程序对设备的控制。比如可以使用ioctl设置串口的波特率、校验位等。

另外在程序设计领域、图形接口设计和文件设计方面也会出现“设备无关性”的术语。文件的设备无关性是指无论文件出现在哪个平台上,这个平台上的软/硬件均可以解释和操作它,比如HTML文件和XML文件等。

10.请分别说明阻塞(blocking)和非阻塞(non-blocking)I/O应该使用的基本情形。为什么不可以只实现非阻塞I/O,而且使用非阻塞I/O来实现阻塞I/O? (分数:4.00)

__________________________________________________________________________________________ 一般说来,阻塞I/O比较适合于只是等待某个特殊事件的过程。例如磁盘、磁带和键盘的读操作,没有从这些设备中获得足够的信息就无法进行下一个步骤。

倘若I/O来自多个设备源,而且I/O到达的次序是不确定的时候,非阻塞I/O就非常有效。例如,网络服务器需要读取来自网络的多个请求;窗口管理器既可以读取键盘输入又可以获得鼠标输入等等。 如果只实现非阻塞I/O,那么在需要阻塞I/O时应用程序则需“忙”等待。

注: (1)阻塞I/O和非阻塞I/O分别称为同步I/O和异步I/O,它们是操作系统提供给上层应用的两种I/O接口方式。必须与程序控制I/O、中断驱动I/O、DMA I/O等方式区分开来,后者是操作系统与设备之间的接口。

(2)异步I/O通常出现在一些管理程序中,比如web服务器。操作系统的I/O管理程序也通常使用异步I/O,比如copy命令。操作系统利用I/0缓冲和异步I/O使得源设备和目标设备全速运转。

(3)非阻塞对于程序员来说比较复杂,因为程序员必须在I/O发生时进行异步汇聚(asynchronous rendezvous),利用语言特征和操作系统的例程完成I/O与处理机的协调。这也是操作系统提供同步I/O接口的必要性,即它可以简化编程逻辑。

11.在程序直接控制方式中,主机与设备之间存在一种握手协议。设备控制通过status寄存器的busy位指示其忙闲,而主机通过置command寄存器的command-ready位指示其I/O意愿。有没有可能只使用一位进行握手?为什么? (分数:4.00)

__________________________________________________________________________________________ 使用一位是不够的。

如果没有busy位,那么主机无法知道发送控制命令的时机,一味发送控制命令,要么会丢失命令,要么就会重复执行命令。

如果没有command-ready位,控制器就无法知道执行命令的时机,在不恰当的时机执行命令,则会执行错误命令。

注: 这是一种典型的I/O控制协议。

12.一个系统通常使用中断驱动I/O来管理一个串口,为什么使用程序直接控制I/O来管理终端集线器(一种可以有多个串口、连接多个终端的串口设备)? (分数:4.00)

__________________________________________________________________________________________ 这是因为程序直接控制I/O有时比中断驱动I/O方法的效率要高。特别是在I/O频繁发生,但是每次I/O比较短暂的时候。此时如果使用中断驱动I/O的方式,那么中断会频繁发生,大量的CPU时间浪费在中断程序处理上,引起系统效率的降低。

计算机学科专业基础综合计算机操作系统-14

计算机学科专业基础综合计算机操作系统-14(总分:99.99,做题时间:90分钟)一、综合应用题(总题数:26,分数:100.00)1.在许多UNIX系统中,索引结点往往放在磁盘的开始处。一种可选的设计是在文件创建时分配索引结点,而且索引结点作为文件的第一块。请讨论这两种方法的优劣。______________________
推荐度:
点击下载文档文档为doc格式
8jku268r529kfa2517te4mn0g1mmp000jq9
领取福利

微信扫码领取福利

微信扫码分享