操作系统课件:Chapter 11 文件系统实现

上传人:汽*** 文档编号:570120842 上传时间:2024-08-02 格式:PPT 页数:39 大小:862KB
返回 下载 相关 举报
操作系统课件:Chapter 11 文件系统实现_第1页
第1页 / 共39页
操作系统课件:Chapter 11 文件系统实现_第2页
第2页 / 共39页
操作系统课件:Chapter 11 文件系统实现_第3页
第3页 / 共39页
操作系统课件:Chapter 11 文件系统实现_第4页
第4页 / 共39页
操作系统课件:Chapter 11 文件系统实现_第5页
第5页 / 共39页
点击查看更多>>
资源描述

《操作系统课件:Chapter 11 文件系统实现》由会员分享,可在线阅读,更多相关《操作系统课件:Chapter 11 文件系统实现(39页珍藏版)》请在金锄头文库上搜索。

1、6.1Silberschatz, Galvin and Gagne 2005Operating System Concepts 7th Edition, Feb 8, 2005 Chapter 11: Chapter 11: 文件系统实现文件系统实现文件系统实现文件系统实现n文件系统结构n文件系统实现n目录实现n分配方法n空闲空间管理n效率与性能n恢复n基于日志结构的文件系统n网络文件系统6.2Silberschatz, Galvin and Gagne 2005Operating System Concepts 7th Edition, Feb 8, 2005文件系统结构文件系统结构文件系统

2、结构文件系统结构n文件结构l逻辑存储单元l相关信息的集合n文件系统驻留在二级存储器(磁盘)上。n文件系统按层组织。n文件控制块文件控制块(FCB) 包含了文件的信息。6.3Silberschatz, Galvin and Gagne 2005Operating System Concepts 7th Edition, Feb 8, 2005分层设计的文件系统分层设计的文件系统分层设计的文件系统分层设计的文件系统6.4Silberschatz, Galvin and Gagne 2005Operating System Concepts 7th Edition, Feb 8, 2005一个典型的

3、文件控制块一个典型的文件控制块一个典型的文件控制块一个典型的文件控制块6.5Silberschatz, Galvin and Gagne 2005Operating System Concepts 7th Edition, Feb 8, 2005内存中文件系统结构内存中文件系统结构内存中文件系统结构内存中文件系统结构n下图显示了在操作系统中看到的文件系统结构。n图11-3(a)显示了打开一个文件。n图11-3(b)显示了读文件。6.6Silberschatz, Galvin and Gagne 2005Operating System Concepts 7th Edition, Feb 8,

4、2005内存中文件系统结构内存中文件系统结构内存中文件系统结构内存中文件系统结构6.7Silberschatz, Galvin and Gagne 2005Operating System Concepts 7th Edition, Feb 8, 2005虚拟文件系统虚拟文件系统虚拟文件系统虚拟文件系统n虚拟文件系统(VFS)提供了一种面向对象的方法来实现文件系统。nVFS为不同类型的文件系统提供了统一的系统调用接口(API)。nAPI是VFS的接口,而不属于某个特定类型的文件系统。6.8Silberschatz, Galvin and Gagne 2005Operating System C

5、oncepts 7th Edition, Feb 8, 2005虚拟文件系统示意图虚拟文件系统示意图虚拟文件系统示意图虚拟文件系统示意图6.9Silberschatz, Galvin and Gagne 2005Operating System Concepts 7th Edition, Feb 8, 2005目录实现目录实现目录实现目录实现n线性列表,存储文件名和数据块指针。l编程简单l运行费时n哈希表 使用线性列表存储哈希数据结构。l降低目录搜索时间l冲突 两个文件名哈希到相同的位置l固定的大小6.10Silberschatz, Galvin and Gagne 2005Operating

6、 System Concepts 7th Edition, Feb 8, 2005分配方法分配方法分配方法分配方法n一种分配方法指的是如何为文件分配磁盘块:l连续分配连续分配l链接分配链接分配l索引分配索引分配6.11Silberschatz, Galvin and Gagne 2005Operating System Concepts 7th Edition, Feb 8, 2005连续分配连续分配连续分配连续分配n每个文件在磁盘上占用一组连续的块。n简单 仅需要起始块号和长度。n支持随机访问。n浪费空间(动态存储分配的问题)。n文件不能增长。6.12Silberschatz, Galvin

