基于linux0.11系统的文件读取原理是什么

这期内容当中小编将会给大家带来有关基于linux0.11系统的文件读取原理是什么,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。

创新互联建站服务项目包括陆河网站建设、陆河网站制作、陆河网页制作以及陆河网络营销策划等。多年来,我们专注于互联网行业,利用自身积累的技术优势、行业经验、深度合作伙伴关系等,向广大中小型企业、政府机构等提供互联网行业的解决方案,陆河网站推广取得了明显的社会效益与经济效益。目前,我们服务的客户以成都为中心已经辐射到陆河省份的部分城市,未来相信会继续扩大服务区域并继续获得客户的支持与信任!

小编的是文件系统树,我们知道,文件系统的数据是存在硬盘里的,这里来看一下,这些数据是怎么组织成一棵树,又是怎么进行遍历的。下面就是这棵树。

基于linux0.11系统的文件读取原理是什么

下面我们以读取文件为线索,看一下过程是怎么样的。

 1 我们要先根据文件路径找到文件对应的inode节点。假设是个绝对路径。文件路径是/a/b/c.txt。系统初始化的时候我们已经拿到了根目录对应的inode。从inode的结构体结构中,我们知道inode有一个字段保存了文件的内容。所以这时候就把根目录文件的文件内容读进来,是一系列的dir_entry结构体。然后逐个遍历,比较文件名是不是等于a,最后得到一个目录a对应的dir_entry。

2 根据dir_entry结构体我们知道,里面不仅保存了文件名,还保存了对应的inode号。我们根据inode号把a目录文件的内容也读取进来。以此类推。最后得到c对应的dir_entry。

3 再根据c对应的dir_entry的inode号,从硬盘把inode的内容读进来。发现他是一个普通文件。至此,我们找到了这个文件对应的inode节点。完成fd->file结构体->inode结构体的赋值。

4 然后我们开始读取文件的内容。根据fd我们找到对应的inode节点。根据file结构体的pos字段,我们知道需要读取的数据在文件中的偏移。根据这个偏移,可以算出应该取i_zone[9]字段的哪个索引,文件的前7块对应索引0-6,前7到7+512对应索引7等。得到索引后,读取i_zone数组在该索引的值,即我们要读取的数据在硬盘的数据块。然后把这个数据块从硬盘读取进来。返回给用户。

5 至此,完成了文件的查找和读取。

上述就是小编为大家分享的基于linux0.11系统的文件读取原理是什么了,如果刚好有类似的疑惑,不妨参照上述分析进行理解。如果想知道更多相关知识,欢迎关注创新互联行业资讯频道。


新闻名称:基于linux0.11系统的文件读取原理是什么
网页URL:http://scjbc.cn/article/iiighj.html

其他资讯