文章目录

  • 费翔林课本习题
    • 思考题
    • 应用题

费翔林课本习题

思考题

1.试述设备管理的基本功能(★★★)

【答案】

  • 克服由于设备和CPU速度不匹配所引起的问题,使主机和设备能够并行工作,提高设备使用效率
  • 将所有设备抽象为文件,将其统一在文件系统下,赋予文件属性,对设备的操作就类似于对文件的操作
  • 对各种设备进行抽象,配置设备驱动程序,屏蔽物理细节和操作过程,提供统一使用界面

基本功能有

  • 设备中断处理
  • 缓冲区管理
  • 设备分配和回收
  • 设备驱动管理
  • 实现虚拟设备

2.试述各种I/O控制方式的优缺点(★★★)

【答案】

①轮询方式

  • 特点:CPU与I/O串行工作
  • 优点:接口设计简单,设备量少
  • 缺点:CPU在信息传送过程中药花费很多时间用于查询和等待,而且一段时间内只能和一台外设交换信息,效率大大降低

②中断方式

  • 优点:I/O由于不必轮询设备的准备情况,CPU和设备可实现部分并行操作,资源利用更加充分
  • 缺点:如果中断次数太多,会耗费大量CPU时间

③DMA方式

优点

  • 它使主存与CPU的固定联系脱钩,主存既可以被CPU访问,又可以被外设访问
  • 在数据块传送时,主存地址的确定、传送数据的计数都由硬件电路直接实现
  • 主存开辟专门的数据缓冲区,及时供给和接受外设的数据
  • DMA传送块,CPU和外设并行工作,提高了系统效率
  • DMA在传送开始前要通过程序进行预处理,结束之后采用中断方式进行后处理

缺点

  • 每发出一次I/O指令,只能读写一个数据块。如果希望一次能够读写读个离散数据块,并把他么传送到不同的内存区域,则需要CPU发出多条指令以及多次中断才能完成

④:通道方式

优点:

  • 可以再次减少CPU对I/O操作的的干预
  • 由通道来管理和控制I/O操作,大大减少设备和CPU之间的逻辑联系,将CPU从琐碎的I/O的操作中解放了出来,实现了CPU和设备的并行操作、通道之间的并行操作、设备之间的并行操作,提高了整个系统的效率

3.试述DMA传输信息的工作原理

【答案】

分为预处理、数据传送、后处理这三个过程

①预处理

由CPU完成一些必要的准备工作

首先,CPU执行几条I/O指令,用以测试I/O设备状态,再向DMA控制器的有关寄存器置初值、设置传送方向,启动该设备等等。然后CPU继续执行原来的程序,直到I/O设备准备好发送的数据(输入情况)或接受的数据(输出情况)时,I/O设备向DMA控制器发送DMA请求,再由DMA控制器向CPU发送总线请求,用以传输数据

  • 主存起始地址->AR
  • I/O设备地址->DAR
  • 传送数据个数->WC
  • 启动I/O设备

②数据传送

DMA的数据传输可以单字节(或字)为基本单位,也可以数据块为基本单位。对于以数据块为单位的传送(如硬盘),DMA占用总线后的数据输入和输出操作都是通过循环来实现的。需要指出的是,这一循环也是由DMA控制器而非通过CPU执行程序实现的,即数据传送阶段完全由DMA(硬件)控制

  • 设备将输入写入DR,发出DMA请求
  • 控制逻辑检测到一个数据后,向CPU发出总线请求,CPU给予反馈信号
  • DMA控制器接管总线,进行数据传送
  • 主存地址计数器+1,长度计数器+1
  • 传输完多个字后,长度计数器溢出,溢出信号传送给中断机构,向CPU发出中断请求

③后处理

DMA控制器向CPU发出中断请求,CPU执行中断服务程序做DMA结束处理,包括校验送入主存的数据是否正确,测试传送过程中是否出错(如果出错则转入诊断程序)以及决定是否继续使用DMA传送其他数据块等等

接着,CPU继续执行主程序