7、 and Gagne 2005Operating System Concepts 7th Edition, Feb 8, 2005磁盘空间的连续分配磁盘空间的连续分配磁盘空间的连续分配磁盘空间的连续分配6.13Silberschatz, Galvin and Gagne 2005Operating System Concepts 7th Edition, Feb 8, 2005基于扩展基于扩展基于扩展基于扩展(extent)(extent)的系统的系统的系统的系统n有些新的文件系统(I.e. Veritas File System)采用了改进的连续分配方案。n基于扩展的文件系统在某个范围内分配

8、磁盘块。n一个扩展是一组连续的磁盘块。l扩展在文件分配时被分配。l一个文件可能包含一个或多个范围。6.14Silberschatz, Galvin and Gagne 2005Operating System Concepts 7th Edition, Feb 8, 2005链接分配链接分配链接分配链接分配n每个文件是一个磁盘块的链表;磁盘块分布在磁盘的任何位置。pointerblock =6.15Silberschatz, Galvin and Gagne 2005Operating System Concepts 7th Edition, Feb 8, 2005链接分配(续)链接分配(续)

9、链接分配(续)链接分配(续)n简单 仅需要起始地址n空闲空间管理系统 没有浪费的空间n无法实现随机访问n映射在用链表块表示的文件中,被访问的块为第Q块替换 = R + 1n文件分配表(FAT) 用于MS-DOS和OS/2系统的磁盘空间分配。LA/511QR6.16Silberschatz, Galvin and Gagne 2005Operating System Concepts 7th Edition, Feb 8, 2005链接分配(续)链接分配(续)链接分配(续)链接分配(续)6.17Silberschatz, Galvin and Gagne 2005Operating System

10、 Concepts 7th Edition, Feb 8, 2005文件分配表文件分配表文件分配表文件分配表6.18Silberschatz, Galvin and Gagne 2005Operating System Concepts 7th Edition, Feb 8, 2005索引分配索引分配索引分配索引分配n把所有的指针放在一起:索引块。n逻辑形式索引表6.19Silberschatz, Galvin and Gagne 2005Operating System Concepts 7th Edition, Feb 8, 2005索引分配的例子索引分配的例子索引分配的例子索引分配的例子

11、6.20Silberschatz, Galvin and Gagne 2005Operating System Concepts 7th Edition, Feb 8, 2005索引分配(续)索引分配(续)索引分配(续)索引分配(续)n需要索引表n支持随机访问n动态存取没有外碎片,但索引块的负担较重。n为了实现文件逻辑地址到物理地址的映射,一个256K的文件,每块大小512字,需要1块作为索引块。LA/512QRQ = 索引表中的替换块R = 替换块6.21Silberschatz, Galvin and Gagne 2005Operating System Concepts 7th Edit

12、ion, Feb 8, 2005索引分配索引分配索引分配索引分配 映射(续)映射(续)映射(续)映射(续)n无限长度文件的映射n链接策略 把索引块链接起来(没有长度限制)。LA / (512 x 511)Q1R1Q1 = 索引块R1 is used as follows:R1 / 512Q2R2Q2 = displacement into block of index tableR2 displacement into block of file:6.22Silberschatz, Galvin and Gagne 2005Operating System Concepts 7th Editi

13、on, Feb 8, 2005索引分配索引分配索引分配索引分配 映射(续)映射(续)映射(续)映射(续)n两级索引(最大文件长度为 5123) LA / (512 x 512)Q1R1Q1 = displacement into outer-indexR1 is used as follows:R1 / 512Q2R2Q2 = displacement into block of index tableR2 displacement into block of file:6.23Silberschatz, Galvin and Gagne 2005Operating System Concep

