设备管理(读文件部分)

本文介绍了磁盘与主机的数据交换流程。应用进程执行读系统调用,独立于设备的I/O软件先检查参数和缓存,若数据不在缓冲区则执行物理I/O操作。内核启动设备驱动程序,设备控制器进行数据传输。传输完成后硬件产生中断,CPU响应处理,最后应用进程恢复执行。

1.应用进程对已打开文件的文件描述符执行读系统调用(库函数)

2.独立于设备的I/O软件检查参数是否正确,若正确,检查高速缓存中有无要读取的信息块;若有,从缓冲区直接读至用户区,完成I/O请求。

3.若数据不在缓冲区,执行物理I/O操作,独立于设备的I/O软件将设备的逻辑名转换成物理名,检查对设备操作的许可权,将I/O请求排队,阻塞应用进程且等待I/O操作完成

4.内核启动设备驱动程序,分配存放读出块的缓冲区,准备接受数据并向设备控制寄存器发送启动命令,或建立DMA传输,启动I/O。

5.设备控制器操作设备,执行数据传输

6.当采用DMA控制器控制数据传输时,一旦传输完成,硬件产生I/O结束中断。

7.CPU响应中断,转向磁盘中断处理程序。它检查中断产生原因和设备执行状态,若设备有错,向设备驱动程序发信号,检查是否能重复执行,若允许,重发启动设备命令再次传输;否则向上层软件报告错误。若设备I/O正确完成,将数据传输到指定的用户进程空间,唤醒阻塞进程并将其放入就绪队列;绕后系统检查有无I/O请求在排队,若有,再启动设备,继续传输。至此,中断处理完成且返回,将成功或失败的信息逐层向上报告。

8.当应用进程被再次调度执行时,从I/O系统调用的断点处恢复执行

 

磁盘与主机交换数据的最小单位是扇区

转载于:https://www.cnblogs.com/lccsblog/p/11070971.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值