- 2
- 0
- 约2.35万字
- 约 67页
- 2017-10-18 发布于浙江
- 举报
LINUX_V和FS精华版PPT
LINUX VFS 孟静 2009春 LINUX VFS(虚拟文件系统Virtual File System) 1. VFS之What ——是什么(概念,定义,功能) 2. VFS之Why——为什么(目的,作用) 3. VFS之How——VFS如何工作 4. VFS之3W总结 1. VFS之What ——是什么(概念,定义,功能) VFS:Virtual File System虚拟文件系统, 或Virtual File Switch虚拟文件转换/开关 VFS是Linux和UNIX文件系统中采用的一种技术机制,旨在一个操作系统中支持多个不同类型的文件系统。VFS是操作系统内核中这样一组数据结构与子程序的集合,它位于操作系统系统调用界面与具体类型文件系统之间,负责 记录操作系统中可以支持和已经安装有哪些文件系统类型, 将相关系统调用转换为对具体类型文件系统的调用, 负责不同类型文件系统间的协同工作(例如跨FS复制), 实现对不同类型文件系统的动态装卸和可扩充性等。 续1. VFS之What ——是什么(概念,定义,功能) 通过以上功能,VFS—— 向用户、应用程序、和操作系统其他部件提供了一个通用的、统一的、标准的、抽象的、虚拟的系统调用接口界面(所以称Virtual) 对以上应用程序等掩盖不同类型文件系统的差异和细节 为以上应用程序等提供了对具体文件系统类型的程序独立性和透明性。 例如,当用户程序AP1在两次运行中分别读EXT2、NTFS文件,都使用同样的read(…)系统调用函数,程序AP1不必改变 VFS是从OS系统调用界面到各具体类型文件系统之间的中介、分支机构、转换机构(所以称switch)、函数转换表,其作用类似于设备开关表、系统调用分支表、总线、主板插槽等。 LINUX VFS支持哪些文件系统 目前至少50多种,可从fs.h中的union u或fs/*.c或/proc/filesystems看到 本地文件系统:EXT2,EXT3,EXT4,FAT,NTFS,minix,UFS,HFS,ISOFS,HPFS,AFFS(FFS),SYSV(S5FS),EFS,UDF等 网络文件系统:NFS,coda,SAMBA,等 虚拟文件系统:PROC,等 Union u 2. VFS之Why——为什么/目的/作用 前已概述 稍微深入一点的思考:“在一个操作系统中支持多种不同类型文件系统”存在或需要解决哪些问题?(相对于一个操作系统只支持单类型文件系统而言) 卷格式不同 卷管理信息内容与格式不同 目录项内容与格式不同 文件描述信息内容与格式不同 相应操作子程序也就不同(打开文件,读写文件等) 所以同样的读文件系统调用read(…),对不同类型的文件系统(例如EXT或NTFS),需调用相应不同的操作子程序。 VFS最关键的作用,就在于提供了对上述不同操作子程序的分支跳转支持机制。 3. VFS之How——VFS如何工作 关键数据结构:文件操作表,文件系统安装登记表 关键流程步骤:根据文件操作表从标准系统调用跳转至相应具体类型文件系统的操作子程序。 把“/d1/f1”这整个路径名,一次性地转交给具体类型文件系统去处理? 如此简单吗?NO……. VFS内部实现机制包括…种数据结构、…行源代码 为何有这些更多的工作要做?有哪些工作? 文件操作表struct file_operations 完整说明(fs.h中,共34行) struct file_operations { struct module *owner; loff_t (*llseek) (struct file *, loff_t, int); ssize_t (*read) (struct file *, char __user *, size_t, loff_t *); ssize_t (*write) (struct file *, const char __user *, size_t, loff_t *); ssize_t (*aio_read) (struct kiocb *, const struct iovec *, unsigned long, loff_t); ssize_t (*aio_write) (struct kiocb *, const struct iovec *, unsigned long, loff_t); int (*readdir) (struct file *, void *, filldir_t); unsigned int (*poll) (struct file *, struct poll_table_struct *); int (*ioctl) (struct ino
您可能关注的文档
最近下载
- 2025《“混改”后的云南白药公司治理及效果分析》6700字.doc VIP
- 2025年山东理工职业学院单招《数学》检测卷(word)附答案详解.docx VIP
- 2025年山东理工职业学院单招《数学》考前冲刺练习【实用】附答案详解.docx VIP
- 新人教版九年级数学下册导学案全册.docx VIP
- (正式版)JJF(蒙) 082-2024 《旋转蒸发仪校准规范》.pdf VIP
- 国际脓毒症和脓毒性休克管理指南解读.ppt
- 七年级下册语文单元测试卷及解析.docx VIP
- 人工智能安全与伦理挑战.pptx VIP
- 2023年执业药师继续教育咽喉反流性疾病的诊治参考答案.docx VIP
- 2025年山东理工职业学院单招英语模拟试题(附答案解析) 完整版2025.pdf VIP
原创力文档

文档评论(0)