129
Digital Home Working Group Page 1 Page 1 Hefei University of Technology, School of Computer and Information Chapter6 文文文文 Chapter6 文文文文 §6.2 文文文文文文文 §6.1 文文文文文文 §6.3 文文文文文文 §6.4 文文文文 §6.5 文文文文文文文文文 §6.6 文文文 文文文

Chapter6 文件管理

Embed Size (px)

DESCRIPTION

Chapter6 文件管理. §6.1 文件和文件系统. §6.2 文件的逻辑结构. §6.3 外存分配方式. §6.4 目录管理. §6.5 文件存储空间的管理. §6.6 文件系统的使用. §6.1 文件和文件系统. 文件和文件系统(续). 文件系统的管理功能,是通过把它所管理的程序和数据组织成一系列文件的方法来实现的。 文件则是指具有文件名的若干相关元素的集合。元素通常是记录,而记录又是一组有意义的数据项的集合。 基于文件系统的概念,可以把数据组成分为数据项、记录和文件三级。. §6.1.1 文 件. 所有的计算机应用程序都要: - PowerPoint PPT Presentation

Citation preview

Page 1: Chapter6 文件管理

Digital Home Working Group Page 1Page 11Hefei University of Technology,

School of Computer and Information Chapter6 文件管理Chapter6 文件管理

Chapter6 文件管理

§6.2 文件的逻辑结构§6.1 文件和文件系统

§6.3 外存分配方式§6.4 目录管理§6.5 文件存储空间的管理§6.6 文件系统的使用

Page 2: Chapter6 文件管理

Digital Home Working Group Page 2Page 22Hefei University of Technology,

School of Computer and Information Chapter6 文件管理Chapter6 文件管理

Page 3: Chapter6 文件管理

Digital Home Working Group Page 3Page 33Hefei University of Technology,

School of Computer and Information Chapter6 文件管理Chapter6 文件管理

§6.1 文件和文件系统

Page 4: Chapter6 文件管理

Digital Home Working Group Page 4Page 44Hefei University of Technology,

School of Computer and Information Chapter6 文件管理Chapter6 文件管理

文件和文件系统(续)

•文件系统的管理功能,是通过把它所管理的程序和数据组织成一系列文件的方法来实现的。

•文件则是指具有文件名的若干相关元素的集合。元素通常是记录,而记录又是一组有意义的数据项的集合。

•基于文件系统的概念,可以把数据组成分为数据项、记录和文件三级。

Page 5: Chapter6 文件管理

Digital Home Working Group Page 5Page 55Hefei University of Technology,

School of Computer and Information Chapter6 文件管理Chapter6 文件管理

§6.1.1 文 件

•所有的计算机应用程序都要: 存储信息,检索信息

•三个基本要求: 能够存储大量的信息 长期保存信息 可以共享信息

Page 6: Chapter6 文件管理

Digital Home Working Group Page 6Page 66Hefei University of Technology,

School of Computer and Information Chapter6 文件管理Chapter6 文件管理

信息存储

• 解决方法: 把信息以一种单元,即文件的形式存储在磁盘或其他外部介质上

• 文件是通过操作系统来管理的,包括: 文件的结构,命名,存取,使用,保护和实现方法

Page 7: Chapter6 文件管理

Digital Home Working Group Page 7Page 77Hefei University of Technology,

School of Computer and Information Chapter6 文件管理Chapter6 文件管理

文 件

• 一组带标识的在逻辑上有完整意义的信息项的序列,这个标识为文件名: 信息项:构成文件内容的基本单位 长度:单个字节,或多个字节 文件内容的意义:由文件的建立者和使用者解

Page 8: Chapter6 文件管理

Digital Home Working Group Page 8Page 88Hefei University of Technology,

School of Computer and Information Chapter6 文件管理Chapter6 文件管理

文件信息

各信息项之间具有顺序关系

信息项 信息项 ……... 信息项 ……... 信息项编号: 0 1 …… i …… n-1

读写指针

Page 9: Chapter6 文件管理

Digital Home Working Group Page 9Page 99Hefei University of Technology,

School of Computer and Information Chapter6 文件管理Chapter6 文件管理

文件的属性

Page 10: Chapter6 文件管理

Digital Home Working Group Page 10Page 1010Hefei University of Technology,

School of Computer and Information Chapter6 文件管理Chapter6 文件管理

文 件(续)• 文件是指由创建者所定义的、具有文件名的一组相关元素的集合,可分为有结构文件和无结构文件两种。

• 在有结构的文件中,文件由若干个相关记录组成;而无结构文件则被看成是一个字符流。

• 例如,可以将一个班的学生记录作为一个文件。一个文件必须要有一个文件名,它通常是由一串ASCII 码或(和)汉字构成,名字的长度因系统不同而异。

• 文件是一个抽象机制,它提供了一种把信息保存在存储介质上,而且便于以后存取的方法,用户不必关心实现细节

Page 11: Chapter6 文件管理

Digital Home Working Group Page 11Page 1111Hefei University of Technology,

School of Computer and Information Chapter6 文件管理Chapter6 文件管理

§6.1.2 文件分类和文件系统•文件分类

按用途分类根据文件的性质和用途,可将文件分为三类:

①系统文件。这是指由系统软件构成的文件。大多数的系统文件只允许用户调用但不允许用户去读,更不允许修改;有的系统文件不直接对用户开放。

②用户文件。指由用户的源代码、目标文件、可执行文件或数据等所构成的文件。用户将这些文件委托给系统保管。

③库文件。这是由标准子例程及常用的例程等所构成的文件,供调用,但不允许修改。

Page 12: Chapter6 文件管理

Digital Home Working Group Page 12Page 1212Hefei University of Technology,

School of Computer and Information Chapter6 文件管理Chapter6 文件管理

文件分类(续 1 )• 按文件中数据的形式分类

按这种方式分类,也可把文件分为三类:①源文件

这是指由源程序和数据构成的文件。通常由终端或输入设备输入的源程序和数据所形成的文件都属于源文件。它通常是由 ASCII 码或汉字所组成的。

②目标文件这是指把源程序经过相应语言的编译程序编译过,但尚未经过链接程序链接的目标代码所构成的文件。它属于二进制文件。通常,目标文件所使用的后缀名是” .OBJ”

③可执行文件这是指把编译后所产生的目标代码再经过链接程序链接后所形成的

Page 13: Chapter6 文件管理

Digital Home Working Group Page 13Page 1313Hefei University of Technology,

School of Computer and Information Chapter6 文件管理Chapter6 文件管理

文件分类(续 2 )

•按存取控制属性分类根据系统管理员或用户所规定的存取

控制属性,可将文件分为三类: ① 只执行文件。该类文件只允许被核准的用户

调用执行,既不允许读,更不允许写。 ② 只读文件。该类文件只允许文件主及被核准

的用户去读,但不允许写。 ③ 读写文件。这是指允许文件主和被核准的用

户去读或写的文件。

Page 14: Chapter6 文件管理

Digital Home Working Group Page 14Page 1414Hefei University of Technology,

School of Computer and Information Chapter6 文件管理Chapter6 文件管理

文件系统•文件系统是操作系统中负责管理和存取文件信息的软件机构,它是由管理文件所需的数据结构和相应的管理软件以及访问文件的一组操作组成。

•从系统的角度看:文件系统是一个负责文件存储空间管理的机构。

•从用户的角度看:文件系统是用户在计算机上存储信息、和使用信息的接口。

Page 15: Chapter6 文件管理

Digital Home Working Group Page 15Page 1515Hefei University of Technology,

