首页 > 其他分享 >操作系统第九章课后习题全解:I/O设备

操作系统第九章课后习题全解:I/O设备

时间:2024-11-19 16:48:40浏览次数:3  
标签:应用题 中断 课后 磁盘 全解 习题 解答 CPU 设备

文章目录


单项选择题解答

(1)以下关于I/O设备的中断控制方式说法正确的是。
  • A、CPU对I/O设备直接进行控制,采取忙等待方式
  • B、仅在传送一个或多个数据块的开始和结束时,才需CPU干预
  • C、CPU委托专用的I/O处理机来实现I/O设备与内存之间的信息交换
  • D、在传输过程中,CPU与I/O设备处于并行工作状态,只是当传输结束时,才由控制器向CPU发送中断信号

答案:D
解释: 中断控制方式允许CPU在I/O操作期间执行其他任务,仅在I/O操作完成时通过中断信号通知CPU。

(2)通道是一种。
  • A、保存I/O信息的部件
  • B、传输信息的电子线路
  • C、通用处理机
  • D、专用处理机

答案:D
解释: 通道是一种专用处理机,用于控制和管理I/O设备与内存之间的数据传输。

(3)单处理机系统中,可并行的是。
  • I.进程与进程
  • II. 处理机与设备
  • III. 处理机与通道
  • IV. 设备与设备

答案:D
解释: 在单处理机系统中,处理机与设备(II)、处理机与通道(III)以及设备与设备(IV)可以并行工作。

(4)缓冲有硬件缓冲和软件缓冲之分,硬件缓冲使用专用的寄存器作为缓冲器。软件缓冲使用。
  • A、在内存中划出的单元
  • B、专用的寄存器
  • C、在外存中划出的单元
  • D、高速缓冲区

答案:A
解释: 软件缓冲通常使用在内存中划出的单元作为缓冲区。

(5)程序员利用系统调用打开I/O设备时,通常使用的设备标识是。
  • A.逻辑设备名
  • B.物理设备名
  • C.主设备号
  • D.从设备号

答案:A
解释: 逻辑设备名是程序员在系统调用中使用的设备标识,它与物理设备名映射,以便用户程序可以独立于具体的物理设备。

(6)使用户编制的程序与实际使用的物理设备无关是由功能实现的。
  • A、设备分配
  • B、设备驱动
  • C、虚拟设备
  • D、设备独立性

答案:D
解释: 设备独立性允许用户程序独立于具体的物理设备,提高了程序的可移植性和设备的可用性。

(7)用户程序发出磁盘I/O请求后,系统的正确处理流程是。
  • A.用户程序→系统调用处理程序→中断处理程序→设备驱动程序
  • B.用户程序→系统调用处理程序→设备驱动程序→中断处理程序
  • C.用户程序→设备驱动程序→系统调用处理程序→中断处理程序
  • D.用户程序→设备驱动程序→中断处理程序→系统调用处理程序

答案:B
解释: 用户程序通过系统调用请求I/O操作,系统调用处理程序将请求传递给设备驱动程序,设备驱动程序控制硬件执行操作,完成后通过中断处理程序通知系统。

(8)磁盘输入输出操作中,需要做的工作可以不包括。
  • A、移动移动臂使磁头移动到指定的柱面
  • B、确定磁盘的容量
  • C、旋转磁盘使指定的扇区处于磁头位置下
  • D、让指定的磁头读写信息,完成信息传送操作

答案:B
解释: 确定磁盘的容量不是每次I/O操作都需要执行的工作,而是在磁盘初始化或格式化时确定的。

(9)执行一次磁盘输入输出操作所花费的时间包括。
  • A、寻道时间、延迟时间、传送时间和等待时间
  • B、寻道时间、等待时间、传送时间
  • C、等待时间、寻道时间、延迟时间和读写时间
  • D、寻道时间、延迟时间、传送时间

答案:D
解释: 磁盘I/O操作的时间包括寻道时间(移动磁头到正确柱面)、延迟时间(等待磁盘旋转到正确的扇区)、以及传送时间(数据传输时间)。

