文件系统(二)——陈莉君老师经典
2011-10-16 20:21
141 查看
儒家和谐的思想不仅主导着我们的日常生活和社会关系,而且在Unix/Linux文件系统的设计中充分体现。先秦儒家以西周末年太史史伯提出的“和实生物,同则不继。”《国语·郑语》中,则对和谐思想做了进一步的完善和发展,把“和”作为处理人的身心关系、人际关系、群己关系、人与自然关系的根本法则,所谓“和也者,天下之达道也”。 “和”既是人伦关系的价值取向,又是万事万物生成发展的机制。
儒家所说的和谐,并不是毫无差异的苟同,而是包含差异或对立的多种不同因素协调、互补、融合、共存、相济相成所形成的对立统一,是一种多样性基础上的统一。
为了保证Linux的开放性,设计人员必须考虑如何使Linux能支持各种不同的文件系统,例如日志型文件系统,集群文件系统以及加密文件系统等等。为此,就必须将各种不同文件系统的操作和管理纳入到一个统一的框架中,使得用户程序可以通过同一个文件系统界面,也就是同一组系统调用,能够对各种不同的文件系统以及文件进行操作。这样,用户程序就可以不关心各种不同文件系统的实现细节,而使用系统提供的统一、抽象、虚拟的文件系统界面。这种统一的框架就是所谓的虚拟文件系统转换(Virtual
Filesystem Switch),一般简称虚拟文件系统(VFS)。
虚拟文件系统所提供的抽象界面主要由一组标准的、抽象的操作构成,例如read()、write()、lseek等,这些函数以系统调用的形式供用户程序调用。这样,用户程序调用这些系统调用时,根本无需关心所操作的文件属于哪个文件系统,这个文件系统是怎样设计和实现的,如下图一:
图 1. Linux 文件系统组件的体系结构
![](http://www.ibm.com/developerworks/cn/linux/l-linux-filesystem/figure1.gif)
用户空间包含一些应用程序(例如,文件系统的使用者)和
GNU C 库(glibc),它们为文件系统调用(打开、读取、写和关闭等)提供用户接口。系统调用接口的作用就像是交换器,它在用户空间和内核空间之间搭起一座桥梁。
VFS下面挂着个性差异的具体文件系统(Individual
file system),比如 ext2、JFS 等等,尽管这些文件系统内脏有所差异,但从中导出的是一组通用接口,供 VFS 使用。缓冲区缓存(cache)会缓存文件系统和相关块设备之间的请求。例如,对底层设备驱动程序的读写请求会通过缓冲区缓存来传递。这就允许在其中缓存请求,减少访问物理设备的次数,加快访问速度。缓冲区缓存是以LRU的形式进行管理的。注意,可以使用 sync命令将缓冲区缓存中的请求发送到存储介质(迫使所有未写的数据发送到设备驱动程序,进而发送到存储设备)。
儒家所说的和谐,并不是毫无差异的苟同,而是包含差异或对立的多种不同因素协调、互补、融合、共存、相济相成所形成的对立统一,是一种多样性基础上的统一。
为了保证Linux的开放性,设计人员必须考虑如何使Linux能支持各种不同的文件系统,例如日志型文件系统,集群文件系统以及加密文件系统等等。为此,就必须将各种不同文件系统的操作和管理纳入到一个统一的框架中,使得用户程序可以通过同一个文件系统界面,也就是同一组系统调用,能够对各种不同的文件系统以及文件进行操作。这样,用户程序就可以不关心各种不同文件系统的实现细节,而使用系统提供的统一、抽象、虚拟的文件系统界面。这种统一的框架就是所谓的虚拟文件系统转换(Virtual
Filesystem Switch),一般简称虚拟文件系统(VFS)。
虚拟文件系统所提供的抽象界面主要由一组标准的、抽象的操作构成,例如read()、write()、lseek等,这些函数以系统调用的形式供用户程序调用。这样,用户程序调用这些系统调用时,根本无需关心所操作的文件属于哪个文件系统,这个文件系统是怎样设计和实现的,如下图一:
图 1. Linux 文件系统组件的体系结构
![](http://www.ibm.com/developerworks/cn/linux/l-linux-filesystem/figure1.gif)
用户空间包含一些应用程序(例如,文件系统的使用者)和
GNU C 库(glibc),它们为文件系统调用(打开、读取、写和关闭等)提供用户接口。系统调用接口的作用就像是交换器,它在用户空间和内核空间之间搭起一座桥梁。
VFS下面挂着个性差异的具体文件系统(Individual
file system),比如 ext2、JFS 等等,尽管这些文件系统内脏有所差异,但从中导出的是一组通用接口,供 VFS 使用。缓冲区缓存(cache)会缓存文件系统和相关块设备之间的请求。例如,对底层设备驱动程序的读写请求会通过缓冲区缓存来传递。这就允许在其中缓存请求,减少访问物理设备的次数,加快访问速度。缓冲区缓存是以LRU的形式进行管理的。注意,可以使用 sync命令将缓冲区缓存中的请求发送到存储介质(迫使所有未写的数据发送到设备驱动程序,进而发送到存储设备)。
相关文章推荐
- 文件系统(一)——陈莉君老师经典
- 陈莉君老师写的中断絮说(经典+幽默)
- 中断絮说(一)——陈莉君老师经典
- 中断絮说(二)——陈莉君老师经典
- 陈莉君老师写的中断絮说(经典+幽默)
- 刘道军老师红帽linu(RHCE 033 )单元4 浏览文件系统
- proc文件系统实验---入门经典
- 中断处理之RTC——陈莉君老师(经典)
- UNIX文件系统下误删除的数据恢复经典案例--UFS删除恢复
- 文件系统(三)——陈莉君老师经典
- 文件系统Minifilter驱动(四)
- 文件加密共享系统的使用
- 系统数据文件备份与恢复及只读数据文件备份与恢复
- Lustre文件系统分布式锁
- 《UNIX环境高级编程》六系统数据文件和信息读书笔记
- 一个能弹出文件系统菜单的函数~~(原创)
- 通过proc文件系统输出必要的Linux内核信息(中)
- 重新安装一个linux系统后如何快速搭建可用于开发板nfs挂载根文件系统的过程
- 挂载文件系统
- VMware中如何实现Linux系统与宿主机文件共享