电脑大全十万个为什么_第1页
电脑大全十万个为什么_第2页
电脑大全十万个为什么_第3页
电脑大全十万个为什么_第4页
电脑大全十万个为什么_第5页
已阅读5页,还剩35页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、第6章 文件管理16.1 文件的概念6.1.1 文件及其分类1.文件的定义文件是计算机系统中信息存放的一种组织形式,目前尚无严格的定义,下面给出两种有代表性的解释: (1)文件是具有标识符的相关字符流的集合。 (2)文件是具有标识符的相关记录(一个有意义的信息单位)的集合。这两种解释定义了两种文件形式:前者说明文件是由字节组成,这是一种无结构的文件,或称流式文件。后者说明文件是由记录组成。而记录则是由一组相关信息项组成。26.1 文件的概念2.文件命名一般情况下,一个文件是一组逻辑上具有完整意义的信息集合,并赋以一个文件名。文件名由用户给定,它是由字母或数字组成的一个字符串,用来标识文件。文件

2、名是文件存在的标识,操作系统根据文件名来对其进行控制和管理。各个操作系统的文件命名规则略有不同,即文件名的格式和长度因系统而异。 一般来说,文件名由文件名和扩展名两部分组成,中间用“ ”隔开。它们都是字母或数字组成的字母数字串。扩展名也称为文件后缀,利用扩展名可以区分文件的属性。 36.1 文件的概念3.文件的分类(1)以文件的用途分类系统文件:由操作系统及其他系统程序和数据组成的文件。这种文件不对用户开放,仅供系统使用,用户只能通过操作系统提供的系统调用来使用它们。库文件:是指系统为用户提供的各种标准函数,标准过程和实用程序等。用户只能使用这些文件,而无权对其进行修改。用户文件:由用户的信息

3、组成的文件,如源程序文件,数据文件等。这种文件的使用和修改权均属于用户。 46.1 文件的概念(2)按文件的操作保护分类只读文件: 只允许进行读操作,不能进行写操作的文件。读写文件: 允许文件主和授权用户对其进行读或写操作的文件。只执行文件:该类文件只允许授权的用户调用执行,而不允许其修改或读出文件的内容。(3)按文件的性质分类普通文件: 指一般的用户文件和系统文件。目录文件: 管理和实现文件系统的文件目录项组成的系统文件,对目录文件可以进行与普通文件一样的各种文件操作。特别文件: 有的系统把设备作为文件统一管理和使用,并为区别起见,把设备称为特别文件。56.1 文件的概念6.1.2 文件的属

4、性为了对文件进行控制和管理,大多数操作系统都用一组信息来指定文件的类型、操作特性和存取保护等,这组信息称为文件的属性。文件的属性虽然不是文件的信息内容,但对于文件的管理和控制是十分重要的。这组属性包括: 文件基本属性 文件的类型属性 文件的保护属性 文件的管理属性 文件的控制属性66.1 文件的概念6.1.3 文件的组织1.有结构的文件有结构文件又称记录式文件。它在逻辑上可被看成一组连续记录的集合,即文件是由若干相关记录组成,且对每个记录编上号码,依次为记录1、记录2、记录n。每个记录是一组相关的数据集合,用于描述一个对象某个方面的属性,如年龄、姓名、职务、工资等。 记录式文件按照记录长度是否

5、相同,又可分为定长记录文件和不定长记录文件两种。 (1)定长记录:文件中所有记录的长度相等 。 (2)变长记录:文件中记录的长度不相等。76.1 文件的概念86.1 文件的概念2.无结构的文件无结构文件是指文件内部不再划分记录,是由一组相关信息组成的有序字符流,即流式文件。其长度直接按字节来计算。大量的源程序、可执行程序、库函数等均采用无结构的文件形式。在 UNIX和Windows系统中,所有的文件都被看成流式文件。事实上操作系统不知道或不关心文件中存放的内容是什么,它所见到的都是一个一个的字节。文件中任何信息的含义都由用户级程序解释。96.1 文件的概念6.1.4 文件的访问方式1.顺序访问

6、:顺序存取是最简单的方法。它严格按照文件信息单位排列的顺序依次存取,后一次存取总是在前一次存取的基础上进行,所以不必给出具体的存取位置。当打开文件时,文件的存取指针指向第一个信息单位,如第一个字节或第一个记录,每存取一个信息单位存取指针加1指向下一个信息单位,如此类推。106.1 文件的概念2.随机访问:随机访问也称直接存取,每次存取操作时必须先确定存取的位置。直接访问是基于文件的磁盘模型,这是因为磁盘允许对任意文件块进行随机读和写。对直接访问,文件可作为块或记录的编号序列。直接访问文件允许对任意块进行读或写,读写顺序是没有限制的。 直接访问文件可立即访问大量的数据信息,因此,随机访问方式主要