14、ts 7th Edition, Feb 8, 2005索引分配索引分配索引分配索引分配 映射(续)映射(续)映射(续)映射(续)外层索引索引表文件6.24Silberschatz, Galvin and Gagne 2005Operating System Concepts 7th Edition, Feb 8, 2005联合策略:联合策略:联合策略:联合策略:UNIXUNIX(每块(每块(每块(每块4KB4KB)6.25Silberschatz, Galvin and Gagne 2005Operating System Concepts 7th Edition, Feb 8, 2005空闲

15、空间管理空闲空间管理空闲空间管理空闲空间管理n位向量(n块)0 12n-1biti =0 blocki free1 blocki occupied块号计算 (一个字的位数) * (值为0的字数) + 第一个值为1的偏移6.26Silberschatz, Galvin and Gagne 2005Operating System Concepts 7th Edition, Feb 8, 2005空闲空间管理(续)空闲空间管理(续)空闲空间管理(续)空闲空间管理(续)n位图需要额外的空间。例如block size = 212 bytesdisk size = 230 bytes (1 gigaby

16、te)n = 230/212 = 218 bits (or 32K bytes)n比较容易得到连续的文件 n链表(空闲空间表)l得到连续空间难l没有浪费的空间n组n计数6.27Silberschatz, Galvin and Gagne 2005Operating System Concepts 7th Edition, Feb 8, 2005空闲空间管理(续)空闲空间管理(续)空闲空间管理(续)空闲空间管理(续)n需要保护:l指向空闲空间链表的指针l位图4必须保存在磁盘上4内存中的拷贝可能与磁盘上不同。4对blocki 不允许有下列情形发生:在内存中biti = 1 而在磁盘上biti =

17、0。磁盘上的值必须与内存中的值一致。l解决方案:4在磁盘上设置biti = 14分配blocki4在内存中设置biti = 16.28Silberschatz, Galvin and Gagne 2005Operating System Concepts 7th Edition, Feb 8, 2005采用链接方式的磁盘空闲空间链表采用链接方式的磁盘空闲空间链表采用链接方式的磁盘空闲空间链表采用链接方式的磁盘空闲空间链表6.29Silberschatz, Galvin and Gagne 2005Operating System Concepts 7th Edition, Feb 8, 200

18、5效率与性能效率与性能效率与性能效率与性能n效率取决于 :l磁盘分配和目录管理算法l保留在文件目录结构中的数据类型n性能l磁盘缓存 存在于内存中的独立区域,其中的数据频繁被访问。l马上释放-预先读取 优化顺序存取的技术。l用于PC上的改善性能的方法:留出一块内存作为虚拟磁盘,或RAM磁盘。6.30Silberschatz, Galvin and Gagne 2005Operating System Concepts 7th Edition, Feb 8, 2005不同的磁盘缓存位置不同的磁盘缓存位置不同的磁盘缓存位置不同的磁盘缓存位置6.31Silberschatz, Galvin and G

19、agne 2005Operating System Concepts 7th Edition, Feb 8, 2005页缓存页缓存页缓存页缓存n使用虚拟内存技术,将文件数据作为页而不是块来缓存。n页缓存实现缓冲缓存和内存映像I/O的交互。n缓冲缓存实现文件系统和标准I/O调用的交互。6.32Silberschatz, Galvin and Gagne 2005Operating System Concepts 7th Edition, Feb 8, 2005缺少统一缓冲缓存的缺少统一缓冲缓存的缺少统一缓冲缓存的缺少统一缓冲缓存的I/OI/O6.33Silberschatz, Galvin an

20、d Gagne 2005Operating System Concepts 7th Edition, Feb 8, 2005统一缓冲缓存统一缓冲缓存统一缓冲缓存统一缓冲缓存n统一缓冲缓存,内存映射和I/O系统调用都使用同样的页缓存。6.34Silberschatz, Galvin and Gagne 2005Operating System Concepts 7th Edition, Feb 8, 2005恢复恢复恢复恢复n一致性检查 将目录结构数据与磁盘数据块相比较,试图纠正所发现的不一致n利用系统程序将磁盘数据备份到另一存储设备,如软盘、磁带或光盘l完全备份l增量备份n恢复丢失文件或整个磁

21、盘时,只需要从备份中恢复就可以6.35Silberschatz, Galvin and Gagne 2005Operating System Concepts 7th Edition, Feb 8, 2005系系统还原例子原例子6.36Silberschatz, Galvin and Gagne 2005Operating System Concepts 7th Edition, Feb 8, 2005基于日志结构的文件系统基于日志结构的文件系统基于日志结构的文件系统基于日志结构的文件系统n以事务的方式记录对系统的每一次更新n所有的事务都会被写入到日志中n日志中的事务异步的被写入文件系统。当文

22、件系统更新完成后,事务就可从日志中删除。n如果文件系统崩溃,所有留在日志中的事务都必须继续执行6.37Silberschatz, Galvin and Gagne 2005Operating System Concepts 7th Edition, Feb 8, 2005网络文件系统网络文件系统网络文件系统网络文件系统(NFS)(NFS)nNFS:Network File Systemn用于通过LAN(或WAN)访问远程文件的软件系统的实现或规范nSolaris操作系统:运行在SUN工作站上,采用TCP或UDP/IP协议6.38Silberschatz, Galvin and Gagne 2005Operating System Concepts 7th Edition, Feb 8, 2005CIFS(Common Internet File System)n在windows主机之间进行网络文件共享。6.39Silberschatz, Galvin and Gagne 2005Operating System Concepts 7th Edition, Feb 8, 2005作业作业nP351 10.5nP385 11.6

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 高等教育 > 研究生课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号