liunx 读写过程

Linux系统中将数据写入到一个文件是一个很复杂的过程。如果我们只对这个过程做一个理论和概要的理解,可以总结为下面处理过程。

1、首先,用户态程序需要将数据所在地址、写入文件位置、写入长度传递给内核空间。

2、然后,内核需要检查用户态程序传入的参数,一部分要检查用户态空间那段存储数据的地址是否可读,还需要检查写入文件位置,写入文件长度是不是超过了文件的限制。

3、通过检查后,进入一个循环中,这个循环的总体流程就是从写入文件位置开始,逐page进行操作,首先根据写入位置计算对应的page,然后找到或者分配一个page,然后找到这个page对应逻辑块的物理块。完成该page中需要写入的块的物理磁盘映射

4、将数据拷贝到这个page中

5、将这个page中的需要写入的块标记为dirty标记

6、修改写入文件的位置,开始操作需要写入的下一个page,过程还是如上面所述。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值