文件系统接口
理学领域术语
计算机设备之间差异很大,所以操作系统需要提供一组功能以便于应用程序控制这些设备。操作系统的IO子系统的重要目的之一是为系统其它部分提供最简单的接口。文件接口是接口之一。
定义
文件系统的接口介绍包含了文件的基本概念介绍、文件的访问方法、文件的目录结构、文件系统的功能和接口。
计算机可以在各种存储介质上,如磁盘磁带光盘等上存储信息,来方便使用,这样操作系统提供了一种一致的存储信息的逻辑视图。OS可以从存储设备的物理特性抽象定义逻辑存储单元:文件。文件被操作系统映射到物理设备上。这些存储设备通常是可以是长久保存的。
文件是一个存储在第二存储设备上相关信息的命名集合。从一个用户的观点来看,文件是逻辑存储设备的最小分配单元,不使用文件,数据将无法写入第二存储设备。通常,数据是一个bit、byte、lines或者记录的序列。
文件属性
文件有一定的属性,这根据系统的不同而有所不同,但是通常都包括如下属性:
名称:文件符号名称是唯一的、按照人们容易读取的形式保存。
标识符:标识文件系统内文件的唯一标签。
类型:被支持不同类型的文件系统所使用。
大小:文件当前大小。
保护:决定谁能读、写、执行等的访问控制信息。
时间、日期和用户标识:文件创建、上次修改和上次访问的时间。
文件操作
文件属于抽象数据类型。为了合适的定义文件,需要考虑文件的操作。
创建文件:创建文件有两个步骤。第一,必须在文件系统中为文件找到空间。第二,在目录中为文件创建一个条目。
写文件:为了写文件,执行一个系统调用,其指明文件名称和要写入文件的内容。
读文件:为了读文件,使用一个系统调用,并指明文件名称和要读入文件块的内存位置。
在文件内重定位:搜索目录相应条目,设置当前文件位置指针为给定值。
删除文件:为了删除文件,在目录中搜索给定名称的文件。找到相关条目后,释放所有的文件空间并删除相应的条目。
截短文件:用户可能只要删除文件内容而保留其属性,而不是强制删除文件再创建。该操作不改变文件属性,而是将其长度设为0并释放空间。
文件类型
设计文件系统时,总是要考虑操作系统是否应该识别和支持文件类型。
实现文件类型的常用技术是在文件名称内包含类型。这样,用户和操作系统仅仅通过文件名称就能确定文件类型是什么。
名称可分为两部分:名称和扩展名。
文件系统
系统模型
如上图,该模型分为三个层次,最底层是被操作对象及其相关属性;最上层是系统提高给用户的接口;中间是文件系统功能实现的核心软件层,它是实现操作的软件集合。
访问方法
文件用来存储信息。当使用时,必须访问和将这些信息读入到计算机内存。文件信息可按多种方式来进行访问。有的系统只提供了一种文件访问方式,有的系统则支持多种访问方式。
顺序访问:最简单的访问方式。文件信息按顺序,一个记录接着一个记录地加以处理。也是最为常用的使用方式。编辑器编译器通常按这种方式访问文件。大量的文件操作是读和写。读操作读取下一文件部分,并自动前移文件指针,以跟踪I/O位置。类似地,写操作会向文件尾增加内容,相应的文件指针移到新增数据之后。
直接访问:另一方式是直接访问(或相对访问)。文件由固定长度的逻辑记录组成,以允许程序按任意顺序进行快速读和写。直接访问方式是基于文件的磁盘模型,因为磁盘允许对任意文件块进行随机读和写。直接访问文件可立即访问大量信息,所以非常有用。数据库通常采用这种类型的文件。
目录结构
一个存储设备可以整个用于一个文件系统,或者进行精细划分。例如,一个磁盘可以分区为多个分区,每个分区保存一个文件系统。分区可以限定单个文件系统的大小,将多个文件系统类型放到一个设备中,或者将一个设备的一部分用作其它用途。包含文件系统的一个实体通常成为一个卷。每个卷可以看成是一个虚拟磁盘。每个包含一个文件系统的卷通常也包含系统中的文件信息。这个信息保存在设备目录中。
目录包含了卷中所有文件的信息,如文件名、位置、大小、类型等。在一个计算机系统中,可以有多个存储设备,每个存储设备都可以划分成为卷。这样,计算机可以有0个或多个文件系统,每个文件系统都可以是不同的类型。计算机中的文件系统可以是可扩展的。目录也可以看成是将文件名映射成为目录入口的符号表。这样,我们可以看到可以用多种方式组织目录。这些组织方式允许我们插入、删除、查找、列出文件等操作。
系统的功能
1)文件存储空间的管理;
2)对文件目录的管理;
3)地址映射;
4)文件的读、写管理;
5)文件的共享与保护;
在这些功能的实现中,通常又进一步划分成几个层次。其中有的层次用于处理物理文件系统;有的层次用于处理逻辑文件系统。
系统的接口
文件系统的接口包括以下三个接口。
1)命令接口:用户可以从终端键入命令实现操作;
2)程序接口:用户程序可通过系统调用实现操作;
3)GUI接口:用户可在图形窗口点击鼠标实现操作。
参考资料
最新修订时间:2022-08-25 13:52
目录
概述
定义
文件属性
参考资料