您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 管理学资料 > 操作系统原理-第五章-文件管理
第5章文件管理文件系统概述文件的逻辑结构与物理结构文件的存取方式与文件操作文件目录结构及检索文件存储空间的管理文件共享与保护文件系统的一致性一文件系统概述(P146)1、文件sort.c定义:是记录在外存上的,具有符号名的,在逻辑上具有完整意义的一组相关信息项的集合。信息项:是构成文件内容的基本单位,可以是一个字符,也可以是一个记录。磁带磁盘光盘优盘文件的组成部分sort.c文件属性•文件名称•文件内部标识符•文件类型•文件存储位置•文件大小•访问权限•时间、日期、用户标识……文件体:文件本身的信息文件说明:文件存储和管理信息文件控制块(FCB)目录项操作系统中负责存取和管理文件信息的模块称为文件系统。它负责管理文件的存储、检索、更新、共享和保护,并为用户提供一整套方便有效的文件使用和操作方法。•基本目标:实现“按名存取”;•提供方便的操作和统一的调用接口,屏蔽底层细节。•组织、分配、回收文件的存储空间;•负责文件的存储、检索、共享和保护。•重要目标:提高文件存取速度2、文件系统文件系统用户系统为了便于对文件进行存取和管理,文件系统为所有的文件建立了目录,每个文件在目录中都有一个登记项,称为文件目录项,每个目录项记录着一个文件的名字及其外存地址等该文件的管理和使用信息。实现文件按名字存取;实现文件共享和保护。文件目录项又称为文件控制块(FileControlBlock,FCB),它除了记录文件名字和外存地址外,通常还保存了文件的创建者、创建日期、访问权限和长度等。有些系统中,目录也以特殊文件形式进行保存,称为“目录文件”。3、目录4、文件系统的结构用户程序用户界面(文件存取方式,一组文件操作)符号文件系统(建立或搜索文件目录,获取文件内部标识)逻辑文件系统(合法性检查,形成逻辑块号及块内偏移)物理文件系统(文件和目录的物理存储管理)设备驱动程序外部存储器文件系统内核空间5、文件分类为了方便管理和控制文件,常根据文件用途、存取控制属性、保存期限等进行分类。系统文件库文件用户文件按用途分类文件的保护类型只读文件读写文件可执行文件不保护文件输入文件输出文件输入/输出文件信息流向文件分类(续)文件的后缀exe,com,bin:可执行文件c,cc,cpp,java,pas:程序源代码bat,sh:命令文件txt,doc:文本数据,文本文档lib,dll:库文件zip,rar:压缩文件mpeg,mov,rm:多媒体文件……文件的信息(Unix采用这种方式划分)普通文件:包括用户的ASCII或二进制文件特殊文件:包括目录文件和I/O设备文件逻辑结构记录式文件流式文件物理结构连续文件链接文件索引文件6、目前常用的文件系统类型FAT12/FAT16MS-DOS。文件名采用8.3格式,FAT12最大支持16M分区,FAT16最大支持2G分区,Win95对FAT16进行了扩展,支持长文件名(255个字符),称为VFATFAT32Windows95以上版本,最大支持2T分区,支持长文件名。NTFSWindowsNT/2000。很强的安全特性和文件系统恢复功能。ext2/ext3/ext4Linux操作系统使用的扩展文件系统。支持256字符的文件名,ext2/ext3最大支持16T分区,最多32000个子目录,ext4支持1E分区,无限个子目录HPFSOS/2操作系统使用的文件系统。突破了FAT文件系统的一些限制,改善了文件在大目录下的访问时间,支持2TB硬盘容量。UDF符合ISO9660标准的支持CD-ROM的文件系统。其他xfs、gfs、ReiserFS、bwfs……二、文件的结构(P150)文件的结构指文件中信息的配置和构造方式,有逻辑结构和物理结构之分。逻辑结构:是从用户观点出发所观察到的文件组织形式,是用户可以直接处理的数据及其结构,它独立于文件的物理特性,又称为文件组织。物理结构:又称为文件的存储结构,是指文件在外存上的存储组织形式。这不仅与存储介质的存储性能有关,而且与所采用的外存分配方式有关。1、文件的逻辑结构从用户角度看到的文件信息的组织形式,分为有结构的文件(记录式文件)和无结构文件(流式文件)两类。第11页1)有结构的记录式文件:文件是具有一定长度的记录的序列,用户以记录为单位来组织信息。记录:是一个具有内部结构的用于描述一个实体多方面属性的信息单位。定长记录变长记录2)无结构的流式文件:由字符序列组成的文件,其内部不再划分结构,字符是该文件的基本信息单位。字符流文件的逻辑结构(续)在UNIX系统中,所有的文件都被看作是流式文件:即使是有结构的文件,也被视为流式文件,系统不对文件进行格式处理,文件的含义由用户程序进行解释。2、文件的物理结构从系统角度看到的文件信息的组织形式称为文件的物理结构。实际上就是文件的存储结构,即文件信息在文件存储介质(如磁盘)上的存储组织形式。主要分为3大类:第13页1)顺序文件:早期文件系统使用,现今仅在磁盘文件对换区的使用上还能看到其影子。2)链接文件:分为隐式链接和显式链接两类。FAT12、FAT16、FAT32文件系统使用的就是显式链接方式;3)索引文件:ext2、ext3、ext4等UNIX文件系统采用该方式。1)顺序文件(连续分配)将逻辑上连续的文件信息依次存放在外存若干个连续的物理块中。012345678910111213141516171819202122232425262728293031文件名始址块数count02tr143mail196list284f62文件目录countftrmaillist磁盘空间顺序文件特点优点实现简单,顺序存取信息时速度快;不需要增加存储空间存放附加控制信息(如不需要保存所有磁盘块的地址)缺点:要求有连续的存储空间:容易形成磁盘碎片(似内存可变分区容易形成外碎片)必须事先知道文件长度,对文件进行内容增、删比较困难磁带上的文件只能是顺序文件,因为磁带是顺序存取设备。2)链接文件一个文件的信息存放在若干不连续的物理块中,各块之间通过指针连接。包括隐式链接和显示链接文件名始址末址jeep925文件目录01234567891011121314151617181920212223242526272829303111016-125磁盘空间datanext隐式链接链接文件(续)隐式链接不便于随机存取。显式链接将链接各物理块的指针存放在一个专门的链接表中:FAT(FileAllocationTable),整个文件系统一张系统启动时,FAT被读入内存显式链接文件名首址jeep9文件目录1016251-1物理块号FAT01…910…16…25…链接文件特点优点提高了磁盘空间利用率,不存在外部碎片问题。有利于文件插入和删除,及其动态扩充。缺点:隐式链接不支持随机存取,显式链接随机查找慢。显式链接中的FAT表需占用较大内存空间。存储空间可能不连续,带来更多的寻道次数和寻道时间。需要牺牲一些空间存放链接指针,同时需要维护这些指针,增加了系统开销。可靠性问题,如指针出错。补充:FAT12早期MS-DOS所使用的是FAT12文件系统。即一个FAT表项占12位,共可表示4096个表项。只能支持8+3格式的文件名;若以物理盘块(扇区,大小一般为512字节)为分配单位,则每个磁盘分区的容量仅为2MB(4096*512B)一个物理磁盘支持4个磁盘逻辑分区,所以相应的磁盘容量仅为8MB为使FAT12支持更大的磁盘,引入了一个新的分配单位:“簇”的概念。补充:簇的基本概念(P172~P173)“簇(Cluster)”是一组连续的扇区,簇的大小一般为2n个盘块(扇区),如512B/1KB/2KB/8KB等,进行文件空间分配时,不再以盘块而是以“簇(Cluster)”为基本单位。当簇大小为1KB时,FAT12可支持最大磁盘容量为16MB当簇大小为4KB时,FAT12可支持最大磁盘容量为64MB优点:增加支持的磁盘大小,减小了FAT表大小,降低存取开销,提高了磁盘的I/O效率缺点:造成更大的簇内零头(类似于页式管理中的页内碎片)补充:FAT16一个FAT表项占16位,共可表示65536个簇。MS-DOS及Windows95使用。FAT16中每个簇中可有盘块数4、8、16、32、64,因此支持的最大分区为:655356*64*512B=2048MBFAT16仍然采用8+3格式文件名Windows95对FAT16进行了扩展,文件名长度可达到255个字符,这种扩展FAT16也称为VFAT补充:FAT32一个FAT表项占32位,共可表示4G个簇。Windows95及以后系列操作系统支持FAT32支持2T及以上分区:4G*512B=2TB,理论上最大可支持128T的分区(32K簇大小)。一些操作系统对FAT32支持的分区大小进行了限制,如windows2000无法使用FAT32格式化超过32G的分区;支持255长度文件名;优点:支持更大的硬盘,簇大小可以设置的比较小,减少簇内碎片。缺点:由于FAT表扩大,运行速度比FAT16稍慢;不能保持向下兼容。补充:NTFSNTFS以卷为单位,将一个卷中的所有文件信息、目录信息以及可用的未分配空间信息,都以文件记录的方式记录在一张主控文件表MFT(MasterFileTable)中。WindowsXP及以后操作系统支持。使用64位磁盘地址,理论支持2的64次方字节磁盘分区;具有一定的系统容错功能,提供一些机制来保证文件系统的一致性;提供诸如文件和文件夹权限、加密、磁盘配额和压缩等高级功能。3)索引文件FAT存在两个问题:不能支持高效的直接存取;FAT占用较大的内存空间;打开一个文件时,完全没有必要将整个FAT表调入内存“索引文件”解决方法:为每个文件建立一个索引块(表);将分配给该文件的所有盘块号都存放于其中;通常,采用一个盘块作为索引块。012345678910111213141516171819202122232425262728293031文件名索引表地址文件目录Jeep1991711025-1-1-119磁盘空间索引式分配产生索引文件文件jeep的单级索引表索引文件特点优点:能顺序存取,又能直接存取。满足了文件动态增长、插入删除的要求。没有外碎片,外存空间利用率较高。缺点索引表本身需要存储空间;文件比较小时,索引表利用率低;012345678910111213141516171819202122232425262728293031文件名索引表地址文件目录Jeep1991711025-1-1-119假设:块的大小为4K,每个盘块号占4字节,则这个块中可以存放1024个盘块号(4M)。文件大于4M该如何表示?多级索引二级索引:将一个大文件的所有索引表(二级索引)的地址放在另一个索引表(一级索引)中。如果文件非常大,还可用三级、四级。165#169#289#┇┇索引号索引表块(26#)物理块108#210#136#210┇123108136169┇233165289索引表块(58#)32┇1032658索引号索引表块(1#)01..1023┇01..102301..10234M4M二级索引:1024*4M=4G混合索引Linux文件系统采用混合索引结构。为了支持文件的共享和提高目录的检索速度,Linux文件系统中设置了一类特殊的索引结点(Indexnode),称为inode。inode中包含了文件属性以及文件存放的物理块号。下图是ext2文件系统中inode节点定义:structext2_inode{__le16i_mode;/*文件模式:普通文件、目录、字符设备等等*/__le16i_uid;/*拥有者ID*/__le32i_size;/*文件大小*/__le32i_atime;/*最近访问时间*/__le32i_ctime;/*创建时间*/__le32i_mtime;/*修改时间*/__le32i_dtime;/*删除
本文标题:操作系统原理-第五章-文件管理
链接地址:https://www.777doc.com/doc-3836486 .html