(10)在磁盘调度算法中,算法可能导致某些访问请求长时间得不到服务,从而造成饥饿现象。
  • A、FCFS
  • B、SSTF
  • C、SCAN
  • D、CSCAN

答案:B
解释: SSTF(最短寻道时间优先)可能导致某些请求被频繁跳过,如果它们的位置与当前磁头位置较远,从而可能造成饥饿现象。

(11)如果有多个中断同时发生,系统将根据中断优先级响应优先级最高的中断请求。若要调整中断事件的响应次序,可以利用。
  • A、中断向量
  • B、中断嵌套
  • C、中断响应
  • D、中断屏蔽

答案:D
解释: 中断屏蔽可以用来调整中断的响应次序,通过屏蔽某些中断,可以确保更高优先级的中断得到处理。

(12)下列关于中断I/O方式和DMA方式比较的叙述中,错误的是。
  • A.中断I/O方式请求的是CPU处理时间,DMA方式请求的是总线使用权。
  • B. 中断响应发生在一条指令执行结束后,DMA响应发生在一个总线事务完成后。
  • C.中断I/O适用于所有外部设备,DMA方式仅适用于快速外部设备。
  • D.中断I/O方式下数据传送通过软件完成,DMA方式下数据传送由硬件完成。

答案:C
解释: 中断I/O方式适用于所有外部设备,而DMA方式也可以适用于非快速设备,只要设备能够支持DMA传输。

填空题解答

(1)I/O设备按传输速率分类,可分为 低速设备 、 中速设备 和 高速设备 等三种;按信息交换的单位分类,可分为 字符设备 和 块设备 。按资源分配的角度分类,可分为 独占设备 、 共享设备 和 虚拟设备 。

填空:

  • 低速设备
  • 中速设备
  • 高速设备
  • 字符设备
  • 块设备
  • 独占设备
  • 共享设备
  • 虚拟设备
(2)缓冲区管理是为了缓和CPU与I/O设备间速度不匹配的矛盾、减少中断CPU的次数,放宽对中断响应的要求、提高CPU、通道和I/O设备之间的并行性的矛盾。

填空:

  • 缓和CPU与I/O设备间速度不匹配的矛盾
  • 减少中断CPU的次数
  • 放宽对中断响应的要求
  • 提高CPU、通道和I/O设备之间的并行性
(3)按照信息交换的方式,一个系统中可设立三种类型的通道,即 字节多路通道 、数组选择通道 和 数组多路通道。

填空:

  • 字节多路通道
  • 数组选择通道
  • 数组多路通道
(4)设备独立性也称设备无关性,其基本思想是:用户程序不直接使用 物理设备名 ,而只能使用 逻辑设备名 ;系统在实际执行时,将 逻辑设备名 转换为 物理设备名。

填空:

  • 物理设备名
  • 逻辑设备名
  • 逻辑设备名
  • 物理设备名
(5)打印机虽然是独享设备,但是通过 SPOOLing技术,可以将它改造为一台可供多个用户共享的设备。

填空:

  • SPOOLing技术

简答题解答

(1)有几种I/O控制方式?各有什么特点?

解答:
I/O控制方式主要有三种:程序控制I/O、中断驱动I/O和直接存储器访问(DMA)。

  • 程序控制I/O:CPU直接控制I/O操作,忙等待方式,效率低。
  • 中断驱动I/O:在数据传输过程中,CPU可以执行其他任务,传输完成后通过中断通知CPU,提高了CPU利用率。
  • DMA:数据传输由专门的DMA控制器控制,不需要CPU参与,适用于高速数据传输。
(2)什么是通道?通道、CPU、内存和外设之间的工作关系如何?

解答:
通道是一种专用的处理机,负责管理I/O设备和内存之间的数据传输。它允许CPU在数据传输期间执行其他任务,提高了系统的并行性和效率。通道控制I/O设备的数据流,而CPU负责处理数据和控制通道。

(3)什么是缓冲?为什么要引入缓冲?

