清华大学出版社 000000 TSINGHUA UNIVERSITY PRESS 912文件的分类 UNIX文件可分为普通文件、目录文件和设备文件。 普通文件即存储用户和系统的有关数据和程序的文 件。它是无结构、无记录概念的字符流式文件。 目录文件则是由文件系统中的各个目录所形成的文 件。这种文件在形式上同普通文件一样,由系统将 其解释成目录。在UNⅨ系统中,一个目录文件由 多个目录项组成,而每个目录项则由文件名及指示 相应的文件说明信息表节点的标识符id组成
9.1.2 文件的分类 UNIX文件可分为普通文件、目录文件和设备文件。 普通文件即存储用户和系统的有关数据和程序的文 件。它是无结构、无记录概念的字符流式文件。 目录文件则是由文件系统中的各个目录所形成的文 件。这种文件在形式上同普通文件一样,由系统将 其解释成目录。在UNIX系统中,一个目录文件由 多个目录项组成,而每个目录项则由文件名及指示 相应的文件说明信息表(i节点) 的标识符id组成
000000 普通文件和目录文件都是无结构、无记录概念的字 符流式文件。文件系统以512字节为一块,文件在 块内连续存放。对于普通文件和目录文件来说,文 件的存放方式既可以是顺序存取的,也可以是直接 存取的。UNIX文件在文件系统中的存放采用的是 索引结构方法,从而,对文件存储块的分配可以是 非连续的,且文件长度可以动态变化。 设备文件与普通文件和目录文件不同,它除了在目 录文件和文件说明信息表,也就是请点中占据相 应的位置之外,并不占有实际的物理存储块。因此, 对设备文件的读、写操作将实际上变为对设备的操 作,而对设备文件的保护也将变成对设备的保护。 例如:>cp/dev/ tty terminalread 把在终端上敲进的字符设备文件/ dev/tty是用户终端) 读入,并把它们复制到文件 terminalread上
普通文件和目录文件都是无结构、无记录概念的字 符流式文件。文件系统以512 字节为一块,文件在 块内连续存放。对于普通文件和目录文件来说,文 件的存放方式既可以是顺序存取的,也可以是直接 存取的。UNIX文件在文件系统中的存放采用的是 索引结构方法,从而,对文件存储块的分配可以是 非连续的,且文件长度可以动态变化。 设备文件与普通文件和目录文件不同,它除了在目 录文件和文件说明信息表,也就是 i结点中占据相 应的位置之外,并不占有实际的物理存储块。因此, 对设备文件的读、写操作将实际上变为对设备的操 作,而对设备文件的保护也将变成对设备的保护。 例如: >cp /dev/tty terminalread 把在终端上敲进的字符(设备文件/dev/tty是用户终端) 读入,并把它们复制到文件 terminalread上
清华大学出版社 000000 TSINGHUA UNIVERSITY PRESS 92文件系统的数据结构及其关系 921文件系统的存储结构 UNⅨX系统把文件信息存储在磁盘或磁带上,不过, UNIX系统的磁盘文件组织也可以当作一个连续的 物理块构成的磁带—文件卷看待。在UNIX系统 中,一个物理存储器可包含一个或多个文件系统。 这些文件系统可以被动态装卸。为了简单起见,假 定在一个计算机系统中只存在一个文件系统
9.2 文件系统的数据结构及其关系 9.2.1 文件系统的存储结构 UNIX系统把文件信息存储在磁盘或磁带上,不过, UNIX系统的磁盘文件组织也可以当作一个连续的 物理块构成的磁带——文件卷看待。在 UNIX 系统 中,一个物理存储器可包含一个或多个文件系统。 这些文件系统可以被动态装卸。为了简单起见,假 定在一个计算机系统中只存在一个文件系统
清华大学出版社 000000 TSINGHUA UNIVERSITY PRESS 文件系统由每块512字节或512字节的任意倍数所构 成的逻辑块序列组成。在同一个文件系统中,这些 逻辑块的大小完全相同。块长的选取将直接影响设 备与主存之间的数据传输速率和内存的存储能力。 大的块长将使得内存和设备之间的数据传输更加容 易,但反过来又使得内存页面长度增加,从而影响 内存的有效存储能力。在UNⅨ的许多版本中,大 都采用每块512字节。 文件卷的结构如图92所示。其中第0#块是引导块 (b0 ot block)。引导块中装有引导或初启操作系统 的引导代码
文件系统由每块 512字节或 512字节的任意倍数所构 成的逻辑块序列组成。在同一个文件系统中,这些 逻辑块的大小完全相同。块长的选取将直接影响设 备与主存之间的数据传输速率和内存的存储能力。 大的块长将使得内存和设备之间的数据传输更加容 易,但反过来又使得内存页面长度增加,从而影响 内存的有效存储能力。在 UNIX 的许多版本中,大 都采用每块 512字节。 文件卷的结构如图9.2所示。其中第 0# 块是引导块 (boot block)。 引导块中装有引导或初启操作系统 的引导代码
清华大学出版社 000000 TSINGHUA UNIVERSITY PRESS K+1K+2 引导块超级块索引节点表 数据块 图92文件系统存储结构 显然,在有多个文件系统的计算机系统中,只有 个文件系统的引导块中装有引导代码,而其他的引 导块则是空的。 1#块是超级块( superblock)。超级块用来描述文件 系统的状态,例如文件系统的大小、有关空闲区分 配和回收用的堆栈等。有关超级块的结构将在后面 部分进一步介绍
图9.2 文件系统存储结构 显然,在有多个文件系统的计算机系统中,只有一 个文件系统的引导块中装有引导代码,而其他的引 导块则是空的。 1#块是超级块(superblock)。超级块用来描述文件 系统的状态,例如文件系统的大小、有关空闲区分 配和回收用的堆栈等。有关超级块的结构将在后面