linux 虚拟文件系统----------Virtual File System VFSkky
在了解虚拟文件系统之前,必须先知道什么是 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 请求支持;
虚拟文件系统与一般的文件系统最大差别在于“虚拟” 二字, 因为只要是虚拟文件系统,就没有一定要在哪一个目录下查看的限制,并且目录下的任何文件都不会占用硬盘的空间,这是因为虚拟文件系统只是一个抽象的对应方式,并没有任何实体的文件存在硬盘中;
linux 虚拟文件系统----------Virtual File System VFSkky的更多相关文章
- Linux 虚拟文件系统四大对象:超级块、inode、dentry、file之间关系
更多嵌入式原创文章,请关注公众号:一口Linux 一:文件系统 1. 什么是文件系统? 操作系统中负责管理和存储文件信息的软件机构称为文件管理系统,简称文件系统. 通常文件系统是用于存储和组织文件的一 ...
- linux 虚拟文件系统
转自:https://www.ibm.com/developerworks/cn/linux/l-cn-vfs/ Linux 允许众多不同的文件系统共存,并支持跨文件系统的文件操作,这是因为有虚拟文件 ...
- Linux虚拟文件系统
从文件 I/O 看 Linux 的虚拟文件系统 1 引言 Linux 中允许众多不同的文件系统共存,如 ext2, ext3, vfat 等.通过使用同一套文件 I/O 系统 调用即可对 Linux ...
- KASS分布式文件系统(Kass File System)
KASS分布式文件系统(Kass File System),简称KFS,是开始公司自主研发的分布式文件存储服务平台.KFS系统架构及功能服务类似Hadoop/GFS/DFS,它通过HTTP-WEB为上 ...
- PatentTips – EMC Virtual File System
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention generally relates to net ...
- Linux虚拟文件系统(VFS)学习
虚拟文件系统(Virtual Filesystem)也可称之为虚拟文件系统转换(Virtual Filesystem Switch),是一个内核软件层,用来处理与Unix标准文件系统相关的全部系统调用 ...
- HTML5之本地文件系统API - File System API
HTML5之本地文件系统API - File System API 新的HTML5标准给我们带来了大量的新特性和惊喜,例如,画图的画布Canvas,多媒体的audio和video等等.除了上面我们提到 ...
- Linux虚拟文件系统VFS解决
参考<Linux内核设计与实现> 虚拟文件系统(VFS)它是linux核心和详细I/O一个普通的访问接口之间的包装设备,通过这层界面,linux内核能够以同一的方式訪问各种I/O设备. 虚 ...
- linux虚拟文件系统2
转自:http://rstevens.iteye.com/blog/849413 一.概述 Linux 文件系统是相当复杂的,本文只分析虚拟文件系统的实现,对具体的文件系统不涉及. 即使是虚拟文件系统 ...
随机推荐
- Follow your heart
世界上最可怕的两个词,一个是执着,一个是认真.认真的人改变自己,执着的人改变命运.任何时候都别怕重来,每个看似低的起点,都是通往高峰的必经之路.不用抱怨那些不尽如人意,问问自己,你够努力了吗?转自人民 ...
- JDBC笔记
简介 JDBC是Java规定的访问数据库的API,目前主流的数据库都支持JDBC.使用JDBC访问不同的数据库时需要安装不同的驱动. JDBC定义了数据库的链接,SQL语句的执行以及查询结果集的遍历等 ...
- HDU 5738 Eureka(极角排序)
[题目链接] http://acm.hdu.edu.cn/showproblem.php?pid=5738 [题目大意] 给出平面中一些点,在同一直线的点可以划分为一个集合,问可以组成多少包含元素不少 ...
- Day1_PHP快速入门
本人知识背景:行业软件C/C++开发两年经验,了解PHP, 所以学习日志偏向记录PHP相对于C的特性 测试环境:EasyPHP13.1 Day 1 学习时间:3小时 1. HTML触发PHP HTML ...
- applet部署,无需修改客户端设置。
1 开发applet程序,编译成jar包 2 给jar包做数字签名: (1).用keytool生成密钥: keytool -genkey -keystore myapplet.keystore - ...
- JEECMS用法总结
1.循环打印栏目: [@cms_channel_list] [#list tag_list as c] <li id="${c.path}"><a href=&q ...
- 修改spinner选中以后显示的字体颜色
原来spinner选中以后显示的view 还是textview ,这样就是可以设置它的字体颜色了 sp.setOnItemSelectedListener(new OnItemSelectedLi ...
- C++ - Vector 计算 均值(mean) 和 方差(variance)
Vector 计算 均值(mean) 和 方差(variance) 本文地址: http://blog.csdn.net/caroline_wendy/article/details/24623187 ...
- Swift 闭包表达式
闭包是功能性自包含模块,可以在代码中被传递和使用. Swift 中的闭包与 C 和 Objective-C 中的 blocks 以及其他一些编程语言中的 lambdas 比较相似. 闭包的形式主要有三 ...
- 使用window.postMessage实现跨域通信
JavaScript由于同源策略的限制,跨域通信一直是棘手的问题.当然解决方案也有很多: document.domain+iframe的设置,应用于主域相同而子域不同: 利用iframe和locati ...