UNIX
UNIX
(1)UNX磁盘文件卷结构 Sector Boot Super Inode Data Record Block Table (File directory) Volume structure in UNIX 超级块:用于存放文件卷的资源管理信息,包括整个 文件卷的盘块数、磁盘索引结点的盘块数、磁盘空闲 盘块号栈和空闲盘块号栈指针、空闲盘块号栈锁、空 闲索引结点栈和空闲索引结点栈指针、空闲索引结点 栈锁等。 i节点( inode list):存放文件说明信息,每项64字节 目录文件:每个目录项16字节。文件名区分大小写
(1)UNIX磁盘文件卷结构 • 超级块:用于存放文件卷的资源管理信息,包括整个 文件卷的盘块数、磁盘索引结点的盘块数、磁盘空闲 盘块号栈和空闲盘块号栈指针、空闲盘块号栈锁、空 闲索引结点栈和空闲索引结点栈指针、空闲索引结点 栈锁等。 • i节点(inode list):存放文件说明信息,每项64字节 • 目录文件:每个目录项16字节。文件名区分大小写。 inode Table Data (File & Directory) Boot Record Volume Structure in UNIX Sector # 0 1 Super Block
(2)UNX目录 UNIX为了加快目录的寻找速度,UNIX将文件控制 块FCB中文件名和文件说明分开。文件说明为索引节 点,各文件索引节点集中存放在索引节点区,索引 节点按索引节点号排序。而文件名与索引节点号构 成目录, UNIX S V操作系统的文件名14个字节,索 引节点2个字节,共16个字节构成目录项。同一级目 录构成目录文件,在文件区存放 Linux目录文件中的目录项会变长,以保证系统 支持文件名长度可变,最长达255个字符。目录项的 前三项是定长的,包含以下信息:(1)索引节点号 (4B);(2)目录项长度(2B);(3)文件名长度(2B)。 目录项最后是文件名,目录项不能跨越二个块
(2)UNIX目录 • UNIX为了加快目录的寻找速度,UNIX将文件控制 块FCB中文件名和文件说明分开。文件说明为索引节 点,各文件索引节点集中存放在索引节点区,索引 节点按索引节点号排序。而文件名与索引节点号构 成目录,UNIX S V 操作系统的文件名14个字节,索 引节点2个字节,共16个字节构成目录项。同一级目 录构成目录文件,在文件区存放。 Linux目录文件中的目录项会变长,以保证系统 支持文件名长度可变,最长达255个字符。目录项的 前三项是定长的,包含以下信息:(1)索引节点号 (4B);(2)目录项长度(2B);(3)文件名长度(2B)。 目录项最后是文件名,目录项不能跨越二个块
UNⅨX目录1 每个文件有一个存放在磁盘索引节点区的索引节点, 称为磁盘索引节点,它包括以下内容:(1)文件主标 识符和同组用户标识符;(2)文件类型:是普通文件 目录文件、符号连接文件或特别文件(又分块设备 文件或字符设备文件);(3)文件主,同组用户和其 它人对文件存取权限(读R、写W、执行X);(4) 文件的物理地址,用于5.2.4UNIX直接、间接混合 寻址的13个地址项 di addr[13];(5)文件长度(字 节数) di size;(6)文件链接数 di nlink;(7) 文件最近存取和修改时间等。 UNIX采用文件名和文件说明分离的目录结构如下图 所示:
UNIX目录-1 • 每个文件有一个存放在磁盘索引节点区的索引节点, 称为磁盘索引节点,它包括以下内容:(1)文件主标 识符和同组用户标识符;(2)文件类型:是普通文件、 目录文件、符号连接文件或特别文件(又分块设备 文件或字符设备文件);(3)文件主,同组用户和其 它人对文件存取权限(读R、写W、执行X);(4) 文件的物理地址,用于5.2.4 UNIX直接、间接混合 寻址的13个地址项di_addr[13];(5)文件长度(字 节数)di_size;(6)文件链接数di_nlink;(7) 文件最近存取和修改时间等。 UNIX采用文件名和文件说明分离的目录结构如下图 所示:
(3)UNX树型带勾连的目录结构 1根目录索引节点 目录文件 dev unix usr mnt etc np de 4 6 8 索引节点 索引节点 目录文件 目录文件 dir disk ast erik jim bal 10 19 I26 I=10 索引节点「 Books mbox… 92 60 mbox S 返8
(3)UNIX树型带勾连的目录结构 根目录索引节点 根 目录文件 索引节点 索引节点 索引节点 目录文件 目录文件返8 ls I=1 bin dev unix usr mnt etc tmp dey 4 7 6 9 8 7 I=4 I=6 ls 10 dir disk ast erik jim bal 10 19 26 30 51 45 I=10 I=26 Books mbox …… 92 60 ….. I=60 mbox
(4)UNⅠX直接间接混合寻址方式 由于80%以上文件是小文件,为了解决能高速存取小文件 和管理大文件的矛盾,UNIX将直接寻址、一级索引、二级索 引和三级索引结合起来,形成了混合寻址方式,如下图所示。 在 UNIX S V的索引结点中设有13个地址项 di addr[13] ( Linux的ext2设有15个地址项)它们把所存的地址项分成 两类,其中最后三个地址项分别是一级索引、二级索引和三 级索引的指针,而前面10个(ext2为12个)为直接寻址的地 址项,即存放文件逻辑块第0—9块的盘块号。如每个盘块大 小为4KB时,当文件不大于40KB时,便可直接从索引结点中 读出该文件全部盘块号,这样读小文件时速度快;如文件大 于40KB时,系统再逐步增加一级索引、二级索引和三级索 引,这样最大管理的文件为40KB+4MB+4GB+4TB,达到管 理大文件的目标
(4) UNIX直接间接混合寻址方式 由于80%以上文件是小文件,为了解决能高速存取小文件 和管理大文件的矛盾,UNIX将直接寻址、一级索引、二级索 引和三级索引结合起来,形成了混合寻址方式,如下图所示。 在UNIX S V的索引结点中设有13个地址项di_addr[13] (Linux的ext2设有15个地址项)它们把所存的地址项分成 两类,其中最后三个地址项分别是一级索引、二级索引和三 级索引的指针,而前面10个(ext2为12个)为直接寻址的地 址项,即存放文件逻辑块第0-9块的盘块号。如每个盘块大 小为4KB时,当文件不大于40KB时,便可直接从索引结点中 读出该文件全部盘块号,这样读小文件时速度快;如文件大 于 40KB时,系统再逐步增加一级索引、二级索引和三级索 引,这样最大管理的文件为40KB+4MB+4GB+4TB,达到管 理大文件的目标
UNIX直接间接混合寻址方式-1 数据块 di addre 0# di addrl1l 1# di addr 2 di addr 次间接块 10# di addr[10l 一次间接 次间接块 山1034# di addr[ll 次间接 di addr[ 12 二次间接 次间接块
UNIX直接间接混合寻址方式-1 二次间接块 一次间接块 三次间接块 . . . . 。。 . . . . . . . . di_addr[0] di_addr[1] di_addr[2] . . . di_addr[9] di_addr[10] 一次间接 di_addr[11] 二次间接 di_addr[12] 三次间接 1034# 数据块 0# 1# 2# 9# 10#
(5)成组链接法 UNIX S V操作系统采用成组链接法管理磁盘空闲块,该方 法是空闲表法和空闲块链接法的结合,具备分配回收方便, 不需专用块来存放分配表等优点。 成组链接法将磁盘空闲块分成若干组,如将每100个盘块作 为一组,该组空闲块总数和各空闲块块号存入下一组的第 个空闲块中。最后不满100块的那组空闲块总数和各空闲块 块号记入磁盘区专用管理块的空闲块管理的数据结构: s_ nfree和 s free[100]中,如下图所示
(5)成组链接法 UNIX S V操作系统采用成组链接法管理磁盘空闲块,该方 法是空闲表法和空闲块链接法的结合,具备分配回收方便, 不需专用块来存放分配表等优点。 • 成组链接法将磁盘空闲块分成若干组,如将每100个盘块作 为一组,该组空闲块总数和各空闲块块号存入下一组的第一 个空闲块中。最后不满100块的那组空闲块总数和各空闲块 块号记入磁盘区专用管理块的空闲块管理的数据结构: s_nfree和s_free[100]中,如下图所示
成组链接法-1 盘专用管理块 100 100 100 s nfree 39 149 499 0 s freel100 449块 51 351 12 38 50块 150块 350块 99 49块 149块 12块 51块 251块351块
成组链接法-1 39 50 49 . 12 100 150 149 . . . 51 100 . . . . . . . . 100 0 499 . . . 351 盘专用管理块 449块 350块 12块 51块 251块 351块 49块 149块 50块 150块 s_nfree 0 1 s_free[100] 38 99
(6)文件系统安装UNIX可装卸文件系统 文件存储器硬盘各盘区和软盘都有一个象倒置的树一样的多 级目录的文件系统,MS-D0S系统用“盘符”来识别它们,而 UNIX系统,只有一个安装叭NK操作系统的根设备的文件系统 常驻系统,而硬盘其它盘区和软盘上的文件系统直至被安装 前,UNIX系统不知道它存在。系统要使用其它的文件系统, 必须先用 mount命令将其安装到系统。被安装的倒树形目录 结构的根被安装到根设备树形目录的某一节点上,通常这个 节点所对应的文件是专为安装新文件系统而创建的空文件, 如UNIX根目录下的mnt子目录节点,与根设备的文件系统的 树形目录结构融为一体,构成一个倒置树的多级目录结构 ·新文件系统通过安装表与根设备文件系统某节点联系起来, 在安装时也将新文件系统盘的管理块( superblock)信息拷 贝到系统缓冲区。新文件系统必须在安装后才能进行读写, 而使用完毕后必须使用 umount拆卸文件系统命令拆卸安装上 去的文件系统,在拆卸时系统将内存系统缓冲中目录管理信 息拷贝到将拆卸文件系统的盘中,以保证盘中信息的完整性
(6) 文件系统安装-- UNIX可装卸文件系统 • 文件存储器硬盘各盘区和软盘都有一个象倒置的树一样的多 级目录的文件系统,MS-DOS系统用“盘符”来识别它们,而 UNIX系统,只有一个安装UNIX操作系统的根设备的文件系统 常驻系统,而硬盘其它盘区和软盘上的文件系统直至被安装 前,UNIX系统不知道它存在。系统要使用其它的文件系统, 必须先用mount命令将其安装到系统。被安装的倒树形目录 结构的根被安装到根设备树形目录的某一节点上,通常这个 节点所对应的文件是专为安装新文件系统而创建的空文件, 如UNIX根目录下的mnt子目录节点,与根设备的文件系统的 树形目录结构融为一体,构成一个倒置树的多级目录结构。 • 新文件系统通过安装表与根设备文件系统某节点联系起来, 在安装时也将新文件系统盘的管理块(superblock)信息拷 贝到系统缓冲区。新文件系统必须在安装后才能进行读写, 而使用完毕后必须使用umount拆卸文件系统命令拆卸安装上 去的文件系统,在拆卸时系统将内存系统缓冲中目录管理信 息拷贝到将拆卸文件系统的盘中,以保证盘中信息的完整性