⑴二、 创建一个文件的过程
⑵我们从前面可以知道文件的内容和属性是分开存放的,那么又是如何管理它们的呢?现在我们以创建一个文件为例来讲解。
⑶在命令行输入命令:
⑷$ who 》 userlist
⑸我们可以通过系统命令ls来查看新建文件userlist的信息:(ls 命令后的i就表示打印i节点信息
⑹当完成这个命令时。文件系统中增加了一个存放命令who输出内容的新文件userlist,那么这整个过程到底是怎么回事呢?
⑺文件主要有属性、内容以及文件名三项。内核将文件内容存放在数据区,文件属性存放在i-节点,文件名存放在目录中。图显示了创建一个文件的例子,假如这个新文件要 个存储块来存放内容。那么整个个程大概如下:
⑻创建成功一个文件主要有以下四个步骤:
⑼ 存储属性 也就是文件属性的存储,内核先找到一块空的i-节点。图中。内核找到i-节点号。内核把文件的信息记录其中。如文件的大小、文件所有者、和创建时间等
⑽ 存储数据 即文件内容的存储,由于该文件需要个数据块。因此内核从自由块的列表中找到个自由块。图中分别为、、,内核缓冲区的第一块数据复制到块,第二和第三分别复制到和.
⑾ 记录分配情况,数据保存到了三个数据块中。所以必须要记录起来,以后再找到正确的数据。分配情况记录在文件的i-节点中的磁盘序号列表里。这个编号分别放在最开始的个位置。
⑿ 添加文件名到目录,新文件的名字是userlist 内核将文件的入口(,userlist添加到目录文件里。文件名和i-节点号之间的对应关系将文件名和文件和文件的内容属性连接起来,找到文件名就找到文件的i-节点号,通过i-节点号就能找到文件的属性和内容。