io管理

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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值