文章目录
I/O系统是OS的重要组成部分,用于管理诸如打印机和扫描仪等I/O设备,以及用于存储数据诸如磁盘驱动器等各种存储设备。
I/O系统管理的主要对象是I/O设备和相应的设备控制器。
主要任务:完成用户提出的I/O请求,提高I/O速率及设备的利用率。
一、I/O设备的概念和分类
I/O设备就是可以将数据输入到计算机,也可以接受计算机输出数据的外部设备。
二、I/O控制器
设备一般由机械部分和电子部分组成。这个电子部分就是I/O控制器,又称设备控制器。
功能
组成
小结
三、I/O控制方式
用什么来控制I/O设备数据的读/写
程序直接控制方式
中断驱动方式
DMA方式
通道控制方式
小结
一个通道可以控制多个IO控制器,而一个IO控制器可以控制多个IO设备。
四、IO软件的层次结构
用户层软件
设备独立性软件
与设备的硬件特性无关的功能的实现。
设备驱动程序
设备驱动程序一般以一个独立进程的形式存在。
中断处理程序
四.一、 I/O系统中各个模块之间的层次结构
1.I/O系统的上下接口。包括I/O系统接口和软件/硬件接口
I/O系统接口,它是I/O系统与上层系统之间的接口,向上层系统(文件系统,虚拟存储器系统以及用户进程等)提供对设备进行操作的抽象I/O命令。若根据设备类型的不同将接口细分,块设备接口,流设备接口,网络通信接口。
软件/硬件接口,上面是中断处理程序和不同设备的设备驱动程序,下面是各个设备的控制器。
在上下两个接口之间则是I/O系统
2.I/O系统的分层。与前面的I/O软件组织的层次结构相对应,I/O系统本身也可以分为3个层次,即中断处理程序,设备驱动程序,设备独立性软件。
五、IO核心子系统
5.1、假脱机技术
什么是脱机技术?
什么是假脱机技术?
当有数据从设备输入到计算机时,输入进程(软件)会把输入的数据先放到输入缓冲区里,之后再放到磁盘的输入井当中;
数据从计算机输入到设备,输出进程会把要输出的数据从磁盘的输出井当中取出数据放到内存的输出缓冲区中,之后输出到设备。
共享打印机的实现(假脱机的应用)
小结
5.2 设备的分配与回收
小结
5.3 缓冲区管理
单缓冲区
双缓冲区
循环缓冲区
缓冲池