7、对大批信息的立即访问,如大型数据库的访问。当接到访问请求时,系统计算出信息所在块的位置,然后直接读取其中的信息。116.1 文件的概念3.其他访问方式-索引方式126.2 目录结构6.2.1 文件控制块和文件目录1.文件控制块从文件管理的角度看,一个文件包括两部分:文件说明和文件体。文件体指文件本身的信息,它可能是记录式文件或字符流文件。而文件说明有时也叫文件控制块( block ,FCB),它是操作系统为管理文件而设置的数据结构,存放了为管理文件所需的所有有关信息(文件属性)。 文件控制块是文件存在的标志,它通常由文件属性信息组成。136.2 目录结构2.文件目录从文件管理的角度看,一个文件

8、包括两部分:文件说明和文件体。文件体指文件本身的信息,它可能是记录式文件或字符流文件。而文件说明有时也叫文件控制块( block ,FCB),它是操作系统为管理文件而设置的数据结构,存放了为管理文件所需的所有有关信息(文件属性)。 文件控制块是文件存在的标志,它通常由文件属性信息组成。操作系统内核利用FCB对文件实施各种管理。 146.2 目录结构 不同的系统,文件目录的组织也不完全相同。MS-DOS的目录结构UNIX/Linux采用了一种比较特殊的目录建立方法,它把文件目录项中的文件名和其他的管理信息分开,后者单独组成一个定长的数据结构,成为索引节点(in_node),该索引节点的编号称为索

9、引号,记为i_node。于是,文件目录项中仅剩下14个字节的文件名和两个字节的i_node。 156.2 目录结构6.2.2 单级目录单级目录是最简单的目录结构。在这种组织方式下,全部文件都登记在同一目录中。其特点是简单、易于理解和实现,但那也存在以下的缺陷:查找速度慢、允许重名和不便于文件的共享。166.2 目录结构6.2.3 两级目录每个用户使用一个相对独立的目录,在所有用户的目录上层再建一层目录来管理各个用户目录。二级目录结构把文件目录分成二级,第一级称为主目录,第二级称为子目录或次目录。系统允许每个用户有一个子目录。也称为用户目录。二级目录结构有效地解决文件重名的问题,不同用户的文件,

10、使用相同名字也不会导致混乱。176.2 目录结构186.2 目录结构6.2.4 树型目录又称为多级目录结构,它是二级目录结构的扩充。这种多层次的目录结构如同一棵倒置的树,主目录就是树根,称为根目录每一个树枝结点就是一个子目录,每一片树叶描述的一个文件。196.2 目录结构206.2 目录结构在树形目录结构中,一个文件的全名将包括从根目录开始到文件为止的通路上遇到的所有子目录路径。各子目录名之间用正斜线“/”或反斜线“”隔开,其中,子目录名组成的部分又称为路径名。系统内的每个文件都有惟一的路径名。路径名是从根经过所有子目录再到指定文件的路径。路径名有两种形式:绝对路径名和相对路径名。绝对路径名从

11、根目录开始并给出路径上的目录名直到指定的文件,而相对路径名从当前目录开始定义一个路径。 216.2 目录结构6.2.5 目录的实现1.线性表目录文件由目录项构成一个线性表,每个目录项包括文件名和指向数据块的指针。当需要创建一个新文件时,系统必须首先搜索目录文件以确定有没有同名文件的存在,然后把新文件的目录项添加到目录的末尾。删除一个文件时,系统根据给定的文件名来搜索文件目录。找到该文件所在目录项后,释放分配给该文件的磁盘空间,并将相应的目录项删除。226.2 目录结构2.哈希表用于实现文件目录的另一种数据结构是哈希表。采用这种方法时,除了使用线性列表来存放目录项以外,还使用了哈希表。 哈希表根

12、据文件名计算出一个哈希值,并返回一个指向线性列表中元素的指针。因此,它大大降低了目录搜索时间,插入和删除也很方便,不过需要一些措施来避免冲突(collision)(两个不同的文件名哈希到同一位置)。哈希表的最大困难在于其大小通常是固定的,而且哈希函数也依赖于哈希表的大小。 236.3 文件和目录操作6.3.1 文件操作创建文件:写文件:读文件:文件定位:删除文件:截短文件:246.3 文件和目录操作大多数文件操作都涉及到为给定文件搜索相关目录条目的操作。为了避免这种不断的搜索操作,提高文件操作的效率,许多系统要求在首次使用文件时,必须使用系统调用open来显式地打开文件。操作系统维护着一个包含

