OS(十一):文件管理器之文件和文件系统

发布时间 2023-08-23 16:58:55作者: 无虑的小猪

  在计算机系统中,需要用到大量的程序和数据,因内存容量有限,并且不能长期保存,所以将它们以文件的形式存放在外存中。需要时再随时将它们调入内存。

  操作系统的文件管理,负责管理在外存上的文件,并把对文件的存取、共享和保护等手段提供给用户,既方便了用户,又保证了文件的安全性,还可有效地提高系统资源的利用率。

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

  文件是指具有文件名的若干相关元素的集合,元素是记录,记录是一组有意义的数据项的集合。文件系统吧数据组成分为 数据项、 记录 和 文件。

1、文件、记录和数据项

1.1、数据项

  数据项是文件系统中最低级的数据组织形式,分为 基本数据项 和 组合数据项。

  基本数据项,用于描述一个对象的某种属性的字符集,是数据组织中可以命名的最小逻辑数据单位,即原子数据,又称为数据元素或字段。

  组合数据项,由若干个基本数据项组成,简称组项。

1.2、记录

  记录是一组相关数据项的集合,用于描述一个对象在某方面的属性。

  为了能唯一的标识记录,在一个记录的各个数据项中,确定一些数据项,将它们集合称为关键字。关键字是唯一能标识一个记录的数据项。

1.3、文件

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

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

  文件是文件系统中最大的数据单位,描述了一个对象集。

  文件应具有 文件类型、文件长度、文件的物理位置、文件的建立时间属性。

  文件、记录、数据项间的层次关系:

 0

2、文件类型和文件系统模型

2.1、文件类型

  按用途分类:系统文件、用户文件、库文件;

  按文件中的数据形式分类:源文件、目标文件、可执行文件;

  按存储控制属性分类:只执行文件、只读文件、读写文件;

  按组织形式和处理方式分类:普通文件、目录文件、特殊文件

2.2、文件系统模型

  文件系统模型分为三个层次。

 0

  最底层的是对象及其属性;中间层是对对象进行操作和管理的软件集合;最高层是文件系统提供给用户的接口。

2.2.1、对象及其属性

  文件管理系统管理的对象:

  文件:作为文件管理的直接对象;

  目录:方便对文件的存取和检索,文件系统中必须配置目录,每个目录项中必须含有文件名及该文件所在的物理地址(或指针)。

  磁盘存储空间:文件和目录占用的存储空间。

2.2.2、对对象操作和管理的软件集合

  这是文件管理系统的核心部分,包括:对文件存储空间的管理、对文件目录的管理、用于将文件的逻辑地址转换为物理地址的机制、对文件读写的管理,以及对文件的共享和保护功能。

2.2.3、文件系统的接口

  文件系统为用户提供两种类型的接口:

  命令接口:用户与文件系统交互的接口;

  程序接口:用户程序与文件系统的接口。

3、文件的操作

  最基本的文件操作:创建文件、删除文件、读文件、写文件、截断文件和设置文件的读写位置。

3.1、基本的文件操作

  创建文件:创建新文件时,系统为新文件分配外存空间,并在文件系统的目录中,建立一个目录项。

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

  读文件:读文件,须在相应系统调用中给出文件名和应读入的内存目标地址。

  写文件:写文件,须在相应系统调用中给出文件名及该文件在内存中的(源)地址。

  截断文件:截断文件,将原有文件的长度设置为0,即放弃原有文件中的内容。

  设置文件的读/写位置:用于设置文件读/写指针的位置,以便每次读/写文件时,不是从其始端而是从所设置的位置开始操作。

3.2、文件的 打开 与 关闭 操作

  OS对文件的操作,可总结为两步:1、通过检索文件目录找到文件;2、对文件实施相应的操作。

  打开:系统将指定文件的属性从外存拷贝到内存打开文件表的一个表目中,并将该表目的编号(索引)返回给用户。当用户再次请求对该文件做相应的操作时,可通过系统返回的目的编号向系统提出操作请求,直接利用目的啊编号到打开文件表中查找。

  关闭:OS将该文件从打开文件表中的表目上删除掉。