4.什么是通道?为何引入

【答案】

DMA方式与程序中断方式相比,进一步减少了CPU对I/O操作的干预,但每发出一次I/O指令,只能读写一个数据块,用户希望一次能够读写多个离散数据块,并把它们传送到不同的内存区域或相反,则需要由CPU发出多条启动I/O指令及进行多次I/O中断处理才能完成。通道方式是DMA方式的发展,能够再次减少CPU对I/O操作的干预。同时,为了充分发挥CPU和设备之间的并行工作能力,也为了让种类繁多且物理特性各异的设备能够以标准的接口连接倒系统中,计算机系统引入自成体系的通道结构,通道方式的出现是现代计算机系统功能不断完善,性能不断提高的结果,是计算机技术的重要进步

5.I/O软件主要涉及哪些任务(★★★)

【答案】

  • 设备无关性:程序员编写访问文件数据的程序时,与具体物理设备无关
  • 出错处理:数据传输过程中产生的错误应该在尽可能靠近硬件的地方处理,底层软件能够解决的错误不让高层软件感知
  • 同步/异步处理:CPU在启动I/O操作之后既可以继续执行其他工作,直到中断到达,这叫做异步传输又可以采用阻塞方式,让启动I/O操作的进程挂起等待,直到数据传输完成,这叫做同步传输,I/O软件应该支持这两种工作方式
  • 缓冲技术:建立数据库缓冲区,让数据的到达率与离去率相匹配,以提高系统吞吐率

6.试述I/O系统的层次及其功能(★★★)
‘’、

【答案】

①:I/O中断处理程序

  • 当进程请求I/O操作时,通常被挂起,直到数据传输结束并产生I/O中断时,操作系统接管CPU后转向中断处理程序执行
  • 当设备向CPU提出中断请求时,CPU先响应请求并转入中断处理程序,它需要做的工作有:检查设备状态寄存器内容,判断产生中断原因,根据I/O操作的完成情况进行相应处理;若数据传输有错误,应该向上层软件报告设备出错信息;若正常结束,应该唤醒等待传输的进程,使其转换为就绪态

②:设备驱动程序

  • 设备驱动程序包括与设备密切相关的所有代码,其任务是把用户提交的逻辑I/O请求转化为物理I/O操作的启动和执行,同时监督设备是否正确执行,管理数据缓冲区,进行必要的纠错处理
  • 三个功能:设备初始化、执行涉笔驱动例程、调用和执行中断处理程序

③:独立于设备的I/O软件

  • 基本功能是执行适用于所有设备的常用I/O功能,并向用户层软件提供一致性接口
  • 功能:设备命名和保护、提供与设备无关的块尺寸、缓冲技术、设备分配和状态追走、错误报告

④:用户层软件

  • 用户层软件实现了与用户交互的接口,用户可以直接使用该层提供的、与I/O操作相关的库函数对设备进行操作
  • 接着,用户层软件就会负责将用户的请求翻译为等价的系统调用

总结:

I/0软件分为4层:设备中断处理程序、设备驱动程序独立于设备的I/0软件、用户空间的I/O软件。设备中断处理程序通常是设备驱动程序的组成部分,置于底层,其主要工作有分析中断类型以做出相应的处理,检查和修改进程状态等,它的任务要尽量少,以便提高性能;设备驱动程序中包括与设备相关的所有代码,其工作是把用户提交的逻辑I/O请求转化为物理I/O操作的启动和执行,如设备名转化为端口地址、逻辑记录转化为物理记录、逻辑操作转化为物理操作等,它为上层软件屏蔽所有硬件细节;独立于设备的I/O软件的基本功能是实现适用于所有设备的常用I/O0 操作并向上层软件提供一致性接口,如设备命名、设备保护缓冲管理、存储块分配等;用户空间的I/O软件包括在用户空间运行的I/O库函数和SPOOLing程序

7.外部设备与CPU并行工作的基础是什么

【答案】

通道

8.什么是通道命令字(CCW)和通道程序

【答案】

