第六章 输入输出系统

6.1 I/O系统的功能、模型和接口

6.1.1 I/O系统的基本功能

  • 隐藏物理设备的细节
  • 与设备的无关性
  • 提高处理机和I/O设备的利用率
  • 对I/O设备进行控制
  • 确保对设备的正确共享
  • 错误处理

对I/O设备的四种控制方式:
	(1)采用轮询的可编程I/O方式
	(2)采用可中断的可编程I/O方式
	(3)直接存储器访问方式
	(4)I/O通道方式

6.1.2 I/O系统的层次结构和模型

  • I/O软件的层次结构
  • I/O系统中各种模块之间的层次视图

6.1.3 I/O系统的接口

  • 块设备接口
  • 流设备接口
  • 网络通信接口

6.2 I/O设备和设备控制流

I/O设备

  • I/O设备类型
  • 设备与控制器之间的接口

1.按使用特性分类:
	第一类:是存储设备,也称外存或辅存,是用以存储信息的主要设备。
	第二类:是I/O设备它又可分为,输入设备、输出设备和交互式设备
2.按传输速率分类:
	第一类:低速设备
	第二类:中速设备
	第三类:高速设备

6.2.2 设备控制器

  • 设备控制器的基本功能
  • 设备控制器的组成

基本功能:
	(1)接收和识别命令
	(2)数据交换
	(3)标识和报告设备的状态
	(4)地址识别
	(5)数据缓冲区
	(6)差错控制
组成:
	(1)设备控制器与处理机的接口
	(2)设备控制器与设备的接口
	(3)I/O逻辑

6.2.3 内存映像I/O

  • 利用待定的I/O指令
  • 内存映像I/O

6.2.4 I/O通道

  • I/O通道设备的引入
  • 通道类型
  • “瓶颈” 问题

通道类型:
	(1)字节多路通道 ---- 这是一种按字节交叉方式工作的通道
	(2)数组选择通道 ---- 可连接多台高速设备。
	(3)数组多路通道 ---- 每次只允许一个设备传输数据。

6.3 中断机构和中断处理程序

6.3.1 中断简介

  • 中断和陷入
  • 中断向量表和中断优先级
  • 对多中断源的处理方式

1. 中断: 指CPU对I/O设备发来的中断信号的一种响应。
2. 陷入:由CPU内部事件所引起的中断。
3. 中断和陷入的主要区别:是信号源来自于CPU外部还来源于CPU内部。

6.3.2 中断处理程序

中断处理程序的处理过程可分为以下几个步骤:

(1)测定是否有未响应的中断信号
    (2)保护被中断进程的CPU环境
    (3)转入相应的设备处理程序
    (4)中断处理
    (5)回复CPU的现场并退出中断。
    	此刻是否返回到被中断的进程,取决于两个因素:
    		①本中断是否用了屏蔽(禁止)中断方式,若是,就会返回被中断的进程
    		②采用的是中断嵌套方式,若果没有优先级更高的中断请求I/O,在中断完成后,
    		仍会返回被中断的过程,反之,系统将处理优先级更高的中断请求。
   

6.4 设备驱动系统

6.4.1 设备驱动程序的概述

  • 设备驱动程序的功能
  • 设备驱动程序的特点
  • 设备处理方式

6.4.2 设备驱动程序的处理过程

过程:
(1)将抽象要求转换为具体要求
(2)对服务请求进行校验
(3)检查设备的状态
(4)传送必要的参数
(5)启动I/O设备

6.4.3 对I/O设备的控制方式

  • 使用轮询的可编程I/O方式
  • 使用中断的可编程I/O方式
  • 直接存储器访问方式
  • I/O通道控制方式

I/O通道的控制方式:
	1> I/O通道的控制方式的引入
	2> 通道程序
		(1)操作码,规定了指令执行的操作
		(2)内存地址,标明字符送入内存(读操作)和内存取出(写操作)时的内存首址。
		(3)计数,表示本条指令所要读(或写)数据的字节数
		(4)通道程序结束位P,用于表示通道程序是否结束。
		(5)记录结束标志R。

6.5 与设备无关的I/O软件

6.5.1 与设备无关软件的基本概念

  • 与物理设备名使用设备
  • 引入了逻辑设备名
  • 逻辑设备名称到物理设备名称的转换

6.5.2 与设备无关的软件

  • 设备驱动程序的统一接口
  • 缓冲管理
  • 差错控制
  • 对独立设备的分配与回收
  • 独立于设备的逻辑数据块

6.5.3 设备分配

  • 设备分配中的数据结构
  • 设备分配时应考虑的因素
  • 独占设备的分配程序

因素:
	(1)设备的固有属性:
		①独占设备的分配策略
		②共享设备的分配策略
		③虚拟设备的分配策略
	(2)设备分配算法:
		①先来先服务
		②优先级高者优先
	(3)设备分配中的安全性:
		①安全分配方式
		②不安全分配方式
独占设备的分配程序;	
	(1)基本设备的分配程序:
		①分配设备
		②分配控制器
		③分配通道
	(2)设备分配程序的改进

6.5.4 逻辑设备名到物理设备名的yi映射实现

  • 逻辑设备表
  • 逻辑设备表的设置问题

6.6 用户层的I/O软件

6.6.1 系统调用与库函数

  • 系统调用
  • 库函数

6.6.2 假脱机系统

  • 假脱机技术
  • SPOOLing的组成
  • SPOOLing系统的特点
  • 假脱机打印机系统
  • 守护进程

6.7 缓冲区管理

6.7.1 缓冲的引入

(1)缓存CPU与I/O设备间速度不匹配的矛盾。
(2)减少对CPU的中断频率,放宽对CPU中断响应时间的限制。
(3)解决数据粒度不匹配问题。
(4)提高CPU和I/O设备之间的并行性。

6.7.2 单缓存区和双缓存区

  • 单缓存区
  • 双缓存区

6.7.3 环形缓冲区

  • 环形缓冲区的组成
  • 环形缓冲区的使用
  • 进程之间的同步问题

6.7.4 缓冲池

  • 缓冲池的组成
  • Getbuf过程和Putbuf过程
  • 缓冲区的工作方式

 - 缓冲池的组成:
	(1)空白缓冲队列emq。
	(2)输入缓冲队列inq。
	(3)输出队列outq。
2.缓冲区的工作方式:
	(1)收容输入
	(2)提取输入
	(3)收容输出
	(4)提取输出

6.8 磁盘存储器的性能和调度

6.8.1 磁盘性能

  • 数据的组织和格式
  • 磁盘类型
  • 磁盘访问时间

6.8.2 早期的磁盘调度算法

  • 先来先服务(FCFS)
  • 最短寻道时间优先(SSTF)

6.8.3 基于扫描的磁盘调度算法

  • 扫描(SCAN)算法
  • 循环扫描(CSCAN)算法
  • NStepSCAN和FSCAN算法

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值