Chapter4-文件系统:编写pwd课件.ppt

  1. 1、本文档共42页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
Chapter4-文件系统:编写pwd课件

Unix/Linux编程;第4章 文件系统:编写pwd;概念与技巧 Unix树状文件系统的概念 Unix文件系统的内部结构:i- 节点和数据块 目录的连接方式 硬链接和符号链接的概念及相应的系统调用 pwd的工作原理 文件系统的装载(mounting) ;主要内容:;文件包含数据,而目录是文件的列表。不同的目录互相连接构成树状的结构。目录还可以包含其他的目录。文件“在一个目录中”是什么意思?“处在某个目录中”又是什么意思? 回答以上问题需要自己编写自己的pwd命令。pwd命令显示你在目录树中的当前位置。 编写pwd命令需要了解文件和目录的组织和存储。;;可以按照下面的命令顺序建立这棵树;4.2.3 文件操作命令;ls –R ls 命令用来列出目录的内容,-R要求列出指定目录及其子目录的所有的内容 chmod –R chomd 命令用来修改文件的许可权限,-R要求修改子目录中所有文件的许可权限。 du du 是disk usage的缩写,该命令给出指定目录及其子目录下所有文件占用硬盘数据块的总数。 find find 命令将在一个目录及其所有子目录中检索符合要求的文件和目录;4.2.5 目录树的深度几乎没有限制;4.3.1 文件系统是对该设备的一种多层的抽象;第三层抽象:从块序列到三个区域的划分 Unix使用了一个简单的方法。一部分称为数据区,用来存放文件内容;另一部分称为i-节点表,用来存放文件属性;第三部分称为超级块,用来存放文件系统本身的信息。;超级块 文件系统中的第一块被称为超级块,这个块存放文件系统本身的结构信息,超级块也存放未被使用的磁盘块信息。 i-节点表 文件系统的下一部分被称为i-节点表。每个文件都有一些属性,这些属性被存放在一个被称为i-节点的结构中,所有的i-节点表都有相同的大小,并且i-节点表是这个结构的一个列表。表中的i-节点都通过位置来标识。 数据区 文件系统的第三部分树数据区,文件的内容保存在这个区域,磁盘上所有块的大小都是一样的。如果文件包含了超过一个块的内容,则文件被存放在多个磁盘块中。;4.3.2 文件系统的实现:创建一个文件的过程;创建一个新的文件的4个主要步骤 (1)存储属性 文件属性的存储:内容找到一个空的i-节点。内核把文件的信息记录其中。 (2)存储数据 文件内容的存储:由于该文件需要3个存储磁盘块,因此内核从自由块的列表中找出3个自由块。 (3)记录分配情况 内核在i-节点的磁盘分区记录了上述的块序列。磁盘分布区是一个磁盘块序号的列表 (4)添加文件名到目录 新文件的名字叫做userlist。Unix在当前的目录中记录这个文件,内核将入口添加到目录文件。文件名和i-节点号之间的对应关系将文件名和文件的内容属性连接起来。;4.3.3文件系统的实现:目录的工作过程;(2)指向统一文件的多重链接 可以通过命令ls –i 来查看系统上任何一个文件的i-节点号。 ls –ia / 2 . 28673 etc 11 lost+found 438292 shlib 2.. 312312 home 4097 opt 40961 tmp 4034 boot 32432 install 3123 root 183 xfer.log 225281 dev 161797 lib 233473 sbin 183 transfers i-节点实际上代表了一个文件,i-节点包含了文件的属性和数据块的列表因此xfer.log和transfers是同一个文件的两个不同的名字 在根目录中另一个重要的例子是上面的“.”和“..”,这两个都是i-节点号2,因此“.”和“..”都指向同一个目录,当用unix命令mkfs创建一个文件系统,mkfs将根目录的父目录指向自己。;4.3.4文件系统的实现:cat命令的工作原理;4.3.5 i-节点和大文件;用户看到的文件系统是目录和子目录的集合; 如何从用户的角度转换到系统的角度?通过在图中添i-节点号,就能够了解目录树是如何连接在一起的。使用1s-iaR可以列出一棵树中的所有文件的i-节点号。 ;下图为上例的图示:;(2)“目录包含子目录”的真正含义 从 用

文档评论(0)

gm8099 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档