13、所有打开文件的信息表(打开文件表,open )。当需要进行一个文件操作时,可通过打开文件表的一个索引来指定文件,而不需要搜索整个文件目录。当文件不再使用时,进程可以关闭它,操作系统从打开文件表中删除这一条目。有的系统在首次使用文件时,会隐式地打开它,在打开文件的作业或程序终止时会自动关闭它。然而,绝大多数操作系统要求程序员在使用文件之前,显式地打开它。 256.3 文件和目录操作6.3.2 目录操作创建目录:被创建的新目录除了目录项“”(表示该目录本身)和“”(表示父目录)以外,其内容为空。目录项“”和“”是系统自动放在该目录中的。创建目录时,系统首先根据调用者提供的路径名来进行目录检索。如果

14、存在同名的目录文件,则返回出错信息,创建失败。否则,为新目分配磁盘空间和控制结构,并进行初始化,将新目录文件对应的目录项添加到父目录中。删除目录:266.4 文件系统的实现6.4.1 文件系统的结构获得结果用户存取要求用户接口符号文件系统存取控制验证逻辑文件系统物理文件系统设备和分配策略模块I/O控制系统物理介质基本文件系统276.4 文件系统的实现6.4.2 文件系统的实现文件系统以文件的形式保存在计算机的磁盘上,磁盘和内存之间以块为单位进行数据I/O转移。每块为一个或多个扇区,扇区的大小通常为512B。因此,实现文件系统需要使用磁盘和内存结构。 文件系统在使用之前必须安装。安装通常比较简单

15、,操作系统需要知道磁盘设备的名称以及在哪里安装文件系统。通常,一个磁盘设备可以分为不同的分区,每个分区可以安装不同的操作系统。每个分区的格式在不同的操作系统下有很大的差别,一般由引导块、管理块和数据块三部分组成。286.4 文件系统的实现6.4.3 文件存储空间的分配1.连续分配连续分配(Contiguous allocation)方法要求每个文件在磁盘上占用一组连续的块。文件的连续分配可以用第一块的磁盘地址和连续块的数量来定义。如果文件有n块长并从位置b开始,那么该文件将占有块b、b+1、b+2、b+n-1。一个文件目录项包括开始块的地址和该文件所分配区域的长度。采用连续分配方法可把逻辑文件

16、中的信息顺序地存放到一组邻接的物理盘块中,这样形成的物理文件称为连续文件(或顺序文件)。296.4 文件系统的实现文件FileA的起始地址为盘块2,长度为3,它占用了盘块2、3和4。文件FileB的起始地址为盘块9,长度为5,其占用的连续块为9、10、11、12和13。 306.4 文件系统的实现2.链接分配链接分配(linked allocation)克服了连续分配的所有缺点。采用链接分配,每个文件是磁盘块的链表。链接分配采用非连续的物理块来存放文件信息,这些非连续的物理块分布在磁盘的任何地方,它们之间没有顺序关系,其中每个物理块设有一个指针,指向其后续连接的另一个物理块,从而使得存放同一文

17、件的物理块链接成一个串联队列。采用链接分配形成的物理文件称为链接文件或串联文件。316.4 文件系统的实现326.4 文件系统的实现一个采用链接分配方法的变种是文件分配表(FAT)的使用。每个分区的开始部分用于存储该FAT表。磁盘上的每个块都在该表中登记,占用一个表项,该表可以通过块的编号来索引,FAT的每个表项含有文件的下一块的块号。系统首先根据目录文件中的文件第一块的块号去检索FAT表,从中得出文件下一个盘块号,以此类推,直到该文件的最后一块,该块对应FAT表的值为文件结束标志。在FAT表中,未使用的块用0来表示,因此,当一个文件需要分配新的存储空间时,就在FAT表中查找第一个标志为0的块

18、,用新分配块的块号来替换该条目的值,把该块链接到文件的尾部。 336.4 文件系统的实现346.4 文件系统的实现3.索引分配索引分配(indexded allocation)要求系统为每个文件建立一张索引表,表中每一栏目指出文件信息所在的逻辑块号和与之对应的物理块号。索引表的物理地址则由文件目录对应的表项给出。这种物理结构形式的文件称为索引文件。 356.4 文件系统的实现多重索引:366.4 文件系统的实现6.4.2 空闲空间的管理 1、空闲文件目录:简单的空闲块管理方法就是把文件存储设备中的空闲块的块号统一放在一个称为空闲文件目录的物理块中。其中空闲文件目录的每个表项对应一个由多个空闲块构成的空闲区,它包括空闲块个数,空闲块号和第一个空闲块号等。 376.4 文件系统的实现2、空闲块链:空闲块链是一种较常用的空闲块管理方法。空闲块链把文件存储设备上的所有空闲块链接在一起,当申请者需要空闲块时,分配程序从链头开始摘取所需要的空闲块,然后调整链首指针。反之,当回收空闲块时,把释放的空闲

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论