苏州大学操作系统概念第11章

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

第11章文件系统实现6.2内容1.文件系统结构2.文件系统实现3.物理块分配方法4.空闲空间管理5.其它1、文件系统结构6.4文件系统结构文件结构逻辑存储单元相关信息的集合文件系统驻留在二级存储器(磁盘)上文件系统按层组织文件控制块(FCB)-包含了文件的信息6.5分层设计的文件系统6.7文件系统层次逻辑文件系统(Logicalfilesystem):管理文件系统中的元数据根据文件名管理文件目录把文件名转换为文件ID,文件句柄管理FCB和目录存储保护优缺点降低复杂性和冗余增加系统开心和降低性能例子CD-ROM:ISO9660Unix:UFS,FFSWindows:FAT,FAT32,NTFSLinux(40多种):ext2,ext32、文件系统实现6.9概述操作系统提高了文件操作的API,文件系统如何实现?两种结构:磁盘和内存磁盘分为多个卷,每个卷可以实现一个文件系统引导控制块(Bootcontrolblock):保含了系统引导操作系统锁需要的各种信息只有安装了操作系统的卷才有卷控制块(Volumecontrolblock):包含卷的信息UFS:超级快(superblock)NTFS:主控文件表(masterfiletable)总的块数、空闲块数、块大小等文件通过目录组织6.10文件控制块每个文件有文件控制块(FileControlBlock(FCB)),包含文件详细信息6.11内存文件系统结构作用:通过缓冲技术提高文件系统的性能当文件系统安装时:安装表:安装卷信息目录缓冲结构:保存最近访问的目录信息系统和单个进程打开文件表各种文件操作需要用到内存文件系统结构6.12内存中文件系统结构6.13分区磁盘和分区(卷):一个磁盘可以有不止一个分区,一个分区可以跨多个磁盘分区类型熟分区:包含文件系统生分区:不包含文件系统(如Unix的Swap分区)引导块通过文件系统启动操作系统多操作系统引导根分区(Rootpartition):包含操作系统,其他分区等分区信息系统启动时加载其他分区自动或手工加载6.14虚拟文件系统支持多个文件系统虚拟文件系统(VFS)提供了一种面向对象的方法来实现文件系统VFS为不同类型的文件系统提供了统一的系统调用接口(API)API是VFS的接口,而不属于某个特定类型的文件系统6.15目录实现线性列表,存储文件名和数据块指针编程简单运行费时哈希表-使用线性列表存储哈希数据结构降低目录搜索时间冲突-两个文件名哈希到相同的位置固定的大小3、物理块分配方法6.17连续分配每个文件在磁盘上占用一组连续的块简单-仅需要起始块号和长度支持随机访问浪费空间(动态存储分配的问题)文件不能增长物理块号:从0开始连续的逻辑地址6.18磁盘空间的连续分配地址映射(逻辑地址)LA/512QR访问块号=Q+start块内偏移=R每块512字节6.19基于扩展(extent)的系统有些新的文件系统(I.e.VeritasFileSystem)采用了改进的连续分配方案基于扩展的文件系统在某个范围内分配磁盘块一个扩展是一组连续的磁盘块扩展在文件分配时被分配一个文件可能包含一个或多个范围6.20链接分配每个文件是一个磁盘块的链表;磁盘块分布在磁盘的任何位置简单-仅需要起始地址文件结束于空指针每个块有一个指针指向下一块提高效率:多个块集合成组无法实现随机访问缺点:可靠性有问题,存取效率差空闲空间管理系统-没有碎片,没有浪费的空间pointerblock=6.21链接分配地址映射访问块=Q块内地址=R+1为什么?LA/511QR6.22文件分配表(FAT)文件分配表(FAT)-用于MS-DOS和OS/2系统的磁盘空间分配6.23FAT32FAT表的表项占据4字节(232)FAT表最大232项每个簇固定为4KB每簇8个盘块,每个盘块仍为512字节FAT32管理的单个最大磁盘空间:4KB*232=2TBFAT16和FAT646.24索引分配把所有的指针放在一起:索引块逻辑形式索引表6.25索引分配的例子6.26索引分配需要索引表支持随机访问动态存取没有外碎片,但索引块的负担较重逻辑地址到物理地址的映射:LA/512QR访问块号=索引表中Q项存放的块号块内偏移=R6.27索引分配-映射有的文件很大,单级索引不能满足要求链接策略-把索引块链接起来(没有长度限制)LA/(512x511)Q1R1Q1=索引块R1再次计算:R1/512Q2R2访问块号=索引表中Q2项存放的块号块内偏移=R26.28索引分配-映射两级索引(最大文件长度为5123)LA/(512x512)Q1R1R1/512Q2R2Q1=外层索引块中表项R1再次计算:访问块号=索引表中Q2项存放的块号块内偏移=R26.292级索引外层索引索引表文件6.30联合策略:UNIX(每块4KB)6.31性能好的分配方法依赖于访问类型连续分配可用于随机或顺序访问,效率高链接分配适合顺序访问,不适合随机访问在文件创建时根据访问类型选择链接还是连续索引分配更加复杂依赖于索引结构、文件大小、块大小增加磁盘I/O速度是提高性能的一个因素IntelCorei7990x3.46Ghz=159,000MIPS典型的磁盘250I/Os/秒每次I/O操作时间可以执行159,000MIPS/250=630MIPS快速SSD60,000Ios/秒每次I/O操作时间可以执行159,000MIPS/60,000=2.65MIPS4、空闲空间管理6.33空闲空间管理位向量(n块)…012n-1bit[i]=0block[i]free1block[i]occupied块号计算:8*字节的序号+字节内的位号(左边为0)6.34空闲空间管理位图需要额外的空间。例如blocksize=212bytesdisksize=230bytes(1gigabyte)n=230/212=218bits(or32Kbytes)比较容易得到连续的文件链表(空闲空间表)得到连续空间难没有浪费的空间组计数5、其它6.36效率与性能效率取决于:磁盘分配和目录管理算法保留在文件目录结构中的数据类型性能磁盘缓存-存在于内存中的独立区域,其中的数据频繁被访问马上释放-预先读取-优化顺序存取的技术用于PC上的改善性能的方法:留出一块内存作为虚拟磁盘,或RAM磁盘6.37不同的磁盘缓存位置6.38页缓存使用虚拟内存技术,将文件数据作为页而不是块来缓存页缓存实现缓冲缓存和内存映像I/O的交互缓冲缓存实现文件系统和标准I/O调用的交互统一缓冲6.39恢复一致性检查-将目录结构数据与磁盘数据块相比较,试图纠正所发现的不一致利用系统程序将磁盘数据备份到另一存储设备,如软盘、磁带或光盘完全备份增量备份恢复丢失文件或整个磁盘时,只需要从备份中恢复6.40系统还原例子6.41网络文件系统(NFS)NFS:NetworkFileSystem用于通过LAN(或WAN)访问远程文件的软件系统的实现或规范Solaris操作系统:运行在SUN工作站上,采用TCP或UDP/IP协议6.42CIFS(CommonInternetFileSystem)在windows主机之间进行网络文件共享

1 / 41
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功