文件系统的IO过程

文件系统的IO简化流程图

在这里插入图片描述
图中的IO Manager是操作系统内核的一个模块,专门用来管理IO,并协调文件系统、卷、磁盘驱动程序各个模块之间的运作。整体流程解释:
某时刻,应用程序调用文件系统接口,准备写入某文件。(从app到system services的过程)
1、IO Manager最终将这个请求发送给文件系统模块。
2、文件系统将某个文件对应的逻辑偏移映射成卷的LBA(逻辑块地址)地址偏移并通过IO Manager请求调用卷管理磁盘驱动接口。
3、文件系统向IO Manager请求调用卷管理软件模块的接口。
4、卷管理软件将卷对应的LBA地址偏移翻译映射成实际物理磁盘对应的LBA地址偏移,并请求调用磁盘控制器驱动程序。
5、IO Manager请求调用磁盘控制器驱动程序。
6、将对应的LBA地址段的数据从内存写入某物理磁盘。

文件系统的IO包括同步IO,异步IO,阻塞/非阻塞IO和Direct IO。
(1)同步IO:同步IO是指程序的某一个进程或线程,如果某时刻调用了同步IO接口,则IO请求发出去后,这个进程或线程必须等待IO路径上的下位程序返回的信号(不管是成功收到数据的信号还是失败的信号)。如果不能立刻收到下位的信号;则一直处于等待状态,不继续执行后续代码,被操作系统挂起,操作系统继续执行其他的进程或线程。如果在这期间,若IO的下位程序尚未得到上位程序请求的数据,此时IO路径上的下位程序又可以选择两种动作方式࿱

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值