欢迎来到天天文库
浏览记录
ID:57975111
大小:3.59 MB
页数:46页
时间:2020-09-04
《操作系统第七章(26).ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、7.7外存存储空间管理7.6.1文件存储空间分配(fileallocation)7.6.2外存空闲空间管理方法(freespacemanagement)7.6.3文件卷返回讨论如何高效地进行数据存储7.7.1文件存储空间分配(fileallocation)预分配(preallocation):创建时(这时已知文件长度)一次分配指定的存储空间,如文件复制时的目标文件。动态分配(dynamicallocation):需要存储空间时才分配(创建时无法确定文件长度),如写入数据到文件。返回1.新创建文件的存储空间(文件长度)分配方法2.文件存储
2、单位:簇(cluster)簇的大小两个极端:大到能容纳整个文件,小到一个外存存储块;簇较大:提高I/O访问性能,减小管理开销;但簇内碎片浪费问题较严重;簇较小:簇内的碎片浪费较小,特别是大量小文件时有利;但存在簇编号空间不够的问题(如FAT12、16、32);文件的存储空间通常由多个分立的簇组成,而每个簇包含若干个连续的扇区(sector)。簇的分配方法:两种簇大小可变,其上限较大:I/O访问性能较好,文件存储空间的管理困难(类似于动态分区存储管理)簇大小固定,较小:文件存储空间使用灵活,但I/O访问性能下降,文件管理所需空间开销较大文
3、件巻容量与簇大小的关系文件卷容量越大,若簇的总数保持不变即簇编号所需位数保持不变,则簇越大。缺点:簇内碎片浪费越多文件卷容量越大,若簇大小不变,则簇总数越多,相应簇编号所需位数越多。如簇编号长度为12、16、32二进制位,即构成FAT12、FAT16、FAT32。3.文件存储分配数据结构连续分配(contiguous):只需记录第一个簇的位置,适用于预分配方法。可以通过紧缩(compact)将外存空闲空间合并成连续的区域。链式分配(chained):在每个簇中有指向下一个簇的指针。可以通过合并(consolidation)将一个文件的各
4、个簇连续存放,以提高I/O访问性能。索引分配(indexed):文件的第一个簇中记录了该文件的其他簇的位置。可以每处存放一个簇或连续多个簇(只需在索引中记录连续簇的数目)。采用怎样的数据结构来记录一个文件的各个部分的位置。7.7.2外存空闲空间管理(freespacemanagement)方法位示图(bitmap):每一位表示一个簇,取值0和1分别表示空闲和占用。空闲空间链接(chainedfreespace):每个空闲簇中有指向下一个空闲簇的指针,所有空闲簇构成一个链表。不需要磁盘分配表,节省空间。每次申请空闲簇只需取出链表开头的空闲
5、簇即可。空闲空间索引(indexedfreespace):在一个空闲簇中记录其他几个空闲簇的位置。返回外存空闲空间管理的数据结构通常称为磁盘分配表(diskallocationtable),分配的基本单位是簇。文件系统可靠性包括检错和差错恢复。空闲空间的管理方法:三种:注:可以上述方法结合,应用于不同的场合。如:位示图应用于索引结点表格,链接和索引结合应用于文件区的空闲空间。7.7.3文件卷磁盘分区(partition):通常把一个物理磁盘的存储空间划分为几个相互独立的部分,称为"分区"。一个分区的参数包括:磁盘参数(如每道扇区数和磁头
6、数),分区的起始和结束柱面等。文件卷(volume):或称为"逻辑驱动器(logicaldrive)"。在同一个文件卷中使用同一份管理数据进行文件分配和外存空闲空间管理,而在不同的文件卷中使用相互独立的管理数据。一个文件不能分散存放在多个文件卷中,其最大长度不超过所在文件卷的容量。通常一个文件卷只能存放在一个物理外设上(并不绝对),如一个磁盘分区或一盘磁带。返回格式化(format):在一个文件卷上建立文件系统,即:建立并初始化用于进行文件分配和外存空闲空间管理的管理数据。通常,进行格式化操作使得一个文件卷上原有的文件都被删除。扩展文件
7、卷集(extendedvolumeset):一个文件卷由一个或几个磁盘上的多个磁盘分区依次连接组成。可以容纳长度大于磁盘分区容量的文件。实例:WindowsNT中的扩展文件卷集。磁盘交叉存储(diskinterleaving):将一个文件卷的存储块依次分散在多个磁盘上。如4个磁盘,则磁盘0上是文件卷块0,4,8,…,磁盘1上是文件卷块1,5,9,…。优点:提高I/O效率。如果需要访问一个文件的多个存储块,而它们分散在多个磁盘上,则可以并发地向多个磁盘发出请求,并可在此基础上提供文件系统的容错功能。关键:磁盘访问时间大部分由旋转等待时间组
8、成。需要相应硬件设备:如多个硬盘连接在同一个或不同的SCSI接口上,或者两个硬盘连接在一个或不同的IDE接口上(两个硬盘连接在同一个IDE接口上,不能提高I/O效率)实例:WindowsNT中的条带卷(st
此文档下载收益归作者所有