解答:
缓冲是一种存储区域,用于暂存从I/O设备传来的数据或待发送到I/O设备的数据。引入缓冲的目的是为了缓和CPU与I/O设备间速度不匹配的矛盾,减少对CPU的中断,提高数据传输效率。

(4)在某系统中,从磁盘将一块数据输入到缓冲区需要花费的时间为T,CPU对一块数据进行处理的时间为C,将缓冲区的数据传送到用户区所花的时间为M,那么在单缓冲和双缓冲情况下,系统处理大量数据时,一块数据的处理时间为多少?

解答:

  • 单缓冲:总时间为 T + C + M。
  • 双缓冲:可以并行处理,总时间为 T + C + M,因为在一个缓冲区的数据被处理的同时,另一个缓冲区可以进行数据的输入或输出。
(5)简述缓冲池的组成及工作原理。

解答:
缓冲池由多个缓冲区组成,用于存储I/O数据。工作原理是将数据先读入缓冲池,然后按需传送到内存或从内存写入。这样可以减少对物理设备的直接访问次数,提高数据传输效率。

(6)为什么要引入SPOOLing系统?简述SPOOLing系统的组成及工作原理。

解答:
SPOOLing系统(Simultaneous Peripheral Operations On-Line)用于将独占设备改造为共享设备,提高设备的利用率。它由输入井、输出井、输入缓冲区和输出缓冲区组成。工作原理是将数据先存入缓冲区,然后逐步处理,实现了设备的虚拟共享。

(7)什么是中断?什么是中断处理?什么是中断响应?

解答:

  • 中断:CPU在执行程序过程中,由于外部事件或内部事件的请求,暂时中断当前程序的执行,转而去处理这一请求,处理完毕后再返回原程序继续执行的过程。
  • 中断处理:系统对中断请求进行处理的过程,包括保存现场、分析中断原因、执行中断服务程序等。
  • 中断响应:系统对中断请求的响应,即在检测到中断信号后,系统暂停当前程序的执行,转而进行中断处理。
(8)用于设备分配的数据结构有哪些?它们之间的关系是什么?

解答:
常用的数据结构包括设备控制表、设备分配表和通道分配表。它们之间的关系是:设备控制表描述了设备的静态特性,设备分配表记录了设备的动态分配情况,通道分配表管理通道的分配状态。

(9)什么叫“设备独立性”?如何实现“设备独立性”?

解答:
设备独立性是指用户程序独立于具体使用的物理设备。实现设备独立性的方法是使用逻辑设备名代替物理设备名,系统在执行时将逻辑设备名映射为物理设备名。

(10)什么是设备驱动程序?为什么要有设备驱动程序?用户进程怎样使用驱动程序?

解答:
设备驱动程序是用于控制和协调硬件设备操作的软件。它的必要性在于它提供了硬件操作的抽象,使得用户程序可以通过统一的接口与硬件设备交互。用户进程通过系统调用请求设备驱动程序执行具体的I/O操作。

(11)磁盘访问时间有哪几部分组成?每部分时间应如何估算?其中哪一个时间是磁盘调度的主要目标?

解答:
磁盘访问时间由寻道时间、延迟时间和传输时间三部分组成。寻道时间是磁头移动到指定磁道的时间,延迟时间是磁盘旋转到指定扇区的时间,传输时间是数据传输的时间。磁盘调度的主要目标是减少寻道时间和延迟时间。

(12)目前常用的磁盘调度算法有哪几种?每种算法优先考虑的问题是什么?

解答:
常用的磁盘调度算法包括先来先服务(FCFS)、最短寻道时间优先(SSTF)、扫描(SCAN)和循环扫描(CSCAN)。FCFS考虑的是公平性,SSTF考虑的是减少寻道时间,SCAN和CSCAN考虑的是减少平均寻道时间,提高效率。

应用题解答

应用题-1

某活动头磁盘有200个磁道,编号为0~199。磁头当前在143道服务。对于请求序列86、147、91、177、94、150、102、175、130,求在下列调度策略下的寻道顺序及寻道长度。

