您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 质量控制/管理 > 哈工大威海 操作系统课件 第7章文件管理
第七章文件管理第七章文件管理7.1文件和文件系统7.2文件的逻辑结构7.3外存分配方式7.4目录管理7.5文件存储空间的管理7.6文件共享与文件保护7.7数据一致性控制第七章文件管理7.1文件和文件系统7.1.1文件、记录和数据项文件:是数据的一种组织形式,指具有文件名的若干相关元素的集合。文件管理系统:是指文件和对文件进行操纵和管理的软件集合文件系统中数据的分类:数据项、记录和文件三级。最低级的数据组织形式由若干相关记录组成,文件系统中的最大单位第七章文件管理文件记录1记录2…记录n数据项1数据项2…数据项n图7-1文件、记录和数据项之间的层次关系第七章文件管理文件属性可以包括:(1)文件类型。(2)文件长度。(3)文件的物理位置。(4)文件的建立时间。第七章文件管理7.1.2文件类型和文件系统模型1.1)按用途分类(1)系统文件。(2)用户文件。(3)库文件。第七章文件管理2)按文件中数据的形式分类(1)源文件。(2)目标文件。(3)可执行文件。第七章文件管理3)(1)只执行文件。(2)只读文件。(3)读写文件。第七章文件管理2.文件系统模型图7-2文件系统模型第七章文件管理1)文件管理系统管理的对象有:①文件。它作为文件管理的直接对象。②目录。为了方便用户对文件的存取和检索,在文件系统中必须配置目录。对目录的组织和管理是方便用户和提高对文件存取速度的关键。③磁盘(磁带)存储空间。文件和目录必定占用存储空间,对这部分空间的有效管理,不仅能提高外存的利用率,而且能提高对文件的存取速度。第七章文件管理2)这是文件管理系统的核心部分。文件系统的功能大多是在这一层实现的,其中包括:对文件存储空间的管理、对文件目录的管理、用于将文件的逻辑地址转换为物理地址的机制、对文件读和写的管理,以及对文件的共享与保护等功能。第七章文件管理3)文件系统的接口为方便用户使用文件系统,文件系统通常向(1)命令接口。这是指作为用户与文件系统交互的接口。用户可通过键盘终端键入命令,取得文件系统的服务。(2)程序接口。这是指作为用户程序与文件系统的接口。用户程序可通过系统调用来取得文件系统的服务。第七章文件管理1、操作系统中对数据进行管理的部分叫做()。A、数据库系统b、文件系统c、检索系统d、数据存储系统2、文件系统是指()。A、文件的集合b文件的目录C、实现文件管理的一组软件d、文件、管理文件的软件及数据结构的总体3、从用户角度来看,引入文件系统主要目的是()。A、实现虚拟存储b保存系统文档c保存用户和系统文档d实现对文件的按名存取bdd第七章文件管理3、文件系统的功能•从用户角度看,文件系统主要实现“按名存取”;具体功能如下:•实现从逻辑文件到物理文件的转换;•有效的分配文件的存储空间;•建立文件目录;•提供合理的存取方法适应不同的环境;•提供文件的共享、保护和保密;•提供一组文件操作。第七章文件管理7.1.3文件操作(1)创建文件。(2)删除文件。(3)读文件。(4)写文件。(5)截断文件。(6)设置文件的读/写位置。第七章文件管理1.文件的“打开”和“关闭”操作所谓“打开”,是指系统将指名文件的属性(包括该文件在外存上的物理位置)从外存拷贝到内存打开文件表的一个表目中,并将该表目的编号(或称为索引)返回给用户。如果用户已不再需要对该文件实施相应的操作时,可利用“关闭”(close)系统调用来关闭此文件,OS将会把该文件从打开文件表中的表目上删除掉。第七章文件管理7.2文件的逻辑结构对于任何一个文件,都存在着以下两种形式的结构:1)文件的逻辑结构(FileLogicalStructure)。用户直接处理(2)文件的物理结构,又称为文件的存储结构,是指文件在外存上的存储组织形式。第七章文件管理7.2.1文件逻辑结构的类型1.有结构文件(记录文件)(1)定长记录。(2)变长记录。顺序文件(按某种顺序排列)。索引文件(建立一张索引表,每个记录设置一个表项)。索引顺序文件。以记录构成第七章文件管理2.无结构文件源程序、可执行文件、库函数等,所采用的就是无结构的文件形式,即流式文件。其长度以字节为单位。对流式文件的访问,是采用读写指针来指出下一个要访问的字符。可以把流式文件看作是记录式文件的一个特例。在UNIX系统中,所有的文件都被看作是流式文件;即使是有结构文件,也被视为流式文件;系统不对文件进行格式处理。流式文件,字符序列构成文件第七章文件管理7.2.2顺序文件1.逻辑记录的排序第一种是串结构,是由时间来决定,即按存入时间的先后排列,最先存入的记录作为第一个记录,其次存入的为第二个记录,……依此类推。第二种情况是顺序结构,指文件中的所有记录按关键字(词)排列。可以按关键词的长短从小到大排序,也可以从大到小排序;或按其英文字母顺序排序。第七章文件管理3.顺序文件的优缺点(了解)顺序文件的最佳应用场合,是在对诸记录进行批量存取时,即每次要读或写一大批记录。此时,对顺序文件的存取效率是所有逻辑文件中最高的;此外,也只有顺序文件才能存储在磁带上,并能有效地工作。,如果用户(程序)要求查找或修改单个记录,为此系统便要去逐个地查找诸记录。另一缺点是,如果想增加或删除一个记录,都比较困难。第七章文件管理7.2.3索引文件定长记录文件,如果要查找第i个记录,可直接根据下式计算来获得第i个记录相对于第一个记录首址的地址:Ai=i×L定长记录可以直接存取可变长度记录的文件,要查找其第i个记录时,须首先计算出该记录的首地址。为此,须顺序地查找每个记录,从中获得相应记录的长度Li,然后才能按下式计算出第i个记录的首址。假定在每个记录前用一个字节指明该记录的长度,则10iiiiiLA第七章文件管理索引号0长度m指针ptrm01m1…imi…索引表R0R1…Ri…逻辑文件图7-4索引文件的组织变长记录建立索引表第七章文件管理7.2.4索引顺序文件键AnQiBaoRongChenLin逻辑地址姓名AnQiAnKang其它属性BaoRong…逻辑文件图7-5索引顺序文件顺序文件分成若干组,每组第一个记录放入索引表第1组第3组第七章文件管理7.2.5直接文件和哈希文件1.直接文件对于直接文件,则可根据给定的记录键值,直接获得指定记录的物理地址。换言之,记录键值本身就决定了记录的物理地址。这种由记录键值到记录物理地址的转换被称为键值转换(Keytoaddresstransformation)。组织直接文件的关键,在于用什么方法进行从记录值到物理地址的转换。第七章文件管理2.哈希(Hash)文件图7-6Hash文件的逻辑结构fHash函数目录表键值哈希文件是最常见的直接文件物理地址第七章文件管理7.3外存分配方式(文件的物理结构)常用的外存分配方法有:连续分配;链接分配;索引分配;第七章文件管理7.3.1连续分配1230567491011813141512171819162122232025262724list29303128mailcountfilestartlengthcount02tr143mail196list284f62目录trf图7-7磁盘空间的连续分配第七章文件管理2.连续分配的主要优缺点(1)顺序访问容易。(2)顺序访问速度快。(1)要求有连续的存储空间。(2)必须事先知道文件的长度。第七章文件管理7.3.2链接分配1.隐式链接图7-8磁盘空间的链接式分配25123056749101181314151217181916212223202526272429303128filestartendjeep925目录101-116含有链接文件第一个盘快和最后盘快的指针第七章文件管理2.显式链接图7-9显式链接结构012345物理块号2FCBFAT0451文件第一块第七章文件管理6EOF11105EOF0123456789FATFCBA4FCBB9图7-10MS-DOS的文件物理结构第七章文件管理7.3.3索引分配1.链接分配方式虽然解决了连续分配方式所存在的问题,但又出现了另外两个问题,(1)不能支持高效的直接存取。要对一个较大的文件进行直接存取,须首先在FAT中顺序地查找许多盘块号。(2)FAT需占用较大的内存空间。第七章文件管理图7-11索引分配方式123056749101181314151217181916212223202526272429303128countfile块序号jeep19目录91611025-1-1-119第七章文件管理2.多级索引分配012……………105106254356357985105106254740356357…1125985360740…1125…主索引360第二级索引磁盘空间图7-12两级索引分配第七章文件管理图7-13混合索引方式modeowners(2)timestamps(3)sizeblockcounti.addr(0)i.addr(1)directblockssingleindirectdoubleindirecttripleindirectdatadatadatadata……datadata………datadatadatadata直接索引modeowners(2)timestamps(3)sizeblockcounti.addr(0)i.addr(1)directblockssingleindirectdoubleindirecttripleindirectdatadatadatadata……datadata………datadatadatadata直接索引一级索引二级索引第七章文件管理•某操作系统的文件管理采用直接索引和多级索引混合方式,文件索引表共有10项,其中前8项是直接索引,第9项是一次间接索引项,第10项是二次间接索引项,确定物理块的大小是2k,每个索引项占用4个字节,•问:•该文件系统中最大的文件可以达到多大?•假定一个文件的大小是128MB,该文件实际占用多大磁盘空间(包含间接索引块)?第七章文件管理512512512512第七章文件管理解答:1)直接索引项,每项指向一个物理块;2)物理块大小为2kB,每个索引项占4个字节,则一个物理块可容纳2KB/4=512个索引项,即一个间接索引项(在一块内)指向512个物理块;二次间接索引项可以指向512x512=262144个物理块。文件物理块共8+1x512+1x512x512个,文件可达520x2KB+512x512x2KB。3)若文件大小是128MB,占用空间为128MB/2K=216个物理块,还要加上最少1个存放索引表的物理块容量。第七章文件管理例题:•某文件系统采用多级索引的方式组织文件的存放,假定在文件的i_node中有13个地址项,其中直接索引项10项,一次间接索引1项,二次间接索引1项,三次间接索引1项。数据块的大小为4k,硬盘地址用4个字节表示,问:•1)这个文件系统允许的最大文件长度是多少?•2)一个2G大小的文件,在这个文件系统中实际占用多少空间?(不包括i_node占用的空间)第七章文件管理1)直接索引中盘块总容量为4kx10=40kb。一次间接索引盘块总容量为:一个地址用4字节,4k大小可以表示1k个地址,就是可以记录1k个物理盘块,总容量为4kx1k=4MB二次间接索引中盘块总容量为4kx1kx1k=4G三次间接索引中盘块总容量为4kx1kx1kx1k=4TB所以这个系统文件系统允许的最大文件长度为4TB+4GB+4MB+4KB2)一个2G大小的文件,在这个文件系统中实际占用的空间应该是文件大小加上索引块占用的空间总和。2G=512x4M=512x1kx4K,所以共需占用512x1k个物理块,直接索引中占10个物理盘块,一级索引占用一个索引块和1k个物理盘块;所以二级索引中还需要(512-1)1K-10个物理盘块,((512-1)1K-10)%1K=512-1=511,则在二级索引中占用的索引块数为:一个一级索引块,511个二级索引块。所以一共占用29+1=30个索引块,实际地址为2G+30x4k=2G+2M+4K
本文标题:哈工大威海 操作系统课件 第7章文件管理
链接地址:https://www.777doc.com/doc-3994986 .html