School of Computer and Information Chapter6 文件管理Chapter6 文件管理

文件系统的功能

① 提供用户对文件操作的命令;② 提供用户共享文件的机制;③ 管理文件的存储介质;④ 提供文件的存取控制的机制,保障文件及

文件系统的安全性;⑤ 提供文件及文件系统的备份和恢复功能;⑥ 提供对文件的加密和解密功能。

Page 16: Chapter6 文件管理

Digital Home Working Group Page 16Page 1616Hefei University of Technology,

School of Computer and Information Chapter6 文件管理Chapter6 文件管理

§6.1.3 文件操作•用户通过文件系统所提供的系统调用实施对文件的操作。创建文件 删除文件 读文件 写文件截断文件 设置文件的读/写位置。

Page 17: Chapter6 文件管理

Digital Home Working Group Page 17Page 1717Hefei University of Technology,

School of Computer and Information Chapter6 文件管理Chapter6 文件管理

文件的创建与删除 创建文件

创建一个新文件时,系统首先为新文件分配必要的外存空间,并在文件系统的目录中,为之建立一个目录项。目录项中记录新文件的文件名及其在外存的地址等属性。

删除文件 在删除时,系统应先从目录中找到要删除文件的目录项,使之成为空项,然后回收该文件所占用的存储空间。

Page 18: Chapter6 文件管理

Digital Home Working Group Page 18Page 1818Hefei University of Technology,

School of Computer and Information Chapter6 文件管理Chapter6 文件管理

文件的打开与关闭•系统将指名文件的属性(包括该文件在外存上的物理位置)从外存拷贝到内存打开文件表的一个表目中,并将该表目的编号(或称为索引)返回给用户。

•当用户再要求对该文件进行相应的操作时,便可利用系统所返回的索引号向系统提出操作请求。

•系统可直接利用该索引号到打开文件表中去查找,从而避免了对该文件的再次检索。这样不仅节省了大量的检索开销,也显著地提高了对文件的操作速度。

Page 19: Chapter6 文件管理

Digital Home Working Group Page 19Page 1919Hefei University of Technology,

School of Computer and Information Chapter6 文件管理Chapter6 文件管理

文件的打开与关闭(续)

Page 20: Chapter6 文件管理

Digital Home Working Group Page 20Page 2020Hefei University of Technology,

School of Computer and Information Chapter6 文件管理Chapter6 文件管理

An Example Program Using File System Calls (1/2)

Page 21: Chapter6 文件管理

Digital Home Working Group Page 21Page 2121Hefei University of Technology,

School of Computer and Information Chapter6 文件管理Chapter6 文件管理

An Example Program Using File System Calls (2/2)

Page 22: Chapter6 文件管理

Digital Home Working Group Page 22Page 2222Hefei University of Technology,

School of Computer and Information Chapter6 文件管理Chapter6 文件管理

进程打开文件

• 系统打开文件表(整个系统一张) 放在内存。用于保存已打开文件的 FCB 文件号,共享计数,修改标志

• 用户打开文件表(每个进程一个) 文件描述符,打开方式,读写指针,系统打开

文件表入口 进程的 PCB 中,记录了用户打开文件表的位置

Page 23: Chapter6 文件管理

Digital Home Working Group Page 23Page 2323Hefei University of Technology,

School of Computer and Information Chapter6 文件管理Chapter6 文件管理

进程打开文件(续 1 )• 用户打开文件表与系统打开文件表之间的关系

用户打开文件表指向系统打开文件表 如果多个进程共享同一个文件,则多个用户打开文件表目对应系统打开文件表的同一入口

Page 24: Chapter6 文件管理

Digital Home Working Group Page 24Page 2424Hefei University of Technology,

School of Computer and Information Chapter6 文件管理Chapter6 文件管理

进程打开文件(续 2 )

Page 25: Chapter6 文件管理

Digital Home Working Group Page 25Page 2525Hefei University of Technology,

School of Computer and Information Chapter6 文件管理Chapter6 文件管理

Linux Virtual File System(1/3)

•Uniform file system interface to user processes

•Represents any conceivable file system’s general feature and behavior

•Assumes files are objects that share basic properties regardless of the target file system

Page 26: Chapter6 文件管理

Digital Home Working Group Page 26Page 2626Hefei University of Technology,

School of Computer and Information Chapter6 文件管理Chapter6 文件管理

Linux Virtual File System(2/3)

Page 27: Chapter6 文件管理

Digital Home Working Group Page 27Page 2727Hefei University of Technology,

School of Computer and Information Chapter6 文件管理Chapter6 文件管理

Linux Virtual File System(3/3)

Page 28: Chapter6 文件管理

Digital Home Working Group Page 28Page 2828Hefei University of Technology,

School of Computer and Information Chapter6 文件管理Chapter6 文件管理

Back

I ndex OS Chapter6

Page 29: Chapter6 文件管理

Digital Home Working Group Page 29Page 2929Hefei University of Technology,

School of Computer and Information Chapter6 文件管理Chapter6 文件管理

§6.2 文件的逻辑结构•可以用两种不同观点研究文件结构

用户观点 : 研究用户“思维”中的抽象文件,或称逻辑

文件,其研究的侧重点在于为用户提供一种逻辑结构清晰、使用简便的逻辑文件形式。用户将按照这种形式去存储、检索和加工有关文件中的信息。 实现观点 :

研究驻留在设备“介质”中的实际文件,或称物理文件。它研究的侧重点是选择一些工作性能良好、设备利用率高的物理文件形式。系统将按照这种形式同外部设备打交道并控制信息的传输

Page 30: Chapter6 文件管理

Digital Home Working Group Page 30Page 3030Hefei University of Technology,

School of Computer and Information Chapter6 文件管理Chapter6 文件管理

§6.2.1 文件逻辑结构的类型

•文件的逻辑结构可分为两大类 有结构文件

由一个以上的记录构成的文件,故又把它称为记录式文件

无结构文件 由字符流构成的文件,故又称为流式

文件。

Page 31: Chapter6 文件管理

Digital Home Working Group Page 31Page 3131Hefei University of Technology,

School of Computer and Information Chapter6 文件管理Chapter6 文件管理

有结构文件分类•在记录式文件中,每个记录都是描述实体集中的一个实体,各记录有着相同或不同数目的数据项。记录的长度可分为定长和不定长两类。

定长记录。 是指文件中所有记录的长度都是相同的,所有记录中的各数据项,都处在记录中相同的位置,具有相同的顺序和长度。文件的长度用记录数目表示。对定长记录的处理方便、开销小,所以这是目前较常用的一种记录格式,被广泛用于数据处理中。

变长记录。 是指文件中各记录的长度不相同。产生变长记录的原因,可能是由于一个记录中所包含的数据项数目并不相同或数据项本身的长度不定

不论是哪一种,在处理前,每个记录的长度是可知的。

Page 32: Chapter6 文件管理

Digital Home Working Group Page 32Page 3232Hefei University of Technology,

School of Computer and Information Chapter6 文件管理Chapter6 文件管理

有结构文件分类

• 根据用户和系统管理上的需要,可采用多种方式来组织这些记录,形成下述的几种文件: 顺序文件 索引文件 索引顺序文件

Page 33: Chapter6 文件管理

Digital Home Working Group Page 33Page 3333Hefei University of Technology,

School of Computer and Information Chapter6 文件管理Chapter6 文件管理

无结构文件•大量的数据结构和数据库,采用有结构的文件形式 ;

•而大量的源程序、可执行文件、库函数等,所采用的就是无结构的文件形式,即流式文件 , 其长度以字节为单位。

