1、1,2018年4月23日星期一,北京交通大学计算机学院 翟高寿,主讲教师:杨武杰联系电话:13552127501 电子邮件: ,操作系统,2,2018年4月23日星期一,北京交通大学计算机学院 翟高寿,第六章 文件管理,6.1 文件和文件系统6.2 文件的逻辑结构6.3 外存分配方式6.4 文件存储空间管理6.5 目录管理6.6 文件共享与保护6.7 数据一致性控制,3,2018年4月23日星期一,北京交通大学计算机学院 翟高寿,6.1 文件和文件系统,6.1.1 文件管理目标及功能6.1.2 文件、记录和数据项6.1.3 文件类型6.1.4 文件系统模型6.1.5 文件操作,4,2018年4
2、月23日星期一,北京交通大学计算机学院 翟高寿,文件管理目标及功能,文件管理目标方便用户、保证安全存取快速、资源利用文件管理功能管理在外存上的文件提供文件存取、共享和保护手段文件系统技术手段分析目录、索引结点、“结构” 优化存取控制矩阵、容错技术,5,2018年4月23日星期一,北京交通大学计算机学院 翟高寿,6.1 文件和文件系统,6.1.1 文件管理目标及功能6.1.2 文件、记录和数据项6.1.3 文件类型6.1.4 文件系统模型6.1.5 文件操作,6,2018年4月23日星期一,北京交通大学计算机学院 翟高寿,文件、记录和数据项,7,2018年4月23日星期一,北京交通大学计算机学院
3、 翟高寿,6.1 文件和文件系统,6.1.1 文件管理目标及功能6.1.2 文件、记录和数据项6.1.3 文件类型6.1.4 文件系统模型6.1.5 文件操作,8,2018年4月23日星期一,北京交通大学计算机学院 翟高寿,文件类型,为方便文件存取及管理控制而引入按文件性质与用途分类系统文件、用户文件、库文件按文件中的数据形式分类源文件、目标文件、可执行文件按存取控制属性分类只执行文件、只读文件、读写文件按文件逻辑/物理结构分类,常对应扩展名,9,2018年4月23日星期一,北京交通大学计算机学院 翟高寿,6.1 文件和文件系统,6.1.1 文件管理目标及功能6.1.2 文件、记录和数据项6.
4、1.3 文件类型6.1.4 文件系统模型6.1.5 文件操作,10,2018年4月23日星期一,北京交通大学计算机学院 翟高寿,文件系统模型,11,2018年4月23日星期一,北京交通大学计算机学院 翟高寿,6.1 文件和文件系统,6.1.1 文件管理目标及功能6.1.2 文件、记录和数据项6.1.3 文件类型6.1.4 文件系统模型6.1.5 文件操作,12,2018年4月23日星期一,北京交通大学计算机学院 翟高寿,文件操作,创建/删除文件读/写文件截断文件设置文件读/写位置文件描述符、文件读写指针文件指针打开/关闭文件内存打开文件表、用户文件描述符表文件属性设置与获取目录操作、文件共享及
5、其它操作,13,2018年4月23日星期一,北京交通大学计算机学院 翟高寿,UNIX文件描述符表与文件表,A进程U区,文件表,内存索引结点,B进程U区,14,2018年4月23日星期一,北京交通大学计算机学院 翟高寿,6.1 文件和文件系统,6.1.1 文件管理目标及功能6.1.2 文件、记录和数据项6.1.3 文件类型6.1.4 文件系统模型6.1.5 文件操作,15,2018年4月23日星期一,北京交通大学计算机学院 翟高寿,作业题,6.1 阐述文件管理的目标、功能及技术手段,并就文件系统层次结构模型进行讨论。6.2 分别就数据项、记录、关键字和文件的概念进行解释,并就文件的分类展开讨论。
6、6.3 通常,文件系统应提供哪些基本文件操作类型?并就其功能实现分别进行简要说明。,16,2018年4月23日星期一,北京交通大学计算机学院 翟高寿,第六章 文件管理,6.1 文件和文件系统6.2 文件的逻辑结构6.3 外存分配方式6.4 文件存储空间管理6.5 目录管理6.6 文件共享与保护6.7 数据一致性控制,17,2018年4月23日星期一,北京交通大学计算机学院 翟高寿,6.2 文件的逻辑结构,6.2.1 文件逻辑结构及设计要求6.2.2 文件逻辑结构类型6.2.3 顺序文件6.2.4 索引文件6.2.5 索引顺序文件,18,2018年4月23日星期一,北京交通大学计算机学院 翟高寿
7、,文件逻辑结构及设计要求,提高检索效率文件记录或数据检索速度及效率方便修改文件记录或数据的增、删、修改降低文件存储成本减少文件占用存储空间摒弃存储空间连续性要求,?,19,2018年4月23日星期一,北京交通大学计算机学院 翟高寿,6.2 文件的逻辑结构,6.2.1 文件逻辑结构及设计要求6.2.2 文件逻辑结构类型6.2.3 顺序文件6.2.4 索引文件6.2.5 索引顺序文件,20,2018年4月23日星期一,北京交通大学计算机学院 翟高寿,文件逻辑结构的类型,有结构文件(记录式文件)定长记录和不定长记录顺序文件索引文件索引顺序文件无结构文件基于读写指针和字符进行存取,21,2018年4月
8、23日星期一,北京交通大学计算机学院 翟高寿,6.2 文件的逻辑结构,6.2.1 文件逻辑结构及设计要求6.2.2 文件逻辑结构类型6.2.3 顺序文件6.2.4 索引文件6.2.5 索引顺序文件,22,2018年4月23日星期一,北京交通大学计算机学院 翟高寿,顺序文件,逻辑记录的排序串结构与顺序结构顺序文件读写操作读写指针RWptr对应记录逻辑地址定长记录 RWptr += recordLength变长记录 RWptr += currentRecordLength顺序文件评析适于批量存取及磁带介质交互应用场合单个记录操作低效,与关键字次序一致与否,解决方案?,23,2018年4月23日星期
9、一,北京交通大学计算机学院 翟高寿,顺序文件直接存取分析,24,2018年4月23日星期一,北京交通大学计算机学院 翟高寿,6.2 文件的逻辑结构,6.2.1 文件逻辑结构及设计要求6.2.2 文件逻辑结构类型6.2.3 顺序文件6.2.4 索引文件6.2.5 索引顺序文件,25,2018年4月23日星期一,北京交通大学计算机学院 翟高寿,索引文件组织及检索机制,26,2018年4月23日星期一,北京交通大学计算机学院 翟高寿,6.2 文件的逻辑结构,6.2.1 文件逻辑结构及设计要求6.2.2 文件逻辑结构类型6.2.3 顺序文件6.2.4 索引文件6.2.5 索引顺序文件,27,2018年
10、4月23日星期一,北京交通大学计算机学院 翟高寿,索引顺序文件组织及检索机制,28,2018年4月23日星期一,北京交通大学计算机学院 翟高寿,索引顺序文件检索效率分析,对于拥有N条记录的主数据文件,若基于顺序查找法来检索具有指定关键字的记录,不同文件组织方式下的系统检索开销比较顺序文件组织方式 (N+1)/2条索引文件组织方式 (N+1)/2条索引顺序文件组织方式 sqrt(N)+1条 分组大小 sqrt(N)条记录举例说明(N=10000),29,2018年4月23日星期一,北京交通大学计算机学院 翟高寿,基于多级索引的索引顺序文件,建立多级索引以进一步提高检索效率举例说明(N=106)索
11、引顺序文件组织方式 检索开销 1001条 分组大小 1000 条记录两级索引顺序文件组织方式 主文件分组大小 100 条记录CubicRoot(N) 低级索引表分组大小 100 条记录CubicRoot(N) 检索开销 151.5条1.5*CubicRoot(N)+1.5,30,2018年4月23日星期一,北京交通大学计算机学院 翟高寿,6.2 文件的逻辑结构,6.2.1 文件逻辑结构及设计要求6.2.2 文件逻辑结构类型6.2.3 顺序文件6.2.4 索引文件6.2.5 索引顺序文件,31,2018年4月23日星期一,北京交通大学计算机学院 翟高寿,作业题,6.4 什么是文件的逻辑结构?其基
12、本设计要求是什么?并就主要的文件逻辑结构类型特别是顺序文件、索引文件、索引顺序文件等展开简明扼要的说明和讨论。,32,2018年4月23日星期一,北京交通大学计算机学院 翟高寿,第六章 文件管理,6.1 文件和文件系统6.2 文件的逻辑结构6.3 外存分配方式6.4 文件存储空间管理6.5 目录管理6.6 文件共享与保护6.7 数据一致性控制,33,2018年4月23日星期一,北京交通大学计算机学院 翟高寿,6.3 外存分配方式,6.3.1 文件物理结构与外存分配6.3.2 连续分配6.3.3 链接分配6.3.4 索引分配6.3.5 直接文件和散列文件,34,2018年4月23日星期一,北京交
13、通大学计算机学院 翟高寿,文件物理结构与外存分配,文件物理结构(存储结构)文件在外存上的存储组织形式外存空间分配方法设计目标空间利用及文件访问速度外存分配方式与文件物理结构连续分配顺序文件结构链接分配链接式文件结构索引分配索引式文件结构直接文件与散列文件,35,2018年4月23日星期一,北京交通大学计算机学院 翟高寿,6.3 外存分配方式,6.3.1 文件物理结构与外存分配6.3.2 连续分配6.3.3 链接分配6.3.4 索引分配6.3.5 直接文件和散列文件,36,2018年4月23日星期一,北京交通大学计算机学院 翟高寿,连续分配示意图,file start lengthcount 0
14、 2 tr 14 3 mail 19 6 list 28 4 f 6 2,文件目录,37,2018年4月23日星期一,北京交通大学计算机学院 翟高寿,连续分配评析,外部碎片问题磁盘空间分割后形成的较小的无法存储文件的连续区紧凑方法主要优点顺序访问容易且速度快支持直接存取主要缺点要求有连续的存储空间,空间利用率低必须事先知道文件的长度,38,2018年4月23日星期一,北京交通大学计算机学院 翟高寿,6.3 外存分配方式,6.3.1 文件物理结构与外存分配6.3.2 连续分配6.3.3 链接分配6.3.4 索引分配6.3.5 直接文件和散列文件,39,2018年4月23日星期一,北京交通大学计算
15、机学院 翟高寿,链接分配,基本思想支持离散分配方式,通过盘块上的指针实现同一文件多个离散盘块的链接优点评析消除了外部碎片,外存空间利用率高按需分配,且无需事先知道文件长度支持文件动态增长,方便文件增删改链接方式隐式链接/显式链接,40,2018年4月23日星期一,北京交通大学计算机学院 翟高寿,隐式链接示意图,41,2018年4月23日星期一,北京交通大学计算机学院 翟高寿,隐式链接问题及对策,主要问题只适合顺序访问,对随机存取极其低效仅通过链接指针实现离散各盘块的链接,只要其中任何一个指针出现问题,都会导致整条链的断开,所以可靠性较差为了提高检索速度和减少指针所占用的存储空间,可将几个盘块组
16、成一个簇,以簇为单位进行盘块分配缺点:内部碎片增大,42,2018年4月23日星期一,北京交通大学计算机学院 翟高寿,显式链接与文件分配表FAT,0,1,2,3,4,5,6,7,8,9,10,11,FCB A,FCB B,盘块号,文件分配表FAT,物理地址,物理地址,43,2018年4月23日星期一,北京交通大学计算机学院 翟高寿,文件分配表空间开销计算,设定盘块大小为1KB对于1.2MB的软盘,共有盘块1.2MB/1KB = 1.2K (28, 212) 故文件分配表表项取12位即1.5B 所以FAT共需空间1.2K1.5B = 1.8KB对于200MB的硬盘,共有盘块200MB/1KB =
17、 200K (216, 220) 故文件分配表表项取20位即2.5B 所以FAT共需空间200K2.5B = 500KB,44,2018年4月23日星期一,北京交通大学计算机学院 翟高寿,6.3 外存分配方式,6.3.1 文件物理结构与外存分配6.3.2 连续分配6.3.3 链接分配6.3.4 索引分配6.3.5 直接文件和散列文件,45,2018年4月23日星期一,北京交通大学计算机学院 翟高寿,索引分配的引入及基本思想,链接分配方式的缺陷不能支持高效地直接存取若对一个较大的文件进行直接存取,须首先在FAT中顺序地查找许多盘块号FAT占用内存空间较大及文件所占盘块号随机基本思想文件打开仅须把
18、该文件所占用盘块编号调入内存即可,故可将每个文件所对应的盘块号集中地存放一个所谓的索引块中,形成一个索引表索引块文件文件目录项索引块指针对于小文件,索引块利用率极低,46,2018年4月23日星期一,北京交通大学计算机学院 翟高寿,索引分配示意图,47,2018年4月23日星期一,北京交通大学计算机学院 翟高寿,两/多级索引分配,基本思想对于太大的文件和索引块太多时,直接用链接指针来链接索引块的方法显然是低效的,为此应引入多级索引分配方式允许文件最大长度两级索引、盘块大小1KB、盘块号占4B则一个索引块可含 1KB/4B=256个盘块号,于是两级索引最多可含256256 = 64K个盘块号,允
19、许文件最大长度为64MB,48,2018年4月23日星期一,北京交通大学计算机学院 翟高寿,混合分配方式示意图,49,2018年4月23日星期一,北京交通大学计算机学院 翟高寿,混合分配方式(UNIX系统),直接寻址直接地址项存放对应文件数据的盘块的盘块号盘块大小4KB、盘块号占4B,则支持长度在4KB10 = 40KB以内的文件一次间接寻址i.addr(10)指向对应文件的一级索引块一级索引块可含4KB/4B = 1K个盘块号,故支持长度在(4KB1K=4MB)+40KB 以内的文件多次间接寻址i.addr(11)、 i.addr(12)分别指向对应文件的两级索引块和三级索引块,所以支持文件
20、长度可达(4KB1K1K 1K=4TB)+(4KB1K1K=4GB)+4MB+40KB,50,2018年4月23日星期一,北京交通大学计算机学院 翟高寿,UNIX文件操作地址转换过程,将字节偏移量转换为文件逻辑盘块号LogicBlk# = Offset / SizeOfBlk将逻辑盘块号转换为物理盘块号确定物理盘块号所在地址项或索引盘块确定物理盘块号所在索引盘块及位置举例说明Offset 9000B = LogicBlk# 8 = i.addr(8)Offset 14000B = LogicBlk# 13 = 对应i.addr(10)的索引盘块中的第3个盘块号,51,2018年4月23日星期一
21、,北京交通大学计算机学院 翟高寿,6.3 外存分配方式,6.3.1 文件物理结构与外存分配6.3.2 连续分配6.3.3 链接分配6.3.4 索引分配6.3.5 直接文件和散列文件,52,2018年4月23日星期一,北京交通大学计算机学院 翟高寿,直接文件和散列文件,直接文件记录键值 = 物理地址散列文件(Hash文件)散列函数及目录表,目录表,键值K,H(K),散列函数,物理块号,0,1,2,3,4,5,6,201#,346#,块因子?,53,2018年4月23日星期一,北京交通大学计算机学院 翟高寿,6.3 外存分配方式,6.3.1 文件物理结构与外存分配6.3.2 连续分配6.3.3 链
22、接分配6.3.4 索引分配6.3.5 直接文件和散列文件,54,2018年4月23日星期一,北京交通大学计算机学院 翟高寿,作业题,6.5 什么是文件的物理结构?其基本设计要求是什么?并就主要的文件物理结构类型及外存分配方式展开简明扼要的说明和讨论。,55,2018年4月23日星期一,北京交通大学计算机学院 翟高寿,第六章 文件管理,6.1 文件和文件系统6.2 文件的逻辑结构6.3 外存分配方式6.4 文件存储空间管理6.5 目录管理6.6 文件共享与保护6.7 数据一致性控制,56,2018年4月23日星期一,北京交通大学计算机学院 翟高寿,6.4 文件存储空间管理,6.4.1 管理目标与
23、技术要领6.4.2 空闲表法6.4.3 空闲链表法6.4.4 位示图法6.4.5 成组链接法,57,2018年4月23日星期一,北京交通大学计算机学院 翟高寿,管理目标与技术要领,文件存储空间管理目标外存空间利用与文件访问速度文件存储空间管理技术要领连续分配与离散分配优劣各异文件物理结构与存储组织方式分配以掌握空间使用情况为前提存储空间使用情况数据结构存储空间的分配与回收基本分配单位为磁盘块,58,2018年4月23日星期一,北京交通大学计算机学院 翟高寿,6.4 文件存储空间管理,6.4.1 管理目标与技术要领6.4.2 空闲表法6.4.3 空闲链表法6.4.4 位示图法6.4.5 成组链接
24、法,59,2018年4月23日星期一,北京交通大学计算机学院 翟高寿,空闲表法,属于连续分配方式空闲盘区的分配首次适应算法循环首次适应算法最佳适应算法最坏适应算法空闲盘区的回收考虑回收区域插入点前后盘块区是否相邻接,相邻则予合并,空闲盘块(区)表,适用场合?,60,2018年4月23日星期一,北京交通大学计算机学院 翟高寿,6.4 文件存储空间管理,6.4.1 管理目标与技术要领6.4.2 空闲表法6.4.3 空闲链表法6.4.4 位示图法6.4.5 成组链接法,61,2018年4月23日星期一,北京交通大学计算机学院 翟高寿,空闲链表法,将所有空闲盘块区拉成一条空闲链空闲盘块链 以盘块为基本
25、元素链接 分配与回收空闲盘区链 以盘区为基本元素链接,且每个盘区除含有指示下一个盘块区的指针外,还应标有指明本盘区大小的信息 分配与回收 为提高对空闲盘区的检索速度,可采用显式链接方式,62,2018年4月23日星期一,北京交通大学计算机学院 翟高寿,6.4 文件存储空间管理,6.4.1 管理目标与技术要领6.4.2 空闲表法6.4.3 空闲链表法6.4.4 位示图法6.4.5 成组链接法,63,2018年4月23日星期一,北京交通大学计算机学院 翟高寿,位示图,利用位示图(即二维数组Mapm, n)的一位(0/1)来表示磁盘中一个盘块的使用情况,磁盘上所有盘块都与一个二进制位相对应,64,2
26、018年4月23日星期一,北京交通大学计算机学院 翟高寿,盘块的分配,Var Map: array 1.m, 1.n of bit;顺序扫描位示图,找出一个或一组其值均为空闲的二进制位将所找到的一个或一组二进制位Mapi, j的行/列号转换为与之对应的盘块号b:b = n(i-1) + j-1按盘块号分配盘块,同时修改位示图,65,2018年4月23日星期一,北京交通大学计算机学院 翟高寿,盘块的回收,将回收盘块的盘块号b转换为位示图中的行号i和列号j:i = b DIV n + 1;j = b MOD n + 1;按盘块号回收盘块根据回收盘块对应二进制位的行/列号修改位示图,66,2018年
27、4月23日星期一,北京交通大学计算机学院 翟高寿,6.4 文件存储空间管理,6.4.1 管理目标与技术要领6.4.2 空闲表法6.4.3 空闲链表法6.4.4 位示图法6.4.5 成组链接法,67,2018年4月23日星期一,北京交通大学计算机学院 翟高寿,成组链接法,0,1,98,99,空闲盘块号栈,S.free,201#,299#,300#,399#,400#,7900#,7899#,7999#,301#,7801#,7901#,68,2018年4月23日星期一,北京交通大学计算机学院 翟高寿,空闲盘块的分配,检查空闲盘块号栈是否上锁:如未上锁,则从栈顶取出一空闲盘块号,若其不是栈底S.f
28、ree(0)即空闲盘块号数N1,则将其对应盘块分配给用户,然后将栈顶指针下移一格,亦即做N的减1操作若其是栈底S.free(0)即N=1且其值为0,则分配失败返回;否则调用磁盘读过程,将栈底盘块号所对应盘块的内容读入栈中作为新的空闲盘块号栈的内容,同时将该盘块号对应的盘块分配给用户如上锁,则等待分配盘块缓冲,然后返回,69,2018年4月23日星期一,北京交通大学计算机学院 翟高寿,空闲盘块的回收,检查空闲盘块号栈,若未上锁:若栈中空闲盘块号数N100即栈未满,则执行空闲盘块号数N的加1操作,并将回收盘块的盘块号记入空闲盘块号栈的栈顶否则,若栈中空闲盘块号数N已达100即栈已满,应将空闲盘块号
29、栈的当前内容包括盘块数及所有盘块号记入新回收的盘块中,同时将新回收盘块的盘块号作为S.free(0)即栈底,并置空闲盘块号栈的空闲盘块数N为1返回否则已上锁,等待,70,2018年4月23日星期一,北京交通大学计算机学院 翟高寿,UNIX文件卷组织结构,系统引导块 0#用于系统引导或空闲超级块 1#文件系统结构信息(盘块及磁盘索引结点)磁盘索引结点块 2# K#存放磁盘索引结点文件数据块 (K+1)# N#存放文件数据,71,2018年4月23日星期一,北京交通大学计算机学院 翟高寿,6.4 文件存储空间管理,6.4.1 管理目标与技术要领6.4.2 空闲表法6.4.3 空闲链表法6.4.4
30、位示图法6.4.5 成组链接法,72,2018年4月23日星期一,北京交通大学计算机学院 翟高寿,作业题,6.6 文件存储空间管理的基本目标是什么?关于空闲存储空间的管理通常可基于哪些数据结构及方法进行描述和管理?并逐一进行简要说明。,73,2018年4月23日星期一,北京交通大学计算机学院 翟高寿,第六章 文件管理,6.1 文件和文件系统6.2 文件的逻辑结构6.3 外存分配方式6.4 文件存储空间管理6.5 目录管理6.6 文件共享与保护6.7 数据一致性控制,74,2018年4月23日星期一,北京交通大学计算机学院 翟高寿,6.5 目录管理,6.5.1 目录管理基本要求6.5.2 文件控
31、制块6.5.3 索引结点6.5.4 目录结构6.5.5 目录查询技术,75,2018年4月23日星期一,北京交通大学计算机学院 翟高寿,目录管理功能及要求,目录引入理由文件的有效管理与组织要求基于文件名便能快速、准确地找到指定文件文件目录管理的功能及要求实现“按名存取”(文件名外存地址)提高目录检索速度及文件存取速度文件共享(外存保留一份文件副本)允许文件重名,以便于文件使用,76,2018年4月23日星期一,北京交通大学计算机学院 翟高寿,6.5 目录管理,6.5.1 目录管理基本要求6.5.2 文件控制块6.5.3 索引结点6.5.4 目录结构6.5.5 目录查询技术,77,2018年4月
32、23日星期一,北京交通大学计算机学院 翟高寿,文件控制块,基本概念文件文件控制块文件目录项文件目录文件控制块有序集合目录文件主要信息内容基本信息(文件名、物理位置、结构类型)存取控制信息(各类用户存取权限)使用信息(建立/上次修改日期及时间) 当前使用信息(当前已打开该文件的进程数、是否被其它进程锁住、文件在内存是否已修改但尚未拷贝到盘上),78,2018年4月23日星期一,北京交通大学计算机学院 翟高寿,MS-DOS文件控制块内容一览,文件控制块长度为32字节文件名及文件扩展名共11个字符对于360KB的软盘,总共含有112个FCB,故占有4KB的存储空间,79,2018年4月23日星期一,
33、北京交通大学计算机学院 翟高寿,6.5 目录管理,6.5.1 目录管理基本要求6.5.2 文件控制块6.5.3 索引结点6.5.4 目录结构6.5.5 目录查询技术,80,2018年4月23日星期一,北京交通大学计算机学院 翟高寿,索引结点的引入,必要性文件目录存放在磁盘上,且可能要占用大量盘块N ,检索开销很大(盘块调入次数 N+1 /2 )可行性只有文件名对目录检索有用,索引结点(i结点)集合,UNIX文件目录,81,2018年4月23日星期一,北京交通大学计算机学院 翟高寿,索引结点检索开销分析,举例说明盘块大小1KB,文件目录共3200个FCB引入索引结点前FCB占64B,每盘块包含1
34、6个FCB,文件目录共需占用200个盘块,故查找一个文件平均需启动磁盘100.5次引入索引结点后目录项仅占16B(文件名和索引结点指针分别占用14B和2B),每盘块包含64个目录项,文件目录共需占用50个盘块,故查找一个文件平均需启动磁盘25.5+1次,82,2018年4月23日星期一,北京交通大学计算机学院 翟高寿,磁盘索引结点与内存索引结点,磁盘索引结点文件磁盘索引结点主要内容(文件主标识、文件类型、文件存取权限、文件长度、文件存取时间、文件物理地址、文件连接计数)内存索引结点文件打开时对磁盘索引结点在内存的拷贝专有内容(索引结点编号、索引结点状态、索引结点访问计数、文件所述文件系统逻辑设
35、备号、空闲链表/散列队列指针),83,2018年4月23日星期一,北京交通大学计算机学院 翟高寿,6.5 目录管理,6.5.1 目录管理基本要求6.5.2 文件控制块6.5.3 索引结点6.5.4 目录结构6.5.5 目录查询技术,84,2018年4月23日星期一,北京交通大学计算机学院 翟高寿,单级目录结构,文件创建目录检索申请空目录项属性设置文件删除目录检索外存空间回收目录项回收缺点查找速度慢、不允许重名、不便于文件共享,85,2018年4月23日星期一,北京交通大学计算机学院 翟高寿,两级目录结构示意图,Zhai用户目录,Gao用户目录,Shou用户目录,Alpha,Test,Beta,
36、Device,Misx,Report,Test,主文件目录MFD,86,2018年4月23日星期一,北京交通大学计算机学院 翟高寿,两级目录结构评析,优点提高了目录检索速度 MFD含n个UFD,UFD最多有m个目录项,则为找到指定文件最多需检索n+m个目录项;对于单级目录结构,最多需检索nm个目录项不同用户目录可使用相同的文件名不同用户可用不同名称访问同一共享文件缺点用户隔离不便于文件共享和用户间协作,87,2018年4月23日星期一,北京交通大学计算机学院 翟高寿,树型目录结构示意图,1,6,2,3,4,5,12,13,14,7,8,9,10,11,15,16,18,19,21,22,20,
37、17,23,88,2018年4月23日星期一,北京交通大学计算机学院 翟高寿,树型目录结构实现机制及评析,路径名(绝对路径名)从根目录到各数据文件之间只有唯一的通路,该路径上的全部目录文件名与数据文件名用“/”连接形成特定数据文件的路径名相对路径名当前目录(工作目录)从当前目录开始逐级通过中间目录文件最后到达所访问数据文件的路径名称为相对路径名目录增删目录检索作为第一步目录删除处理方法(是否允许删除非空目录)满足目录管理的所有要求,89,2018年4月23日星期一,北京交通大学计算机学院 翟高寿,6.5 目录管理,6.5.1 目录管理基本要求6.5.2 文件控制块6.5.3 索引结点6.5.4
38、 目录结构6.5.5 目录查询技术,90,2018年4月23日星期一,北京交通大学计算机学院 翟高寿,文件存取及目录查询技术,实现文件按名存取的基本步骤系统根据用户提供的文件名,对文件目录进行查询,找出该文件的文件控制块或索引结点按照对应文件控制块或索引结点中所记录的文件物理地址(盘块号),计算出文件在磁盘上的物理地址启动磁盘驱动程序,将所存取的文件读入内存进行具体读写操作目录查询技术线性检索法(顺序检索法)和散列方法,冲突处理?,91,2018年4月23日星期一,北京交通大学计算机学院 翟高寿,目录查询举例说明:/usr/ast/mbox,根目录,132#盘块/usr子目录,索引结点集,结点
39、6,结点26,496#盘块/usr/ast子目录,(1),(2),(3),(4),(5),(6),92,2018年4月23日星期一,北京交通大学计算机学院 翟高寿,6.5 目录管理,6.5.1 目录管理基本要求6.5.2 文件控制块6.5.3 索引结点6.5.4 目录结构6.5.5 目录查询技术,93,2018年4月23日星期一,北京交通大学计算机学院 翟高寿,作业题,6.7 文件目录管理的基本要求有哪些?从索引结点和目录结构等两方面阐述目录管理技术的演化发展,并就树形目录结构中文件的按名存取和目录检索技术展开详细说明。,94,2018年4月23日星期一,北京交通大学计算机学院 翟高寿,第六章
40、 文件管理,6.1 文件和文件系统6.2 文件的逻辑结构6.3 外存分配方式6.4 文件存储空间管理6.5 目录管理6.6 文件共享与保护6.7 数据一致性控制,95,2018年4月23日星期一,北京交通大学计算机学院 翟高寿,6.6 文件共享与保护,6.6.1 文件共享概念与发展6.6.2 基于索引结点的共享方式6.6.3 利用符号链实现文件共享6.6.4 文件系统安全保护6.6.5 磁盘容错技术,96,2018年4月23日星期一,北京交通大学计算机学院 翟高寿,文件共享概念及必要性,概念指系统应允许多个用户(进程)共享同一份文件,从而在系统中只需保存该共享文件的一个副本即可必要性如果系统不
41、能提供文件共享功能,就意味着凡是需要该文件的用户,都须各自备有此文件的副本,因此必然会造成存储空间的极大浪费,97,2018年4月23日星期一,北京交通大学计算机学院 翟高寿,绕弯路法,1,6,2,3,4,5,12,13,14,7,8,9,10,11,15,16,17,18,20,21,19, 3F17J: * E J 3F9A: * * C A (相对/绝对)路径,b,a,98,2018年4月23日星期一,北京交通大学计算机学院 翟高寿,连访法,1,6,2,3,4,5,12,13,14,7,8,9,10,11,15,16,17,18,20,21,19,b,a, 3F17J: b 3F(D)9
42、A: * D F(a) 连访属性及用户计数,99,2018年4月23日星期一,北京交通大学计算机学院 翟高寿,基于基本文件目录实现文件共享,ID,物理位置,基本文件目录,空闲文件目录,基本文件目录,空闲文件目录,主文件目录,Oaf,Report,Mist,Beta(Wang)/Alpha(Zhang),Sqrt,用户符号文件子目录Wang,用户符号文件子目录Zhang,ID,ID,符号名,符号名,ID,符号名,基本文件目录 符号文件目录,其它信息,100,2018年4月23日星期一,北京交通大学计算机学院 翟高寿,6.6 文件共享与保护,6.6.1 文件共享概念与发展6.6.2 基于索引结点的
43、共享方式6.6.3 利用符号链实现文件共享6.6.4 文件系统安全保护6.6.5 磁盘容错技术,101,2018年4月23日星期一,北京交通大学计算机学院 翟高寿,基于索引结点的文件共享,不同文件目录与共享文件间关系的建立FCB在不同目录文件中的拷贝 一旦文件发生改变,则一致性难以保证符号目录与索引结点相结合 指针悬空问题,用户C目录,Owner = CCount = 1,用户C目录,Owner = CCount = 2,用户B目录,用户B目录,Owner = CCount = 1,链接前,链接后,拥有者删除文件后,文件删除否?,102,2018年4月23日星期一,北京交通大学计算机学院 翟高
44、寿,6.6 文件共享与保护,6.6.1 文件共享概念与发展6.6.2 基于索引结点的共享方式6.6.3 利用符号链实现文件共享6.6.4 文件系统安全保护6.6.5 磁盘容错技术,103,2018年4月23日星期一,北京交通大学计算机学院 翟高寿,基于符号链的文件共享,LINK类型文件仅包含被共享文件的路径名即符号链文件操作由系统根据文件类型区别处理评析只有文件主才拥有其索引结点的指针,从而避免了指针悬空问题可用于链接网络中任何地方计算机中的文件系统开销问题文件操作多次读盘与磁盘启动符号链索引结点及文件空间开销整个文件系统遍历操作的复杂度和工作量加大,104,2018年4月23日星期一,北京交
45、通大学计算机学院 翟高寿,6.6 文件共享与保护,6.6.1 文件共享概念与发展6.6.2 基于索引结点的共享方式6.6.3 利用符号链实现文件共享6.6.4 文件系统安全保护6.6.5 磁盘容错技术,105,2018年4月23日星期一,北京交通大学计算机学院 翟高寿,文件安全性影响因素及对策,人为因素存取控制机制系统因素系统容错技术自然因素后备系统,106,2018年4月23日星期一,北京交通大学计算机学院 翟高寿,保护域及与进程间联系方式,107,2018年4月23日星期一,北京交通大学计算机学院 翟高寿,访问矩阵及切换权引入,108,2018年4月23日星期一,北京交通大学计算机学院 翟
46、高寿,拷贝权与所有权,109,2018年4月23日星期一,北京交通大学计算机学院 翟高寿,控制权(保护域之间),110,2018年4月23日星期一,北京交通大学计算机学院 翟高寿,访问矩阵的简化策略,必要性与可行性访问矩阵存储开销及其稀疏性特征简化对策访问控制表访问权限表兼有式实现机制,0,1,2,3,索引结点编号,111,2018年4月23日星期一,北京交通大学计算机学院 翟高寿,文件系统安全管理体系,系统级安全管理注册与登陆(注册用户表)用户级安全管理用户分类及访问权设定目录级安全管理目录的读/写/执行许可权文件级安全管理文件属性及有效访问权,112,2018年4月23日星期一,北京交通大
47、学计算机学院 翟高寿,6.6 文件共享与保护,6.6.1 文件共享概念与发展6.6.2 基于索引结点的共享方式6.6.3 利用符号链实现文件共享6.6.4 文件系统安全保护6.6.5 磁盘容错技术,113,2018年4月23日星期一,北京交通大学计算机学院 翟高寿,磁盘容错技术,基本概念设置冗余部件以提高系统可靠性低级磁盘容错技术SFT-I双份目录与双份文件分配表热修复重定向、写后读校验中级磁盘容错技术SFT-II磁盘镜像与磁盘双工,114,2018年4月23日星期一,北京交通大学计算机学院 翟高寿,6.6 文件共享与保护,6.6.1 文件共享概念与发展6.6.2 基于索引结点的共享方式6.6.3 利用符号链实现文件共享6.6.4 文件系统安全保护6.6.5 磁盘容错技术,