[关闭]
@yanglt7 2018-10-21T15:59:43.000000Z 字数 3979 阅读 827

第13章:I/O子系统

操作系统


13.1 I/O特点

三种常见设备接口类型

设备访问特征

同步与异步 I/O

(1)阻塞 I/O:”Wait“

用户 I/O 请求处理过程
内核 设备驱动
内核 中断处理
内核 硬件控制数据传送

(2)非阻塞 I/O :”Don't Wait“

(3)异步 I/O :”Tell Me Later“

13.2 I/O 结构

CPU与设备的连接

总线接口 提供CPU和 I/O 设备间的接口
硬件控制器
寄存器(读数据、写数据、控制、状态) 进行数据的交互和状态和控制的交互
可寻址存储或队列(内存映射) 映射到内存当中,给一段内存区域,对这段内存区域的访问,对应过来就是I/O设备的访问

设备到CPU的通道

I/O 指令和内存映射 I/O

内核 I/O 结构

软件 内核
I/O子系统 处理各种设备共同的一些内容,例如I/O请求转换成驱动的I/O请求;缓存设备给出的结果
设备驱动
硬件 设备控制器
设备

I/O请求生存周期

Created with Raphaël 2.1.2I/O请求判断是否没有I/O请求结果向驱动发送I/O请求,并等待结果处理I/O请求,发送控制命令,并等待中断响应控制设备操作完成时,产生中断I/O完成,生成中断请求接收中断,保存结果,并通知设备驱动确定I/O操作完成状态,通知I/O子系统与进程交换数据,并返回完成结果或错误信息I/O操作完成,输入数据可用或输出完成yesno

13.3 I/O数据传输

CPU与设备控制器的数据传输

通过直接I/O寻址读取磁盘数据的步骤

Created with Raphaël 2.1.2CPU高速缓存系统总线DMA总线和中断控制器PCI总线IDE磁盘控制器磁盘内存地址X(缓存)yesno
  1. 1. 设备驱动收到内存地址X
  2. 2. 设备驱动控制磁盘控制器从磁盘读取数据
  3. 3. 磁盘控制器初始化DMA传送
  4. 4. 磁盘控制器传送数据到DMA控制器
  5. 5. DMA控制器传送C字节数据到内存地址X
  6. 6. DMA控制器完成数据传送后,产生中断请求,通知CPU传送完成

I/O设备通知操作系统的机制

轮询

设备中断

13.4 磁盘调度

磁盘工作机制和性能参数

磁盘I/O传输时间

等待设备可用
等待通道可用 设备忙
寻道时间 设备忙
旋转延迟 设备忙
数据传送 设备忙

- Ta = Ts + 1/2r + b/rN
- Ta : 访问时间
- Ts :寻道时间
- 1/2r : 旋转延迟
- b/rN : 传输时间
- b :传输的比特数
- N :磁道上的比特数
- r :磁盘转数

磁盘调度算法

(一)先进先出(FIFO)算法

(二)最短服务时间优先(SSTF)算法

(三)扫描算法(SSAN)

(四)循环扫描算法(C-SSAN)

(五)C-Look算法

(六)N步扫描算法(N-Step-SCAN)

(七)双队列扫描(FSCAN)算法

13.5 磁盘缓存

单缓存与双缓存

访问频率置换算法(Frequency-based Replacement)

栈顶 新区域 中间区域 旧区域 栈底
引用计数不变 引用计数加1 引用计数加1
添加新批注
在作者公开此批注前,只有你和作者可见。
回复批注