了解基于inode的文件系统如何从文件名找到磁盘块

磁盘的最小读写单位是块(block);
每个块都有一个编号,即块ID;
对文件系统来说,磁盘就是一个大数组,数组中的每一项就是一个块;

文件系统若要读取某个块,可向磁盘发送块ID,磁盘会返回这个块的数据;写块的过程也类似;

一个文件的内容可能存在多个磁盘块上;
需要一个数据结构来记录文件和多个块ID之间的对应关系;
此信息记录在inode数据结构中;
由于不可能所有文件大小正好是块的整数倍,inode还需要记录文件以Byte为单位的大小;

可参阅此二文,对inode的描述;

    https://blog.csdn.net/bcbobo21cn/article/details/128736684
    https://blog.csdn.net/bcbobo21cn/article/details/123026328

也就是一个文件存在哪些磁盘块上记录在inode中,发送磁盘块ID给磁盘,或者给磁盘驱动程序,可以获取内容;

猜你喜欢

转载自blog.csdn.net/bcbobo21cn/article/details/131930195