第六章 输入输出系统
一、章节习题
1、引入缓冲的主要目的______
A 改善CPU和I/O设备之间速度不匹配的情况
B 节省内存
C 提高CPU的利用率
D 提高I/O设备的效率
2、CPU输出数据的速度远远高于打印机的打印速度,为了解决这一矛盾,可采用_____。
A 并行技术 B 通道技术 C 缓冲技术 D 虚存技术
3、设备管理程序对设备的管理是借助一些数据结构来进行的,下面的____不属于设备管理数据结构
A JCB B DCT C COCT D CHCT
设备分配的主要数据结构有设备控制表DCT,控制器控制表COCT,通道控制表CHCT,系统设备表SDT
4、将系统中的每一台设备按某种原则进行统一的编号,这些编号作为区分硬件和识别设备的代号,该编号称为设备的_____
A 绝对号 B 相对号 C 类型号 D 符号名解释:设备的绝对号,是硬件区分和识别设备的代号,为每台设备分配的一个唯一的号码;
用户在编写程序时,不能通过设备的绝对号来使用设备,用户只需向系统说明所要使用的设备类型,如打印机,还是显示器。为此,操作系统为每类设备规定了一个编号,称设备的类型号。如在UNIX系统中,类型号被称为主设备号。该系统中所有块设备的设备名由两部分构成:主设备号和次设备号,前者表示设备类型,后者表示同类设备中的相对序号。
5、I/O系统有三种常用方式来与主机交换数据,它们是程序轮询方式、中断方式和DMA方式,其中DMA方式主要由硬件来实现,此时高速外设和内存之间进行数据交换______。
A.不通过CPU的控制,不利用系统总线 B.不通过CPU的控制,利用系统总线
C.通过CPU的控制,不利用系统总线 D.通过CPU的控制,利用系统总线
解释:DMA所传送的数据是从设备直接送入内存的,但是需要利用系统总线,而程序轮询方式、中断方式两者均需要
6、按_____分类可将设备分为块设备和字符设备
A.从属关系 B.操作特性 C.共享属性 D.信息交换单位
7、通道是一种________。
A. I/O端口 B.数据通道 C. I/O专用处理器 D.软件工具
解析:通道又称I/O处理机,是独立于CPU的专门管理输入/输出控制的处理机。
8、设从磁盘将一块数据传送到缓冲区所用的时间为80μs,将缓冲区的数据传送到用户区所用的时间为40μs,CPU处理数据所用的时间为30μs,则处理该数据,采用单缓冲区传送某磁盘数据,系统所用时间为_____
A.120μs B.110μs C. 150μs D. 70μs
解析:max(磁盘到缓冲区,CPU处理) + 缓冲区到用户区 = max(80, 30) + 40 = 120
缓冲 80us ,数据传输 40us ,数据处理 30us ,首先从缓冲区开始进行数据传输需要 40us ,然后开始数据处理,此事由于是单缓冲区,因此可以进行数据的输入,在进行数据处理需要 30us ,同时此时缓冲区已进行进行 30us 缓冲,在进行 50us 的缓冲即可完成开始状态,因此所需时间为 40+30+50=120us
9、如果I/O所花费的时间比CPU处理时间短得多,则缓冲区________。
A.最有效 B.几乎无效 C.均衡 D.都不是
10、访问磁盘的时间不包括_________。
A.寻道时间 B.CPU调度时间 C. 读写时间 D.旋转延迟时间
11、输入(或输出)操作指的是___________双方之间的信息传送(武汉理工大2002)※
A 外围设备与外围设备 B CPU与外围设备 C CPU与主存储器 D主存储器与外围设备
二、历年真题
1.在单处理机系统中,可并行的是________。(2009年计算机科学与技术学科全国硕士研究生入学统一试卷23题)
I.进程与进程 II.处理机与设备 III.处理机与通道 IV.设备与设备
A I、II和III B.I、II和IV C.I、III和IV D.II、III和IV
2.程序员利用系统调用打开I/O设备时,通常使用的设备标识是______。(2009年计算机科学与技术学科全国硕士研究生入学统一试卷32题)
A.逻辑设备名 B. 物理设备名 C. 主设备号 D.从设备号
解析:因为用的是系统调用打开的,逻辑设备名是由设备独立性软件统一命名,也就是从文件系统中直接看到的名字,例如/dev/tty等
3. 假设磁头当前位于第105道,正在向磁道序号增加的方向移动。现有一个磁道访问请求序列为35,45,12,68,110,180,170,195,采用SCAN调度(电梯调度)算法得到的磁道访问序列是( )。(2009年计算机科学与技术学科全国硕士研究生入学统一试卷29题)
A. 110,170,180,195,68,45,35,12
B. 110,68,45,35,12,170,180,195
C. 110,170,180,195,12,35,45,68
D. 12,35,45,68,110,170,180,195
解析:先按从小到达排序 12 35 45 68 110 170 180 195
然后按照算法105先到外侧(因为往磁道序号增加方向移动),然后再从68往内侧
4.本地用户通过键盘登录系统时,首先获得键盘输入信息的程序是________。(2010年计算机科学与技术学科全国硕士研究生入学统一试卷32题)
A 命令解释程序 B 中断处理程序 C 系统调用服务程序 D 用户登录程序
解析:
当用户按键时,键盘接口会得到一个代表该按键的键盘扫描码,同时产生一个中断请求。键盘中断服务程序先从键盘接口取得按键的扫描码,然后根据其扫描码判断用户所按的键并作相应的处理,最后通知中断控制器本次中断结束并实现中断返回。
因此,本地用户通过键盘登录系统时,首先获得键盘输入信息的程序是中断处理程序。
5.下列选项中,导致创进新进程的操作是( )。(2010年计算机科学与技术学科全国硕士研究生入学统一试卷24题)
I用户成功登陆 II设备分配(改变进程状态) III启动程序执行
A. 仅I和II B. 仅II和III C. 仅I和III D. I,II,III
解析:创建新进程的三种情况:
1.系统初始化
2.用户请求创建新的进程
3.正在执行的进程调用创建进程的API
6.用户程序发出磁盘I/O请求后,系统的正确处理流程是______。(2011年计算机科学与技术学科全国硕士研究生入学统一试卷)
A:用户进程->系统调用处理程序->中断处理程序->设备驱动程序
B:用户进程->系统调用处理程序->设备驱动程序->中断处理程序
C:用户进程->设备驱动程序->系统调用处理程序->中断处理程序
D:用户进程->设备驱动程序->中断处理程序->系统调用处理程序
解析:
输入/输出软件一般从上到下分为四个层次:用户层、与设备无关的软件层、设备驱动程序以及中断处理程序。与设备无关的软件层也就是系统调用的处理程序。
当用户使用设备时,首先在用户程序中发起一次系统调用,操作系统的内核接到该调用请求后请求调用处理程序进行处理,再转到相应的设备驱动程序,当设备准备好或所需数据到达后设备硬件发出中断,将数据按上述调用顺序逆向回传到用户程序中。(王道课本289页)
7.某文件占10个磁盘块,现要把该文件磁盘块逐个读入主存缓冲区,并送用户区进行分析。假设一个缓冲区与一个磁盘块大小相同,把一个磁盘块读入缓冲区的时间为100μs,将缓冲区的数据传送到用户区的时间是50μs,CPU对一块数据进行分析的时间为50μs。在单缓冲区和双缓冲区结构下,读入并分析该文件的时间分别是( )。(2011年计算机科学与技术学科全国硕士研究生入学统一试卷31题)
A. 1500μs、1000μs B. 1550μs、1100μs
C. 1550μs、1550μs D. 2000μs、2000μs
解析:
单缓冲区总时间=(磁盘写入缓冲区时间+缓冲区读出时间)*磁盘块数+CPU处理最后一块数据的时间=(100+50)*10+50=1550us
双缓冲总时间=磁盘写入缓冲区时间*磁盘块数+读出最后一块数据时间+CPU分析最后一块数据时间=100*10+50+50=1100us
8.操作系统的I/O子系统通常由四个层次组成,每一层明确定义了与邻近层次的接口,其合理的层次组织排列顺序是______。(2012年计算机科学与技术学科全国硕士研究生入学统一试卷)
A:用户级I/O软件,设备无关软件,设备驱动程序,中断处理程序
B:用户级I/O软件,设备无关软件,中断处理程序,设备驱动程序
C: 用户级I/O软件,设备驱动程序,设备无关软件,中断处理程序
D: 用户级I/O软件,中断处理程序,设备无关软件,设备驱动程序
9.用户程序发出磁盘I/O请求后,系统的处理流程是:用户程序→系统调用处理程序→设备驱动程序→中断处理程序。其中,计算数据所在磁盘的柱面号、磁头号、扇区号的程序是( )。(2013年计算机科学与技术学科全国硕士研究生入学统一试卷25题)
A. 用户程序 B. 系统调用处理程序
C. 设备驱动程序 D. 中断处理程序
10.设系统缓冲区和用户工作区均采用单缓冲,从外设读入1个数据块到系统缓冲区的时间为100,从系统缓冲区读入 1个数据块到用户工作区的时间为5,对用户工作区中的1个数据块进行分析的时间为90(如下图所示)。进程从外设读入并分析2个数据块的最短时间是( )。(2013年计算机科学与技术学科全国硕士研究生入学统一试卷27题)
A. 200 B. 295 C. 300 D .390
解析:
第一个数据块读入工作区后,花费105,然后第一个数据块开始工作,需要90,第二个数据开始读入,需要100,取大的时间100。接下来开始读入第二个数据块到工作区,并工作,共花费95。因此,总时间105+100+95=300
11.中断处理和子程序调用都需要压栈以保护现场 ,中断处理一定会保存而子程序调用不需要保存其内容的是( )。(2012年计算机科学与技术学科全国硕士研究生入学统一试卷24题)
A. 程序计数器 B. 程序状态字寄存器(处理机状态字PS)
C. 通用数据寄存器 D. 通用地址寄存器
解析:
解析:子程序调用只需保护断点,即该指令的下一条指令的地址;中断调用子程
序不仅要保护断点,还要保护程序状态字寄存器的内容PSW。
12.处理外部中断时,应该由操作系统保存的是( )。(2015年计算机科学与技术学科全国硕士研究生入学统一试卷23题)
A.程序计数器(PC)的内容 B.通用寄存器的内容
C.快表(TLB)的内容 D.Cache 中的内容
解析:
外部中断处理过程首先要保护现场,使得中断处理完之后能够恢复程序的执行状态继续执行。保护现场有两个含义:(1)由中断隐指令保存程序的断点(程序计数器)(2)由中断服务程序保存通用寄存器和状态寄存器的内容,中断服务程序是操作系统的一部分。 外部中断处理过程, PC值由中断隐指令自动保存,而通用寄存器内容由操作系统保存。(来自王道论坛)
13.某硬盘有200个磁道(最外侧磁道号为0),磁道访问请求序列为:130,42,180,15,199,当前磁头位于第58号磁道并从外侧向内移动。按照SCAN调度方法处理完上述请求后,磁头移过的磁道数是( )。(2015年计算机科学与技术学科全国硕士研究生入学统一试卷32题)
A 208 B287 C 325 D 382
解析:(130-58)+(180-130)+(199-180)+(199-42)+(42-15)=325
14.在系统内存中设置磁盘缓冲区的主要目的是( )。(2015年计算机科学与技术学科全国硕士研究生入学统一试卷28题)
A.减少磁盘I/O次数 B.减少平均寻道时间
C.提高磁盘数据可靠性 D.实现设备无关性
解析:减少磁盘 I/O 次数。CPU访问磁盘的速度远慢于访问缓冲区,设置缓冲区可以一次从磁盘读入较多数据到缓存,利用时间相邻性和空间相邻性,极大缩短数据访问时间,从而减少磁盘I/O次数
15.下列关于SPOOLing技术的叙述中,错误的是_______。(2016年计算机科学与技术学科全国硕士研究生入学统一试卷31题)
A 需要外存的支持
B 需要多道程序设计技术的支持
C 可以让多个作业共享一台独占设备
D 由用户作业控制设备与输入/输出井之间的数据传送
解析:
SPOOLing是利用专门的外围控制机,将低速I/O设备上的数据传送到高速磁盘上;或者相反。SPOOLing的意思是外部设备同时联机操作,又称为假脱机输入/输出操作,是操作系统中采用的一项将独占设备改造成共享设备的技术。高速磁盘即外存,A正确。SPOOLing技术需要进行输入/输出操作,单道批处理系统无法满足,B正确。SPOOLing技术实现了将独占设备改造成共享设备的技术,C正确。设备与输入/输出井之间数据的传送是由系统实现的,D错误。
16.与单道程序系统相比,多道程序系统的优点是_______。(2017年计算机科学与技术学科全国硕士研究生入学统一试卷28题)
Ⅰ. CPU利用率高 Ⅱ. 系统开销小
Ⅲ. 系统吞吐量大 IV. I/O设备利用率高
A仅Ⅰ、Ⅲ B仅Ⅰ、IV C 仅Ⅱ、Ⅲ D 仅Ⅰ、Ⅲ 、IV
解析:
(1)提高CPU的利用率。在多道程序环境下,多个程序共享计算机资源,当某个程序等待I/O操作时,CPU可以执行其它程序,大大提高了CPU的利用率.
(2)提高设备的利用率。在多道程序环境下,多个程序共享系统的设备,大大提高了系统设备的利用率。
(3)提高系统的吞吐量。在多道程序环境下,减少了程序的等待时间,提高了系统的吞吐量。
17.系统将数据从磁盘读到内存的过程中包括以下操作:
1.DMA控制器发出中断请求
2.初始化DMA控制器并启动磁盘
3.从磁盘传输一块数据到内存缓冲区
4.执行“DMA结束”中断服务程序
正确的执行顺序是( )(2017年计算机科学与技术学科全国硕士研究生入学统一试卷32题)
A.③→①→②→④ B.②→③→①→④
C.②→①→③→④ D.①→②→④→③
18.当定时器产生时钟中断后,由时钟中断服务程序更新的部分内容是( )。(2018年计算机科学与技术学科全国硕士研究生入学统一试卷29题)
Ⅰ.内核中时钟变量的值
Ⅱ.当前进程占用CPU的时间
Ⅲ.当前进程在时间片内的剩余执行时间
A 仅Ⅰ、Ⅱ B 仅Ⅱ、Ⅲ C 仅Ⅰ、Ⅱ D Ⅰ、Ⅱ、Ⅲ
解析:
I.内核中时钟变量初值为0,每发生一次时钟中断,时钟中断服务程序都会增加时钟变量的值。 II.和III.发生时钟中断时,时钟中断服务器会维持当前进程占用CPU时间和剩余时间不变。
19.系统总是访问磁盘的某个磁道而不响应对其他磁道的访问请求,这种现象称为磁臂黏着。下列磁盘调度算法中,不会导致磁臂黏着的是( )。(2018年计算机科学与技术学科全国硕士研究生入学统一试卷30题)
A 先来先服务(FCFS) B 最短寻道时间优先(SSTF)
C 扫描算法(SCAN) C 循环扫描算法(CSCAN)
解析:
如果短时间内有如下请求:100 5 100 100 100 20 100,采用BCD都会短时间内在100磁道长时间停留访问,而先来先服务则不存在这个问题,严格按照先后顺序执行,和哪一个磁道无关。
故不选B、C、D。