read()之后操作系统都干了什么
- 首先说明三个参数 file文件 buff从内存中开辟一段缓冲区用来接收读取的数据 size表示这个缓冲区的大小
- 有关file的参数:
- 状态:被打开 被关闭
- 权限:可读可写
- 最重要的是inode: 他包含了 文件的元数据(比如文件大小 文件类型 文件在访问前需要加锁),最关键的是他在磁盘中的位置
假设 我们要访问4 5两个块,那么在磁盘启动的过程中,第一个块被设置成超级块
剩下的空间会被分成一个又一个的块并标上编码
superblock会记录 inode的数量和block的数量
inode是包含多个数据块的结构
回到我们之前要访问4 5两个块的问题,read会根据inode里面获取了 4 5两个编号剩下就是将内容写入buffer了