《操作系统第5章》由会员分享,可在线阅读,更多相关《操作系统第5章(119页珍藏版)》请在金锄头文库上搜索。
1、第 5 章 文件管理5.1 文件管理概述5.2 文件结构5.3 文件的存储设备5.4 文件目录管理5.5 文件共享与安全5.6 文件的使用5.7 Linux的文件系统5.1 文件管理概述计算机的主要功能之一就是对数据进行数值或非数值计算。OS必须提供数据存储、数据处理和数据管理的功能。数据存储通常是以文件形式存放在外部介质上,数据处理是通过对文件处理来完成,数据管理是通过对文件管理来完成。OS中与文件管理相关的系统称为文件系统。文件系统提供了一些对文件操作的命令,用户只要执行相应的命令即可,具体的操作由文件系统完成,使用户摆脱了存储介质的特性和I/O指令的细节。文件系统实际上是用户与外存的接口
2、。5.1.1 文件管理的主要任务对文件提供存储、处理和管理功能,方便用户使用,并保证文件的安全。5.1.2 文件管理的主要功能1文件存储空间管理文件存储空间管理的目的是合理组织外存空间,为文件分配所需的外存块。2文件目录管理为了方便用户文件的管理和检索,系统为每个用户建立了目录,这个目录可以是一级目录,也可以是多级目录。目录管理的目的是为用户建立文件目录,并提供检索和管理等服务。3逻辑文件与物理文件的转换在磁盘上,文件是以块为单位进行存储,如果要求用户对文件的操作也以块为单位就会非常不方便。比如,对于数据库 文件,我们习惯用记录来描述,word文档是以连续的字符串方式进行操作。因此,文件系统采
3、用了两种文件形式:逻辑文 件和物理文件。 4文件共享和安全管理文件共享的好处是节省存储空间。但是,在对文件的共享过程中,有可能导致文件被破坏或丢失,因此文件的安全保护 措施是必不可少的。5文件读写管理根据用户的读写权限,允许或禁止其对某一个文件的读或写操作,特别是写操作。5.1.3 文件系统的基本概念文件由若干记录组成,记录由若干数据项组成,数据项是 数据处理的最小单位。1数据项数据项是指描述一个对象的某种属性的字符集。比如:学号、姓名等。2记录记录是一组相关数据项的集合,用于描述数据对象某方面 的属性。它是文件中数据处理的基本单位,是组成文件的基本 元素。比如:学生(学号、姓名、性别)3文件
4、文件是指由创建者定义的、具有文件名的一组相关元素的 集合。5.1.4 文件类型1按性质和用途分类(1)系统文件(2)用户文件(3)库文件 2按文件中的数据形式分类(1)源文件(2)目标文件 (3)可执行文件3按文件的存取控制属性分类(1)只执行文件(2)只读文件 (3)读写文件4. 按文件的逻辑结构分类(1)有结构文件:记录式文件(2)无结构文件:流式文件5.1.5 文件属性(1)文件名:供用户使用的外部标识符(2)文件内部标识符:一个编号,是文件的唯一标识。(3)文件的物理位置:存储介质上所存放的物理位置。 (块号)(4)文件拥有者:多用户中使用。(5)文件存取控制:只读、读写(限制)、只执
5、行、不保 护。(6)文件类型:通过文件扩展名体现。(7)文件长度:文件所占字节数。(8)文件时间:创建时间、修改时间、访问时间等。 5.1.6 文件系统模型文件系统是管理文件的软件集合,文件系统模型如图所示。 文件系统接口物理磁盘逻辑文件系统层文件组织模块层基本文件系统层基本I/O控制层1. 基本I/O控制层由设备驱动程序和中断处理程序组成,实现内存和磁盘系 统之间的信息传输。2. 基本文件系统层又称为物理输入输出层,该层主要通过发出读写物理块的 通用命令,实现主存与磁盘的数据块的交换。3. 文件组织模块层该层用于完成输入输出的大量事务,包括选择在什么设备 上执行文件I/O操作、对文件逻辑块和
6、物理块的操作、磁盘调度 等。4. 逻辑文件系统层使用目录结构为文件组织模块,允许用户按文件名访问文 件,并负责文件的保护和安全。5文件系统接口文件系统是直接与用户打交道的,因此必须提供与用户的接口。系统提供了三种方式供用户对文件进行操作:命令接口、图形接口和程序接口。(1)命令接口:通过键盘输入命令实现对文件的操作。比如,DOS命令:copy、dir、del等。(2)图形接口:通过图形窗口实现对文件的操作。(3)程序接口:它是用户程序与操作系统的接口,通过系 统调用实现。比如,C语言中的函数调用:fopen()、fclose()。5.2 文件结构 文件的结构是指文件的构造方式,可以从两个方面进
7、行研 究,即所谓的用户观点和实现观点。从用户观点出发,研究用户思维中的抽象文件,或称为逻 辑文件,研究的侧重点在于为用户提供一种逻辑结构清晰、使 用简便、符合人的思维习惯的文件形式。用户按照这种形式去 存储、检索文件。从实现观点出发,研究驻留在外部介质上的实际文件,或 称为物理文件,研究的侧重点是选择工作性能良好、设备利用 率高的物理文件形式,文件系统将按照这种形式去和外设打交 道。文件系统提供了两种文件结构形式,并提供了它们之间的 转换功能。5.2.1 文件的逻辑结构(File Logical Structure)1文件逻辑结构的概念它是用户组织文件时可见的结构,即用户所观察到的文件组织形式
8、。文件的逻辑结构是用户可以直接处理的数 据及其结构,它独立于物理特性,又称为文件组织(File Organization)。2逻辑结构文件的形式有结构的记录式文件无结构的流式文件。(1)记录式文件它是一种有结构的文件,由若干记录组成。早期的计算机常常使用卡片输入机输入,一张卡片对应一个逻辑记录,记录在文件中的排列有顺序关系,除此之外,记录之间不存在其它关系。现在,逻辑记录的概念被应用于很多场合,比如,数据库管理系统。如果文件中所有记录的长度都相同,则称为定长记录文件,否则称为变长记录文件。 定长记录文件的特点是处理方便、开销小,但当一个记录中的某些数据没有值时,也必须占用一定的空间,浪费了存储
9、空间。变长记录文件的特点是记录长度可以不同,有两种情况会造成变长记录: 包含了一个或多个可变长度的数据项。 包含了可变数目的定长数据项。变长记录文件必须增加控制信息用于记录记录的长度。OS处理不方便,但记录组成灵活、节省存储空间。(2)流式文件流式文件是一种无结构文件,由字符构成,文件内的字符不再组织成记录,只是一串字符。源程序、可执行文件、库函数等均采用无结构的流式文件形式。对于OS来说,流式文件的管理比较方便: 方便建立逻辑文件和物理文件之间的联系系统只要把字符流顺序地映像为逻辑文件中的元素或保存到物理地址中,就可以非常简单地建立逻辑文件和物理文件之间的联系。 节省存储空间流式文件是顺序存
10、储,没有额外的说明(如记录长度)和控制信息等。大多数现代操作系统中,对用户仅仅提供流式文件,记录式文件往往由高级语言或数据库管理系统提供。5.2.2 文件的物理结构1文件物理结构的概念文件的物理结构又称为文件的存储结构,它是指文件在外存上存储时的组织结构。文件的物理结构与存储介质的物理特性及用户对文件的访问方式有关。存储介质被划分为大小相等的块,它是文件分配及传输信息的基本单位,每个块存储一条物理记录,一般把文件信息划分成与物理块大小相等的逻辑块。一个逻辑块存储在一个物理块中。如何组织一个文件的块,就是文件的物理结构形式。2文件物理结构的形式根据文件存储设备的特性及用户对文件的访问方式,文件
11、的物理结构有以下三种形式: (1)顺序结构(具有顺序结构的文件称为连续文件)顺序结构是将一个在逻辑上连续的文件依次存放在外存连 续的物理块中,即所谓的逻辑上连续,物理上也连续。如图5-3 所示。特点: 存取速度快,适合于顺序访问。比如磁带,所有存于磁带上 的文件一般均采用顺序结构。 文件长度一经固定,就不容易改变,不利于文件的增生和扩 充。顺序结构文件对于变化少,可以作为一个整体处理的大量 数据段较为方便,而对于那些变化频繁的少量记录不宜采用。(2)链接结构(具有链接结构的文件称为串联文件)链接结构将文件存放在外存的若干个物理块中,这些 物理块不必连续,通过链接指针形成链接队列。如图5-4所示
12、。优点: 文件长度可以动态增长 。 增删记录容易如果一个逻辑记录对应一个物理块,和一个逻辑记录对应几个物理块,这两种情况增删记录都很容易。而对于 一个物理块有几个逻辑记录,增删就比较困难。见下图所 示,在72块中插入一条记录k。 缺点: 随机访问的效率低,适合于顺序访问。链接结构只是解决了顺序结构记录增加难的问题。 稳定性差如果一个指针丢失或损坏,整个文件将被破坏;若指针错误地指向其它文件或空闲块,就可能会引起错误。(3)索引结构(具有索引结构的文件称为索引文件)系统为每个文件建立一个索引表,索引表给出了逻辑块号与物理块号的对应关系,索引表地址记录在文件目录 中,如图5-5所示。 索引文件可以
13、方便地增删记录,也可实现随机存取。增加一个记录时,只要找出一个空闲的物理块,把记 录存入该块,同时在索引表中登记该记录的存放地址即 可。删除一个记录时,只要把该记录在索引表中的登记 项清0,且收回该记录原来占用的物理块,把它作为空闲块。优点:适合于随机访问,访问速度快,便于文件的增删。缺点:当文件记录很多时,索引表会很庞大,占用较多磁盘空间,而且检索速度慢。解决的方法是建立多级索引 ,提高检索速度。3文件的访问方式文件的访问方式与文件的存储结构有关。主要有以下两种:(1)顺序访问顺序访问是指用户从文件初始数据开始依次访问文件中的信息。顺序访问的特点是访问速度快,不需要计算访问信息的位置,适合于
14、数据的统计和汇总等。(2)直接访问(随机访问)直接访问是指用户随机地访问文件中的某段信息。要支持用户以直接访问方式访问文件,文件必须存放在可以支持快速定位的随机存储设备中。5.2.3 记录的成组和分解逻辑记录的大小是根据用户需要定的,而存储介质上块的大小是根据存储介质的特性定的。所以,逻辑记录与 物理块大小之间的关系可能有以下三种情况: 逻辑记录与物理块大小相等。在存储分配时,为每个逻辑记录分配一个物理块,逻辑记录与物理块一一对应。 逻辑记录大,物理块小。为每个逻辑记录分配多个连续的物理块。 逻辑记录小,物理块大。将多个逻辑记录集中存入一个物理块。这就是记录的成组与分解。 记录的成组是指把若干
15、条逻辑记录合并成一组存入一个物理块的过程。当用户需要某一记录时,必须把含有该记录的整块信息读出,再从这一组逻辑记录中找出用户需要的记录进行处理。这就是分解的过程。优点:提高磁盘空间的利用率,减少读写磁盘的次数。 逻辑纪录1逻辑纪录2逻辑纪录3物理纪录逻辑纪录用户缓冲区系统缓冲区5.3 文件的存储设备 5.3.1 文件存储设备的类型文件存储设备主要有:磁带、磁盘、光盘等。存储介质上连续信息所组成的一个区域称为块,也称为物理记录。块是主存与物理设备进行信息交换的物理单位,每次总是交换一块或若干块信息。1顺序存储设备顺序存储设备是按信息的物理位置进行定位和读/写操作的存储设备。在顺序存储设备中,只有
16、前面的物理块被存取之后,才能存取其后的物理块。顺序存储设备的典型代表是磁带。磁带的两个相邻的物理块之间设计有一个间隙将它们 隔开。 始 点块1间隙块2间隙块3间隙块i间隙块i+1 末 点 磁头(正走,反走,正读,反读,正写,反写,到带)磁带的存储特性如下:(1)它是一种顺序存取的存储设备,总是从磁头的当前位置开始读写。(2)磁带上的块不是由地址来标识的,而是由它在磁带上的位置来识别的。(块号)(3)块与块之间有间隙,磁带上的物理块就是通过间隙来区分的。(4)磁带的存取速度与信息密度、磁带带速和块间间隙有关。如果带速高,信息密度大,且所需块间隙小,则磁带存取速度高。(5)容量大,采用顺序存取方式时存取速度高。2012.4报价:HP 3T 520元 IBM 3T 680元(西部数据硬盘:1T 800元)【例5-1】假定磁带记录密度为每英寸800字符,每一逻辑记录为 160字符,块间隙为0.6英寸。试计算磁带的利用率?若要使