1、操作系统教程(第4版) 第六章 文件管理,第六章 文件管理,6.1文件 6.2文件目录 6.3文件组织与数据存储 6.4文件系统其他功能的实现 6.5 Linux的文件管理 6.6 Windows 2003文件系统,文件系统概述(1),文件系统是操作系统中负责存取和管理信息的模块,它用统一的方式管理用户和系统信息的存储、检索、更新、共享和保护,并为用户提供一整套方便有效的文件使用和操作方法。 文件的逻辑结构和存储结构。 逻辑文件和物理文件。,文件系统概述(2) 文件系统面向用户的功能, 文件的按名存取 文件目录建立和维护 实现逻辑文件到物理文件的转换 文件存储空间的分配和管理 提供合适的文件存
2、取方法 实现文件的共享、保护和保密 提供一组可供用户使用的文件操作,6.1 文件,6.1.1 文件概念 6.1.2 文件命名 6.1.3 文件类型 6.1.4 文件属性 6.1.5 文件存取方法,6.1.1 文件的概念(1),文件是由文件名字标识的一组信息的集合。可按各种方法进行分类:按用途分类:系统文件、库文件、用户文件按保护级别分类:只读文件、读写文件、不保护文件按信息流向分类:输入文件、输出文件、输入输出文件按存放时限分类:临时文件、永久文件、档案文件按设备类型分类:磁盘文件、磁带文件、软盘文件按文件的数据类型分类:源程序文件、目标文件、可执行文件,文件的概念(2) 文件系统优点,用户使
3、用方便 文件安全可靠 实现文件共享,6.1.2 文件的命名,文件是一个抽象机制,提供了把文件保存在磁盘上,用户不必了解信息存储细节且便于读取的方法,这一抽象机制中最重要的是文件命名。 文件名是字母或数字组成的字母数字串,它的格式和长度因系统而异。由文件名称和扩展名两部分组成,前者用于识别文件,后者用于区分文件类型,中间用.隔开。现在文件名最长可达255个字符。,6.1.3 文件的类型,操作系统支持不同类型文件: 普通文件: 目录文件: 特别文件:指各种外部设备文件,如:块设备文件、字符设备文件、管道文件。,6.1.4文件的属性p360,文件基本属性:文件名等文件类型属性:普通文件等文件保护属性
4、:访问权限等文件管理属性:创建时间,修改时间等文件控制属性:文件长度等,文件保护属性(1),文件保护属性用于防止文件被破坏,称为文件保护。包括两个方面:一是防止系统崩溃所造成的文件破坏;二是防止文件主和其他用户有意或无意的非法操作所造成的文件不安全性。,文件保护属性(2),防止系统崩溃造成文件破坏的方法: 定时转储 多副本 防止系统崩溃造成文件破坏的方法: 访问控制-防止文件主和其他用户有意或无意的非法操作所造成的文件不安全性,基本思想是建立三元组:(用户、对象、存取权限),文件保护属性(3), UNIX/Linux把用户分为文件主、 同组用户、其他用户三类, 定义存取权限可读r、可写w、可执
5、行x,文件属性共有10位:-rwxrwxrwx,6.1.5文件的存取,存取方法是操作系统为用户程序提供的使用文件的技术和手段。 存取方法1 顺序存取2 直接存取3 索引存取,6.2文件目录,6.2.1 文件控制块、文件目录与目录文件 6.2.2 层次目录结构:树型目录 6.2.3 目录的检索,文件系统的分层结构,文件管理-实现文件的逻辑结构,为用户提供各种文件系统调用,及文件访问权限的设置等工作; 目录管理-负责查找文件描述符,进而找到需要访问的文件,及进行访问权限检查等工作; 磁盘主存映射管理-将文件的逻辑地址转换成磁盘的物理地址,即由逻辑块号找到柱面号、磁道号和扇区号,具体的数据传输操作由
6、设备管理实现。,6.2.1 文件目录与文件目录项(1),文件系统实现“按名存取”文件的重要手段是文件目录 文件系统基本功能之一是负责文件目录的建立、维护和检索。 文件目录项又称文件控制块FCB(File Control Block) 。,文件目录与文件目录项(2) 文件目录项内容,有关文件存取控制的信息: 有关文件结构的信息: 有关文件使用的信息: 有关文件管理的信息:,文件目录与文件目录项(3) 文件目录项内容,文件目录项文件目录包含目录项,目录项有两种,用于描述子目录和文件FCB, 文件目录 目录文件,6.2.2层次目录结构(1),层次目录结构(2),每一级目录可以是下一级目录的说明,也可
7、以是文件的说明,形成层次关系。 多级目录结构采用树形结构,是一棵倒向有根树,树根是根目录;从根向下,每个树枝是一个子目录;而树叶是文件。 树型多级目录优点;,层次目录结构(3),路径名 目录路径名 文件路径名 绝对路径名 相对路径名,UNIX/Linux特殊目录项建立方法(1),6.2.3 文件目录的检索,6.3文件组织与数据存储,6.3.1 文件的存储 6.3.2 文件的逻辑结构 6.3.3 文件的物理结构,6.3.1 文件的存储(1),卷是存储介质的物理单位。 物理卷和物理设备不总是一致的。 文件和卷,文件的存储(2),块是存储介质上连续信息所组成的一个区域,也叫物理记录。 块是主存储器和
8、辅助存储设备信息交换的物理单位,每次交换一块或整数块。 决定块大小要考虑到用户使用方式、数据传输效率和存储设备类型等多种因素。 不同类型的存储介质,块的长短常常各不相同;同一类型的存储介质,块的长短也可以不同。,6.3.2文件的逻辑结构 1 流式文件和记录式文件(1),文件组织指文件中信息的配置和构造方式,应该从文件的逻辑结构和组织及文件的物理结构和组织两方面考虑。 文件的逻辑结构和组织是从用户观点出发,研究用户概念中的信息组织方式,这是用户能观察到,可加以处理的数据集合。,流式文件和记录式文件(2),文件的逻辑结构分两种形式:流式文件,记录式文件。 流式文件指文件内的数据不再组成记录,只是依
9、次的一串信息集合,可以看成是只有一个记录的记录式文件。 文件常按长度来读取所需信息,也可用插入特殊字符作为分界。 记录式文件包含若干逻辑记录,逻辑记录是文件中按信息在逻辑上的独立含意划分的信息单位。,流式文件和记录式文件(3),记录式文件包含若干逻辑记录,逻辑记录是文件中按信息在逻辑上的独立含意划分的信息单位。 分类:1) 记录式顺序文件:2) 记录式索引顺序文件:,2 成组和分解(1) 逻辑记录和块的关系,逻辑记录是按信息在逻辑上的独立含义划分的单位,块是存储介质上连续信息所组成的区域。 逻辑记录被存放到文件存储器的存储介质上时,可能占用一块或多块,也可以一个物理块包含多个逻辑记录。 成组操
10、作。 分解操作。 块因子。,成组和分解(2) 记录成组和分解处理过程,3记录格式和记录键, 记录格式格式F:定长记录格式V:变长记录格式S:跨块记录 记录键主键,次键 单键记录,多键记录,6.3.3 文件的物理结构(1),文件的物理结构和组织是指逻辑文件在物理存储空间中存放方法和组织关系。 文件的存储结构涉及:块的划分、记录的排列、索引的组织、信息的搜索,其优劣直接影响文件系统的性能。,第一类计算法。 第二类指针法。,构造文件物理结构的方法,文件的物理结构(2),1顺序文件(连续文件 ),文件中逻辑上连续的信息存放到存储介质的依次相邻的块上便形成顺序文件。 逻辑记录顺序和物理记录顺序完全一致的
11、文件,通常,记录按出现的次序被读出或修改。 顺序文件的优点/缺点: 顺序文件变种:紧凑顺序文件、扩展顺序文件连接顺序文件、划分顺序文件,2连接文件(串联文件)(1) 连接文件结构示意图,连接文件使用连接字,又叫指针来表示文件中各个记录之间的关系 引进指向其它数据的连接表示是计算机程序设计的一种重要手段,是表示复杂数据关系的一种重要方法。 连接结构的优缺点。,连接文件(串联文件)(2),一种连接文件,建立指针数组PTRSn , 每个PTRSi对应一个磁盘块i, 如果块j在文件中跟在块i之后,那么,元素PTRSi=j(即元素PTRSi的值为j)。 例如,一个连接文件占用4个磁盘块,文件FCB指出首
12、块地址,从首块6开始,依次为块18、块11和块13,则有FCB指出6、PTRS6=18、PTRS18=11、PTRS11=13、PTRS13=NULL。,例子,FCB6,18,11,13,0,PTRS6=18、PTRS18=11、PTRS11=13、PTRS13=NULL,FCB6,4索引文件(1),索引结构是实现非连续存储的另一种方法,适用于数据记录保存有随机存取存储设备上的文件。 使用索引表,每个表目包含一个记录的键及其记录数据的存储地址,这类文件称索引文件。,索引文件(2),索引文件(3) 索引顺序文件,索引顺序文件是顺序文件的扩展,各记录本身在介质上也顺序排列,有直接处理和修改记录的能力。 索引顺序文件能象顺序文件一样进行快速顺序处理,既允许按物理存放次序(记录出现的次序);也允许按逻辑顺序(由记录主键决定的次序)进行处理。 二级索引。二级索引表的表项列出一级索引表每一块最后一个索引项的键值及该索引表区的地址,若干个记录的索引本身也是一种记录。查找时先查看二级索引表找到某键所在的索引表区地址,再搜索一级索引表找出数据记录。 三级索引。,索引文件(4) UNIX/Linux多重索引结构,Linux索引文件的长度计算,LINUX允许文件的最大长度为11亿字节,因为文件长度为: L=10*512+128*512+128*128*512+128*128*128*512,