(2)目录结构一一多级目录 目录结构的组织关系到文件系统的存取速度,关系到文件共 享性和安全性,因此组织好文件的目录是设计文件系统的重 要环节 1。单级目录结构 最简单的目录结构是在整个文件系统中只建立一张目录表, 每个文件占一个表目,这称为单级目录。单级目录结构简单, 能实现目录管理的基本功能一按名存取,但存在査找速度慢, 不允许重名和不便于实现文件共享等缺点,因此它只适用于 单用户环境
(2)目录结构--多级目录 目录结构的组织关系到文件系统的存取速度,关系到文件共 享性和安全性,因此组织好文件的目录是设计文件系统的重 要环节。 1。单级目录结构 最简单的目录结构是在整个文件系统中只建立一张目录表, 每个文件占一个表目,这称为单级目录。单级目录结构简单, 能实现目录管理的基本功能--按名存取,但存在查找速度慢, 不允许重名和不便于实现文件共享等缺点,因此它只适用于 单用户环境
目录结构一一多级目录-1 2。多级目录结构 为了解决以上问题,在多道程序设计系统中常采用多级目 录结构,MS一D0S和UNⅠX等操作系统都采用多级目录结构 这种目录结构象一棵倒置的有根树,该树根向下,每一个节 点是一个目录,最末一个结点是文件,下图为UNIX树形多级 目录结构。在多级目录中要访问一个文件时,必须指出文件 所在的路径名,路径名从根目录开始到该文件的通路上所有 各级目录名拼起来得到,各目录名之间与文件名之间可用分 隔符隔开。在MS-D0S中分隔符为“\”,在UNIX中分隔符为 “/”。例如下图中访问命令文件man的路径名为 /usr/1ib/man,这也称为文件全名。 重名问题:在多级目录中存取一个文件需要用文件全名,这 就允许用户在自己的目录中使用与其它用户文件相同的文件 名,由于各用户使用不同的目录,虽二者使用了相同的文件 名,但它们的文件全名仍不相同,这就解决了重名问题
目录结构--多级目录-1 2。多级目录结构 为了解决以上问题,在多道程序设计系统中常采用多级目 录结构,MS-DOS和UNIX等操作系统都采用多级目录结构。 这种目录结构象一棵倒置的有根树,该树根向下,每一个节 点是一个目录,最末一个结点是文件,下图为UNIX树形多级 目录结构。在多级目录中要访问一个文件时,必须指出文件 所在的路径名,路径名从根目录开始到该文件的通路上所有 各级目录名拼起来得到,各目录名之间与文件名之间可用分 隔符隔开。在MS-DOS中分隔符为“\”,在UNIX中分隔符为 “/”。例如下图中访问命令文件man的路径名为 /usr/lib/man,这也称为文件全名。 重名问题:在多级目录中存取一个文件需要用文件全名,这 就允许用户在自己的目录中使用与其它用户文件相同的文件 名,由于各用户使用不同的目录,虽二者使用了相同的文件 名,但它们的文件全名仍不相同,这就解决了重名问题
Tree-structured Directories root spe∥ bin programs stat ma dist find count hex reorder e mail prog copy prt exp reorder∥st find hexcone list spe ∥ last first
Tree-Structured Directories
目录结构一一多级目录2 bi In b unl usr mn tm d ev S wh moun Tmp Include SyS bin lib spool ttyol)(hd (aout.h dc 10 cont ma dir. h libio Tab. c
目录结构--多级目录-2 bin boo usr mnt etc tmp dev t uni x ls wh o hd l moun t Tmp00l tty0l include sys bin spool lib dc h io conf dir.h libio. h Tab.c ma n a.out.h
目录结构一一多级目录3 采用多级目录结构也提高了检索目录的速度:如采用单级目录则 查找一个文件最多需查遍系统所有文件名,平均也要查一半文件 名。而多级目录査找一个文件最多只要查遍文件路径上各目录的 子目录和文件,例如上图中要査找文件man,只要査遍root目录、 usr目录和1ib目录所在子目录和文件就可以。 相对路径:每访问一个文件都要使用从根目录开始搜索直到树叶 的数据文件为止,包含各中间子目录的全路径名是相当麻烦的, 同时由于一个进程运行时访问的文件大多局限在某个范围,基于 这一点,可为每个用户(或每个进程)设置一个“当前目录”, 又称“工作目录”。进程对各文件的访问都相对于“工作目录” 而设置路径,这称为相对路径名,相应地,从根目录开始的路径 名称为绝对路径名( absolute path name)。用相对路径可缩短搜 索路径,提高搜索速度。例:文件mbox的绝对路径名为 /usr/ast/mbox,如设置一个“当前目录”为/usr,则文件mbox 的相对路径名为ast/mbox。 (练习)
目录结构--多级目录-3 采用多级目录结构也提高了检索目录的速度:如采用单级目录则 查找一个文件最多需查遍系统所有文件名,平均也要查一半文件 名。而多级目录查找一个文件最多只要查遍文件路径上各目录的 子目录和文件,例如上图中要查找文件man,只要查遍root目录、 usr目录和lib目录所在子目录和文件就可以。 相对路径:每访问一个文件都要使用从根目录开始搜索直到树叶 的数据文件为止,包含各中间子目录的全路径名是相当麻烦的, 同时由于一个进程运行时访问的文件大多局限在某个范围,基于 这一点,可为每个用户(或每个进程)设置一个“当前目录” , 又称“工作目录”。进程对各文件的访问都相对于“工作目录” 而设置路径,这称为相对路径名,相应地,从根目录开始的路径 名称为绝对路径名(absolute path name)。用相对路径可缩短搜 索路径,提高搜索速度。例:文件mbox的绝对路径名为 /usr/ast/mbox,如设置一个“当前目录”为/usr,则文件mbox 的相对路径名为ast/mbox。 (练习)