UNIX文件系统概述
来源:互联网 发布:js高分子防水涂料 编辑:程序博客网 时间:2024/05/17 01:13
UNIX文件系统是UNIX系统的心脏部分,提供了层次结构的目录和文件。文件系统将磁盘空间划分为每1024个字节一组,称为块(block)(也有用512字节为一块的,如:SCO XENIX)。编号从0到整个磁盘的最大块数。
全部块可划分为四个部分,块0称为引导块,文件系统不用该块;块1称为专用块,专用块含有许多信息,其中有磁盘大小和全部块的其它两部分的大小。从块2开始是i节点表,i节点表中含有i节点,表的块数是可变的,后面将做讨论。 i节点表之后是空闲存储块(数据存储块),可用于存放文件内容。
文件的逻辑结构和物理结构是十分不同的,逻辑结构是用户敲入cat命令后所看到的文件,用户可得到表示文件内容的字符流。物理结构是文件实际上如何存放在磁盘上的存储格式。用户认为自己的文件是边疆的字符流,但实际上文件可能并不是以边疆的方式存放在磁盘上的,长于一块的文件通常将分散地存放在盘上。然而当用户存取文件时,UNIX文件系统将以正确的顺序取各块, 给用户提供文件的逻辑结构。
当然,在UNIX系统的某处一定会有一个表,告诉文件系统如何将物理结构转换为逻辑结构。这就涉及到i节点了。i节点是一个64字节长的表,含有有关一个文件的信息,其中有文件大小,文件所有者,文件存取许可方式,以及文件为普通文件,目录文件还是特别文件等。在i节点中最重要的一项是磁盘地址表。 该表中有13个块号。前10个块号是文件前10块的存放地址。这10个块号能给出一个至多10块长的文件的逻辑结构,文件将以块号在磁盘地址表中出现的顺序依次取相应的块。
当文件长于10块时又怎样呢?磁盘地址表中的第十一项给出一个块号,这个块号指出的块中含有256个块号,至此,这种方法满足了至多长于266块的文件(272,384字节)。如果文件大于266块,磁盘地址表的第十二项给出一个块号, 这个块号指出的块中含有256个块号,这256个块号的每一个块号又指出一块, 块中含256个块号,这些块号才用于取文件的内容。磁盘地址中和第十三项索引寻址方式与第十二项类似,只是多一级间接索引。
这样,在UNIX系统中,文件的最大长度是16,842,762块,即17,246,988,288字节,有幸是是UNIX系统对文件的最大长度(一般为1到2M字节)加了更实际的限制,使用户不会无意中建立一个用完整个磁盘窨所有块的文件。
文件系统将文件名转换为i节点的方法实际上相当简单。一个目录实际上是一个含有目录表的文件:对于目录中的每个文件,在目录表中有一个入口项, 入口项中含有文件名和与文件相应的i节点号。当用户敲入cat xxx时,文件系统就在当前目录表中查找名为xxx的入口项,得到与文件xxx相应的i节点号,然后开始取含有文件xxx的内容的块。
- UNIX文件系统概述
- UNIX文件系统概述
- Unix文件系统
- UNIX文件系统
- Unix文件系统
- UNIX文件系统
- unix 文件系统
- 文件系统概述
- 文件系统概述
- 文件系统概述
- 文件系统概述
- 文件系统概述
- unix概述
- UNIX文件系统管理-Solaris
- UNIX 文件系统基本操作
- UNIX系统管理:文件系统布局
- UNIX 文件系统基本操作
- UNIX 文件系统基本操作
- 程序员创业(一,准备过程)--创业未成功人士讲述未成功经验 - 椅子的专栏 - CSDNBlog
- 1042 W's Cipher
- sendmail安装
- C# 中无法在流的结尾之外进行读取处理BinaryReader()
- spring-jpetstore学习之(一)jpetstore 安装篇
- UNIX文件系统概述
- 新手.net 2.0提问)如何修改DataView的数据更新到数据源?
- CSS规则层叠时的优先级算法 - lunaticsun.com - CSDNBlog
- continuum1.1,svn,maven2 试用笔记
- ActiveDirectory学习日记(一)
- 6-用过一些JS-Tree控件之后的总结【将持续更新】
- 用sscanf格式化MAC地址
- U-Boot的常用命令详解
- Javascrīpt 通用库