•对流式文件的访问,则是采用读写指针来指出下一个要访问的字符。可以把流式文件看作是记录式文件的一个特例。

•在 UNIX 系统中,所有的文件都被看作是流式文件;即使是有结构文件,也被视为流式文件;系统不对文件进行格式处理。

Page 34: Chapter6 文件管理

Digital Home Working Group Page 34Page 3434Hefei University of Technology,

School of Computer and Information Chapter6 文件管理Chapter6 文件管理

§6.2.2 顺序文件

由一系列记录按某种顺序排列形成的文件。其中的记录通常是定长记录,因而能用较快的速度查找文件中的记录。

Page 35: Chapter6 文件管理

Digital Home Working Group Page 35Page 3535Hefei University of Technology,

School of Computer and Information Chapter6 文件管理Chapter6 文件管理

顺序文件(续 1 )

Page 36: Chapter6 文件管理

Digital Home Working Group Page 36Page 3636Hefei University of Technology,

School of Computer and Information Chapter6 文件管理Chapter6 文件管理

顺序文件(续 2 )

顺序文件的优点 顺序文件的最佳应用场合,是在对诸记录

进行批量存取时,即每次要读或写一大批记录。此时,对顺序文件的存取效率是所有逻辑文件中最高的;此外,也只有顺序文件才能存储在磁带上,并能有效地工作。

Page 37: Chapter6 文件管理

Digital Home Working Group Page 37Page 3737Hefei University of Technology,

School of Computer and Information Chapter6 文件管理Chapter6 文件管理

顺序文件(续 3 )顺序文件的缺点

1.在交互应用的场合,如果用户(程序)要求查找或修改单个记录,为此系统便要去逐个地查找诸记录。这时,顺序文件所表现出来的性能就可能很差,尤其是当文件较大时,情况更为严重。

2.顺序文件的另一个缺点是,如果想增加或删除一个记录,都比较困难。

Page 38: Chapter6 文件管理

Digital Home Working Group Page 38Page 3838Hefei University of Technology,

School of Computer and Information Chapter6 文件管理Chapter6 文件管理

§6.2.3 索引文件•对于定长记录,除了可以方便地实现顺序存取外,还可较方便地实现直接存取。

•对于变长记录就较难实现直接存取,因为用直接存取方法来访问变长记录文件中的一个记录是十分低效的。

•为了解决这一问题,为变长记录文件建立一张索引表,对主文件中的每个记录,在索引表中设有一个相应表项,用于记录该记录的长度 L 及指向该记录的指针(指向该记录在逻辑地址空间的首址)

•由于索引表按记录键排序的,索引表本身是一个定长记录的顺序文件,从而也就可以方便地实现直接存取。

Page 39: Chapter6 文件管理

Digital Home Working Group Page 39Page 3939Hefei University of Technology,

School of Computer and Information Chapter6 文件管理Chapter6 文件管理

索引文件(续 1 ) 通常为记录建立一张索引表,并为每个记录设置

一个表项,以加快对记录检索的速度。

Page 40: Chapter6 文件管理

Digital Home Working Group Page 40Page 4040Hefei University of Technology,

School of Computer and Information Chapter6 文件管理Chapter6 文件管理

索引文件(续 2 )•在对索引文件进行检索时

首先是根据用户(程序)提供的关键字,并利用折半查找法去检索索引表,从中找到相应的表项;

再利用该表项中给出的指向记录的指针值,去访间所需的记录。

•每当要向索引文件中增加一个新记录时,便须对索引表进行修改。

•由于索引文件可有较快的检索速度,故它主要用于对信息处理的及时性要求较高的场合。

缺点 : 它除了有主文件外,还须配置一张索引表,而且每个记录都要有一个索引项,因此提高了存储费用。

Page 41: Chapter6 文件管理

Digital Home Working Group Page 41Page 4141Hefei University of Technology,

School of Computer and Information Chapter6 文件管理Chapter6 文件管理

§6.2.4 索引顺序文件

• 有效地克服了变长记录文件不便于直接存取的缺点,而且所付出的代价也不算太大。

• 是顺序文件和索引文件相结合的产物。 它将顺序文件中的所有记录分为若干个组(例

如, 50 个记录为一个组); 为顺序文件建立一张索引表,在索引表中为每

组中的第一个记录建立一个索引项,其中含有该记录的键值和指向该记录的指针。

Page 42: Chapter6 文件管理

Digital Home Working Group Page 42Page 4242Hefei University of Technology,

School of Computer and Information Chapter6 文件管理Chapter6 文件管理

索引顺序文件(续 1 )

Page 43: Chapter6 文件管理

Digital Home Working Group Page 43Page 4343Hefei University of Technology,

School of Computer and Information Chapter6 文件管理Chapter6 文件管理

索引顺序文件(续 2 )

•在对索引顺序文件进行检索时 首先也是利用用户(程序)所提供的关键字以及某种查找算法,去检索索引表,找到该记录所在记录组中第一个记录的表项,从中得到该记录组第一个记录在主文件中的位置;

再利用顺序查找法去查找主文件,从中找到所要求的记录。

Page 44: Chapter6 文件管理

Digital Home Working Group Page 44Page 4444Hefei University of Technology,

School of Computer and Information Chapter6 文件管理Chapter6 文件管理

§6.2.5 哈希文件

•这是目前应用最为广泛的一种直接文件。•它利用 Hash函数(或称散列函数),可将记录键值转换为相应记录的地址。

•为了能实现文件存储空间的动态分配,通常由 Hash函数所求得的并非是相应记录的地址,而是指向一目录表相应表目的指针,该表目的内容指向相应记录所在的物理块。

Page 45: Chapter6 文件管理

Digital Home Working Group Page 45Page 4545Hefei University of Technology,

School of Computer and Information Chapter6 文件管理Chapter6 文件管理

哈希文件(续)

Back

I ndex OS Chapter6

Page 46: Chapter6 文件管理

Digital Home Working Group Page 46Page 4646Hefei University of Technology,

School of Computer and Information Chapter6 文件管理Chapter6 文件管理

§6.3 外存分配方式

•利用磁盘来存放文件,在为文件分配外存空间时所要考虑的主要问题是:怎样才能有效地利用外存空间和如何提高对文件的访问速度。

• 目前常用的外存分配方法有: 连续分配 链接分配 索引分配

Page 47: Chapter6 文件管理

Digital Home Working Group Page 47Page 4747Hefei University of Technology,

School of Computer and Information Chapter6 文件管理Chapter6 文件管理

外存分配与存储介质

存储介质

物理结构

存取方式

磁带

连续结构

顺序存取

磁盘

连续 链接 索引

顺序 顺序 顺序

随机 随机

Page 48: Chapter6 文件管理

Digital Home Working Group Page 48Page 4848Hefei University of Technology,

School of Computer and Information Chapter6 文件管理Chapter6 文件管理

磁盘访问

Page 49: Chapter6 文件管理

Digital Home Working Group Page 49Page 4949Hefei University of Technology,

School of Computer and Information Chapter6 文件管理Chapter6 文件管理

§6.3.1 连续分配•连续分配( Continuous Allocation )要求为每一个文件分配一组相邻接的盘块。一组盘块的地址定义了磁盘上的一段线性地址。

•例如,第一个盘块的地址为 b ,则第二个盘块的地址为 b+1 ,第三个盘块的地址为 b+2 ,… 。

•通常,它们位于一条磁道上,在进行读/写时,不必移动磁头,仅当访问到一条磁道的最后一个盘块后,才需要移到下一条磁道,于是又去连续地读/写多个盘块。

