资源描述
单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,第七章 文件系统,操作系统中与文件和目录相关的子系统称为,文件系统。,1.文件的概念,1.1 文件的定义,文件,是 指具有一定名称的一组相关数据的集合。,指具有符号名的数据项的集合(命名了的字符,串或相关记录的集合)。,文件通常存在外存介质上(如磁盘、光盘等)。,1.2 文件命名,文件名,是方便用户使用的特定的名称,常为字母数字串。,命名机制,文件名长度 区分大小写(敏感性),字符集 文件名后缀,1.3 文件组成,文件体(文件数据),指文件的正文部分,即文件包含的,数据,用户要保存的有效信息部分。,文件说明(文件属性,文件控制块),指操作系统用来管理,文件的、关于文件本身的说明或属性信息,用来描述文件的,元信息(如创建时间、长度等),是一个用于记载标识、定位、,说明和存取控制等有关信息组成的数据结构。常用文件属性,有:,文件名称 内部标识,物理位置 用户名(文件拥有者),存取权限(文件权限)文件类型,文件时间,1.4 文件分类,按性质与用途分类,系统文件 库文件 用户文件,按文件的管理方式分类,普通文件 目录文件 特别文件(设备文件),按施加的保护分类(文件权限),只读文件 读写文件,可执行文件 不保护文件,2.文件的结构及其存取方法,文件结构,是指文件的组织方式,表现为逻辑结构和物理结构。,2.1 逻辑结构,用户可以直接处理的文件的数据及其结构,即,用户角度的文件结构,分两类:,(字符)流式文件,记录(流)式文件,0,1,2,字节地址,流式文件,R0,R1,R2,0,1,2,l0,R0,l1,R1,l,l,l,固定长,记录式文件,可变长,记录式文件,l0,l1,2.2 物理结构,指文件在外存上的具体存储结构,亦称为存,储结构,即系统角度的文件结构。由于磁盘常作文件存储器,,故以下讨论以磁盘为例。,块的概念,磁盘上信息存取的基本单位称为,物理记录,,通,常为一个扇区的大小,又称为,物理块或盘块,;所有文件均可,视为记录式文件,其存取信息的基本单位称为,逻辑记录,(为,讨论方便限定为固定长记录),按物理块同样尺寸对文件划,块,称为,逻辑块(或相对块),。,示例,设物理块长度为PBL,某固定长l的记录式文件,求,其记录i(Ri)所在相对块号及块内偏移。,令RBN为记录i所在相对块号,LBA为记录i按字节编址的,首地址,则:,LBA=i*l RBN=LBA/PBL,PBO=LBA mod PBL,连续(顺序)文件与连续空间分配,指一个文件的信息,存放在磁盘的若干连续的物理块上,该文件称为,连续文件或,顺序文件(纸带输入机,磁带机上的文件 也称为连续或顺序,文件),相应磁盘空间的分配策略称为,连续空间分配,,该分,配类似与主存空间的可变分区分配。,物理结构表示,文件起始物理块号及占据物理块的总数记入,文件控制块。,0,15,16,31,磁盘空间,文件名,起始块号,长度,A,2,2,B,8,4,T,21,4,文件说明(目录),连接(串联)文件与链接空间分配,指一个文件的信息散,布在磁盘的若干不相连续物理块上,这些物理块通过指针相,连(用每一物理块的最后一个单元作指针,存放下一物理块,号),该文件称,链接文件或串联文件,,相应的磁盘空间分配,策略称为,链接空间分配,。,物理结构表示,文件的起始物理块号与尾块号记入文件控制,块。,7,9,-1,20,13,24,5,-1,26,-1,0,15,16,31,磁盘空间,文件名,起始块号,尾块号,A,3,7,B,15,20,T,11,26,文件说明(目录),索引文件与索引空间分配,指一个文件的信息散布在磁盘,的若干物理块上,同时建立一个索引表块,表中各项登记文,件占有的按逻辑块号排列的各物理块号,该文件称为,索引文,件,,相应磁盘空间分配策略称为,索引空间分配,。,物理结构表示,文件的索引表块记入文件控制块。,0,15,16,31,磁盘空间,文件名,索引表,A,2,B,9,T,29,文件说明(目录),8,24,物理块2内容:4,7,-1,物理块9内容:13,11,17,19,-1,物理块29内容:27,24,25,22,-1,多级索引文件与组合空间分配,指一个文件的索引表很,大而使得一个物理块远远不能容纳,则索引表本身可视为一,个文件,通过另一级索引来查找,该文件称为,多级索引文件,,相应磁盘空间分配策略称为,组合空间分配,。,物理结构表示,文件控制块内设置多级索引结构(通称为,节点)。,直接0,直接1,直接2,直接3,直接4,直接5,直接6,直接7,直接8,直接9,一次间接,二次间接,三次间接,示例,设物理块尺寸为1K,一个物理块号占32位(4个字节)、则一,个索引块可放256个物理块号。,直接寻址方式,当文件的逻辑块数小于等于10时,由直接地址项给出,物理块号。,若进程访问某文件偏移量为9000的数据,则其相对块(逻辑块)号,为9000/1024=8,可由直接8中读出相应物理块号(块内偏移为808)。,(一次)间接寻址方式,当文件的逻辑块数大于10而不超过10+256时,,由一次间接地址项给出索引表块的物理块号,相当于一级索引。,若进程访问某文件偏移量为14000字节的数据,则其相对块(逻辑块),号为14000/1024=13,块内偏移为688,由一级索引表下标(13-,10=3)处读出相应的物理块号为952。,多次间接寻址方式,当文件的逻辑块数266且=10+256+256*256=65802块,采用二次间,址;若大于65802时采用三次间址。寻址范围可达64MB和16GB(实际只,能到4GB)。,直接0,直接1,直接2,直接3,直接4,直接5,直接6,直接7,直接8(367#),直接9,一次间接(428#),二次间接(9156#),三次间接,/,367#,808,952,428#,/,952#,688,2.3 存取方式,指用户使用文件时按何种次序存取文件,即,操作系统提供给用户的使用文件的手段。存取方法与文件物,理组织密切相关,又取决于用户使用。,顺序存取(顺序访问),制按记录的逻辑顺序进行读/写操,作,或按从前到后的顺序进行。,直接存取(随即访问),指按任意次序直接读/写某个记录,,而不涉及前面的记录。,索引存取(按键访问,索引访问),指按文件记录的某个,数据项(称为键)的值存取记录。,2.4 物理结构,设备和存取方法 存取方法取决于物理结构及使,用方法,物理结构受存储介质即设备的影响。,存储介质,磁盘,磁带,文件类型,(物理结构),连续文件,串联文件,索引文件,连续文件,记录长度,固定,固定/可变,固定/可变,固定/可变,存取方法,直接/顺序,顺序,直接/顺序,顺序,3.文件的目录,3.1 基本概念和功能,文件目录,即文件名址录,指一张记录所用文件的名字及,其存放地址的目录表,并包括文件的控制信息,即文件说明,的集合。,基本功能,指通过文件名可快速方便地获取文件属性信息。,实现“按名存取”。提高检索速度。,允许文件同名。允许文件共享。,3.2 目录的结构,指目录的逻辑结构。,单级目录(一级目录)结构,为文件存储器中的所有文件,设立一张目录表,其中包含全部文件的文件说明。建立文件,时在该表中申请一个空表项并填写有关信息,删除文件时将,相应的表项置空即可。一级目录按卷(一盘磁带,一个磁盘,组或一个软盘片)构造并保存在文件存储器的固定区域。,文件访问,按文件名从目录表中查找相应文件控制块,经,合法性检查后执行相应操作。,文件名,逻辑结构,物理地址,其它,SQRT,TEST,ABC,单级目录,二级目录结构,设置二级目录,第一级目录为主文件目,录,用于管理所有用户文件,其目录项登记用户名及用户文,件子目录的地址;第二级目录为用户文件目录,保存用户各,文件的文件控制块。增加新用户则从主文件目录申请一个空,表项;删除用户则置空主文件目录中相应表项。,文件访问,通过主文件目录进行用户合法性检查,实现文,件的保护。,ZHANG,WANG,SQRT,TEST,ALPH,ABC,TEST,ZHANG,WANG,多级目录结构,亦称树结构目录,设立一个主目录及多个,分目录,目录项可指向一个文件或下一级分目录,主目录亦,称为,根目录,,文件检索或定位采用,文件路径名,,即由根目录,到该文件通路上所有目录名与该文件的符号名顺序拼接构成。,文件访问,通过文件的路径名进行。,A,B,C,A,B,D,F,E,D,G,A,A,C,J,N,K,J,M,K,F,H,主目录,4.文件存储空间的管理,4.1 空白文件目录法,磁盘中一个连续的未分配的区域或若,干连续物理块称为一个,空白文件或自由文件,。系统为所有空,白文件单独建立一个目录,称为,空白文件目录,,每个目录项,对应一个空白文件,其内容包括该空白文件第一个物理块地,址(物理块号)及空白物理块数。,分配与回收,分配时依次扫描空白文件目录直至找到一个,合适大小的空白文件;撤消文件时,系统回收文件空间并在,空白文件目录中申请一个目录项添入。,序号,第一个空白块号,空白块个数,物理块号,1,2,4,(2,3,4,5),2,9,3,(9,10,11),3,15,5,(15,16,17,18,19),4.2 位示图法,设置字位映像表即一系列二进位的值,来反,映磁盘空间的使用情况,又称为位向量或位矢量法。其中每,一位对应一个物理块,若物理块空闲,对应值为0;否则为1。,分配与回收,只将位示图中的位与物理块相对应。,1,1,0,0,0,1,1,1,0,0,1,0,1,1,1,0,0,1,0,1,0,0,0,1,1,1,0,0,0,0,1,1,1,0,1,1,1,1,0,0,0,0,1,1,1,0,0,0,1,0,0,0,1,1,1,1,0,0,0,0,0,1,1,1,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,0,1,2,3,位示图,4.3 空闲块链接法及其改进,将所有空闲块链接在一起形成,一个空闲块串联文件,系统保存第一个块的地址即指针,每,一空闲块包含指向下一空闲的指针。,分配与回收,分配时由链头取一块并修改指针;回收插,回链中。,方法改进空闲块成组链接法,将空白块分成组,用,指针将组与组链接起来。,示例,假设某系统初始时,文件存储空间全为空白块,其物,理块号为12#-449#(共438块)。,分组办法,从尾部开始倒着向前分组,末端第一组为99块,,随后每组100块,每组总块数及相应的块号登记在前一组的第,一块上,最后一组不足100块,其总块数及各块块号登记在卷,资源表中,卷资源表所在盘块为,超级块,,是系统专用块。另,外末端第一组总数为99,但在前一组第一块0号单元中仍登记,为100且在1号单元中填0,用作文件卷卷尾标志,表示没有空,闲块可供分配。,系统初始是顺序分组,但随着不断的分配与回收,各分组,内就不再是顺序的。,449,351,:,:,100,0,449,:,351,350,349,251,:,:,250,249,151,:,:,150,149,51,:,:,50,100,350,349,:,251,49,12,:,:,超级块,100,250,249,:,151,100,150,149,:,51,39,50,49,:,12,分配过程,系统启动后就将超级块内的资源表装入特定主,存空间,并按栈结构进行工作。,39,50,49,:,12,超级块,s_nfree,s_free0,s_free1,s_free38,ptr=s_nfree,ptr=ptr-1,ptr=0,s_freeptr,=0,卷尾标志,无空白块可供分配,相关处理,n=s_freepr,将物理块0的内容,读入栈作为资源表,将物理块n分配,n=s_freeptr,s_nfree=ptr,Y,Y,N,N,回收过程,(回收物理块n),ptr=s_nfree,pt
展开阅读全文