- 1、本文档共7页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
linux基础解惑的
LINUX文件系统详解???一、物理磁盘到文件系统?文件系统是用来存储文件内容、文件属性、和目录。这些类型的数据如何存储在磁盘块上的呢?unix/linux使用了一个简单的方法。如图所示.
它将磁盘块分为三个部分:?1)? ?? ???超级块,文件系统中第一个块被称为超级块。这个块存放文件系统本身的结构信息。比如,超级块记录了每个区域的大小,超级块也存放未被使用的磁盘块的信息。?2)? ?? ???I-切点表。超级块的下一个部分就是i-节点表,第个文件都有一些属性,如文件的大小、文件所有者、和创建时间等,这些性质被记录在一个称为i-节点的结构中。所有i-节点都有相同的大小,并且i-节点表是这些结构的一个列表,文件系统中每个文件在该表中都有一个i-节点。?3)? ?? ???数据区。文件系统的第3个部分是数据区。文件的内容保存在这个区域。磁盘上所有块的大小都一样。如果文件包含了超过一个块的内容,则文件内容会存放在多个磁盘块中。一个较大的文件很容易分布上千个独产的磁盘块中,至于文件系统是如何跟踪这些磁盘块的,在第四节再讲。???二、创建一个文件的过程???我们现在知道文件的内容和属性是分开存放的,那么又是如何管理它们的呢。现在我们以创建一个文件为例来讲解。在命令行输入命令:?$ who gt; userlist?当完成这个命令时。文件系统中增加了一个存放命令who输出内容的新文件,那么这整个过程到底是怎么回事呢????文件有属性和内容,内核将文件内容存放在数据区,文件属性存放在i-节点,文件名存放在目录。图2显示了创建一个文件的例子,假如这个新文件要3?个存储块来存放内容。?
四个步骤如下:???1)? ?? ???存储属性?也就是文件属性的存储,内核先找到一块空的i-节点。图2中。内核找到i-节点号47。内核把文件的信息记录其中。如文件的大小、文件所有者、和创建时间等?2)? ?? ???存储数据?即文件内容的存储,由于该文件需要3个数据块。因此内核从自由块的列表中找到3个自由块。图2中分别为627、200、992,内核缓冲区的第一块数据复制到块627,第二和第三分别复制到200和992.?3)? ?? ???记录分配情况,数据保存到了三个数据块中。所以必须要记录起来,以后再找到正确的数据。分配情况记录在文件的i-节点中的磁盘序号列表里。这3个编号分别放在最开始的3个位置。?4)? ?? ???添加文件名到目录,新文件的名字是userlist?内核将文件的入口(47,userlist)添加到目录文件里。文件名和i-节点号之间的对应关系将文件名和文件和文件的内容属性连接起来,找到文件名就找到文件的i-节点号,通过i-节点号就能找到文件的属性和内容。???三、创建一个目录的过程???前面说了创建一个文件的大概过程,那么创建一个目录时又是怎么回事呢??我们知道,目录其实也是文件,只是它的内容比较特殊:包含文件名字列表,列表一般包含两个部分:i-节点号和文件名。所以它的创建过程和文件创建过程一样,只是第二步写的内容不同。一个目录创建时至少包括两个链接:“.”,“..”?我们可以通过系统命令来查看目录的内容:??上图的结果是文件名和对应的i-节点号,其中“.”表示是当前目录。而“..”是当前目录的父目录。但也有特殊情况:我们查看要目录的情况:?[root@localhost ~]# ls -i1a /?? ?? ?2 .?? ?? ?2 ..???98305 .autofsck?1310721 backup?我们发现“.”和“..”都指向i-节点2.实际上当用mkfs创建一个文件系统时,mkfs会将根目录的父目录指向自己?四、理解链接???五、如果有大文件如何实现???我们在第二节已经知道。文件内容的分配情况是必须记录在i-节点的磁盘序号列表里的。但是i-节点只包含一个最多含有13个项的分配链表,如果分配的数据块超过13个块时怎么办????Linux用到一个间接块来解决此问题.比如我们要记录14个块的编号,可以把前面10个记录在i-节点的磁盘序号列表里。另外4个编号放在一个数据块中。在i-节点的第11项里记录存放编号的数据块的指针,通过这个指针就能找到余下的4个数据块的编号,这个用来存放编号的数据就叫间接块。道理就和某些货物放在架上而把剩下的放在仓库里,并打个标签记下在仓库中具体位置的编号一样。???但当间接块也存满了时我们还可以再开第二个间接块,甚至3、4、5。。。更多额外块。但内核并不会把这些块记录在文件的i-节点的第12、13项里。而是开辟一个新的块的来存放这些间接块的列表,并在i-节点的第12项存放这一新额外块的编号。这存放着那个存储着第
您可能关注的文档
最近下载
- 第1部分 专题05:记叙文阅读之环境描写(练习)-中考语文复习 现代文阅读(全国版)(含答案及解析版).docx
- 人教版2019年初中物理 电能、电路、电功综合专题练习(含答案).doc
- 超星学习通 乡村振兴的实践探索(北京大学)章节测验答案尔雅网课答案.pdf VIP
- 2024年6月第英语六级真题(全3套)及答案解析.pdf
- (完整版)数量关系公式.pdf
- 山东省政府采购专家测评题库800-1000.docx VIP
- 新课标人教版高中英语教材词汇表 1-8册(1).doc
- GB/T 5686.7-2022锰铁、锰硅合金、氮化锰铁和金属锰 硫含量的测定 红外线吸收法和燃烧中和滴定法.pdf
- 河北省石家庄市2024年中考一模语文试卷(含答案).pdf VIP
- 全国卷书面表达说题比赛课件.pptx
文档评论(0)