I/O子系统层次结构
由上至下依次是:
用户层I/O软件
设备独立性软件(主要⚠️功能:1⃣️执行所有设备公有操作:对设备的分配和回收♻️;逻辑->物理;设备保护;缓冲管理;差错控制;提供独立于设备大小统一的逻辑块,屏蔽设备之间信息交换单位大小与传输速率的差异2⃣️向用户层提供统一接口:各种设备的读写操作)
设备驱动软件
中断处理软件
硬件(机械部件和电子部件(电子部件成为设备控制器,下面详细📝))
用户层I/O软件:实现与用户交互的接口,用户可直接调用在用户层提供的、与I/O操作有关的库函数。用户层软件必须通过一组系统调用来获取os服务。
设备独立性软件:实现用户程序与设备驱动器的统一接口、设备命令、设备保护以及设备分配和释放等,同时为设备管理和数据传送提供必要的存储空间。(引入逻辑设备与物理设备的概念为了实现设备独立性)
设备驱动程序:与硬件直接相关,驱动I/O设备工作的驱动程序(每类设备一个)
中断处理程序:用于保护CPU环境
硬件设备:机械是设备本身,电子部件是控制器(或叫适配器)
设备控制器
用设备控制器的功能,了解设备控制器中应包含的接口(寄存器等)
区别内存映射I/O与寄存器独立编址区别
I/O控制方式
1.程序直接控制
2.中断驱动方式
3.DMA方式
4.通道控制方式
通过区分每个方式的流程、CPU干预频率、传送单位、数据流向、优缺点来记住每个方式的特点。
设备分配
SPOOLing技术
spooling系统由预输入程序、井管理程序、缓输出程序组成。
采用spooling技术的系统中,用户打印数据首先被送到磁盘固定区域。
缓冲区部分掌握较好,暂不做整理,完结撒花 🎉!