资源描述
*,*,*,第六章 文件管理,第六章 文 件 管 理,6.1,文件和文件系统,6.2,文件的逻辑结构,6.3,外存分配方式,6.4,目录管理,6.5,文件存储空间的管理,6.6,文件共享与文件保护,6.7,数据一致性控制,1,第六章 文件管理,文件系统的功能:,*,用户可执行创建、修改、删除读写文件的命令;,*,用户能以合适的方式构造他的文件;,*,用户能在系统的控制下,共享其他用户的文件;,*,允许用户用符号名访问文件;,*,系统应有转存和恢复文件的能力,以防止意外事故的发生;,*,系统应提供可靠保护及保密措施。,2,6.1,文件和文件系统,6.1.1,文件、记录和数据项,文件,:,是,由创建者所定义的,,具有符号名的一组相关联元素的有序序列,,可分为有结构文件和无结构文件。,文件系统,:,指负责存取和管理辅助存储器上文件信息的机构,数据项,:,用于描述一个对象的某种属性的字符集。,记录,:,一组描述一个对象某方面属性的相关数据项的集合。,3,图,6-1,文件、 记录和数据项之间的层次关系,文件,记录,1,记录,2,记录,n,数据项,1,数据项,2,数据项,n,文件的属性:,文件类型,(2),文件长度,(3),物理位置,(4),建立时间,6.1.1,文件、记录和数据项,4,6.1.2,文件类型和文件系统模型,1,、 文件类型,按,用途,分类,系统文件,(2),用户文件,(3),库文件,2),按文件中,数据的形式,分类,源文件,(2),目标文件,(3),可执行文件,3),按,存取控制属性,分类,只执行文件,(2),只读文件,(3),读写文件,4,),按,组织形式,分类,(,1,),普通文件,(,2,),目录文件,(,3,),特殊文件,5,2,、 文件系统模型,图,6-2,文件系统模型,6,6.1.3,文件操作,创建文件,(2),删除文件,(3),读文件,(4),写文件,(5),截断文件,(6),设置文件的读,/,写位置,1,、最基本的文件操作,7,6.1.3,文件操作,2,、文件的操作功能,对整体文件而言:,(,1,),打开,(,open),(,2,),关闭,(,close),(,3,),建立,(create),(,4,),撤消,(,destory),(,5,),复制,(,copy),(,6,),改变文件名,(,rename),(,7,),显示,文件内容(,list),对文件中的数据项而言:,(,1,),读,(,read,),(,2,),写,(,write,),(,3,),修改,(,update,),(4),插入,(,Insert,),(5),删除,(,delete,),8,6.2,文件的逻辑结构,文件的逻辑结构:,是从用户的观点出发,所观察到的文件组织形式,是用户可以直接处理的数据及其结构,它独立于物理特性。,文件的物理结构:,又称为文件的存储结构,是指文件在外存上的存储组织形式,与存储介质的存储性能有关。(顺序、链接、索引),文件逻辑结构的要求:,提高检索效率、便于修改、降低文件的存储费用。,9,6.2.1,文件逻辑结构的类型,1,、有结构文件,(,1,)定长记录,(,2,)变长记录,(,a,)顺序文件,(,b,)索引文件,(,c,)索引顺序文件,2,、无结构文件,即流式文件,如:,源程序、 可执行文件、 库函数等, 采用指针来进行读写定位。,10,6.2.2,顺序文件,指由一系列记录,按某种顺序排列所形成的文件。,对于顺序文件,知道了当前记录的地址,就能很方便放入确定一个要存取记录的地址。,优、缺点:,(,1,)管理简单、顺序存取速度快;,(,2,)修改记录困难、要求连续存储空间;,(,3,)必须事先知道文件的长度。,11,6.2.2,顺序文件,图,6-3,定长和变长记录文件,12,索引文件,为每个文件建立一张索引表,其中每一个表目指出文件中记录所在的物理块号。,索引式文件组织,便于随机存取文件中的一个记录,是随机文件的一种。,6.2.3,索引文件,优、缺点:,(,1,)外存利用率高;,(,2,)文件可动态增长,可顺序、直接访问;,(,3,)访问两次辅存,索引表浪费空间。,13,图,6-4,索引文件的组织,6.2.3,索引文件,14,6.2.4,索引顺序文件,图,6-5,索引顺序文件,15,6.2.5,直接文件和哈希文件,1,、直接文件,根据给定的记录,键值,,直接获得指定记录的物理地址,,记录键值本身就决定了记录的物理地址,。,2,、 哈希,(Hash),文件,图,6-6 Hash,文件的逻辑结构,f,Hash,函数,目录表,键值,16,6.3,外存分配方式,6.3.1,连续分配,为每个文件分配一组邻接的磁盘块。,优点,:,*,顺序访问容易;,*,顺序访问速度较快;,缺点,:,*,要求具有较多的连续存储空间;,*,文件的长度事先确定,不便增长;,顺序文件,17,6.3.1,连续分配,图,6-7,磁盘空间的连续分配,file,start,length,count,0,2,tr,14,3,mail,19,6,list,28,4,f,6,2,目 录,1,2,3,0,5,6,7,4,9,10,11,8,13,14,15,12,17,18,19,16,21,22,23,20,25,26,27,24,list,29,30,31,28,mail,count,tr,f,18,6.3.2,链接分配,文件存储在由链接指针连接的多个离散的磁盘块中。,优点,:,*,消除了外存碎片,提高了外存空间的利用率;,链接文件,*,利于文件的动态增长,便于文件的增、删、修改等操作。,19,6.3.2,链接分配,链接文件,文件目录中每个目录项(,FCB,),都存放指向链接文件的首尾盘块的指针。,*,利于文件顺序操作,不便于随机访问。,1、,隐式链接:,把用于链接文件各物理块的指针,显示的存放在一张链接表中;整个磁盘一张,即文件分配表(,FAT,)。,*,FAT,需占用较大内存空间。,2、,显示链接:,20,6.3.2,链接分配,1,、 隐式链接,图,6-8,磁盘空间的链接式分配,25,1,2,3,0,5,6,7,4,9,10,11,8,13,14,15,12,17,18,19,16,21,22,23,20,25,26,27,24,29,30,31,28,file,start,end,jeep,9,25,目 录,10,1,-,1,16,21,2,、显式链接,图,6-9,显式链接结构,6.3.2,链接分配,0,1,2,3,4,5,物理块号,2,FCB,FAT,0,4,5,1,22,图,6-10 MS-DOS,的文件物理结构,2,、显式链接,6,EOF,11,10,5,EOF,0,1,2,3,4,5,6,7,8,9,FAT,FCB A,4,FCB B,9,23,6.3.3,索引分配,索引文件,为每个文件分配一个索引块(表),记录该文件的所有盘块的指针。,优点,:,*,支持直接访问;,*,不会产生外部碎片;,*,支持多级索引。,(,1,)单级索引,(,2,)多级索引,(,3,)混合索引,24,图,6-12,索引分配方式,1,、 单级索引分配,1,2,3,0,5,6,7,4,9,10,11,8,13,14,15,12,17,18,19,16,21,22,23,20,25,26,27,24,29,30,31,28,count,file,块序号,jeep,19,目 录,9,16,1,10,25,1,1,1,19,25,2,、 多级索引分配,图,6-13,两级索引分配,0,1,2,105,106,254,356,357,985,105,106,254,740,356,357,1125,985,360,740,1125,主索引,360,第二级索引,磁盘空间,26,图,6-14,混合索引方式,3,、 混合索引分配方式,(,1,)直接地址,(,2,)一次间接地址,(,3,)多次间接地址,mode,owners(2),time stamps(3),size,block count,i.addr(0),i.addr(1),direct blocks,single indirect,double indirect,triple indirect,data,data,data,data,data,data,data,data,data,data,27,6.4,目 录 管 理,目录管理的要求:,实现“按名存取”;,(2),提高对目录的检索速度;,(3),文件共享;,(4),允许文件重名。,28,6.4.1,文件控制块和索引结点,1,、文件控制块,图,6-15 MS-DOS,的文件控制块,文,件,名,扩,展,名,属,性,备,用,时,间,日,期,第,一,块,号,盘,块,数,(,1,)基本信息类, 文件名 ; 文件逻辑结构 ;, 文件物理位置 ; 文件的物理结构;,(,2,)存取控制信息类,(,3,)使用信息类,29,(,1,)磁盘索引结点,文件主标识符,文件类型,文件存取权限,文件物理地址,文件长度,文件连接计数,文件存取时间,2,、 索引结点,(,2,)内存索引结点,索引结点编号,状态,访问计数,逻辑设备号,链接指针,30,6.4.2,目录结构,1,、 单级目录结构,文件名,物理地址,文件说明,状态位,文件名,1,文件名,2,(,1,) 查找速度慢,(,2,) 不允许重名,(,3,) 不便于实现文件共享,31,2,、 两级目录,图,6-18,两级目录结构,用户名,Wang,Zhang,Gao,指向子目录指针,Wang,用户目录,Alpha,Test,Alpha,Test,Report,Test,Zhang,用户目录,Report,Test,Gao,用户目录,Beta,Device,Misx,Beta,Device,Misx,(,1,)提高了目录检索速度;,(,2,)允许文件同名;,(,3,)方便文件共享。,32,3,、多级目录结构,图,6-19,多级目录结构,A,B,C,F,E,D,1,3,A,B,D,2,G,A,4,A,C,5,6,7,10,11,J,N,K,12,J,M,K,13,A,H,F,14,15,16,b,17,18,19,20,21,a,8,9,33,6.4.3,目录查询技术,1,、线性检索法,图,6-20,查找,/usr/ast/mbox,的步骤,2,、,Hash,方法,34,6.5,文件存储空间的管理,6.5.1,空闲表法和空闲链表法,1,、空闲表法,分配算法:,*,首次适应算法,*,循环首次适应算法,*,最佳适应算法,*,最差适应算法,35,2、空闲链表法:,(,1,)空闲盘块链:,(,2,)空闲盘区链:,*,回收合并算法,6.5.1,空闲表法和空闲链表法,36,1,、位示图,利用二进制的一位来表示磁盘中一个块的使用情况。,0,:盘块空闲,,1,:盘块已分配,通常位示图可用,m*n,位,数,来构成;也可以用,二维数组,mapi,j,来表示。,6.5.2,位示法,37,2,、盘块的分配:,3,、盘块的回收:,*,扫描位示图,找到,“,0,”,位:,mapi,j=0,*,转换成盘块号:,b=n(i-1)+j,*,分配,修改位示图:,mapi,j=1,*,转换成行号:,i=(b-1) DIV n+1 j=(b-1) MOD n+1,*,回收,修改位示图:,mapi,j=0,6.5.2,位示法,38,6.5.3,成组链接法,图,6-23,空闲盘块的成组链接法,100,400,399,301,300,100,300,299,202,201,299,100,400,399,201,301,99,0,7999,7901,7900,7899,7801,7999,7901,空闲盘块号,S.free,0,1,98,99,39,文件共享与文件保护,是文件系统中的一个重要问题,,共享性,与,安全性,是一个问题的两方面。,文件共享:,是指在不同用户之间共同使用某些文件。,(,1,)是完成共同的任务的必需;,(,2,)能节省大量辅存空间和主存空间;,(,3,)减少输入,/,输出操作;,(,4,)节省用户的劳动,减少重复开发。,6.6,文件共享与文件保护,40,图,6-24,包含有共享文件的文件系统,6.6.1,基于索引节点的共享方式,A,A,B,B,B,B,B,C,C,C,C,C,根目录,?,C,C,C,41,图,6-25,基于索引结点的共享方式,6.6.1,基于索引节点的共享方式,42,图,6-26,进程,B,链接前后的情况,6.6.1,基于索引节点的共享方式,43,6.6.2,文件的保护与保密,保护:,是指使文件免遭文件主本人或其他用户由于错误的操作而使文件受到无意的破坏。,保密:,是指文件本身不得被未经文件主同意的用户访问。,影响因素:,(,1,)人为因素,(,2,)系统因素,(,3,)自然因素,安全措施:,(,1,)存取控制机制,(,2,)系统容错技术,(,3,)后备系统,44,分级安全管理:,*,系统级安全管理,*,用户级安全管理,*,目录级安全管理,*,文件级安全管理,注册,登录,用户权限,目录访问权,文件属性,45,File Attributes,Attribute,Meaning,Protection,Who can access the file and in what way,Password,Password needed to access the file,Creator,ID of the person who created the file,Owner,Current owner,Read-only flag,0 for read/write; 1 for read only,Hidden flag,0 for normal; 1 for do not display in listings,System flag,0 for normal files; 1 for system files,Archive flag,0: has been backed up; 1: need to be backed up,ASCII/binary flag,0 for ASCII file; 1 for binary file,Random access flag,0 for sequential access only; 1 for random access,46,File Attributes,Attribute,Meaning,Temporary flag,0 for normal; 1 for delete file on process exit,Lock flags,0 for unlocked; nonzero for locked,Record length,Number of bytes in a record,Key position,Offset of the key within each record,Key length,Number of bytes in the key field,Creation time,Date and time the file was created,Time of last access,Date and time the file was last accessed,Time of last change,Data and time the file has last changed,Current size,Number of bytes in the file,Maximum size,Number of bytes the file may grow to,47,6.6.3,磁盘容错技术,磁盘容错技术,是通过增加冗余的磁盘驱动器、磁盘控制器等,来提高磁盘系统的可靠性,也称为系统容错技术(,SFT,)。,1、低级磁盘容错技术(,SFT-1,):,*,双目录,*,双文件分配表,*,热修复重定向,*,写后读校验,48,6.6.3,磁盘容错技术,2、中级磁盘容错技术(,SFT-2,):,*,磁盘镜像,*,磁盘双工,*,廉价磁盘冗余阵列,3、高级磁盘容错技术(,SFT-3,):,*,磁带,*,硬盘,*,光盘,*,后备系统,完全转储方式,增量转储方式,49,图,6-27,磁盘镜像示意,磁,盘,控,制,器,主,机,通道,磁盘驱动器,图,6-28,磁盘双工示意,主,机,磁盘,控制器,磁盘,控制器,通道,通道,磁盘驱动器,50,6.7,数据一致性控制,基本概念:,*,数据一致性,*,事务,*,提交、夭折、回滚,*,原子性,*,恢复算法,*,检查点,*,并发控制,51,第六章 文件管理,*,了解文件及文件系统的基本概念;,*,了解文件的逻辑及物理存储结构;,*,掌握文件存储空间管理的常用方法;,*,了解数据一致性的概念,以及控制方式。,52,question ?,本章习题:,第六章 文件管理,1,、,4,、,7,、,10,、,13,、,19,、,23,、,30,53,
展开阅读全文