版权归原作者所有,如有侵权,请联系我们

[科普中国]-文件子系统

科学百科
原创
科学百科为用户提供权威科普内容,打造知识科普阵地
收藏

概述

与其他操作系统相比,Unix的文件系统更为简单统一。Unix的文件是个简单的字节序列。因此,一个文本文件(由ASCII字符组成的字符流)和一个二进制文件的结构和访问方法对于Unix是一样的,差别仅在文件内容本身,这要用户程序来解释。

文件由一系列块(block)组成,每个块可能含有512、1024或2048个字节,具体由系统实现决定。不同的文件系统的块大小可以不同,但同一个文件系统的块大小是相同的。使用块较大时,由于每次磁盘操作可以传输更多的数据,操作所花的时间较少,所以可以提高磁盘和内存间数据的传输率;但与此同时,块太大时,存储的有效容量也将会下降。1

系统构成一个文件系统通常由4部分组成:引导块(boot block)、超级块(super block)、索引节点表(inode table)和数据块(data blocksl)。

1、引导块用来存放该文件系统的引导程序,用于系统引导或启动操作系统。如果一个文件系统不安放操作系统,它的引导块将为空。

2、超级块用来描述本文件系统管理的资源,它包含空闲索引节点表和空闲数据块表,具体说明文件系统的资源使用情况。

3、索引节点表用来存储文件的控制信息,每个节点对应一个文件。

4、数据块是磁盘上存放数据的磁盘块,包括目录文件的数据。1

特性UNIX系统中的每个文件子系统都需要安装后才能使用,而且是没有驱动器符号的。在UNIX系统中只有一棵目录树,操作系统管理的所有文件子系统都在这棵树上,并有如下的特性。

1、系统文件子系统的目录就是树根。

2、其他的文件子系统都以这棵树中的某一个已存在的目录作为树根,即任何一个其他的文件子系统,在使用前都要安装到这棵树中的某一个已存在的目录上。安装是通过mount命令或系统调用来完成的。例如,使用mount命令将名为/dev/fdO的软驱中的软盘内容安装到目录/user/elephant下的命令为:“mount/dev/fdO/user/eIephant”。

3、某个文件子系统使用完毕时,都要卸下该文件子系统。使用命令umount或系统调用来完成。如使用umount将软盘的文件子系统卸下,这样可以使用命令:“umount/dev/fdO”。

目录树本身记录着一些信息,我们可以利用它并找到文件。描述这些信息时使用由“/”字符分隔的字符串,称为路径。如“/dev/cdrom”中第一个“/”表示系统树形目录的根,称为根目录;其他的“/”是用于分隔,表示父子关系;接下来“dev”表示设备文件所在的目录,是根目录的一个子目录,“cdrom”是目录“dev”下的一个文件,是光驱设备文件。2