计算机的操作系统i/o功能是:管理和控制io操作和io设备。
设备驱动程序为io子系统提供了统一的设备访问接口,就像系统调用为应用程序于操作系统之间提供了接口
io端口通常由四个寄存器组成,即状态,控制,数据输入,数据输出寄存器。数据输入寄存器:被主机读入获取数据。数据输出寄存器:被主机写入以发送 数据。状态寄存器:包含一些主机可以读取的位,例如一些可以读取的位,例如当前命令是否完成,数据寄存器中是否有数据,是否出现设备故障。控制寄存器:可由主机写入,以便启动命令或更改设备模式。
轮询:
中断:
dma:
设备驱动程序的作用:为内核io子系统隐藏设备控制器之间的差异;就如同io系统调用封装设备行为,以便形成少量通用类型,并为应用程序隐藏硬件特性
分层思想:内核,内核io子系统,设备驱动程序,io控制器。
io设备分类 :1.字符流和块:字符流设备逐个字节来传输,而块设备是通过块字节传输。2.顺序访问和随机访问:顺序访问设备按照设备确定来顺序传输数据,而随机访问设备的用户可以按随机访问数据。
同步和异步:同步设备按预计的响时间来传输,并与系统的其他方面相协调,异步设备呈现的不规则或不可预测的响应时间,并不与其他计算机相协调。
共享和转用:共享设备可以被多个进程并发使用,而专用设备不能。
操作速度:设备的速度范围可以从每秒数字节到每秒数g字节。
读写,只读,只写:有的设备能执行输入也能执行输出,而有些设备只能单向。
阻塞io和非阻塞io
阻塞io:当应用程序执行阻塞系统调用时,应用程序会从运行队列移动到等待队列。当系统调用完成后,应用程序被移动到运行队列。
非阻塞io:非阻塞调用替代方法是异步调用,。异步调用立即返回,无需等待io完成。应用程序继续其他代码,等io完成时,,通过中断执行回调函数。非阻塞read立即返回无可用数据
08-04
08-04
08-04
08-04
08-04
08-04