一、 I/O系统的组成
包括:
需要用于输入、输出和存储信息的设备;
需要相应的设备控制器;
控制器与CPU连接的高速总线;
有的大中型计算机系统,配置I/O通道
I/O系统的基本功能及模型
1)主要功能:
1.隐藏物理设备细节,方便用户
2.用户使用抽象的I/O命令即可
3.实现设备无关性,方便用户
用户可用抽象的逻辑设备名来使用设备,同时也提高了OS的可移植性和易适应性。
4.提高处理机和设备的并行性,提高利用率:缓冲区管理
5.对I/O设备进行控制:控制方式、设备分配、设备处理
确保对设备正确共享:虚拟设备及设备独立性等
6.错误处理
2)I/O/系统的层次结构和模型
层次结构:系统中的设备管理模块分为若干个层次
层间操作:下层为上层提供服务,完成输入输出功能中的某些子功能,并屏蔽功能实现的细节
I/O软件的分层:①用户层软件②设备独立软件
③设备驱动程序④中断处理程序
二、I/O系统接口
块设备接口:
数据的存取和传输都是以数据块为单位的设备。基本特征是传输速率较高、可寻址。磁盘设备的I/O常采用DMA方式。
流设备接口:
数据的存取和传输是以字符为单位的设备。如键盘、打印机等。基本特征是传输速率较低、不可寻址,常采用中断驱动方式。
三、与控制器的接口有三种类型的信号:
数据信号线(进出数据转换、缓冲后传送)
控制信号线(读\写\移动磁头等控制)
状态信号线
四、信息交换方式
根据其控制的外围设备的不同类型,信息交换方式也可分为以下三种类型:
(1)字节多路通道:一个通道常通过多个子通道连接多个设备控制器,多个设备,通过非分配型子通道以字节为单位交叉轮流使用主通道传输自己的数据。
(2)数组选择通道:针对高速设备:分配型子通道,设备利用子通道占用通道后,一段时间内一直独占,直至设备传送完毕释放。利用率低。
(3)数组多路通道:含多个非分配型子通道。数据传送则按数组方式进行。
五、中断向量表
为每种设备配以相应的中断处理程序,并把该程序的入口地址,放在中断向量表的一个表项中,并为每一个设备的中断请求,规定一个中断号,它直接对应于中断向量表的一个表项中。
六、I/O控制方式
(1)程序I/O方式
过程:
1、向控制器发送一条I/O指令;启动输入设备输入数据;把状态寄存器busy=1。
2、然后不断测试标志。为1:表示输入机尚未输完一个字,CPU继续对该标志测试;直到为0:数据已输入控制器数据寄存器中。
3、CPU取控制器中的数据送入内存单元,完成一个字的I/O 。
缺点:
高速CPU空闲等待低速I/O设备,致使CPU极大浪费。
(2)中断驱动I/O方式
过程:
1、CPU向相应的设备控制器发出一条I/O命令
2、然后立即返回继续执行任务。
3、设备控制器按照命令的要求去控制指定I/O设备。
4、这时CPU与I/O设备并行操作。
优缺点:
1、中断方式比程序I/O方式更有效
2、但仍以字(节)为单位进行I/O,每当完成一个字(节),控制器便要请求一次中断。
3、CPU虽然可与I/O并行,但效率不高,存在频繁的中断干扰。
(3)直接存储器访问DMA(字节—块)
过程:
1、CPU先向磁盘控制器发送一条读命令。该命令被送到命令寄存器CR中。
2、同时发送数据读入到内存的起始地址,该地址被送入MAR中;要读数据的字数则送入数据计数器DC中;
3、将磁盘中的数据原地址直接送入DMA控制器的I/O控制逻辑上,按设备状态启动磁头到相应位置。
4、启动DMA控制器控制逻辑开始进行数据传送
DMA控制器读入一个数据到数据寄存器DR中,然后传到内存MAR地址中;
接着MAR+1,DC-1,判断DC是否为0,如否,继续,反之控制器发中断请求,传送完毕。
优缺点:
DMA适用于读一个连续的数据块;
(4)I/O通道控制方式(组织传送的独立)
通过执行通道程序,与设备控制器共同实现对I/O设备的控制。
通道指令一般包含下列信息:
操作码。规定指令所执行的操作。
内存地址。
计数。表示本指令所要操作的字节数。
通道程序结束位。用以表示程序是否结束。
记录结束标志。表示该指令是否与下条指令有关。
七、设备独立性
用户编程时所用的设备名(逻辑上的)与实际物理设备无关;