UNIX文件结构(转自UNIX/AIX操作系统基础教程)
1、UNIX将物理设备的一部分视为逻辑设备,一个逻辑设备对应一个文件系统。
2、UNIX把整个逻辑设备以512字节(每个系统不一样,FreeBSD为4K)为块进行划分,块的编号为1、2、3……
3、每个系统都具体相同的基本结构
引导块 |
超级块 |
i节点表 |
文件存储区 |
(1)引导块:每个文件系统的第一块,存储用于系统启动时引导执行操作系统的内核程序。当整个文件系统由多个文件系统构成时,只有根文件系统的引导块才起作用。
(2)超级块:通常也称管理块,是每个文件系统的第二块。它是文件系统的头,存放的内容包括安装和存取该文件系统的全部管理信息,它包括文件系统的大小、文件系统所有的设备区名、i节点区的大小、空闲空间的大小和空闲表的头等。
如18144,/dev/hd02,5800,99,#10,#11,……
表示:
该文件系统大小为18144块
所存储的盘区是0号第二逻辑分区
该文件系统占用应硬盘空间为5800块
现在可用的空闲i节点数编号为#10,#11,……
当用户使用到该文件系统时,其超级块被装入内存,供用户安装和存取文件系统时使用。
(3)i节点表:在超级块后,紧随的是由若干块构成的一片磁盘区域,即i节点表。i节点表的大小在超级块中指明,如上例的5800块用于存放i节点信息。
如每块取512字节,每个i节点占用64字节空间,一块磁盘区域可存放8个i节点。
i节点号可理解为文件在UNIX的内部编号,一个文件对应一个i节点,但可有多个文件名。i节点的存取格式如下:
mode |
type |
uid |
gid |
link.no |
size |
addr.pt |
time |
mode:占用标志位(0—空闲,1—占用)
type:对应文件的类型
uid:该文件的属主号
gid:该文件所属的组号
link.no:该文件的链接数
size:该文件的大小
addr.pt:描述指向文件实际数据块的指针
time:最近访问/修改该文件的日期、时间
(4)文件存储区:用于存放文件中数据的存储区域。