码迷,mamicode.com
首页 > 其他好文 > 详细

文件系统

时间:2015-12-31 01:42:09      阅读:227      评论:0      收藏:0      [点我收藏+]

标签:

操作系统教程 第六章 文件系统

---

文件

文件类型

有普通文件、目录文件、特别文件(块设备、字符设备)

P.S.因为在安卓手机上似乎要用到挂载命令,将某个分区挂载到某点。之前也接触过linux,镜像文件也是挂载,最后变成了可以访问的一个文件。windows下的概念显然不一样。比如sd卡,挂载之后,ls -l可以看到文件的第一个属性是b,表示是之前提到的块设备,如果打印机之类就应该是c,表示字符设备。

文件属性

文件名、权限……杂七杂八的一些信息

文件存取

顺序存取,比如磁带一般采用顺序存取,从开始到结尾按顺序来。
直接存取,一个文件可以存在多个物理块里面,可以先读这里,再读那里,不按顺序来。
索引存取,先在索引表里查找。

---

文件目录

FBC

文件两部分,一部分文件里头的数据,另外还有文件名及所有关于文件的信息,书中称为文件控制块(file control block)。为了达到层级的目录结构这种形式,将FCB集中起来,每个目录有一个目录文件,其中有当前目录“.”和上级目录“..”两个项。

unix/linux系统的文件系统巧妙地将FCB中的文件名单独拿出来,用一个号码标识。这个号码对应了一个区域(inode)保存更详尽关于文件的信息。这样查询效率更高。

层级目录

文件目录的检索

比如查找/home/fei1/myfile.c的过程。P.S.根目录通常存放在了磁盘的固定盘块中。

技术分享

 

---

文件组织与存储

文件的存储

卷是储存介质的物理单位。老看到卷标卷标。块是储存介质上连续信息所组成的一个区域。

文件的逻辑结构

流式和记录式,对于文件的内容,现代的操作系统都是流式的,就是不再对文件内容索引了什么了。

成组和分解,每次逻辑上要操作的数据达到一个物理块的大小之后再操作到磁盘中。

记录形式,定长、变长、跨块。

记录键,记录式文件的东西。

文件的物理结构

  • 顺序 磁带、纸带……
  • 连接 块尾给出下一个块的地址。变种把连接指针和文件数据分开。fat好像是这种。
  • 直接 hash法,关键字和地址建立对应关系,把文件名算出个hash值,然后建个索引,hash值一样的放一块,根据hash值找到之后再比对文件名。
  • 索引 索引、多重索引、unix/linux的多重索引。给每个文件保存一个索引表,直接索引表里有该文件的所占的区块。unix/linux尾部两个索引项做下一个索引的地址用。

 

连接:

技术分享

直接:

技术分享

索引:

技术分享

文件系统

标签:

原文地址:http://www.cnblogs.com/mize/p/5090454.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!