操作系统之文件目录原理笔记

原创 2013年12月03日 16:06:51

  文件目录的数据结构

       在磁盘中,目录其实也是占有空间的,而且也是以文件的形式分配。通常叫做目录文件。

      那么在磁盘中目录和文件之间到底有什么关系呢?说白了,目录其实是又文件控制块(FCB)的集合。这个概念很重要!

        FCB是一个很重要的数据结构,关于一个文件的一切都在FCB中有记录,而且对文件的操作必须通过FCB。FCB中的信息有文件名,文件大小,文件创建的日期,文件的权限,文件的所有者,文件所在分区的盘符,盘块物理地址

        在Liunx,Unix,Windos下用的都是多级目录结构。每个目录都分配有一个盘块或多个。里面存放着该目录下的所有文件的FCB和目录的FCB。操作系统要查找一个文件,先要找到该文件的目录,就必须将目录的第一个盘块的数据调入内存,然后比较FCB中的文件名是否相等。如果不相等,再调入下一个盘块中的FCB做比较。假如一个FCB的大小为64B,盘块大小为1kb,则目录的一个盘块只能存放16个FCB,若一个文件目录有640个FCB,则需要40个FCB,平均查找一个文件需要启动磁盘20次!这样查找的效率显然很低。

     于是我们提出一个索引结点的概念,因为我们通常比较的是文件名,所以没必要把文件的全部信息都加载到内存,一个目录由16个字节组成,其中文件名为14字节,索引结点指针2字节。而将其他文件的所有信息都存放到索引结点中,这样目录的一个盘块就可以存储更多的文件名,加载一个盘块到内存查找的范围大大增宽


共享文件的实现

           用户A要共享文件给B,只要索引结点指针给B就可以了,这样都指向一个文件。

      Linux中的ln链接命令创建一个硬链接软链接可以这样解释:

          当创建一个软链接,操作系统在工作目录下创建一个文件控制块,在索引结点指针处填上目标文件的指针值,这就解释了为什么在目标文件中修改文件的内容在软链接中也相应的得到改变,删除之后软链接就失效了。又解释了软链接是不占磁盘空间的。   

          当创建一个硬链接时,在工作目录下创建一个PCB,然后将目标文件的PCB内容全盘拷贝过来,这就解释了为什么删除了目标文件,而硬链接仍然有效。

       创建链接文件必须在同一个文件系统中,理由是显而易见的,只有在相同的文件系统下,文件组织才相同。


相关文章推荐

[Linux学习笔记]第1天:操作系统的发展史,linux诞生,Linux发行商,shell,terminal,shell使用技巧,文件目录,基本操作

*****第1天******  20110718       操作系统的发展史OS构架:Arch: x86,x86_64,arm,ppc,MIPS,UltraSparc,Power,安腾计算机体系:冯...
  • deansrk
  • deansrk
  • 2011年07月21日 22:15
  • 3264

操作系统文件目录

  • 2012年04月16日 16:23
  • 10KB
  • 下载

Linux操作系统中的文件目录结构

Linux操作系统中的文件目录结构 “/”根目录部分有以下子目录: /usr 目录包含所有的命令、程序库、文档和其它文件。这些文件在正常操作中不会被改变的。这个目录也包含你的Linux发行版本的...

解析linux操作系统文件目录

解析linux操作系统文件目录 2004-04-23 15:18 pm 来自:Linux文档 现载:Www.8s8s.coM 地址:无名 随着linux的不断发展,越来越多的人开始使...

操作系统——linux系统文件目录机构

原文引用地址: http://blog.sina.com.cn/s/blog_662234020101ebfd.html   Linux下的文件系统为树形结构,入口为/ 树形结构下的文件目录: 无论哪...

Linux操作系统中的文件目录结构详细介绍

Linux操作系统中的文件目录结构详细介绍  1. 目录结构及主要内容: 1)  “/”根目录部分有以下子目录:  /usr 目录包含所有的命令、程序库、文档和其它文件。这些文件在正常操作中不会被改变...
  • Augusdi
  • Augusdi
  • 2012年03月07日 11:22
  • 2137

Linux与Windows操作系统中的文件目录结构

Linux操作系统中的文件目录结构 “/”根目录部分有以下子目录: /usr 目录包含所有的命令、程序库、文档和其它文件。这些文件在正常操作中不会被改变的。这个目录也包含你的Linux发行版本的主要的...

Linux操作系统常用命令—文件目录操作命令

windows里使用命令在命令提示符里操作,同样在linux里也是。

书籍:p/m程序设计:处理文件和操作系统(更新到shell部分,php文件目录等已更新完毕)

四个方面:文件和目录、文件I/O、目录内容、输入清理。p192。将会持续更新,并从中添加日常遇到的处理。 文件和目录方面:p193直接每行解析 class brBreak{//玩玩类 priva...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:操作系统之文件目录原理笔记
举报原因:
原因补充:

(最多只允许输入30个字)