文件系统在内核中的位置
文件系统的分层结构
文件系统在系统中的分层结构
文件系统用户空间与内核空间
虚拟文件系统 (VFS)
文件系统的存储视图
superblock
inode
vnode
dir_entry
data block
文件系统基本数据结构
数据块dnode( data node) - 目录和文件的数据块
data node
bitmap块( bitmap inode/dnode)
bitmap inode/dnode
数据块( data node) - 目录的数据块
多种磁盘缓存位置
页缓存: 统一缓存数据块和内存页
虚拟页式存储 -- 页缓存
文件描述符
打开文件表
一些文件系统提供文件锁,用于协调多进程的文件访问
文件大小
文件分配:分配文件数据块
(1)连续分配: 文件头指定起始块和长度
(2)链式分配: 数据块以链表方式存储
(2)链式分配:
(3)索引分配:
如何处理大文件?
(3)索引分配
(3)多级索引分配
大文件在访问数据块时需要大量查询
### 文件系统的设计与实现 -- 概述
文件系统的组织视图
![bg right 10% 50%](figs/efs-inode.png)
--- ### 文件系统的设计与实现 -- 缓存 虚拟页式存储 -- 页缓存 - 在虚拟地址空间中虚拟页面可映射到本地外存文件中 - 文件数据块的页缓存 - 在虚拟内存中文件数据块被映射成页 - 文件的读/写操作被转换成对内存的访问 - 可能导致缺页和/或设置为脏页 - 问题: 页置换算法需要协调虚拟存储和页缓存间的页面数