通道是一个具有特殊功能的处理器,它有自己的指令和程序,专门负责数据输入输出的传输控制 (CPU把传输控制的功能下放给通道)。通道受CPU的I/O指令启动、停止或改变其工作状态。通道的基本功能是按I/O指令要求启动I/O设备,执行通道指令,组织I/O设备和主存进行数据传输,向CPU报告中断等

  • ​通道指令:又叫通道控制字 (CCW),它是通道用于执行I/O操作的指令,它可以由管理程序存放在主存的任何地方,由通道从主存取出并执行

  • ​通道程序:由通道指令组成,它完成某种外围设备与主存传送信息的操作,如将磁带记录区的部分内容送到指定地址的主存缓冲区内

9.什么是通道地址字(CAW)和通道状态字(CSW)

  • CAW:用来存放通道程序首地址的主存固定单元称为“通道地址字”。

  • CSW:用于记录通道和设备执行情况的主存单元

10.试述采用通道技术时I/O操作的全过程

【答案】

具有通道装置的计算机系统的主机、通道、控制器和设备之间采用四级连接,实施
三级控制。一个CPU通常可以连接若干通道,一个通道可以连接若干控制器,一个控制器可以连接若干设备。CPU通过执行I/O指令对通道实施控制,通道通过执行通道命令对控制器实施控制,控制器发出动作序列对设备实施控制,设备执行相应I/O操作。采用I/O通道设计后,I/O操作过程如下:CPU在执行主程序时遇到I/O请求,启
动在指定通道上选址的设备,一旦启动成功,通道开始控制设备进行操作,这时CPU就可以执行其他任务并与通道并行工作,直到I/0操作完成;当通道发出I/O操作结束中断时,处理器才响应并停止当前工作,转而处理I/0操作结束事件

11.为什么要引入缓冲技术,基本思想是什么(★★★)

【答案】

引入原因

  • 解决CPU与设备之间速度不匹配的矛盾与协调逻辑记录大小与物理记录大小不一致的问题
  • 提高CPU和设备的并行性
  • 减少I/O操作对CPU的中次数
  • 放宽对CPU中断响应时间的要求

基本思想:实现缓冲技术的基本思想如下:当进程执行写操作输出数据时.先向系统申请一个输出缓冲区然后将数据送至缓冲区,若是顺序写请求.则不断地把数据填人缓冲区,直到装满为止,此后进程可以继续计算,同时,系统将缓冲区的内容写到设备上。当进程执行读操作输人数据时,先向系统申请一个输 人缓冲区,系统将设备上的一条物理记录读至缓冲区,根据要求把当前所需要的逻辑记录从缓冲区中选出并传送给进程

12.试述常用的缓冲技术(★★★)

【答案】

单缓冲:采用该策略,操作系统会在主存中为其分配一个缓冲区(一个缓冲区大小一般就是一个块)。具体来说:

  • 当缓冲区数据非空时,不能向缓冲区冲入数据,只能从缓冲区中把数据传出
  • 当缓冲区数据为空时,可以向缓冲区冲入数据,但必须把缓冲区冲满以后,才能从缓冲区中传出数据

双缓冲:采用该策略,操作系统会在主存中为其分配两个缓冲区(一个缓冲区大小一般就是一个块)

循环缓冲区:有时单缓冲和双缓冲并不能满足条件,所以可以将多个大小相等的缓冲区链接成一个循环队列

缓冲池:和线程池等概念类似,它由系统中共用的缓冲区组成。这些缓冲区按照使用状况可以分为

  • 空缓冲队列
  • 装满输入数据的缓冲队列
  • 装满输出数据的缓冲队列

13.什么是驱动调度?有哪些常用的驱动调度技术

【答案】

在繁重的I/O负载下,同时会有若干传输请求来到并等待处理,系统必须采用一种调度策略,能够按照最佳次序执行要求访问的诸多请求,这叫做驱动调度,所使用的的算法叫做驱动调度算法

14.外部设备分为哪些类型,各类设备的物理特点是什么?(★★★)