(1)FIFO

  • 寻道顺序:143, 86, 147, 91, 177, 94, 150, 102, 175, 130
  • 寻道长度:57, 61, 56, 86, 83, 56, 48, 73, 45
  • 平均寻道长度:{57 + 61 + 56 + 86 + 83 + 56 + 48 + 73 + 45}/{9} = 62.78

(2)SSTF

  • 寻道顺序:143, 147, 150, 130, 102, 94, 91, 86, 175, 177
  • 寻道长度:4, 3, 20, 28, 8, 3, 5, 89, 2
  • 平均寻道长度:{4 + 3 + 20 + 28 + 8 + 3 + 5 + 89 + 2}/{9} = 18

(3)SCAN(磁头移动方向先从小到大)

  • 寻道顺序:143, 147, 150, 175, 177, 130, 102, 94, 91, 86
  • 寻道长度:4, 3, 25, 2, 47, 28, 8, 3, 5
  • 平均寻道长度:{4 + 3 + 25 + 2 + 47 + 28 + 8 + 3 + 5}/{9} = 13.89

(4)CSCAN(磁头移动方向先从小到大)

  • 寻道顺序:143, 147, 150, 175, 177, 86, 91, 94, 102, 130
  • 寻道长度:4, 3, 25, 2, 91, 5, 3, 8, 28
  • 平均寻道长度:{4 + 3 + 25 + 2 + 91 + 5 + 3 + 8 + 28}/{9} = 18.78

从小到大的顺序排列:SCAN, SSTF, CSCAN, FIFO。

结论

  • FIFO:顺序为143, 86, 147, 91, 177, 94, 150, 102, 175, 130,平均寻道长度为62.78。
  • SSTF:顺序为143, 147, 150, 130, 102, 94, 91, 86, 175, 177,平均寻道长度为18。
  • SCAN:顺序为143, 147, 150, 175, 177, 130, 102, 94, 91, 86,平均寻道长度为13.89。
  • CSCAN:顺序为143, 147, 150, 175, 177, 86, 91, 94, 102, 130,平均寻道长度为18.78。

排序结果为SCAN, SSTF, CSCAN, FIFO。
为了更好地理解每个磁盘调度算法的寻道顺序和移动距离,我们可以为每个算法绘制一个图表。以下是每个算法的图表和平均寻道长度的计算。

1. FIFO(先来先服务)

被访问的下一磁道号移动距离
1430
8657
14761
9156
17786
9483
15056
10248
17573
13045

平均寻道长度:{57 + 61 + 56 + 86 + 83 + 56 + 48 + 73 + 45}/{9} = 62.78

2. SSTF(最短寻道时间优先)

被访问的下一磁道号移动距离
1430
1474
1503
13020
10228
948
913
865
17589
1772

平均寻道长度: {4 + 3 + 20 + 28 + 8 + 3 + 5 + 89 + 2}/{9} = 18

3. SCAN(扫描算法)

被访问的下一磁道号移动距离
1430
1474
1503
17525
1772
13047
10228
948
913
865

平均寻道长度: {4 + 3 + 25 + 2 + 47 + 28 + 8 + 3 + 5}/{9} = 13.89

4. CSCAN(循环扫描算法)

被访问的下一磁道号移动距离
1430
1474
1503
17525
1772
8691
915
943
1028
13028

平均寻道长度: {4 + 3 + 25 + 2 + 91 + 5 + 3 + 8 + 28}/{9} = 18.78

这些图表展示了每个算法的寻道顺序和移动距离,以及计算平均寻道长度的过程。

应用题解答

应用题-2

某磁盘共有200个柱面(0-199),移动臂当前位于130柱面且正向0柱面移动。对于下列访问柱面的要求:70、120、80、160、60、150,采用驱动调度算法,分别写出移臂顺序,移动的柱面总数及平均寻道长度。

(1)FIFO顺序

  • 移臂顺序:70、120、80、160、60、150。
  • 移动的柱面总数:60 + 50 + 40 + 80 + 100 + 90 = 420
  • 平均寻道长度:(\frac{420}{6} = 70)