•在采用连续分配方式时,可把逻辑文件中的记录顺序地存储到邻接的各物理盘块中。

•所形成的文件结构称为顺序文件结构,物理文件称为顺序文件。

Page 50: Chapter6 文件管理

Digital Home Working Group Page 50Page 5050Hefei University of Technology,

School of Computer and Information Chapter6 文件管理Chapter6 文件管理

连续分配(续 1 )

Page 51: Chapter6 文件管理

Digital Home Working Group Page 51Page 5151Hefei University of Technology,

School of Computer and Information Chapter6 文件管理Chapter6 文件管理

连续分配(续 2 )• 同内存的动态分区分配一样,随着文件建立时空间的分配和文件删除时空间的回收,将使磁盘空间被分割成许多小块,这些较小的连续区已难于用来存储文件,此即外存碎片。

• 同样,我们也可以利用紧凑的方法,将盘上所有的文件紧靠在一起,把所有的碎片拼接成一大片连续的存储空间。

Page 52: Chapter6 文件管理

Digital Home Working Group Page 52Page 5252Hefei University of Technology,

School of Computer and Information Chapter6 文件管理Chapter6 文件管理

连续分配的优点 顺序访问容易

访问一个占有连续空间的文件,非常容易。系统可从目录中找到该顺序文件所在的第一个盘块号,从此开始顺序地、逐个盘块地往下读/写。连续分配也支持直接存取。例如,要访问一个从 b 块开始存放的文件中的第 i 个盘块的内容,就可直接访问 b+i号盘块。

顺序访问速度快 因为由连续分配所装入的文件,其所占用的盘块可能是位于一条或几条相邻的磁道上,这时,磁头的移动距离最少,因此,这种对文件访问的速度是几种存储空间分配方式中最高的一种。

Page 53: Chapter6 文件管理

Digital Home Working Group Page 53Page 5353Hefei University of Technology,

School of Computer and Information Chapter6 文件管理Chapter6 文件管理

连续分配的缺点要求有连续的存储空间

要为每一个文件分配一段连续的存储空间,这样,便会产生出许多外部碎片,严重地降低了外存空间的利用率。如果是定期地利用紧凑方法来消除碎片,则又需花费大量的机器时间。

必须事先知道文件的长度 要将一个文件装入一个连续的存储区中,

必须事先知道文件的大小,然后根据其大小,在存储空间中找出一块其大小足够的存储区,将文件装入。

Page 54: Chapter6 文件管理

Digital Home Working Group Page 54Page 5454Hefei University of Technology,

School of Computer and Information Chapter6 文件管理Chapter6 文件管理

§6.3.2 链接分配•一个链接文件结构是按顺序由链接的块组成的,即文件的信息按存储介质的物理特性存于若干块中。

•每个物理块的最末一个字 ( 或第一个字 )作为链接字,它指出后继块的物理地址。链首指针存放在该文件目录中。文件的结尾块的指针为“∧”或“ -1” 。

•这种文件结构不要求连续存放。•对于记录式文件一块中可包含一个逻辑记录或多个逻辑记录,也可以若干物理块包含一个逻辑记录

Page 55: Chapter6 文件管理

Digital Home Working Group Page 55Page 5555Hefei University of Technology,

School of Computer and Information Chapter6 文件管理Chapter6 文件管理

Linked Allocation- 链接分配•按需分配磁盘块,链接在一起。文件起始于第 9 块

Page 56: Chapter6 文件管理

Digital Home Working Group Page 56Page 5656Hefei University of Technology,

School of Computer and Information Chapter6 文件管理Chapter6 文件管理

链接分配的优缺点优点:

提高了磁盘空间利用率 , 不存在外部碎片问题

有利于文件插入和删除 有利于文件动态扩充

缺点: 存取速度慢,不适于随机存取 可靠性问题,如指针出错 更多的寻道次数和寻道时间 链接指针占用一定的空间(书 P199)

Page 57: Chapter6 文件管理

Digital Home Working Group Page 57Page 5757Hefei University of Technology,

School of Computer and Information Chapter6 文件管理Chapter6 文件管理

链接分配的优化

• 为了提高检索速度和减小指针所占用的存储空间,可以将几个盘块组成一个簇 (cluster )。

• 比如,一个簇可包含 4 个盘块,在进行盘块分配时,是以簇为单位进行的。在链接文件中的每个元素也是以簇为单位。

• 这样将会成倍地减小查找指定块的时间,而且也可减小指针所占用的存储空间,但却增大了内部碎片,而且这种改进也是非常有限的。

Page 58: Chapter6 文件管理

Digital Home Working Group Page 58Page 5858Hefei University of Technology,

School of Computer and Information Chapter6 文件管理Chapter6 文件管理

Windows File System - FAT

•把用于链接文件各物理块的指针显式地存放在内存的一张链接表中,该表在整个磁盘仅设置一张。

•在每个表项中存放链接指针,即下一个盘块号。•在该表中,凡是属于某一文件的第一个盘块号,或者说是每一条链的链首指针所对应的盘块号,均作为文件地址被填入相应文件的 FCB 的“物理地址”字段中。

•由于查找记录的过程是在内存中进行的,因而不仅显著地提高了检索速度,而且大大减少了访问磁盘的次数。

• still used by Windows 3.x and Win95 supporting long filenames and allowing drive size to 2047 gigabytes

Page 59: Chapter6 文件管理

Digital Home Working Group Page 59Page 5959Hefei University of Technology,

School of Computer and Information Chapter6 文件管理Chapter6 文件管理

FAT (续)

Boot Sector FAT file

Directory EntriesFAT ... ... file

DirectoryEntries

FAT File Structure:

FAT: File Allocation Table

...file

Page 60: Chapter6 文件管理

Digital Home Working Group Page 60Page 6060Hefei University of Technology,

School of Computer and Information Chapter6 文件管理Chapter6 文件管理

The MS-DOS File System

•Maximum partition for different block sizes•The empty boxes represent forbidden

combinations

Page 61: Chapter6 文件管理

Digital Home Working Group Page 61Page 6161Hefei University of Technology,

School of Computer and Information Chapter6 文件管理Chapter6 文件管理

§6.3.3 索引分配• 在打开某个文件时,只需把该文件占用的盘块的

编号调入内存即可,完全没有必要将整个 FAT调入内存。索引分配方法就是基于这种想法所形成的一种分配方法。

• 为每个文件分配一个索引块(表) , 再把分配给该文件的所有盘块号,都记录在该索引块中。

• 在建立一个文件时,便须在为之建立的目录项中,填上指向该索引块的指针。

• 当文件较大时,索引分配方式无疑要优于链接分配方式。 支持直接访问。当要读文件的第 i 个盘块时,可以方便地直接从索引块中找到第 i 个盘块的盘块号

不会产生外部碎片。

Page 62: Chapter6 文件管理

Digital Home Working Group Page 62Page 6262Hefei University of Technology,

School of Computer and Information Chapter6 文件管理Chapter6 文件管理

Indexed Allocation (索引分配)•把所有的指针都一起放在索引块里

index table索引表

index table索引表

Page 63: Chapter6 文件管理

Digital Home Working Group Page 63Page 6363Hefei University of Technology,

School of Computer and Information Chapter6 文件管理Chapter6 文件管理

索引分配(续)

Page 64: Chapter6 文件管理

Digital Home Working Group Page 64Page 6464Hefei University of Technology,

School of Computer and Information Chapter6 文件管理Chapter6 文件管理

多级索引•将一个大文件的所有索引表(二级索引 ) 的地址放在另一个索引表(一级索引 ) 中。

