linux文件系统挂载与高层体系结构

Linux是一个优秀的平台为标准,更多的外来文件系统开发的文件系统。本文探讨了虚拟文件系统(VFS,有时也被称为虚拟文件系统换热器)在Linux内核中,这是Linux认证考试相关的,然后介绍了文件系统的主要结构连接。



基本文件系统结构



Linux文件系统体系结构是一个很有意思的一个复杂系统的抽象的例子。通过使用一组通用的API函数,Linux可以支持多种多种存储设备的文件系统。例如,读函数调用可以从指定的文件描述符读取一定数量的字节读取功能。不了解该类型的文件系统,如ext3或NFS。也不理解文件系统的存储介质,如数据包接口(精进)盘、串行连接SCSI(SAS)磁盘或串行高级技术(磁盘)。然而,当一个文件调用read函数读取,数据正常返回。这篇文章解释了这一机制的实现并介绍了linux文件系统层的主要结构。



什么是文件系统



首先,回答最常见的问题,是什么;文件系统;文件系统是一个组织的存储设备上的数据和元数据的机制。因为定义是宽泛的,它将支持它的代码很有趣。正如前面提到的,有许多种文件系统和媒体。由于在这么多类型的存在,我们可以预期,Linux文件系统接口实现为一个分层的体系结构,将用户界面层、文件系统实现和操作存储设备的驱动程序。



衣架



文件系统与Linux中的存储设备相关联的过程称为挂载。使用挂载命令将文件系统附加到当前文件系统层次结构(root)。



为了说明Linux文件系统层的功能(以及安装方法),我们在当前文件系统的文件中创建一个文件系统,其实现是首先使用DD命令创建一个指定大小的文件(使用文件作为复制的源文件),换句话说,是一个由0初始化的文件,如清单1所示。



清单1。创建一个初始化文件



1美元。DD如果= / dev /零= file.img BS = 1k数= 10000



2.10000 + 0记录



3.10000 + 0记录



4美元。



现在有一个file.img 10mb文件。使用losetup命令将一个圆形的装置文件,使它看起来像一个块设备,而不是文件系统中的一个普通文件。



1美元。losetup / dev / loop0 file.img



2美元。



这个文件现在出现作为一个块设备( / dev / loop0表示)。然后mke2fs是用来创建此设备上的文件系统。该命令创建一个新的指定大小的ext2文件系统,如清单2所示。



清单2。创建一个循环装置的ext2文件系统



1美元。mke2fs C / dev / loop0 10000



2.mke2fs 1.35(28-feb-2004)



3.max_blocks 1024000,rsv_groups = 1250,rsv_gdb = 39



4、文件系统标签=



5.os类型:Linux



6块大小= 1024(log = 0)



7片段大小= 1024(log = 0)



8.2512字节,10000块



为超级用户预留的9.500个块(5%)



10 ..



11美元。



使用mount命令挂载的回路装置为代表的file.img文件(/ dev / loop0)到挂载点/ mnt / point1.note,文件系统类型指定为ext2。在山上,你可以使用装入点作为一个新的文件系统,如使用ls命令,如清单3所示。