Linux的文件管理.ppt

上传人:本田雅阁 文档编号:2088506 上传时间:2019-02-12 格式:PPT 页数:15 大小:252.51KB
返回 下载 相关 举报
Linux的文件管理.ppt_第1页
第1页 / 共15页
Linux的文件管理.ppt_第2页
第2页 / 共15页
Linux的文件管理.ppt_第3页
第3页 / 共15页
亲,该文档总共15页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

《Linux的文件管理.ppt》由会员分享,可在线阅读,更多相关《Linux的文件管理.ppt(15页珍藏版)》请在三一文库上搜索。

1、6.5Linux的文件管理,6.5.1 Linux虚拟文件系统 6.5.2 文件系统注册与注销,安装与卸载 6.5.3 文件系统缓存机制 6.5.4 Ext2文件系统,6.5.1 Linux虚拟文件系统,VFS四个对象类 VFS主要数据结构,超级块对象-代表一个文件系统。 索引节点对象-代表一个文件。 目录项对象-代表路径中的一个组成部分。 文件(file)对象-代表由进程已打开的一个文件。,VFS各种对象之间的关系,L i n u x 文件系统逻辑结构,6.5.2 文件系统注册与注销,安装与卸载,1 文件系统的注册与注销 struct file_system_type const char

2、*name;/*文件类型名*/ struct super_block *(*read_super)(struct super_block*,void*,int); struct file_system_type *next; ;,2 文件系统的安装与卸载,1文件系统安装 文件系统类型名、所在物理设备名、安装点,再用mount命令安装。 2文件系统安装过程 寻找匹配的file_system_type 、查找安装点VFS inode 、分配一个VFS超级块 、利用read_super( )函数读入参数、申请一个vfsmount数据结构 。 3文件系统卸载过程 是否可卸载 、如果为“脏”把VFS超级

3、块写回磁盘 、删去vfsmount 。,6.5.3 文件系统的缓存机制,1 VFS inode缓存 把当前使用的inode采用散列技术保存起来,从中快速找到所需inode。 2 VFS目录高速缓存 系统维护表达路径与inode对应关系的VFS目录缓存,其中存放被访问过的目录 。 3 页高速缓冲区 Linux维护一组页缓冲区,它独立于任何类型的文件系统,被所有物理设备所共享, 优点:1)数据一经使用,就在页缓冲区中留下备份,再次使用时可直接找回,避免不必要的磁盘I/O;2)“脏”页写回磁盘时,可适当进行排序,实现磁盘驱动调度优化。,6.5.4 EXT2文件系统(1),EXT(92年)和EXT2(

4、94年)是专为Linux设计的可扩展文件系统。 EXT2把它所占用的磁盘逻辑分区划分为块组,每个块组依次包括超级块、组描述符表、块位图、inode位图、inode表以及数据块。 块位图集中本组各数据块的使用情况; inode位图记录inode表中inode的使用情况。 inode表保存本组所有的inode,inode用于描述文件,一个inode对应一个文件和子目录,有一个唯一的inode号,并记录了文件在外存的位置、存取权限、修改时间、类型等信息。,EXT2文件系统(2) 文件系统结构,超级块,组描述符表,块位图,inode 位图,inode表,数据块,EXT2的超级块,EXT2的超级块用来描

5、述目录和文件在磁盘上的静态分布,包括尺寸和结构。每个块组都有一个超级块,一般来说只有组0的超级块才被读入主存超级块,其它块组的超级块仅仅作为备份。 EXT2的超级块包括inode数量、块数量、保留块数量、空闲块数量、空闲inode数量、第一个数据块位置、块长度、片长度、每个块组块数、每个块组片数、每个块组inode数,以及安装时间、最后一次写时间、安装信息、文件系统状态信息等内容。,EXT2的组描述符,每个块组都有一个组描述符,记录该块组的块位图位置、inode位图位置、inode节点位置、空闲块数、inode数、目录数等内容。 所有组描述符构成了组描述附表。同超级块一样,组描述符表在每个块组

6、中都有备份,这样,当文件系统崩溃时,可以用来恢复文件系统。,EXT2的inode,inode用于描述文件,一个inode对应一个文件和子目录,有一个唯一的inode号,并记录了文件的类型及存取权限、用户和组标识、修改/访问/创建/删除时间、link数、文件长度和占用块数、在外存的位置、以及其他控制信息。,Linux数据块分配策略(1),EXT2采用两个策略减少文件碎片 原地先查找策略:为文件分配数据块时,尽量在文件原有数据块附近查找。先试探紧跟文件末尾的数据块,然后试探位于同一个块组相邻的64个数据块,接着在同一个块组中寻找其他空闲数据块;实在不得己才搜索其他块组,且首先考虑8个一簇的连续的块。,Linux数据块分配策略(2),预分配策略:引入预分配机制,就从预分配的数据块取一块来用,紧跟该块后的若干个数据块空闲的话,也被保留,保证尽可能多的数据块被集中成一簇。 数据结构中包含属性prealloc_block和prealloc_count,前者指向可预分配数据块链表中第一块的位置,后者表示可预分配数据块的总数。,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 其他


经营许可证编号:宁ICP备18001539号-1