linux 虚拟文件系统----------Virtual File System VFSkky
2014-01-20 13:28
337 查看
在了解虚拟文件系统之前,必须先知道什么是 Kernal Space 与 User Space。 Kernal Space 与User Space 的差别,在于内存使用上安全机制的差异。
kernal执行时会占据一段系统的内存空间, 这一段内存空间便是Kernal Space. 所有用户是无法和kernal space 直接交互的。
在/proc/iomem文件中所记录的kernal地址, 可以在命令行中执行: cat /proc/iomem | more
User Space 则强调,用户执行任何的程序所占用的内存部分, 对这些User Space 程序而言, 无法直接使用Kernal Space 中的资源,必须要经过一些系统所提供的system calls 才能使用Kernal Space 的对象。
这就涉及到操作系统中的Ring的主要概念, 整个操作系统分为: Ring 0, Ring 1, Ring 2 以及Ring 3, Ring 0 是kernal所在的地方(也就是Kernal Space), 也是唯一可以和硬件直接交互的系统组件。所有Ring 0 以外的软件, 若须使用硬件时,都必须通过Ring 0 的执行;
Ring 0 是Kernal所在地方;
Ring 1 和 Ring 2 是系统模块的部分;对于用户来说:就是经常看到的一些模块 例如: /dev , /proc , /sys 等虚拟文件系统;
Ring 3 是所有用户正常使用的应用程序也就是User Space
因此: 当有有应用程序需要任何的硬件设备时, 要先通过虚拟文件系统 或系统模块, 向kernel 请求支持;
虚拟文件系统与一般的文件系统最大差别在于“虚拟” 二字, 因为只要是虚拟文件系统,就没有一定要在哪一个目录下查看的限制,并且目录下的任何文件都不会占用硬盘的空间,这是因为虚拟文件系统只是一个抽象的对应方式,并没有任何实体的文件存在硬盘中;
kernal执行时会占据一段系统的内存空间, 这一段内存空间便是Kernal Space. 所有用户是无法和kernal space 直接交互的。
在/proc/iomem文件中所记录的kernal地址, 可以在命令行中执行: cat /proc/iomem | more
User Space 则强调,用户执行任何的程序所占用的内存部分, 对这些User Space 程序而言, 无法直接使用Kernal Space 中的资源,必须要经过一些系统所提供的system calls 才能使用Kernal Space 的对象。
这就涉及到操作系统中的Ring的主要概念, 整个操作系统分为: Ring 0, Ring 1, Ring 2 以及Ring 3, Ring 0 是kernal所在的地方(也就是Kernal Space), 也是唯一可以和硬件直接交互的系统组件。所有Ring 0 以外的软件, 若须使用硬件时,都必须通过Ring 0 的执行;
Ring 0 是Kernal所在地方;
Ring 1 和 Ring 2 是系统模块的部分;对于用户来说:就是经常看到的一些模块 例如: /dev , /proc , /sys 等虚拟文件系统;
Ring 3 是所有用户正常使用的应用程序也就是User Space
因此: 当有有应用程序需要任何的硬件设备时, 要先通过虚拟文件系统 或系统模块, 向kernel 请求支持;
虚拟文件系统与一般的文件系统最大差别在于“虚拟” 二字, 因为只要是虚拟文件系统,就没有一定要在哪一个目录下查看的限制,并且目录下的任何文件都不会占用硬盘的空间,这是因为虚拟文件系统只是一个抽象的对应方式,并没有任何实体的文件存在硬盘中;
相关文章推荐
- 【转】linux虚拟内核文件系统介绍
- Linux 的虚拟文件系统(强烈推荐)
- Linux虚拟文件系统--open()
- Linux文件编程之虚拟文件系统(VFS)
- Linux虚拟文件系统(内核初始化<二>)
- linux文件系统体系结构 和 虚拟文件系统(VFS)
- Linux 的虚拟文件系统(强烈推荐)
- 嵌入式 Linux 虚拟系统文件交换器剖析
- 从文件 I/O 看 Linux 的虚拟文件系统
- Linux /proc 虚拟文件系统使用
- linux下使用kpartx挂载虚拟文件系统
- 理解linux虚拟文件系统VFS - 概述
- 理解linux虚拟文件系统VFS - 路径查找 path_lookup
- Linux2.6--虚拟文件系统
- Linux文件编程之虚拟文件系统(VFS)
- Linux虚拟文件系统小结
- 从文件 I/O 看 Linux 的虚拟文件系统
- Linux架构-内核空间,用户空间,虚拟文件系统
- linux VFS 之一 :虚拟文件系统的面向对象设计思想
- 深入理解linux虚拟文件系统VFS - 概述