Mai

n I

ndex Index

Level 2

IndexLevel 2

IndexLevel 3

IndexLevel 2

Mai

n I

ndex Index

Level 2

IndexLevel 2

IndexLevel 3

IndexLevel 2

Page 65: Chapter6 文件管理

Digital Home Working Group Page 65Page 6565Hefei University of Technology,

School of Computer and Information Chapter6 文件管理Chapter6 文件管理

混合索引: UNIX (每个块 4K 字节)

Page 66: Chapter6 文件管理

Digital Home Working Group Page 66Page 6666Hefei University of Technology,

School of Computer and Information Chapter6 文件管理Chapter6 文件管理

混合索引(续 1 )

Page 67: Chapter6 文件管理

Digital Home Working Group Page 67Page 6767Hefei University of Technology,

School of Computer and Information Chapter6 文件管理Chapter6 文件管理

混合索引(续 2 )•每个文件的索引表为 13 个索引项,每项 2 个字节。最前面 10 项直接登记存放文件信息的物理块号(直接寻址)

•如果文件大于 10块,则利用第 11 项指向一个物理块,该块中最多可放 256 个文件物理块的块号(一次间接寻址)。对于更大的文件还可利用第12 和第 13 项作为二次和三次间接寻址

•UNIX 中采用了三级索引结构后,文件最大可达16兆个物理块

Back

I ndex OS Chapter6

Page 68: Chapter6 文件管理

Digital Home Working Group Page 68Page 6868Hefei University of Technology,

School of Computer and Information Chapter6 文件管理Chapter6 文件管理

§6.4 目录管理• 为了能对大量文件实施有效的管理,必须对它们加以妥善组织,这主要是通过文件目录实现的。

• 文件目录也是一种数据结构,用于标识系统中的文件及其物理地址,供检索时使用。对目录管理的要求如下: 实现“按名存取” 提高对目录的检索速度 文件共享 允许文件重名

Page 69: Chapter6 文件管理

Digital Home Working Group Page 69Page 6969Hefei University of Technology,

School of Computer and Information Chapter6 文件管理Chapter6 文件管理

§6.4.1 文件控制块

• 文件控制块( FCB ): 文件控制块是操作系统为管理文件而设置

的数据结构,存放了为管理文件所需的所有有关信息(文件属性)

• 文件控制块是文件存在的标志• 一个 FCB就是一个文件目录项

Page 70: Chapter6 文件管理

Digital Home Working Group Page 70Page 7070Hefei University of Technology,

School of Computer and Information Chapter6 文件管理Chapter6 文件管理

文件控制块信息•基本信息类。

①文件名 ②文件物理位置,指文件在外存上的存储位置(包括:存放文件的设备名、文件在外存上的起始盘块号、指示文件所占用的盘块数或字节数的文件长度) ③文件逻辑结构 ④文件的物理结构

•存取控制信息类。 文件主的存取权限、核准用户的存取权限以及一般用户的存取权限。

•使用信息类。 文件的建立日期和时间、文件上一次修改的日期和时间及当前使用信息(包括:当前已打开该文件的进程数、是否被其它进程锁住、文件在内存中是否已被修改但尚未拷贝到盘上)

Page 71: Chapter6 文件管理

Digital Home Working Group Page 71Page 7171Hefei University of Technology,

School of Computer and Information Chapter6 文件管理Chapter6 文件管理

文件目录

•文件目录把所有的 FCB 组织在一起,就构成了文件目录,即文件控制块的有序集合

•目录项构成文件目录的项目(目录项就是 FCB )

•目录文件为了实现对文件目录的管理,通常将文件目录以文件的形式保存在外存,这个文件就叫目录文件,文件目录通常存放在磁盘上

Page 72: Chapter6 文件管理

Digital Home Working Group Page 72Page 7272Hefei University of Technology,

School of Computer and Information Chapter6 文件管理Chapter6 文件管理

文件和目录

(a) An executable file (b) An archive

Page 73: Chapter6 文件管理

Digital Home Working Group Page 73Page 7373Hefei University of Technology,

School of Computer and Information Chapter6 文件管理Chapter6 文件管理

§6.4.2 目录结构

F 1 F 2F 3

F 4

F n

Directory

FilesF 1 F 2

F 3F 4

F n

Directory

Files

•Both the directory structure and the files reside on disk

•Backups of these two structures are kept on tapes

Page 74: Chapter6 文件管理

Digital Home Working Group Page 74Page 7474Hefei University of Technology,

School of Computer and Information Chapter6 文件管理Chapter6 文件管理

Single-Level Directory- 单级目录

• 一级目录结构 整个文件系统中只建立一张目录表(组成一线

性表),每文件占用一个目录项优点:简单,易实现缺点:

限制了用户对文件的命名 文件平均检索时间长 限制了对文件的共享

Page 75: Chapter6 文件管理

Digital Home Working Group Page 75Page 7575Hefei University of Technology,

School of Computer and Information Chapter6 文件管理Chapter6 文件管理

Two-Level Directory (两级目录)

• Path name (路径名)• Can have the same file name for different

user (不同的用户可以有相同文件名)• Efficient searching (有效率的搜索)• No grouping capability (无法分组)

Page 76: Chapter6 文件管理

Digital Home Working Group Page 76Page 7676Hefei University of Technology,

School of Computer and Information Chapter6 文件管理Chapter6 文件管理

两级目录(续)

Page 77: Chapter6 文件管理

Digital Home Working Group Page 77Page 7777Hefei University of Technology,

School of Computer and Information Chapter6 文件管理Chapter6 文件管理

两级目录优缺点 提高了检索目录的速度。

若在主目录中有 n 个子目录,每用户目录最多为 m 目录项 , 则为查找一指定的目录项,最多只需检索 n+m 个目录项。但如果是采用单级目录结构,则最多需检索 n*m个目录项。假定 n=m ,采用两级目录可使检索效率提高n/2倍。

在不同的用户目录中,可以使用相同的文件名。只要在用户自己的 UFD 中,每一个文件名都是惟一的。

不同用户可使用不同文件名来访问系统中同一个共享文件。

采用两级目录结构也存在一些问题。该结构虽然能有效地将多个用户隔开,在各用户之

间完全无关时,这种隔离是一个优点;当多个用户之间要相互合作去完成一个大任务,且

一用户又需去访问其他用户的文件时,这种隔离便成为一个缺点,因为这种隔离会使诸用户之间不便于共享文件。

Page 78: Chapter6 文件管理

Digital Home Working Group Page 78Page 7878Hefei University of Technology,

School of Computer and Information Chapter6 文件管理Chapter6 文件管理

多级目录(树型目录)

Page 79: Chapter6 文件管理

Digital Home Working Group Page 79Page 7979Hefei University of Technology,

School of Computer and Information Chapter6 文件管理Chapter6 文件管理

多级目录优缺点优点:

层次结构清晰,便于管理和保护; 有利于文件分类; 解决重名问题; 提高文件检索速度; 能进行存取权限的控制

缺点: 查找一个文件按路径名逐层检查,由于每个文件都放在外存,多次访盘影响速度

Page 80: Chapter6 文件管理

Digital Home Working Group Page 80Page 8080Hefei University of Technology,

School of Computer and Information Chapter6 文件管理Chapter6 文件管理

目录的其他实现方法•哈希表算法:

目录项信息存在一张哈希表中 搜索时根据文件名计算哈希值 得到一个指向表中文件的指针

• 其他算法: 如 B+树 NTFS 文件系统采用了 B+树

• 无环图结构目录

Page 81: Chapter6 文件管理

