0%

操作系统-第五章设备管理

设备管理的主要目标是屏蔽I/O设备的硬件特性,向用户提供使用I/O设备的方便接口,充分发挥设备的利用率。 

就是提供用户一个按钮,不用考虑硬件具体的。

设备管理的主要功能有:缓冲区的管理、设备分配、设备处理、虚拟设备及实现设备独立性等。

缓冲区的管理:只要有(主机和输入输出)速度不一致,就可以有缓冲;
设备处理:设备也是一种资源;

5.1 I/O 系 统

I/O设备——分类
  分类目的:简化设备管理程序,不同的设备对应不同的管理程序,但对于同类设备可利用相同的程序或少量的修改即可。
1.数据传输速率:低速设备、中速设备、高速设备。
2.数据的传输单位:块设备、字符设备。
3.设备的共享属性:独占设备、共享设备、虚拟设备。

设备控制器
链接CPU和设备,接受CPU的指令,控制设备,让CPU不那么繁忙。

I/O通道:一种特殊的处理机,只有输入输出指令,没有内存,与CPU共享内存。

  • 字节多路通道(Byte Multiplexor Channel)
    字节多路通道
    时间片轮转,一次一个子通道传输一个字节的数据,然后下一个子通道。
  • 数组选择通道(Block Selector Channel)
    和上一个相比,一个子通道会独占主通道,传输完为止。
  • 数组多路通道(Block Multiplexor Channel)

“瓶颈”问题
通道也是硬件,硬件价格高。
解决一个设备只能一个通道的问题,可以通过增加通路的方式。
瓶颈问题

小总结
最开始是I/O设备、CPU直接连设备总线,后来加入设备管理器、通道,就是为了减少CPU繁忙的事务。

5.2 I/O控制方式

所谓I/O控制方式是指CPU何时以及如何去驱动I/O设备、如何控制I/O设备与主机之间进行数据传输。
主要区别在于I/O过程中的CPU干预程度。

程序I/O方式

O方式

在这个过CPU始终在等待外设准备好,直到设备的标志位为0。

在该方式中,CPU之所以要不断地测试I/O设备的状态,就是因为在CPU中无中断机构 使I/O设备无法向CPU报告它已完成了一个字符的输入操作。
意思就是,CPU要一直盯着外设的状态,CPU不能在这段时间去干别的事情。】

中断驱动I/O控制方式

在程序I/O方式的基础上加入中断驱动。
中断驱动

CPU将中断位置为1,就相当于手机调到了响铃的状态,外设讲数据传输好了,或者寄存器满了,就通知CPU来处理。
CPU和外设传输数据是并行的。
因为数据是存在寄存器上,单位是字节,所以非常容易发生中断。

直接存储器访问DMA控制方式

该方式的特点是:
① 数据传输的基本单位是数据块,即在CPU与I/O设备之间,每次传送至少一个数据块;
② 所传送的数据是从设备直接送入内存的,或者相反;
③ 仅在传送一个或多个数据块的开始和结束时,才需CPU干预,整块数据的传送是在控制器的控制下完成的。
可见,DMA方式较之中断驱动方式,又是成百倍地减少了CPU对I/O的干预,进一步提高了CPU与I/O设备的并行操作程度。

DMA控制器的组成:
DMA组成

控制器中需要4个寄存器:

  1. ) 命令/状态寄存器CR。用于接收从CPU发来的I/O命令或有关控制信息, 或设备的状态。
  2. 内存地址寄存器MAR。在输入时,它存放把数据从设备传送到内存的起始目标地址;在输出时,它存放由内存到设备的内存源地址。
  3. 数据寄存器DR。用于暂存从设备到内存,或从内存到设备的数据。
  4. 数据计数器DC。 存放本次CPU要读或写的字(节)数。

缺点:
1)可能会引起内存地址的冲突;
2)需要DMA控制器硬件支持。

