目录 输入输出系统引入I/O系统的功能、模型和接口I/O设备和设备控制器I/O设备的类型设备和控制器之间的接口设备控制器中断机构和中断处理程序设备驱动程序与设备无关的I/O软件用户层的I/O软件缓冲区管理磁盘存储器的性能和调度
输入输出系统
引入
- 输入输出系统的组成: 用于实现信息输入功能的设备、用于实现信息输出功能的输出设备、用于实现信息存储功能的设备 和相应的设备控制器 。(大中型机中还有I/O通道或I/O处理机 )
- 设备管理的对象:主要是I/O设备,还可能涉及设备控制器和I/O通道。
- 设备管理(I/O系统)的基本任务:
- 完成用户提出的I/O请求
- 提高I/O速率
- 改善I/O设备的利用率
- 设备管理的主要功能:
- 缓冲区管理
- 设备分配
- 设备处理
- 虚拟设备
- 实现设备的独立性
I/O系统的功能、模型和接口
- I/O系统的层次结构:
- 用户层I/O软件
- 设备独立性软件
- 设备驱动程序
- 中断处理程序
- I/O系统的基本功能:
- 隐藏物理设备的细节
- 与设备的无关性
- 用户不仅可使用抽象的I/O命令使用设备,还可以使用逻辑设备名使用
- 提高处理机和I/O设备的利用率
- 在一般的系统中,许多I/O设备间是相互独立的,能够并行操作,在处理机与设备之间也能并行操作。因此,I/O系统的第三个功能是要尽可能地让处理机和I/O设备并行操作,以提高它们的利用率。为此,一方面要求处理机能快速响应用户的I/O请求,使I/O设备尽快地运行起来;另一方面也应尽量减少在每个I/O设备运行时处理机的干预时间。
- 对i/o设备进行控制
- 对I/O设备进行控制是驱动程序的功能
- 目前对I/O设备有四种控制方式:① 采用轮询的可编程I/O方式;② 采用中断的可编程I/O方式;③ 直接存储器访问方式;④ I/O通道方式。
- 确保对设备的正确共享
- 从设备的共享属性上,可将系统中的设备分为如下两类:
- (1) 独占设备,进程应互斥地访问这类设备,即系统一旦把这类设备分配给了某进程后,便由该进程独占,直至用完释放。典型的独占设备有打印机、磁带机等。系统在对独占设备进行分配时,还应考虑到分配的安全性。
- (2) 共享设备,是指在一段时间内允许多个进程同时访问的设备。典型的共享设备是磁盘,当有多个进程需对磁盘执行读、写操作时,可以交叉进行,不会影响到读、写的正确性。
- 错误处理
- 大多数的设备都包括了较多的机械和电气部分,运行时容易出现错误和故障。
- 从处理的角度,可将错误分为临时性错误和持久性错误。对于临时性错误,可通过重试操作来纠正,只有在发生了持久性错误时,才需要向上层报告。
I/O设备和设备控制器
I/O设备的类型
I/O设备的性能指标 :数据传输速率、数据的传输单位、设备共享属性
- I/O设备分类 :
- 按传输速率分类(两个空就填低速设备和高速设备)
- 低速设备
- 中速设备
- 高速设备
- 按信息交换的单位分类
- 块设备:用于存储信息,对于信息的存取总是以数据块为单位 。特征是:传输速率高、可寻址 ,工作方式:DMA方式
- 字符设备 :用于数据的输入和输出,基本单位是字符。特征那:传输速率低、不可寻址。工作方式是:中断
- 按设备的共享属性分类
- 独占设备:指在一段时间内只允许一个用户(进程)访问的设备,即**临界资源,应互斥访问
- 共享设备:指在一段时间内允许多个进程同时访问的设备
- 虚拟设备 :指通过虚拟技术将一台设备变换为若干逻辑设备,供若干个用户同时使用
- 按设备的使用特性
- 存储设备
- 输入设备
- 输出设备
- 按传输速率分类(两个空就填低速设备和高速设备)
设备和控制器之间的接口
- 通常设备并不是直接与CPU进行通信,而是与设备控制器通信,因此,在设备与设备控制器之间有一接口,在该接口中有三种类型的信号,各对应一条信号线 :
- 数据信号线:用于在设备和设备控制器之间传送数据信号。对输入设备而言,由外界输入的信号经转换器转换后所形成的数据,通常先送入缓冲区中,当数据量达到一定量时,在从缓冲器通过一组数据信号线 传送给设备控制器 。对输出设备而言,则是将从设备控制器经过数据信号线传送来的一批数据,先暂存于缓冲器中,经转换器作适当转换后逐个字符 的输出。
- 控制信号线:作为设备控制器向I/O设备发送控制信号的通路。该信号规定了设备将要执行的操作,如读(指由设备向控制器传送数据)或写操作(从控制器接收数据),或执行磁头移动等操作。
- 状态信号线 :用于传送指示设备当前状态的信号。设备的当前状态有正在读(或写);设备已读(写)完成,并准备好新的数据传送。
设备控制器
- 引入的目的:解放CPU
- 定义:设备控制器是计算机的一个实体,其主要职责是控制一个或多个I/O设备,以实现I/O设备和计算机之间的数据交换。
- 他是CPU和I/O设备之间的接口,他接收从CPU发来的命令,并去控制I/O设备工作,以使处理机脱离繁杂的设备控制事务。
- 设备控制器是一个可编址的设备,可控制多个设备并为他们编址。
- 设备控制器可分为控制块设备的控制器和控制字符设备的控制器两类。
中断机构和中断处理程序
设备驱动程序
与设备无关的I/O软件
用户层的I/O软件
缓冲区管理
磁盘存储器的性能和调度