Digital Home Working Group Page 81Page 8181Hefei University of Technology,

School of Computer and Information Chapter6 文件管理Chapter6 文件管理

目录的其他实现方法(续)•无环图结构目录有共享的子目录和文件

Page 82: Chapter6 文件管理

Digital Home Working Group Page 82Page 8282Hefei University of Technology,

School of Computer and Information Chapter6 文件管理Chapter6 文件管理

文件目录的检索

访问文件包括:• 目录检索:

用户给出文件名,按名寻找目录项• 根据路径名检索:

全路径名:从根开始 相对路径:从当前目录开始

• 文件寻址:根据 FCB 中文件物理地址等信息,求出文件的任意记录或字符在存取介质上的地址,称为文件寻址

Page 83: Chapter6 文件管理

Digital Home Working Group Page 83Page 8383Hefei University of Technology,

School of Computer and Information Chapter6 文件管理Chapter6 文件管理

当前目录(工作目录,值班目录)

• 为了提高文件检索速度,文件系统向用户提供了一个当前正在使用的目录

•查找一个文件可从当前目录开始,使用部分路径名

•当前目录可根据需要任意改变。当前目录一般存放在内存

Page 84: Chapter6 文件管理

Digital Home Working Group Page 84Page 8484Hefei University of Technology,

School of Computer and Information Chapter6 文件管理Chapter6 文件管理

补充: The MS-DOS File System

•The MS-DOS directory entry

Page 85: Chapter6 文件管理

Digital Home Working Group Page 85Page 8585Hefei University of Technology,

School of Computer and Information Chapter6 文件管理Chapter6 文件管理

The Windows 98 File System

•The extended MOS-DOS directory entry used in Windows 98

Page 86: Chapter6 文件管理

Digital Home Working Group Page 86Page 8686Hefei University of Technology,

School of Computer and Information Chapter6 文件管理Chapter6 文件管理

The ISO 9660 directory entry

Back

I ndex OS Chapter6

Page 87: Chapter6 文件管理

Digital Home Working Group Page 87Page 8787Hefei University of Technology,

School of Computer and Information Chapter6 文件管理Chapter6 文件管理

§6.5 文件存储空间的管理

Page 88: Chapter6 文件管理

Digital Home Working Group Page 88Page 8888Hefei University of Technology,

School of Computer and Information Chapter6 文件管理Chapter6 文件管理

文件存储空间的管理

Page 89: Chapter6 文件管理

Digital Home Working Group Page 89Page 8989Hefei University of Technology,

School of Computer and Information Chapter6 文件管理Chapter6 文件管理

文件存储空间的管理 ( 续 )

• (a) Contiguous allocation of disk space for 7 files• (b) State of the disk after files D and E have been removed

Page 90: Chapter6 文件管理

Digital Home Working Group Page 90Page 9090Hefei University of Technology,

School of Computer and Information Chapter6 文件管理Chapter6 文件管理

§6.5 文件存储空间的管理• 文件管理要解决的重要问题之一是如何为新创建的文件分配存储空间。

• 其解决方法与内存的分配情况有许多相似之处 采取连续分配方式,具有较高的文件访问速度,但可能产生较多的外存零头;

离散分配方式,能有效地利用外存空间,但访间速度较慢。

• 不论哪种分配方式,存储空间的基本分配单位都是磁盘块而非字节。

Page 91: Chapter6 文件管理

Digital Home Working Group Page 91Page 9191Hefei University of Technology,

School of Computer and Information Chapter6 文件管理Chapter6 文件管理

Disk Space Management

•实线说明一个磁盘的 data rate

•点线说明磁盘的空间利用率• All files 2KB

Page 92: Chapter6 文件管理

Digital Home Working Group Page 92Page 9292Hefei University of Technology,

School of Computer and Information Chapter6 文件管理Chapter6 文件管理

§6.5.1 空闲表法和空闲链表法• 空闲表法

空闲表法属于连续分配方式,它与内存的动态分配方式雷同,它为每个文件分配一块连续的存储空间。

系统为外存上的所有空闲区建立一张空闲表,每个空闲区对应于一个空闲表项,其中包括表项序号、该空闲区的第一个盘块号、该区的空闲盘块数等信息。再将所有空闲区按其起始盘块号递增的次序排列,

Page 93: Chapter6 文件管理

Digital Home Working Group Page 93Page 9393Hefei University of Technology,

School of Computer and Information Chapter6 文件管理Chapter6 文件管理

空闲表法存储空间的分配与回收• 空闲盘区的分配与内存的动态分配类似,同样是采用首次适应算法、循环首次适应算法等。

• 例如,在系统为某新创建的文件分配空闲盘块时,先顺序地检索空闲表的各表项,直至找到第一个其大小能满足要求的空闲区,再将该盘区分配给用户(进程),同时修改空闲表。

• 系统在对用户所释放的存储空间进行回收时,也采取类似于内存回收的方法,即要考虑回收区是否与空闲表中插入点的前区和后区相邻接,对相邻接者应予以合并。

Page 94: Chapter6 文件管理

Digital Home Working Group Page 94Page 9494Hefei University of Technology,

School of Computer and Information Chapter6 文件管理Chapter6 文件管理

空闲表法性能•在内存分配上,虽然很少采用连续分配方式,然而在外存的管理中,由于它具有较高的分配速度,可减少访问磁盘的 I/O频率,故它在诸多分配方式中仍占有一席之地。

•例如,在前面所介绍的对换方式中,对对换空间,一般都采用连续分配方式。 对于文件系统,当文件较小( 1-4 个盘块)时,仍采用连续分配方式,为文件分配相邻接的几个盘块;

当文件较大时,便采用离散分配方式。

Page 95: Chapter6 文件管理

Digital Home Working Group Page 95Page 9595Hefei University of Technology,

School of Computer and Information Chapter6 文件管理Chapter6 文件管理

空闲链表法• 空闲链表法是将所有空闲盘区拉成一条空闲链。

Linked Free Space List on Disk

Page 96: Chapter6 文件管理

Digital Home Working Group Page 96Page 9696Hefei University of Technology,

School of Computer and Information Chapter6 文件管理Chapter6 文件管理

空闲链表法分类•根据构成链所用基本元素的不同,可把链表分成两种形式:空闲盘块链和空闲盘区链。 空闲盘块链 这是将磁盘上的所有空闲空间,以盘块为单位拉成一条链。当用户因创建文件而请求分配存储空间时,系统从链首开始,依次摘下适当数目的空闲盘块分配给用户。当用户因删除文件而释放存储空间时,系统将回收的盘块依次插入空闲盘块链的末尾。

空闲盘区链 这是将磁盘上的所有空闲盘区(每个盘区可包含若干个盘块)拉成一条链。每个盘区上除含有用于指示下一个空闲盘区的指针外,还有指明本盘区大小(盘块数)的信息。通常采用首次适应算法。

Page 97: Chapter6 文件管理

Digital Home Working Group Page 97Page 9797Hefei University of Technology,

School of Computer and Information Chapter6 文件管理Chapter6 文件管理

§6.5.2 位示图法

• 位示图 位示图是利用二进制的一位来表示磁盘中一个盘块的使用情况。 当其值为“ 0”时,表示对应的盘块空闲;为“ 1”时,表示已分配。

磁盘上的所有盘块都有一个二进制位与之对应,这样,由所有盘块所对应的位构成一个集合,称为位示图。

通常可用 m*n 个位数来构成位示图,并使m*n 等于磁盘的总块数。

Page 98: Chapter6 文件管理

Digital Home Working Group Page 98Page 9898Hefei University of Technology,

