2019/12/30第6章文件管理1第六章文件管理信息是计算机系统中的重要资源。操作系统中的一个重要组成部分——文件系统,就负责信息的组织、存储和访问。文件系统的功能就是提供高效、快速和方便的信息存储和访问功能。本章的主要内容就是信息的组织。2019/12/30第6章文件管理2计算机为什么需要文件?数量原因——内存无法保存大量信息时间原因——内存无法永久保存信息应用原因——内存无法方便实现共享2019/12/30第6章文件管理3第六章文件系统6.1文件和文件系统6.2文件的逻辑结构6.3文件的物理结构与存储设备6.4文件存储空间管理6.5目录管理6.6文件共享和文件保护6.7数据一致性控制2019/12/30第6章文件管理46.1文件和文件系统1、文件系统的引入操作系统对计算机的管理包括两个方面:硬件资源的管理和软件资源的管理。软件资源的管理包括对各种系统程序、系统应用程序或工具、库函数及各种用户程序或数据的管理。用户使用计算机来完成自己的任务时,要碰到下列问题:使用现有的软件资源来协助完成自己的任务;编制完成或未完成的程序放在什么地方,需要访问的数据在什么地方。以上两个问题是一个怎样对软件资源进行透明存放,并能令这些程序和数据招之即来的问题。2019/12/30第6章文件管理5大容量直接存取的磁盘存储器以及顺序存取的磁带存储器的出现,为程序和数据等软件资源的透明存取提供了物质基础。这导致了文件系统的出现。文件系统把相应的程序和数据看作文件,并把它们存放在磁盘或磁带等大容量存储介质上,从而做到对程序或数据的透明存取。透明存取是指不必了解文件存放的物理结构和查找方法等与存取介质有关的部分,只需要给出某段数据或程序的文件名,文件系统就会自动地完成对给定文件名相对应文件的有关操作。1、文件系统的引入2019/12/30第6章文件管理62、文件系统文件系统:操作系统中与管理文件有关的软件和数据称为文件系统。它负责为用户建立文件,撤消、读写、修改和复制文件,还负责完成对文件的按名存取和进行存取控制。文件系统的功能(1)统一管理磁盘等辅助存储空间,实施存储空间的分配与回收。(2)实现文件按名存取(3)向用户提供一个方便使用的接口(提供对文件系统操作命令,以及提供对文件的操作命令:信息存取、加工等)(4)完成对存放在存储设备上的文件信息查找(5)完成文件的共享和提供保护功能。(6)提供与I/O的统一接口文件系统的层次结构文件系统的模型可分为三个层次对象及其属性文件、目录、磁盘存储空间对对象操纵和管理的软件集合与文件系统有关的软件分四个层次:I/O控制层基本文件系统层基本I/O管理程序逻辑文件系统文件系统的接口命令接口、程序接口2019/12/30第6章文件管理72019/12/30第6章文件管理8(1)友好的用户接口(2)对文件按名存取,对用户透明(3)某些文件可以被多个用户或进程所共享(4)使用大容量存储器作为存储介质。文件系统特点2019/12/30第6章文件管理9文件系统的作用为应用程序提供逻辑抽象(虚拟机)为磁盘空间提供管理机制(资源管理器)2019/12/30第6章文件管理10文件系统作用文件系统概述文件系统服务器文件结构定义文件访问控制安全、保护磁盘空间分配磁盘数据存取磁盘设备防护数据文件磁盘空间映射应用层观点:逻辑抽象物理层观点:空间管理2019/12/30第6章文件管理11如何有效地分配文件存储器的存储空间提供合适的存取方法命名的冲突和文件的共享文件系统必须解决的问题2019/12/30第6章文件管理123、文件文件是具有符号名的数据项的集合。文件名是文件的标识符号。文件包括两部分:文件体:文件本身的信息;文件说明:文件存储和管理信息;如:文件名、文件内部标识、文件存储地址、访问权限、访问时间等;2019/12/30第6章文件管理13文件名:由字符和数字组成例如MS-DOS中文件名由三部分组成,格式如下:[盘符]文件名[.扩展名]格式[]中是可以省略,盘符为存放文件的磁盘驱动器号,如用A:和C:分别表示软盘和硬盘驱动器;文件名由1~8个字符组成。扩展名为由“.”开始的1-3个字符组成,如.EXE表示可执行的浮动代码文件,.TXT表示ASCⅡ码文本文件,.LIB表示库文件,.BAT表示批处理文件等。3、文件2019/12/30第6章文件管理144、文件的分类文件分类原因文件的分类是为了更好地管理和使用,要科学地分门别类,对不同的文件进行不同的管理。这样,不仅提高了文件的存取速度,对文件的共享和保护也有利一般系统级与用户级要进行不同的管理,例如,一个系统文件工作时要读入内存,放在内存的某一固定区,有较高的保护级别,一般用户不允许进入。而一般用户的用户文件是在另外管辖的可用区有空闲时才能被调入指定的内存用户区2019/12/30第6章文件管理15系统文件由系统软件构成的文件,只允许用户通过系统调用或系统提供的专用命今来执行它们,不允许对其进行读写和修改主要由操作系统核心和各种系统应用程序或实用工具程序和数据组成例如:ibmbio.com,ibmdos.com,command.com库文件文件允许用户对其进行读取和执行,但不允许对其进行修改主要由各种标准子程序库组成例如:C语言、FORTRAN子程序库存放在子目录下*.LIB用户文件是用户委托操作系统保存的文件,由文件的所有者或所有者授权的用户才能使用主要由用户的源程序、目标程序和用户数据库等组成例如:*.c,*.for,*.DBF,*.OBJ按用途分类2019/12/30第6章文件管理16按存取控制属性分类只读文件:只允许文件主及被核准的用户去读文件,而不允许写文件。标记为:-r-----可读可写文件:允许文件主及被核准的用户去读和写文件。标记为:-rw----可执行文件:允许文件主及被核准的用户去调用执行该文件而不允许读和写文件,标记为:---x---各个操作系统的保护方法和级别有所不同DOS操作系统三种保护:系统、隐藏、可写UNIX或Linux操作系统有九个级别的保护2019/12/30第6章文件管理17普通文件(常规文件):指系统中最一般组织格式的文件,一般是字符流组成的无结构文件目录文件:由文件的目录信息构成的特殊文件,操作系统将目录也做成文件,便于统一管理特殊文件(设备驱动程序)在UNIX或Linux操作系统中,所有的输入输出外部设备都被看作特殊文件便于统一管理操作系统会把对特殊文件的操作转成为相应的设备操作,真正的设备驱动程序不包含在这些特殊文件中,而是指向与链接到操作系统核心中,存放在内存高端部分按文件的组织形式分类2019/12/30第6章文件管理18按文件中的数据形式分类源文件由源程序和数据构成的文件一般是由美国信息交换标准码(ASCII)、EBCD码或汉字编码组成目标文件由源程序经过相应的计算机语言编译程序编译,但尚未经过链接程序链接的目标代码所形成的文件后缀名为“.OBJ”(DOS系统)或“.o”(UNIX或Linux操作系统)可执行文件2019/12/30第6章文件管理196.2文件的逻辑结构用户观点(逻辑结构):研究的是用户思维中的抽象文件,也叫逻辑文件。其目的是为用户提供一种结构清晰、使用简便的逻辑组织。用户按此去存储、检索和加工处理有关文件信息。实现观点(物理结构):研究的是存储在物理设备介质上的实际文件,即物理文件。其目的是选择一些性能良好、设备利用率高的物理结构。系统按此和外部设备打交道,控制信息的传输。文件组织的两种观点2019/12/30第6章文件管理20文件的逻辑结构是用户可见结构。文件的逻辑结构分为两大类:字符流式的无结构文件和记录式的有结构文件。记录:是一个具有特定意义的信息单位,由该记录在文件中的逻辑地址与记录名所对应的一组键、属性及其属性值所组成逻辑结构2019/12/30第6章文件管理21无结构(流式)文件流式文件是相关信息的有序集合,或者说是有一定意义的字符流。对大量的源程序、可执行文件、库函数等,所采用的就是无结构的文件形式,即流式文件。其长度以字节为单位。对流式文件的访问,则是采用读写指针来指出下一个要访问的字符。可以把流式文件看作是记录式文件的一个特例。在UNIX系统中,所有的文件都被看作是流式文件;即使是有结构文件,也被视为流式文件;系统不对文件进行格式处理。好处:提供很大的灵活性2019/12/30第6章文件管理22记录式文件是由若干个记录组成,每个记录有一个键,可按键进行查找。记录式文件是有结构的文件。文件:一个固定长度记录的序列,每条记录有其内部结构组成记录按次序编号为record0,record1,...recordn。这种记录为逻辑记录,记录可以是定长或变长。记录式文件有结构文件分类顺序文件:记录按某种顺序排列所形成的文件,记录可是定长记录或可变长记录索引文件:为可变长记录建立一张索引表,为每个记录设置一个表项,以加速对记录的检索速度索引顺序文件:为每个文件建立一张索引表时,是为一组记录中的第一个记录建立一个索引表项2019/12/30第6章文件管理232019/12/30第6章文件管理24用户通过对文件的存取来完成对文件的修改、追加和搜索等操作。常用的存取方法有三种:⑴顺序存取法:按照文件的逻辑地址顺序存取。在记录式文件中,按记录的排列顺序来存取。在流式文件中,在存取完一段信息之后,读写指针自动加上或减去该段信息的长度,指出下次存取时的位置。⑵随机(直接)存取法:允许用户根据记录的编号来存取文件的任一记录,或者是根据存取命令把读写指针移到欲读写处来读写。⑶按键存取法:按给定的键或记录名进行存取。首先搜索到要进行存取的记录的逻辑位置,再将其转换到相应的物理地址后进行存取。此方法在数据库信息管理系统中被广泛应用。存取方法2019/12/30第6章文件管理25采用哪种存取方法一般与两个因素有关:怎样使用文件和存储介质。顺序存取主要用于磁带文件,但也适用于磁盘上的顺序文件。直接存取方法通常用于磁盘文件存取方法2019/12/30第6章文件管理266.3文件的物理结构与存储设备用户对不同种类的文件采取不同的存取方法,以方便对文件进行各种操作。无论是哪一种存取方法,都是首先搜索到操作对象——记录或某段字符流信息的逻辑地址,然后由逻辑地址映射到对应的物理地址,再对物理地址的有关信息进行操作的。由逻辑地址到物理地址的映射是和文件的存储方式,也就是文件的物理结构紧密相关的。2019/12/30第6章文件管理27文件的物理结构是指文件在存储设备上的存放方法。文件的物理结构决定了文件信息在存储设备上的存储位置,因此,文件的逻辑块号(逻辑地址)到物理块号(物理地址)的变换也由文件的物理结构决定。文件的存储设备通常划分为若干个大小相等的物理块,每块长度为512或1024字节。与此相对应,一般把文件信息也划分为与物理存储设备的物理块大小相等的逻辑块。从而,以块作为分配和传送信息的基本单位。文件的物理结构2019/12/30第6章文件管理28对于字符流的无结构文件来说,每一个物理块中存放长度相等的文件信息(尾部信息块除外)。对于记录式文件来说,为了简化起见,假设文件系统中每个记录的长度是固定的,其长度正好等于物理块的长度。那么每个物理块正好存放一个记录。常用的文件物理结构如下:文件的物理结构2019/12/30第6章文件管理29连续文件是一种最简单的物理文件,它把一个逻辑上连续的文件信息依次存放到连续的物理块中。连续文件结构的优点是知道了文件在文件存储设备上的起始地址和文件长度,就能很快地进行存取。其缺点在于建立文件时必须在文件说明中确定文件信息长度,且以后不能动态增长。在删除文件的某些部分后,又会留下无法使用的零头空间。2019/12/30第6章文件管理30连续文件2019/12/30第6章文件管理31磁盘空间的连续分配2019/12/30