第一节 虚拟文件系统(Visual File System)概述
虚拟文件系统包括:【/dev/】、【/proc/】和【/sys/】等,它们下面的任何文件都不会占有硬盘的空间,因为虚拟文件系统只是一个抽象的对应方式,并没有任何实体的文件存在硬盘中。
它的作用是什么?虚拟文件系统作为User Space与Kernel Space之间的桥梁,当用户的应用程序(Application)需要任何的硬件设备时,要先通过虚拟文件系统或系统模块,向Kernel请求支持。也就是说User Space中的应用程序无法直接和Kernel Space交互,必须通过中间的虚拟文件系统。
下图给出了操作系统Ring的概念说明。我们可以看到VFS处在Ring1,而模块和驱动程序处在Ring2,它们正好处在Kernel Space (Ring0)和User Space(Ring 3)的之间。
第二节 设备文件目录/dev/
2.1 基本的设备文件
在/dev/目录下的每个设备文件都有两个代码,即Major Number和Minor Number,它们才是在系统中唯一标识一个设备的识别代码。
使用ls -l命令,就能看到设备文件的Major Number和Minor Number。如:
[root@airhouse dev]# ls -l sd*
brw-r----- 1 root disk 8, 0 2009-07-26 20:44 sda
brw-r----- 1 root disk 8, 1 2009-07-26 12:45 sda1
brw-r----- 1 root disk 8, 2 2009-07-26 20:44 sda2
brw-r----- 1 root disk 8, 16 2009-07-26 20:44 sdb
brw-r----- 1 root disk 8, 17 2009-07-26 20:44 sdb1
brw-r----- 1 root disk 8, 18 2009-07-26 20:44 sdb2
brw-r----- 1 root disk 8, 19