School of Computer and Information Chapter6 文件管理Chapter6 文件管理

位示图

•可用 m*n 个位数来构成位示图,•也可描述为一个二维数组 map:

Var map: array[1…m, 1…n] of bit;

Page 99: Chapter6 文件管理

Digital Home Working Group Page 99Page 9999Hefei University of Technology,

School of Computer and Information Chapter6 文件管理Chapter6 文件管理

盘块的分配• 根据位示图进行盘块分配时,可分三步 :

① 顺序扫描位示图,从中找出一个或一组其值为“ 0” 的二进制位(“ 0”表示空闲时)。

② 将所找到的一个或一组二进制位,转换成与之相应的盘块号。假定找到的其值为“ 0” 的二进制位,位于位示图的第 i 行、第 j 列,则其相应的盘块号应按下式计算:

b = n(i-1) + j 式中, n 代表每行的位数。

③ 修改位示图,令 map [i, j]=1 。

Page 100: Chapter6 文件管理

Digital Home Working Group Page 100Page 100100Hefei University of Technology,

School of Computer and Information Chapter6 文件管理Chapter6 文件管理

盘块的回收• 盘块的回收分两步:

① 将回收盘块的盘块号转换成位示图中的行号和列号。

② 修改位示图。令 map [i,j] = 1 。

主要优点 从位示图中很容易找到一个或一组相邻接的

空闲盘块。 由于位示图很小,占用空间少,因而可将它

保存在内存中,进而使在每次进行盘区分配时,无须首先把盘区分配表读入内存,从而节省了许多磁盘的启动操作。

Page 101: Chapter6 文件管理

Digital Home Working Group Page 101Page 101101Hefei University of Technology,

School of Computer and Information Chapter6 文件管理Chapter6 文件管理

§6.5.3 成组链接法

• UNIX 系统中采用的是成组链接法,这是将空闲表法和空闲链表法相结合而形成的一种空闲盘块管理方法,它兼备了上述两种方法的优点而克服了两种方法均有的表太长的缺点。

Page 102: Chapter6 文件管理

Digital Home Working Group Page 102Page 102102Hefei University of Technology,

School of Computer and Information Chapter6 文件管理Chapter6 文件管理

空闲盘块的成组链接法

Page 103: Chapter6 文件管理

Digital Home Working Group Page 103Page 103103Hefei University of Technology,

School of Computer and Information Chapter6 文件管理Chapter6 文件管理

空闲盘块的组织

①空闲盘块号栈 用来存放当前可用的一组空闲盘块的盘块号

(最多含 100 个号) , 以及栈中尚有的空闲盘块号数 N , N还兼作栈顶指针用。

例如,当 N=100时,它指向 S.free(99) 。由于栈是临界资源,每次只允许一个进程去访问,故系统为栈设置了一把锁。

图示出了空闲盘块号栈的结构。 S.free(0) 是栈底,栈满时栈顶为

S.free(99) 。

Page 104: Chapter6 文件管理

Digital Home Working Group Page 104Page 104104Hefei University of Technology,

School of Computer and Information Chapter6 文件管理Chapter6 文件管理

空闲盘块的组织(续 1 )

② 文件区中的所有空闲盘块,被分成若干个组。例如,将每 100 个盘块作为一组。 假定盘上共有 10K 个盘块,每块大小为 1 KB ,其中第 201~7999号盘块用于存放文件,即作为文件区,

这样,该区的最末一组盘块号应为7901~7999 ;次末组为 7801~7900 ;… 倒数第二组的盘块号为 301~400 ;倒数第一组为 201~300 。

Page 105: Chapter6 文件管理

Digital Home Working Group Page 105Page 105105Hefei University of Technology,

School of Computer and Information Chapter6 文件管理Chapter6 文件管理

空闲盘块的组织(续 2 )

③ 将每一组含有的盘块总数 N 和该组所有的盘块号,记入其前一组的第一个盘块的 S.free(0)~S.free(99) 中。这样,由各组的第一个盘块可链成一条链。

④ 将第一组的盘块总数和所有的盘块号,记入空闲盘块号栈中,作为当前可供分配的空闲盘块号。

⑤ 最末一组只有 99 个盘块,其盘块号分别记入其前一组的 S.free(1)~S.free(99) 中,而在S.free(0) 中则存放“ 0” ,作为空闲盘块链的结束标志。

Page 106: Chapter6 文件管理

Digital Home Working Group Page 106Page 106106Hefei University of Technology,

School of Computer and Information Chapter6 文件管理Chapter6 文件管理

空闲盘块的组织(续 3 )•当系统要为用户分配文件所需的盘块时,须调用盘块分配过程来完成。 该过程首先检查空闲盘块号栈是否上锁,如未上锁,便从栈顶取出一空闲盘块号,将与之对应的盘块分配给用户,然后将栈顶指针下移一格。

若该盘块号已是栈底,即 S.free(0) ,这是当前栈中最后一个可分配的盘块号。由于在该盘块号所对应的盘块中记有下一组可用的盘块号,因此,须调用磁盘读过程,将栈底盘块号所对应盘块的内容读入栈中,作为新的盘块号栈的内容,并把原栈底对应的盘块分配出去(其中的有用数据已读入栈中)。

然后,再分配一相应的缓冲区(作为该盘块的缓冲区)。最后,把栈中的空闲盘块数减 1 并返回。

Back

I ndex OS Chapter6

Page 107: Chapter6 文件管理

Digital Home Working Group Page 107Page 107107Hefei University of Technology,

School of Computer and Information Chapter6 文件管理Chapter6 文件管理

§6.6 文件系统的使用

•文件共享

•文件操作

Page 108: Chapter6 文件管理

Digital Home Working Group Page 108Page 108108Hefei University of Technology,

School of Computer and Information Chapter6 文件管理Chapter6 文件管理

§6.6.1 文件共享•在现代计算机系统中,必须提供文件共享手段,即指系统应允许多个用户(进程)共享同一份文件。在系统中只需保留该共享文件的一份副本。

•如果系统不能提供文件共享功能,就意味着凡是需要该文件的用户,都须各自备有此文件的副本,显然这会造成对存储空间的极大浪费。

•随着计算机技术的发展,文件共享的范围也在不断扩大,从单机系统中的共享,扩展为多机系统的共享,进而又扩展为计算机网络范围的共享,甚至实现全世界的文件共享。

Page 109: Chapter6 文件管理

Digital Home Working Group Page 109Page 109109Hefei University of Technology,

School of Computer and Information Chapter6 文件管理Chapter6 文件管理

文件共享(续)

• 定义 一个文件被多个用户或程序使用

• 共享形式: 被多个用户使用,由存取权限控制 被多个程序使用,但各用自己的读写指针 被多个程序使用,但共享读写指针

• 目的 节省时间和存储空间,减少了用户工作量; 进程间通过文件交换信息

Page 110: Chapter6 文件管理

Digital Home Working Group Page 110Page 110110Hefei University of Technology,

School of Computer and Information Chapter6 文件管理Chapter6 文件管理

基于索引结点的共享方式

• 在树型结构的目录中,当有两个(或多个)用户要共享一个子目录或文件时,必须将共享文件或子目录链接到两个(或多个)用户的目录中,才能方便地找到该文件

•此时该文件系统的目录结构已不再是树型结构,而是个有向非循环图 DAG (Directed Acyclic-Graph) 。

Page 111: Chapter6 文件管理

Digital Home Working Group Page 111Page 111111Hefei University of Technology,

School of Computer and Information Chapter6 文件管理Chapter6 文件管理