【答案】

  • 存储型设备:如磁盘机等,以存储大量信息和快速检索为目标,在系统中存储持久性信息,它作为内存的扩充,又叫做外存
  • I/O型设备:如显示器等,他们把外界信息输入计算机,把计算结果从计算机中输出,完成计算机之间的通信或人际交互

15.什么是设备独立性(★★★)

【答案】

用户通常不指定物理设备,而是指定逻辑设备,使得用户作业和物理设备分离开来,再通过其他途径建立逻辑设备和物理设备之间的映射,设备的这种特性叫做设备独立性

在具有设备独立性的系统中,用户编写的程序可以访问任何设备而无需事先指定物理设备号,也即程序中所指定的设备与物理设备无关,逻辑设备名是用户命名的,是可以更改的,物理设备名是系统规定的,不能更改。设备管理功能之一就是把逻辑设备名转换为物理设备名

16.解释设备类、设备相对号和设备绝对号

【答案】

实现设备分配,系统中应该建立设备分配数据结构:设备类表和设备表。

  • 系统拥有一张设备类表,每类设备对应于设备类表的一个表项,其中包括设备类、总台数、空闲台数和设备表起始地址
  • 每类设备有各自的设备表,用来登记该类设备中的每台物理设备,所包含的内容有物理设备号,逻辑设备号,占有设备的进程号,已分配/未分配

17.解释静态分配与动态分配

【答案】

  • 静态分配:在作业执行前,将所需要的设备全部分配给它,当作业在执行过程中不再需要使用这类设备或者作业结束将要撤销时再收回设备
  • 动态分配:在作业执行过程中要求输出一批信息时,系统才把打印机分配给作业,当一个文件输出完毕要关闭时,系统就收回分配给此作业的打印机

18.什么是井、输入井、输出井?

【答案】

输入井和输出井是指在磁盘上开辟出的连个存储区域

  • 输入井模拟脱机输入时的磁盘,用于收容I/O设备输入的数据
  • 输出井模拟脱机输出时的磁盘,用于说荣用户程序的输出数据

19.井管理程序有什么功能?它是如何工作的

【答案】

作业执行过程中要求启动某台设备进行I/O操作时,作业控制程序截获这个要求并调用井管理程序控制从相应输入井读取信息,或将信息传送至输出井

20.什么是虚拟技术?实现虚拟设备的主要条件是什么(★★★)

【答案】

虚拟技术:在一台共享设备上模拟若干台独享设备的操作,把独占设备变成逻辑上的共享设备,这种技术叫做虚拟设备技术

实现虚拟设备的条件是硬件要有大容量的缓冲区,软件要有预输入程序和缓输出程序,井管理程序

21.试述SPOOLing系统和作业调度之间的关系

【答案】

SPOOLing系统是用一类物理设备模拟另一类物理设备的技术,能使独占式设备变为共享式设备。作业调度程序根据预定的调度算法选择收容状态的作业运行作业表示作业调度程序运行作业调度的依据,是SPOOLing系统和作业调度程序共享的数据结构

22.为什么SPOOLing技术又叫做假脱机技术

【答案】

所谓脱机指的就是脱离主机的控制进行输入/输出操作,SPOOLing的意思是外部设备同时联机操作,是一种用软件模拟的脱机技术

23.SPOOLing是如何把独占式设备改造成共享式设备的(★★★)

【答案】

由于现代计算机有较强的并行操作能力,处理器在执行计算的同时可进行联机外
部设备操作,操作系统将一批作业从输入设备上预先输人至磁盘的输人缓冲区中暂存,这称为“预输人”。此后,由作业调度程序调度作业执行,作业使用数据时不必再启动输入设备,只要从磁盘的输人缓冲区中读人即可;类似地,作业执行过程中不必直接启动输出设备,只要将作业的输出数据暂时保存到磁盘的输出缓冲区,当作业执行完毕后,由操作系统组织信息成批输出,这称为“缓输出”。这样,不但设备利用率提高,作业运行时间也缩短了,因为作业执行时需要1/0数据时不再和低速设备联系,而是与高速磁盘交互。可见,操作系统提供外部设备联机操作功能后,不但系统效率会有很大提高,而且使得每个作业感觉各自拥有所需的独古型设备。例如,虽然系统只有两台物理打印机,但是运行的5个作业都感到各自拥有一台速度如同磁盘样快的打印机,可以说采用这种技术的操作系统提供了虚拟设备。SPOOLing 技术是用类物理设 备模拟另一类物理设备的技术,是使独古型设备变成共享设备的种技术