(2)SSTF顺序

  • 移臂顺序:120、150、160、80、70、60。
  • 移动的柱面总数:10 + 30 + 10 + 80 + 10 + 10 = 150
  • 平均寻道长度:(\frac{150}{6} = 25)

(3)SCAN顺序

  • 移臂顺序:120、80、70、60、150、160。
  • 移动的柱面总数:10 + 40 + 10 + 10 + 90 + 10 = 170
  • 平均寻道长度:(\frac{170}{6} = 28.3)

(4)CSCAN顺序

  • 移臂顺序:120、80、70、60、160、150。
  • 移动的柱面总数:10 + 40 + 10 + 10 + 100 + 10 = 180
  • 平均寻道长度:(\frac{180}{6} = 30)

结论

  • FIFO:顺序为70, 120, 80, 160, 60, 150,平均寻道长度为70。
  • SSTF:顺序为120, 150, 160, 80, 70, 60,平均寻道长度为25。
  • SCAN:顺序为120, 80, 70, 60, 150, 160,平均寻道长度为28.3。
  • CSCAN:顺序为120, 80, 70, 60, 160, 150,平均寻道长度为30。

这些结果展示了不同磁盘调度算法在给定的访问序列和初始条件下的效率。

应用题解答

应用题-3

假定磁盘的当前磁头位于1#柱面上,有如下请求者等待访问磁盘,试列出可使磁盘的旋转圈数为最少,最省时间的响应顺序的序号。

序号柱面号磁道号块号
1728
2725
3712
42093
55152

解答:
当前移动臂在1#柱面,根据访问顺序,可采用序号次序:5→3→2→1→4。

解释:

  • 首先选择柱面号最小的请求,即序号5(柱面号5)。
  • 接下来选择柱面号为7的请求,按照块号从小到大的顺序,即序号3(块号2)→ 序号2(块号5)→ 序号1(块号8)。
  • 最后选择柱面号最大的请求,即序号4(柱面号20)。

这种顺序可以确保磁头移动的距离最短,从而减少磁盘的旋转圈数和访问时间。

结论

最优的响应顺序是:5→3→2→1→4。

应用题解答

应用题-4

假定某文件由60个逻辑记录组成,每个逻辑记录长度为125个字符,磁盘存储空间被划分成长度为512个字符的块,为了有效地利用磁盘空间,采用成组方式把文件放到磁盘上,问:

(1)至少应该开辟一个多大的主存缓冲区?

(2)该文件至少占用磁盘的多少块?

解答:

(1)主存缓冲区大小:

  • 每个磁盘块的长度为512个字符。
  • 因此,主存缓冲区至少应设有512个字节,以对应一个存储块。
  • 其中可容纳{512}/{125} = 4条记录,剩余的 512 - 4* 125 = 12个字节忽略。

(2)文件占用磁盘块数:

  • 每条记录可占用 {1}/{4}个盘块。
  • 由此可得,60条记录共占用 60* ({1}/{4}) = 15 个盘块。
  • 该文件至少占用磁盘15个盘块。

结论

  • (1)主存缓冲区至少应设有{512}个字节。
  • (2)该文件至少占用磁盘 {15}个盘块。

应用题解答

应用题-5

一磁盘文件含固定长度为32B的一些记录,设物理I/O以磁盘缓冲长为512B的块为单位进行。如果一个进程连续地读取文件记录,则读请求将导致I/O操作占百分之几?

解答:

  • 每个磁盘块的长度为512B。
  • 每个记录的长度为32B。
  • 因此,每个磁盘块可以包含 {512}/{32} = 16个记录。
  • 这意味着,对于每16个记录的访问,只有1次I/O操作是必需的。
  • 因此,I/O操作占{1}/{16} = 0.0625 = 6.25%)。

结论

如果一个进程连续地读取文件记录,则读请求将导致I/O操作占 {6.25%})。

应用题解答

应用题-6

某单面磁盘转速为6000rpm,每个磁道有100个扇区,相邻磁道间的平均移动时间为1ms,若在某时刻磁头位于110号磁道处,并沿着磁道号增大的方向移动,磁道号请求的要求有70、110、90、160、60,采用CSCAN驱动调度算法,对请求队列中的每个磁道需读取一个随机分布的扇区,则读完这5个请求共需多少时间?