DAG

Page 112: Chapter6 文件管理

Digital Home Working Group Page 112Page 112112Hefei University of Technology,

School of Computer and Information Chapter6 文件管理Chapter6 文件管理

引用计数•索引结点,即诸如文件的物理地址及其它的文件属性等信息,不再是放在目录项中,而是放在索引结点中。在文件目录中只设置文件名及指向相应索引结点的指针。

•此时,由任何用户对文件进行 Append 操作或修改,所引起的相应结点内容的改变(例如,增加了新的盘块号和文件长度等),都是其他用户可见的,从而也就能提供给其他用户来共享。

•在索引结点中应有一个链接计数 count ,用于表示链接到本索引结点(亦即文件)上的用户目录项的数目。当 count=3时,表示有三个用户目录项连接到本文件上,或者说是有三个用户共享此文件。

Page 113: Chapter6 文件管理

Digital Home Working Group Page 113Page 113113Hefei University of Technology,

School of Computer and Information Chapter6 文件管理Chapter6 文件管理

文件共享

(a) Situation prior to linking(b) After the link is created(c) After the original owner removes the file

Page 114: Chapter6 文件管理

Digital Home Working Group Page 114Page 114114Hefei University of Technology,

School of Computer and Information Chapter6 文件管理Chapter6 文件管理

普通图结构目录

Page 115: Chapter6 文件管理

Digital Home Working Group Page 115Page 115115Hefei University of Technology,

School of Computer and Information Chapter6 文件管理Chapter6 文件管理

普通图结构目录 ( 续 )

•如何保证无环只允许链接到文件而不允许链接到子目录

碎片收集每次添加一个链接时都用一个检测算法判断是否不正确

Page 116: Chapter6 文件管理

Digital Home Working Group Page 116Page 116116Hefei University of Technology,

School of Computer and Information Chapter6 文件管理Chapter6 文件管理

§6.6.2 文件操作

•在文件系统中提供对文件的各种操作,这些操作方便、灵活地使用文件及文件系统

• 使用形式分别为: 系统调用 命令

Page 117: Chapter6 文件管理

Digital Home Working Group Page 117Page 117117Hefei University of Technology,

School of Computer and Information Chapter6 文件管理Chapter6 文件管理

主要操作

• 提供设置和修改对用户文件存取权限• 提供建立、修改、改变、删除目录的服务• 提供文件共享,设置访问路径的服务• 提供创建、打开、读、写、关闭、撤消文件等服务

• 文件系统维护• 文件系统的转储和恢复

Page 118: Chapter6 文件管理

Digital Home Working Group Page 118Page 118118Hefei University of Technology,

School of Computer and Information Chapter6 文件管理Chapter6 文件管理

建立文件

• 实质是建立文件的 FCB ,并建立必要的存储空间,分配空 FCB ,根据提供的参数及需要填写有关内容,返回一个文件描述

• 目的:建立系统与文件的联系

Page 119: Chapter6 文件管理

Digital Home Working Group Page 119Page 119119Hefei University of Technology,

School of Computer and Information Chapter6 文件管理Chapter6 文件管理

建立文件(续 1 )• Create( 文件名,访问权限,最大长度 )①检查参数的合法性

文件名是否符合命名规则 是→( 2 ),否则→错误返回

②检查同一目录下有无重名 无→( 3 ),有→错误返回

③在目录中有无空闲位置 有→( 2 ),否则→不成功返回 有的系统可能要为此文件申请数据块空间

(申请一部分或一次性全部申请)

Page 120: Chapter6 文件管理

Digital Home Working Group Page 120Page 120120Hefei University of Technology,

School of Computer and Information Chapter6 文件管理Chapter6 文件管理

建立文件(续 2 )

④ 填写目录项内容:文件名,用户名等,存取权限,长度置零

⑤ 返回

Page 121: Chapter6 文件管理

Digital Home Working Group Page 121Page 121121Hefei University of Technology,

School of Computer and Information Chapter6 文件管理Chapter6 文件管理

打开文件•使用文件的第一步,任何一个文件使 用前都要先打开,即把 FCB送到内存

fd=open (文件路径名,打开方式)

Page 122: Chapter6 文件管理

Digital Home Working Group Page 122Page 122122Hefei University of Technology,

School of Computer and Information Chapter6 文件管理Chapter6 文件管理

打开文件 ( 续 )

① 根据文件路径名查目录,找到 FCB ;② 根据打开方式、共享说明、用户身份检查访问合法性③ 根据文件号查系统打开文件表,看文件是否已打开

是→共享计数加 1 否则→将外存中的 FCB 等信息填入系统打开文件表空表项,共享计数置为 1 ;

④ 在用户打开文件表中取一空表项,填写打开方式等,并指向系统打开文件表对应表项。

⑤返回信息: fd 。文件描述符,是一个非负整数,用于以后读写文件。

Page 123: Chapter6 文件管理

Digital Home Working Group Page 123Page 123123Hefei University of Technology,

School of Computer and Information Chapter6 文件管理Chapter6 文件管理

读文件

•read(文件名,(文件内位置),要读的长度,内存目的地址)隐含参数:进程主

Page 124: Chapter6 文件管理

Digital Home Working Group Page 124Page 124124Hefei University of Technology,

School of Computer and Information Chapter6 文件管理Chapter6 文件管理

读文件流程① 检查长度是否为正整数

是→( 2 ),否则→( 10)② 根据文件名查找目录,确定该文件在目录中的位置③ 根据隐含参数中的进程主和目录中该文件的存储权限数据,检查是否有权读? 是→( 4 ),否则→( 10)

④ 由文件内位置与要读的长度计算最末位置,将其与目录中的文件长度比较,超过否? 是→( 10),否则→( 5 ) 或将参数中的长度修正为目录中的文件长度

Page 125: Chapter6 文件管理

Digital Home Working Group Page 125Page 125125Hefei University of Technology,

School of Computer and Information Chapter6 文件管理Chapter6 文件管理

读文件流程(续 1 )⑤根据参数中的位置、长度和目录中的映射

信息,确定块号、块数、块内位移与长度。(多次读盘)

⑥根据下一块号读块至内存缓冲区⑦根据块内位移长度取出要读的内容,送至参数中的内存目的地址

⑧根据块内长度或起始块号 + 块数,确定还读下一块吗?同时确定下一块块号 是→( 5 ),否则→( 9 )

⑨正常返回⑩错误返回,返回相应错误号

Page 126: Chapter6 文件管理

Digital Home Working Group Page 126Page 126126Hefei University of Technology,

School of Computer and Information Chapter6 文件管理Chapter6 文件管理

其它操作•关闭文件•删除文件:撤销 FCB

•写文件•文件连接 (LINK)

•复制文件 •目录的操作

Page 127: Chapter6 文件管理

Digital Home Working Group Page 127Page 127127Hefei University of Technology,

School of Computer and Information Chapter6 文件管理Chapter6 文件管理

本章总结

•文件和文件系统的概念、功能•文件的逻辑结构•外存分配方式•目录管理•文件存储空间的管理•文件系统的使用

Page 128: Chapter6 文件管理

Digital Home Working Group Page 128Page 128128Hefei University of Technology,

School of Computer and Information Chapter6 文件管理Chapter6 文件管理

本章结束

习题 3 、 4 、 6 、 8 、 11 Back

I ndex OS Chapter6

Page 129: Chapter6 文件管理

Digital Home Working Group Page 129Page 129129Hefei University of Technology,

School of Computer and Information Chapter6 文件管理Chapter6 文件管理

本课程学习结束! 希望大家认真复习!!