码迷,mamicode.com
首页 > 其他好文 > 详细

设备管理(读文件部分)

时间:2019-06-23 01:00:33      阅读:144      评论:0      收藏:0      [点我收藏+]

标签:控制   驱动   缓冲区   用户   文件   软件   指定   中断   行数据   

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

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!