计算机操作系统之文件管理一

文件系统初识

一、从认识文件开始

文件系统的管理功能是将其管理的程序和数据组织为一系列文件的方式实现的。而文件则是指具有文件名的若干相关元素的集合。元素通常是记录,而记录又是一组有意义的数据项的集合。

  1. 数据项、记录和文件
    上图为文件、目录和数据项之间的层次关系。
    在文件系统中,数据项是最底层的数据组织形式,它可以分为两种类型:基本数据项和组合数据项。
    基本数据项是描述一个对象的某种属性的字符集,是可以命名的最小逻辑数据单位,又称为字段。例如:用于描述一个学生的基本数据项有:学号、姓名、年龄、所在班级等。
    而组合数据项是由若干基本数据项组成的,简称组项。例如工资是个组项,它可以由基本工资、工龄工资和奖励工资等基本项组成。
    基本数据项描述某个对象的属性、根据属性的不同,需要用不同的数据类型加以描述。
    由数据项的名字和类型两者共同定义了一个数据项的“型”,而表征一个实体在数据项上的数据项则称为“值”。
    记录是一组相关数据项的集合,用于描述一个对象在某方面的属性。一个记录应包含哪些数据项,取决于需要描述对象的哪些方面。
    在诸多记录中,为了能唯一地标识一个记录,必须在一个记录地各个数据项中确定出一个或几个数据项,把它们地集合称为关键字。或者说,关键字是唯一能标识一个记录的数据项。
    文件是由创建者所定义地,具有文件名地一组相关元素的集合,有有结构文件和无结构文件两种形式。
    在有结构文件中,文件是由若干个相关记录组成,而无结构文件则被看成是一个字符流。文件在文件系统中是一个最大地数据单位,它描述了一个对象集。
    文件的属性包括:文件类型、文件长度、文件的物理位置、文件的建立时间。
  2. 文件名和类型
    文件名,文件名由文件名和扩展名两部分组成,在不同的系统中,文件名的规定是不同的。
    扩展名,扩展名是添加在文件名后面的若干个附加字符,又称为后缀名,用于指示文件的类型。
    文件类型:文件类型根据用途、文件中的数据形式、存取控制属性的不同可以划分为多种文件类型。
    根据用途可以划分为系统文件、用户文件等;根据文件中数据的形式可以划分为源文件、目标文件、可执行文件等;根据存取控制属性可以划分为只读、只写、读写文件等;根据文件的组织形式可以划分为普通文件、目录文件、特殊文件等。

File System的基本层次

  1. 对象及其属性
    文件管理系统管理的对象分别有:文件、目录、磁盘(磁带)存储空间。在文件系统中有着各种不同类型的文件,它们都属于文件管理系统的直接对象。为了方便用户的使用,文件管理系统中必须配置目录。在目录中的每个目录项中,必须含有文件名、对文件属性的说明,以及该文件所在的物理地址(或指针)。文件、目录的存储占用着计算机的硬件资源(磁盘、磁带空间),文件管理系统对这部分的有效管理是提高对文件的存取速度的关键。
  2. 对对象操纵和管理的软件集合
    该层是文件管理系统的核心部分,它都实现了下述功能:对文件存储空间的管理、对文件目录的管理、将文件的逻辑地址转换为物理地址的转换、对文件读和写的管理、对文件的共享和保护的功能。
    要实现上述的功能,需要操作系统进行分层管理,类似于OSI四层模型,层次和功能的划分有助于提高效率。
    一般的,将与文件系统有关的软件分为四个层次:I/O控制层、基本文件系统层、基本I/O管理层、逻辑文件系统层
  3. 文件系统的接口
    为方便用户程序以及用户的使用,文件系统提供了两类接口:命令接口和程序接口。
    典型的命令接口:Linux中的terminal和Windows中的cmd窗口 。
    典型的用户应用程序接口:Android中的社交应用需要获取文件管理的权限。
    文件的基本操作------>略