解答:
在这里插入图片描述

结论

读完这5个请求共需时间为 ({245.5}) ms。

标签:应用题,中断,课后,磁盘,全解,习题,解答,CPU,设备
From: https://blog.csdn.net/Argonaut_/article/details/143883672

相关文章

  • 操作系统第十章课后习题:文件系统
    文章目录单项选择题解答(1)文件系统中,文件访问控制信息存储的合理位置是。(2)文件的逻辑记录的大小是。(3)下列关于管道(pipe)通信的叙述中,正确的是。(4)同一个文件存储在不同的存储介质上,其组织形式。(5)下列文件物理结构中,适合随机访问且易于文件扩展的是。(6)为支持CD-ROM中视频文件......
  • Oracle AWR 报告指标全解析:深入理解数据库性能优化的关键
    一、引言在Oracle数据库管理与性能优化领域,AWR(AutomaticWorkloadRepository)报告扮演着极为重要的角色。它犹如一位精准的诊断专家,能够对数据库的运行状况进行全面、细致的剖析,为数据库管理员(DBA)提供丰富且关键的信息,助力其深入洞察数据库的性能表现,精准定位潜在问题,并......
  • 如何轻松搭建小型网站?基于腾讯云轻量应用服务器网站全解析
    如何轻松搭建小型网站?基于腾讯云轻量应用服务器网站全解析在双十一这个购物狂欢节,腾讯云轻量应用服务器为开发者带来了前所未有的优惠!无论你是刚刚入门的小白,还是经验丰富的开发者,腾讯云轻量应用服务器都能为你提供强大且高效的技术支持。简化的操作界面、灵活的配置选项、......
  • 【CUMT】《Java语言与网络编程》(张爱娟)部分课后简答题及答案参考
    chapter1.Java概述chapter2.基本程序设计chapter3.流程控制chapter4.面向对象与类chapter5.类的进阶设计chapter6.异常处理chapter7.常用类chapter9.线程与并发编程chapter11.网络编程chapter1.Java概述1.编写、运行Java程序的基本过程是怎样的?(1)在IDE中:用jav......
  • 【Python入门】探索Python字符串的奥秘:常用方法全解析
    ......
  • 用函数实现模块化程序设计习题
    写两个函数,分别求两个整数的最大公约数和最小公倍数,用主函数调用这两个函数,并输出结果。两个整数由键盘输入//写两个函数,分别求两个整数的最大公约数和最小公倍数,用主函数调用这两个函数,并输出结果。两个整数由键盘输入#include<stdio.h>intgetGCD(inta,intb){ intiM......
  • 第八章习题
    习题8.4importnumpyasnpimportpandasaspdimportsympyasspsp.init_printing(use_latex=True)fromscipy.integrateimportodeintimportmatplotlib.pyplotaspltplt.rcParams['font.sans-serif']=['TimesNewRoman+SimSun+WFMSansSC......
  • 第七章例题及习题
    例7.3importnumpyasnpimportpylabaspltfromscipy.interpolateimportlagrangeyx=lambdax:1/(1+x**2)deffun(n):x=np.linspace(-5,5,n+1)p=lagrange(x,yx(x))returnpx0=np.linspace(-5,5,100)plt.rc('text',usetex=True)plt.rc(&......
  • Scala字符串练习题
    objectStringManipulationExamples{defmain(args:Array[String]):Unit={//问题1valfloatString="3.14"valfloatValue=floatString.toFloatvalbackToString=floatValue.toStringprintln(backToString)//问题2v......
  • Go语言跨平台桌面应用开发新纪元:LCL、CEF与Webview全解析
    开篇寄语在Go语言的广阔生态中,桌面应用开发一直是一个备受关注的领域。今天,我将为大家介绍三款基于Go语言的跨平台桌面应用开发框架——LCL、CEF与Webview,它们分别拥有独特的魅力和广泛的应用场景。通过这三款框架,你将能够轻松开发出功能强大、界面美观的跨平台桌面应用程序。......