应用题

【答案】

  • 处理次序为:100-110-129-147-186-78-64-41-27-18-12-10-8
  • 移动总柱面数为:264

【答案】

按照次序5、3、2、1、4进行调度可以使磁盘的旋转圈数最少。平均用1/2周定位,再加上1/4周读出记录。总处理时间为12+14+12+14+1+12+14+1=4.25\frac{1}{2} +\frac{1}{4}+\frac{1}{2}+\frac{1}{4}+1+\frac{1}{2}+\frac{1}{4}+1=4.2521​+41​+21​+41​+1+21​+41​+1=4.25圈

【答案】

  • FCFS:11-1-36-16-34-9-12,移动量为10+35+20+18+25+3=111
  • SSTF:11-12-9-16-1-34-36,移动量为1+3+7+15+33+2=61
  • SCAN:11-12-16-34-36-39-9-1(向高地址),移动量为1+4+18+30+8=61;11-9-1-0-12-16-34-36(向低地址),移动量为2+8+1+12+4+18+2=47

【答案】

  • 对位于当前柱面的新请求,只要–到达就可得到服务,但对其他柱面的服务则不然。如SST下算法,一个离当前柱面远的请求,可能其后不断有离当前柱面近的请求到达而得不到服务(饥饿)
  • 可划定一个时间界限,把这段时间内尚未得到服务的请求强制移到队列首部,并标记任何新请求不能插到这些请求前。对于SSTF算法来说,可以重新排列这些老请求,以优先处理
  • 可避免分时进程等待时间过长而拉长响应时间

【答案】

每个柱面的物理块数是20×8=160块,606/16=3余126,所以是第三个柱面的126物理块中

【答案】

(1)如果不成组,那么一个逻辑记录就会占用一个物理块,而0.6英寸就是480个字符。所以利用率为160/(480+160)=25%

  • 这里假如以5个逻辑记录为一组:此时每5个逻辑记录会构成一个物理块,所以利用率就是(160×5)÷(480+160×5)=62.5%

(2)不成组,此时1500×((480+160)/800)=1200

(3)假定为x,那么就要满足不等式160X÷(480+160X)>=0.5,所以至少为3块

【答案】

凌乱存放

  • 读一块的时间:13×6+100+25=203ms
  • 100块:20300ms

优化存放

  • 读一块的时间:2×6+100+25=137ms
  • 100块:13700ms

【答案】