I/O通道控制方式

这是对DMA的进一步扩展。

通道程序

  1. 操作码。规定了指令所执行的操作,如读、写操作。
  2. 内存地址。标明字符送入内存和从内存取出时的内存首址。
  3. 计数。本条指令所要读或写数据的字节数。
  4. 通道程序结束位P。表示通道程序是否结束。P=1表示本条指令时通道程序的最后一条指令。
  5. 记录结束标志R。R=0表明本通道指令与下一条指令所处理的数据是属于同一个记录;R=1表示这是处理某记录的最后一条指令。

与DMA的区别:
1)没有计数寄存器、内存地址寄存器,连接有通道设备控制器,有指令执行机构。
2)传送数据完全由通道指令来控制,一次可以连续传送多个数据块。
3)DMA只和一个设备相连,通道可控制多台设备。

5.3 缓冲管理

引入缓冲的原因:

  • 缓和CPU与I/O设备间速度不匹配的矛盾。
  • 减少对CPU的中断频率, 放宽对CPU中断响应时间的限制。
  • 提高CPU和I/O设备之间的并行性。

不同的缓冲方式:

  • 单缓冲
  • 双缓冲
  • 循环缓冲
  • 缓冲池
  • 用户层软件

5.4 I/O软件

I/O软件的层次
O软件

  • 硬件
  • 中断处理程序
  • 设备驱动程序
  • 设备独立性软件

5.5 设备分配

分配:设备、控制器和通道
需要记录与它们相关的信息。包括:资源标识、物理连接情况、占有进程、等待进程等。
具体实现时,可以将其分为设备控制块、控制器控制块和通道控制块。
这些控制块中包含的信息在不同的系统中会有所不同。

各种数据结构:

  • 设备控制表DCT
  • 设备表控制器SD控制表COCT
  • 通道控制表CHCT
  • 系统T
    设备分配个数据结构之间的关系

设备分配时应考虑的因素

  • 设备的固有属性
    • 独享设备
    • 共享设备
    • 虚拟设备
  • 设备分配算法
    • 先来先服务
    • 优先级高者优先
  • 设备分配中的安全性
    • 安全分配方式
    • 不安全分配方式

SPOOLing技术

SPOOLing组成六部分:
输入、输出进程(模拟外围机),输入、输出井(两个磁盘),输入、输出缓冲(缓存数据)。
SPOOLing组成

共享打印机的运用
共享打印机技术已被广泛地用于多用户系统和局域网络中。
当用户进程请求打印输出时, SPOOLing系统同意为它打印输出, 但并不真正立即把打印机分配给该用户进程, 而只为它做两件事:
① 由输出进程在输出井中为之申请一个空闲磁盘块区, 并将要打印的数据送入其中;
② 输出进程再为用户进程申请一张空白的用户请求打印表,并将用户的打印要求填入其中, 再将该表挂到请求打印队列上。

5.6 磁盘存储器管理

磁盘结构

数据存储在某个盘片的某个盘面的某个磁道的某个扇区上。

类型有:固定头磁盘、移动头磁盘。

磁盘访问时间

  1. 寻道时间
    该时间是启动磁臂的时间s与磁头移动n条磁道所花费的时间之和, 即 Ts=m×n+s
  2. 旋转延迟
  3. 传输时间

调度算法

  1. 先来先服务FCFS
  2. 最短寻道时间优先SSTF:每次都找最近的。优点:平均最短。缺点:有些进程会“饥饿”。
  3. 扫描(SCAN)算法 。来回扫描。缺点:电梯,刚走,来人。
  4. 循环扫描(CSCAN)算法 。和扫描相比,只往一个方向。
  5. ……

磁盘高速缓存

将内存作为磁盘高速缓存,逻辑上是磁盘的,物理上是内存的。

本章重点掌握

4种控制方式
引入缓冲原因
I/O软件层次,独立性
四种调度算法