二、我是一位用户

从用户的观点出发观察到的文件组织形式,即文件是由一系列的逻辑记录组成的,又称为文件的逻辑结构(File Logical Structure)。
从系统的观点出发观察到的文件组织形式,即文件是由系统存储在外存上所形成的一种组织形式,是用户不可见的。又称为文件的物理结构(存储结构)。文件的物理结构不仅与存储介质的存储性能有关,而且与所采用的外存分配方式有关。无论是文件的逻辑结构,还是物理结构,都会影响文件的检索速度。

文件的逻辑结构

对文件逻辑结构的基本要求:有助于提高对文件的检索速度、降低文件存放在外存上的存储费用。
从文件是否有结构来分类:可分为有结构文件(记录式文件)和无结构文件(流式文件);从文件的组织方式来分,可以分为顺序文件、索引文件和顺序索引文件。

在记录式文件中,每个记录都用于描述实体集中的一个实体,各记录有着相同或不同数目的数据项,记录的长度可分为定长记录和变长记录。
定长记录,是指文件中所有的记录都是相同的,所有文件中的各数据项都处在记录中相同的位置,具有相同的顺序和长度。定常记录能有效地提高检索记录地速度和效率,能方便地对文件进行处理和修改,被广泛用于数据处理中。
变长记录,是指文件中各记录的长度不相同。产生变长记录的原因是多样的......变长记录主要用于许多商业模式中。
在流式文件中,主要用于描述源程序、可执行文件、库函数等。对流式文件的访问是通过读写指针来实现的。
记录式文件的长度用记录的数目来表示;流式文件的长度是以字节为单位的。
无结构文件包括顺序文件、索引文件、索引顺序文件三种。
顺序文件,指由一系列记录按某种顺序排列所形成的文件,其中的记录可以是定长记录和变长记录。
索引文件,指为可变长记录文件建立一张索引表,为每个记录设置一个表项,以加速对记录的检索速度。
索引顺序文件,在为每个文件建立一张索引表时,并不是为每一个记录建立一个索引表项,而是为每一组记录中的第一个记录建立一个索引表项。

文件的逻辑结构中记录的组织方式来源于用户和系统在管理上的目标和需求,不同的目标和需求产生了多种组织方式,从而形成了多种逻辑结构的文件

顺序文件

顺序文件中的记录可以按照不同的顺序进行排列。在串结构中,系统按照文件的存入时间先后进行排序;在顺序结构中,系统根据用户指定的关键字(关键字必须唯一的标识每一个记录)进行排序。
在对文件中的记录进行批量存取时(即每次要读写或写一大批记录),顺序结构都是不错的选择。但在交互应用的场合,或者是在包含有大量的增删操作的场合,顺序文件对记录的操作比较困难。

索引文件

索引文件应用在处理变长记录的记录式文件。在未知记录长度的情况下,无法快速的对变长记录文件进行寻址。我们为变长记录文件建立一张索引表,为主文件中的每个记录在索引表中分别设置一个表项,记录指向记录的指针(即记录在逻辑地址空间的首址)以及记录的长度,索引表按关键字排序,因此其本身也是一个定长记录的顺序文件,这样就把对变长记录顺序文件的顺序检索转变为对定长记录索引文件的随机检索。
索引文件在增加存储开销的同时将一个需要顺序查找的变长记录文件改造为一个随机访问的“定长“记录文件。

索引顺序文件

索引顺序文件是索引文件和顺序文件结合的产物。它基本上克服了变长记录的顺序文件不能随机访问和增删操作不便的缺点,又保留了顺序文件的关键特征。相比较顺序文件和索引文件,它引入了文件索引表和溢出文件,文件索引表可以实现对索引顺序文件的随机访问,溢出文件可以记录新增加和删除、修改的文件的记录。

本文版权归作者0xTsmon和博客园所有,欢迎转载和商用,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利.

猜你喜欢

转载自www.cnblogs.com/LeeTsmon/p/9154484.html