9.9 KiB
设备管理习题
I/O概述
I/O设备的基本概念、
例题 以下关于设备属性的叙述中,正确的是()。
$A.$字符设备的基本特征是可寻址到字节,即能指定输入的源地址或输出的目标地址
$B.$共享设备必须是可寻址的和可随机访问的设备
$C.$共享设备是指同一时间内允许多个进程同时访问的设备
$D.$在分配共享设备和独占设备时都可能引起进程死锁
解:$B$。可寻址是块设备的基本特征,$A$选项不正确。共享设备是指一段时间内允许多个进程同时访问的设备,因此$C$选项不正确。分配共享设备是不会引起进程死锁的,$D$选项不正确。
I/O控制方式
通道控制方式
例题 ()用作连接大量的低速或中速$I/O$设备。
$A.$数据选择通道
$B.$字节多路通道
$C.$数据多路通道
$D.I/O$处理机
解:$B$。字节多路通道,它通常含有许多非分配型子通道,其数量可达几十到几百个,每个通道连接一台$I/O$设备,并控制该设备的$I/O$操作。这些子通道按时间片轮转方式共享主通道。各个通道循环使用主通道,各个通道每次完成其$I/O$设备的一个字节的交换,然后让出主通道的使用权。这样,只要字节多路通道扫描每个子通道的速率足够快,而连接到子通道上的设备的速率不太高时,便不至于丢失信息。
例题 系统将数据从磁盘读到内存的过程包括以下操作:
①$DMA$控制器发出中断请求
②初始化$DMA$控制器并启动磁盘
③从磁盘传输一块数据到内存缓冲区
④执行“$DMA$结束”中断服务程序
正确的执行顺序是()。
$A.$③→①→②→④
$B.$②→③→①→④
$C.$②→①→③→④
$D.$①→②→④→③
解:$B$。在开始$DMA$传输时,主机向内存写入$DMA$命令块,向DMA 控制器写入该命令块的地址,启动$I/O$设备。然后,$CPU$继续其他工作,DMA 控制器则继续直接操作内存总线,将地址放到总线上开始传输。整个传输完成后,$DMA$控制器中断$CPU$。因此执行顺序是$2,3,1,4$。
例题 在一个$32$位$100MHz$的单总线计算机系统中(每$10ns$一个周期),磁盘控制器使用$DMA$以$40MB/s$的速率从存储器中读出数据或向存储器写入数据。假设计算机在没有被周期挪用的情况下,在每个循环周期中读取并执行一个$32$位的指令。这样做,磁盘控制器使指令的执行速度降低了多少?
解:在$32$位单总线的系统中,磁盘控制器使用$DMA$传输数据的速率为$40MB/s$,即每$100ns$传输$4B$($32$位)的数据。控制器每读取$10$个指令就挪用一个周期。因此,磁盘控制器使指令的执行速度降低了$10%$。
I/O软件层次结构
例题 用户程序发出磁盘$I/O$请求后,系统的处理流程是:用户程序→系统调用处理程序→设备驱动程序→中断处理程序。其中,计算数据所在磁盘的柱面号、磁头号、扇区号的程序是()。
$A.$用户程序
$B.$系统调用处理程序
$C.$设备驱动程序
$D.$中断处理程序
解:$C$。计算磁盘号、磁头号和扇区号的工作是由设备驱动程序完成的。题中的功能因设备硬件的不同而不同,因此应由厂家提供的设备驱动程序实现。
I/O核心子系统
缓冲区管理
例题 下列选项中,不能改善磁盘设$I/O$性能的是()。
$A.$重排$I/O$请求次序
$B.$在一个磁盘上设置多个分区
$C.$预读和滞后写
$D.$优化文件物理块的分布
解:$B$。对于$A$,重排$I/O$请求次序也就是进行$I/O$调度,使进程之间公平地共享磁盘访问,减少$I/O$完成所需要的平均等待时间。对于$C$,缓冲区结合预读和滞后写技术对于具有重复性及阵发性的$I/O$进程改善磁盘$I/О$性能很有帮助。对于$D$,优化文件物理块的分布可以减少寻找时间与延迟时间,从而提高磁盘性能。在一个磁盘上设置多个分区与改善设备$I/O$性能并无多大联系,相反还会带来处理的复杂性,降低利用率。
例题 某文件占$10$个磁盘块,现要把该文件的磁盘块逐个读入主存缓冲区,并送用户区进行分析,假设一个缓冲区与一个磁盘块大小相同,把一个磁盘块读入缓冲区的时间为$100\mu s$,将缓冲区的数据传送到用户区的时间是$50\mu s$,$CPU$对一块数据进行分析的时间为$50\mu s$。在单缓冲区和双缓冲区结构下,读入并分析完该文件的时间分别是()。
A.1500\mu s,1000\mu s
B.1550\mu s,1100\mu s
C.1550\mu s,1550\mu s
D.2000\mu s,2000\mu s
解:$B$。在单缓冲区中,当上一个磁盘块从缓冲区读入用户区完成时,下一磁盘块才能开始读入,分析本块数据的操作在下一块的写入内存操作时一同进行,也就是当最后一块磁盘块读入用户区完毕时所用的时间为$150\times10=1500\mu s$,加上处理最后一个磁盘块的时间$50\mu s$,得$1550\mu s$。双缓冲区中,不存在等待磁盘块从缓冲区读入用户区的问题,一块在读入内存,一块在读出和分析内存,$10$个磁盘块可以连续从外存读入主存缓冲区,加上将最后一个磁盘块从缓冲区送到用户区的传输时间$50\mu s$及处理时间$50\mu s$,也就是$100\times10+50+50=1100\mu s$。
例题 缓冲区管理着重要考虑的问题是()。
$A.$选择缓冲区的大小
$B.$决定缓冲区的数量
$C.$实现进程访问缓冲区的同步
$D.$限制进程的数量
解:$C$。在缓冲机制中,无论是单缓冲、多缓冲还是缓冲池,由于缓冲区是一种临界资源,所以在使用缓冲区时都有一个申请和释放(即互斥)的问题需要考虑。
例题 考虑单用户计算机上的下列$I/O$操作,需要使用缓冲技术的是()。
Ⅰ.图形用户界面下使用鼠标
Ⅱ.多任务操作系统下的磁带驱动器(假设没有设备预分配)
Ⅲ.包含用户文件的磁盘驱动器
Ⅳ.使用存储器映射$I/O$,直接和总线相连的图形卡
$A.$Ⅰ、Ⅲ
$B.$Ⅱ、Ⅳ
$C.$Ⅱ、Ⅲ、Ⅳ
$D.$全选
解:$D$。在鼠标移动时,若有高优先级的操作产生,为了记录鼠标活动的情况,必须使用缓冲技术,Ⅰ正确。由于磁盘驱动器和目标或源$I/O$设备间的吞吐量不同,必须采用缓冲技术,Ⅱ正确。为了能使数据从用户作业空间传送到磁盘或从磁盘传送到用户作业空间,必须采用缓冲技术,Ⅲ 正确。为了便于多幅图形的存取及提高性能,缓冲技术是可以采用的,特别是在显示当前一幅图形又要得到下一幅图形时,应采用双缓冲技术,Ⅳ正确。
例题 在系统内存中设置磁盘缓冲区的主要目的是()。
$A.$减少磁盘$I/O$次数
$B.$减少平均寻道时间
$C.$提高磁盘数据可靠性
$D.$实现设备无关性
解:$A$。设置硬盘缓冲区的目的就是为了解决内存速度和内存速度不平衡的问题。通过高速缓存能把经常访问的数据放入内存从而减少磁盘$I/O$次数。
假脱机技术
例题 采用$SPOOLing$技术的计算机系统,外围计算机需要()。
$A.$一台
$B.$多台
$C.$至少一台
$D.0$台
解:$D$。$SPOOLing$技术需要使用磁盘空间(输入井和输出井)和内存空间(输入/输出缓冲区),不需要外围计算机的支持。
磁盘管理
磁盘操作时间
例题 在下列有关旋转延迟的叙述中,不正确的是()。
$A.$旋转延迟的大小与磁盘调度算法无关
$B.$旋转延迟的大小取决于磁盘空闲空间的分配程序
$C.$旋转延迟的大小与文件的物理结构有关
$D.$扇区数据的处理时间对旋转延迟的影响较大
解:$D$。磁盘调度算法是为了减少寻找时间。扇区数据的处理时间主要影响传输时间。选项$B$、$C$均与旋转延迟有关,文件的物理结构与磁盘空间的分配方式相对应,包括连续分配、链接分配和索引分配。连续分配的磁盘中,文件的物理地址连续;而链接分配方式的磁盘中,文件的物理地址不连续,因此与旋转延迟都有关。
延迟时间处理
例题 假设磁盘的每个磁道分成$9$个块,现在一个文件有$A,B,\cdots,I$共$9$条记录,每条记录的大小与块的大小相等,设磁盘转速为$27ms/$转,每读出一块后需要$2ms$的处理时间。若忽略其他辅助时间,试问:
1)若顺序存放这些记录顺序读取,处理该文件要多少时间?
2)若要顺序读取该文件,记录如何存放处理时间最短?
解:由题目所给条件可知,磁盘转速为$27ms/$转,每个磁道存放$9$条记录,因此读出$1$条记录的时间是$27\div9=3ms$。
1)读出并处理记录$A$需要$5ms$,此时读写头已转到记录$B$的中间,因此为了读出记录$B$,必须再转接近一圈(从记录$B$的中间到记录$B$)。后续$8$条记录的读取及处理与此相同,即当前的读$3ms$和旋转到后面一个块的$27ms$*(处理的$2ms$在$27ms$中),但最后一条记录的读取与处理只需要$5ms$(因为不需要为了下一个块的处理进行旋转)。于是,处理$9$条记录的总时间为 $8\times(27+3)+(3+2)=245ms$。
2)由于读出并处理一条记录需要$5ms$,当读出并处理记录$A$时,不妨设记录$A$放在第$1$个盘块中,读写头已移到第$2$个盘块的中间,为了能顺序读到记录$B$,应将它放到第$3$个盘块中,即应将记录按下表顺序存放:
| 盘块 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 |
|---|---|---|---|---|---|---|---|---|---|
| 记录 | A | F | B | G | C | H | D | I | E |
这样,处理一条记录并将磁头移到下一条记录的时间是$3$(读出)+$2$(处理)+$1$(等待)=$6ms$。
所以,处理$9$条记录的总时间为$6\times8+5=53ms$。