(操作系统题目题型总结)第五章:设备管理相关推荐

  1. (操作系统题目题型总结)第一章:操作系统概论

    文章目录 费翔林操作系统课后题 一:思考题 二:应用题 王道课后习题 费翔林操作系统课后题 一:思考题 1:简述现代计算机系统的组成及其层次结构 ★★★ [答案] 现代计算机系统由硬件和软件两个部分组 ...

  2. (操作系统题目题型总结)第二章:处理器管理

    费翔林操作系统课后题 (1)思考题 1:什么是PSW?它有何作用 ★★★ [答案] 操作系统将程序运行时的一组动态信息汇集在一起,称为程序状态字PSW,并放在处理器的一组特殊寄存器里,以方便系统的控制 ...

  3. 【OS操作系统】Operating System 第五章:虚存技术

    OS操作系统系列文章目录 [OS操作系统]Operating System 第一章:操作系统的概述 [OS操作系统]Operating System 第二章:启动.中断.异常和系统调用 [OS操作系统 ...

  4. 《操作系统真象还原》第五章 ---- 轻取物理内存容量 启用分页畅游虚拟空间 力斧直斩内核先劈一角 闲庭信步摸谈特权级

    文章目录 专栏博客链接 相关查阅博客链接 本书中错误勘误 部分缩写熟知 + 小建议 修改代码前的小闲聊 修改loader.S(读取内存大小) 检验是否成功读取内存大小 开始分页新篇章的分页理解 一级页 ...

  5. 【PTA|Python】浙大版《Python 程序设计》题目集:第五章

    前言 Hello!小伙伴! 非常感谢您阅读海轰的文章,倘若文中有错误的地方,欢迎您指出-   自我介绍 ଘ(੭ˊᵕˋ)੭ 昵称:海轰 标签:程序猿|C++选手|学生 简介:因C语言结识编程,随后转入计 ...

  6. 18 操作系统第五章 设备管理 IO设备的基本概念和分类 IO控制器 IO控制方式 IO软件层次结构 IO核心子系统 假脱机技术 设备的分配与回收 缓冲区管理

    文章目录 1 IO设备的基本概念和分类 1.1 什么是I/O设备 1.2 I/O设备分类 2 IO控制器 2.1 I/O设备组成 2.2 I/O控制器功能 2.3 I/O控制器的组成 2.4 寄存器编 ...

  7. (操作系统题目题型总结)第三章:同步与互斥

    费翔林课本习题 思考题 1.试述顺序程序设计的特点以及采用顺序程序设计的优缺点 [答案] 特点: 执行的顺序性:一个程序在处理器上是严格按序执行的,每个操作必须在下一个操作开始前结束 环境的封闭性:运 ...

  8. (操作系统题目题型总结)第四章:存储管理

    文章目录 费翔林操作系统课后题 思考题 应用题 费翔林操作系统课后题 思考题 1.试述存储管理的基本功能(★★★) [答案] 存储分配:为进程分配内存空间以便运行,完成内存区的分配和回收工作 地址映射 ...

  9. (操作系统题目题型总结)第六章:文件管理

    文章目录 费翔林课本习题 思考题 应用题 费翔林课本习题 思考题 1.试述下列属于的定义并说明他们之间的关系:卷.块.记录.文件(★★★) [答案] 存储介质的物理单位定义为卷 存储介质上可连续存储信 ...

最新文章

  1. 解决烦人的img与input不能水平对齐的问题
  2. 为什么说 TCP/IP 是一个不确定性网络
  3. win10 linux子系统
  4. CentOS7修改默认运行级别
  5. MySQL索引的分类、何时使用、何时不使用、何时失效?
  6. 【图像分类】简述无监督图像分类发展现状
  7. leetcode双指针(python与c++)
  8. python图像增强_【Tool】Augmentor和imgaug——python图像数据增强库
  9. vue3 编译很慢_Vue 项目编译时间过长问题
  10. android 55
  11. ant design vue table 高度自适应_Vue.JS 实现拼拼乐小游戏项目
  12. springboot事务管理
  13. 呆瓜半小时入门python数据分析
  14. 【BZOJ 1257】余数之和【整除优化】
  15. NoSql数据库Redis的在ubuntu下的部署使用
  16. 社会工程学之ip获取和定位
  17. RHEL7CentOS7 (精简操作指令)
  18. C# AHP层次分析法:一致性校验
  19. Instant类[java]
  20. 数据结构选择练习题(有解析)

热门文章

  1. 经典面试题(53):以下代码将输出的结果是什么?
  2. python 访问网页aspx_asp.net – 如何向python中的.aspx页面提交查询
  3. python 西门子交换机_python读取交换机
  4. OpenCV中的模板匹配
  5. 无监督学习 | DBSCAN 原理及Sklearn实现
  6. [perl]perl界大牛唐凤传说
  7. 一分钟学会在Mac中如何将文件批量重命名
  8. 1.5 编程基础之循环控制 36 计算多项式的值 python
  9. Mysql报错:2006 - MySQL server has gone away
  10. 水文特点是什么意思_水文监测仪器设备简介