1、全国自考操作系统(设备管理)模拟试卷 3 及答案与解析一、单项选择题1 用户编制的程序与实际使用的物理设备无关是由_功能实现的。(A)设备分配(B)设备驱动(C)虚拟设备(D)设备独立性2 Spooling 系统提高了的利用率。(A)独占设备(B)共享设备(C)虚拟设备(D)用户设备3 用户在终端上输入一个 kill 命令后,将发出一个_。(A)外部中断(B)内部中断(C)软中断(D)自愿中断4 与文件系统关系密切的系统调用是_。(A)exit(B) signal(C) exec(D)shmctl5 使用缓冲的目的是解决_的问题。(A)CPU 与 IO 设备之间速度不匹配(B)节省内存(C)提
2、高 IO 设备的数据传送速度(D)提高 IO 设备的利用率6 下面关于通道的叙述中,正确的是_。(1)通道相当于一个功能简单的处理机(2)通道完成数据输入输出工作(3)通道可以与 CPU 共用一个内存(A)(1)和(2)(B) (1)和(3)(C) (2)和(3)(D)都是7 当对磁盘的存取很繁忙时,下列的调度算法中,平均等待时间最大的调度算法是_。(A)先来先服务调度(FCFS)(B)最短寻道时间优先法(SSTF)(C)电梯调度算法(SCAN)(D)巡回扫描法(C-SCAN)8 UNIX 在块设备读写时设置延迟写的原因是_ 。(A)buf 含有 B-BUSY 标志,等该标志清除后再写(B)正
3、在读写该缓存,缓存控制块含有“忙标志”,等该标志清除后再写(C)为了减少 IO 次数(D)IO 设备正忙,等设备处于空闲状态后再写二、填空题9 假定计算机的输入可用三种方式:查询、中断、通道,从提高 CPU 工作的效率来分析,从最高至最低的排列顺序为_。10 如果计算机配置了相同的 8 个终端,此时需要配置_个驱动程序。11 UNIX 系统中请求设备工作时必须给出_ 和_,前者决定运行哪个驱动程序,后者指出由哪台具体设备工作。12 在 UNIX 系统中,当处理机执行到 trap 指令时,处理机的状态就从_变为_。13 假定一磁盘有 180 个柱面,编号为 0179,当前存取臂的位置是 125
4、号柱面,并且刚刚完成了 135 号柱面上的服务请求。如果存在请求序列“76,12,84 ,167,100, 142,89,166,122” ,且磁盘移动采用电梯调度算法,请列出实际处理上述请求的顺序:_。14 磁盘驱动调度由_和_两部分组成。15 UNIX 系统中有两种读方式,即_和_ 。三、简答题16 设备管理的主要目标和所实现的功能是什么?17 用户能否直接存取系统硬盘中的任何信息?18 通道的作用是什么? 按信息交换方式它可分为哪几类?19 说明 UNIX 为块设备 IO 设置多缓冲区的目的。20 说明在什么样的情况下一个缓存控制块能同时处于某两个队列中和一个缓存控制块只处于一个队列中。
5、21 预读是根据什么思想确立的?四、判断题22 利用缓冲池可加快主机与外设间传输数据的速度。( )(A)正确(B)错误23 在把中断分为外部中断和内部中断两类之后,陷入属于内部中断。( )(A)正确(B)错误24 字符块输出一般采用异步方式输出。( )(A)正确(B)错误全国自考操作系统(设备管理)模拟试卷 3 答案与解析一、单项选择题1 【正确答案】 D【知识模块】 设备管理2 【正确答案】 A【知识模块】 设备管理3 【正确答案】 C【知识模块】 设备管理4 【正确答案】 C【试题解析】 使用 exec 系列的系统调用,进程用一个文件系统中可执行文件中的代码和数据取代当前正在运行的代码和数
6、据,从而使主调进程的映像改换成新的映像。【知识模块】 设备管理5 【正确答案】 A【知识模块】 设备管理6 【正确答案】 D【知识模块】 设备管理7 【正确答案】 A【知识模块】 设备管理8 【正确答案】 C【试题解析】 对于一次写操作未写满缓冲区时,就采用“延迟写”,就是把这个缓冲区的标志位置上延迟写的标志,表示具体写操作延迟到以后的某个时机进行。这样减少了对文件存储设备写盘的次数,即减少了 IO 次数。【知识模块】 设备管理二、填空题9 【正确答案】 通道、中断、查询【知识模块】 设备管理10 【正确答案】 1【知识模块】 设备管理11 【正确答案】 主设备号、次设备号【知识模块】 设备管
7、理12 【正确答案】 用户态、核心态【知识模块】 设备管理13 【正确答案】 122、100、89、84、76、12、142、166、167【知识模块】 设备管理14 【正确答案】 移臂调度、旋转调度【知识模块】 设备管理15 【正确答案】 一般(同步)读、提前(预) 读【知识模块】 设备管理三、简答题16 【正确答案】 设备管理的主要目标和所实现的功能是:(1)方便性。为用户提供方便、统一的设备使用界面,将复杂的具体的设备操作控制过程隐藏起来,通过统一的接口进行 IO 操作,并能满足用户使用外设的各种要求。(2)并行性。提高外部设备的利用率,尽量提高并行程度。设备管理应能根据当时设备的忙闲状
8、况进行分配,实现资源共享。另一方面,要充分发挥设备和主机的效率,有效地解决中央处理器与外设之间传输速率不协调的问题。(3)均衡性。用户使用外设常有很大的随机性,设备管理应能根据当时设备的忙闲状况进行分配,使系统中各种设备的分配和运行具有均衡性。(4)独立性。用户程序应独立于设备,即实现程序与设备的无关性,当物理设备发生意外或更改时,用户程序不必修改,就可使用系统分配的其他设备。【知识模块】 设备管理17 【正确答案】 在现代操作系统的管理下,用户不能直接存取系统硬盘中的任何信息,因为只有操作系统的内核才能访问系统中的硬件,用户只有通过系统调用才能进入内核,操作系统将对用户的权限进行检查,只允许
9、用户访问权限许可的信息。只有在无操作系统的简单监控系统和某些单用户操作系统如 MS DOS 等的计算机中,普通用户才能通过较原始的输入输出方法不受限制地存取系统硬盘中的信息。【知识模块】 设备管理18 【正确答案】 IO 通道是一种硬件设施,它不仅仅是一个电气连接通路,而是带有专用处理器的、有很强 IO 处理功能的智能部件。它可以独立地完成系统处理器交付的 IO 操作任务,此时,该部分的 I O 总线直接与通道相连而不与处理器相连。通道具有自己专门的指令集,即通道指令,用于与连接到总线上的 IO 控制器通信,在设备与存储器之间传送数据。采用这种方式,系统主处理器只需进行 IO操作的委托,其后的
10、所有 IO 操作均由通道自己进行。通道执行来自主处理器的通道程序,完成后只需向系统处理器发出中断,请求 IO 结束处理。可见,这种方式可以形成系统处理器与 IO 设备之间的并行操作。根据信息交换方式,通道可以分成 3 种类型:字节多路通道、数据选择通道和成组多路通道。(1)字节多路通道主要用于连接大量低、中速、以字节作为传输单位的 IO 设备,子通道按时间片轮转方式共享主通道,按字节方式进行数据传送。一般支持低速设备(如终端 ),每次可对多个低速设备进行数据传输。(2)数据选择通道主要用以支持高速设备(如磁盘) ,每次只对一个设备进行数据传输,一段时间内只能执行一道通道程序、控制一台设备进行数
11、据传送。通道被某台设备占用后,便一直处于独占状态,直至设备数据传输完毕释放该通道,主要用于连接多台高速设备。(3)成组多路通道以分时方式同时执行几道通道程序,每条通道指令可以传送一组数据。成组多路通道是将成组选择通道传输速率高和字节多路通道能使各子通道分时并行操作的优点相结合而形成的一种新通道,子通道按时间片轮转方式共享主通道。所以成组多路通道既具有选择通道传输速率较高的优点,也具有字节多路通道分时操作可以同时管理多台设备 IO 操作的优点。【知识模块】 设备管理19 【正确答案】 UNIX 为块设备 IO 设置多缓冲区的目的是提高 CPU 与 IO设备的并行程度,减少对物理盘块的读写次数。当
12、从盘上读数据时,如果数据已经在缓冲区中,则核心就直接从缓冲区中读出,而不必从盘中读;仅当所需数据不在缓冲区中时,核心才把数据从盘中读到缓冲区,然后再由缓冲区读到数据区。当要向盘写数据时,先将信息写入缓冲区,尽量等到缓冲区数据块写满了后,才写物理盘块。核心尽量使数据在缓冲区停留较长时间,以减少对磁盘 IO 的次数。【知识模块】 设备管理20 【正确答案】 以下情况一个缓存控制块能同时处于某两个队列中。(1)在自由 buf 队列和 NODEV 队列:在系统初启时,所有空闲缓冲区的 buf 既在自由 buf 队列,又在 NODEV 的设备 buf 队列中。(2)在自由 buf 队列和设备队列:当一个
13、读写操作缓冲区的操作完成后,就要求立即释放所占用的缓冲区,并加入到自由 buf 队列的队尾,表示它可以被考虑移作他用。这个 buf 仍留在原设备 buf 队列中,也就是说一个缓冲区的 buf 处于空闲状态时,总是同时存在于这两个队列中。(3)在设备 buf 队列和 IO 请求队列:当要读写的盘块不在设备队列时,就需要进行物理 IO。系统先生成 IO 请求块,把它挂在相应设备的 IO 请求队列的队尾,同时也位于该设备 buf 队列中。(4)在 NODEV 队列和 IO 请求队列中:当需要更新文件系统超级块时,相应的缓存既在 NODEV 队列中也在 IO 请求队列中。以下情况一个缓存控制块只处于一
14、个队列中。(1)仅在设备队列中:正在存取设备队列中缓冲区的数据时,缓冲的 b_flags 标志位被置为“忙”,它一定位于相应的设备 buf 队列中,而不在自由 buf 队列中。(2)仅在 NODEV 队列:系统正在使用缓冲向程序传递参数时,缓冲的 b_flags 标志位被置为“忙 ”,它一定位于 NODEV 队列中,而不在自由 buf 队列中。【知识模块】 设备管理21 【正确答案】 读一般是要同步等待的,只有当数据读到进程的变量区才能进行下一个处理操作。当一个进程顺序读取文件时,为提高 CPU 和块设备工作的并行程度,核心还提供了预读盘块函数 breada,该函数包含两个读盘块的参数。其实现
15、思想是:核心检查第一块是否在缓冲区中,如不在,则调用磁盘驱动程序同步读。如第二块不在缓冲区中,核心指示盘驱动程序异步读它。当进程需要第二块数据时,很可能系统已经将它从磁盘读入了缓冲区,就可直接从缓冲区中取走第二块的数据,这样就减少了进程等待时间。通过预读获得的数据,不一定总是有用,因为进程可能在某种情况下不进行顺序读了,这样这次预读操作就浪费了。系统遵循的是“绝不等待原则” ,与其让设备闲着,还不如让它做一些事,尽管这些工作可能是白做了。【知识模块】 设备管理四、判断题22 【正确答案】 B【试题解析】 缓冲技术可以用来匹配 CPU 与设备的速度的差异和负荷的不均衡,从而减少磁盘 IO 的次数,节省系统开销,提高处理机与外设的并行程度。但本身并不能加快主机与外设间传输数据的速度。与外设间传输数据的速度主要由驱动程序和设备的性能决定。【知识模块】 设备管理23 【正确答案】 A【知识模块】 设备管理24 【正确答案】 A【试题解析】 字符块输出一般与程序的下一步执行无关,不必等待其输出完成,故采用异步方式输出。【知识模块】 设备管理