linux系统中对文件系统的原理进行分析

linux系统中对文件系统的原理进行分析,第1张

我这里刚好有:inux native

linux/minix

linux swap(linux交换分区)

它是Linux中一种专门用于交换分区的swap文件系统。Linux是使用这一整个分区作为交换空间。一般这个swap格式的交换分区是主内存的2倍,如果物理内存超过1G则设为2G。在内存不够时,Linux会将部分数据写到交换分区上。

linux extended

Ext2(linux主分区)

Ext2是GNU/Linux系统中标准的文件系统。这是Linux中使用最多的一种文件系统,它是专门为Linux设计的,拥有极快的速度和极小的CPU占用率。Ext2既可以用于标准的块设备(如硬盘),也被应用在软盘等移动存储设备上。Ext3(linux主分区)

Ext3是Ext2的下一代,也就是保有Ext2的格式之下再加上日志功能。Ext3是一种日志式文件系统(Journal File System),最大的特点是:它会将整个磁盘的写入动作完整的记录在磁盘的某个区域上,以便有需要时回溯追踪。当在某个过程中断时,系统可以根据这些记录直接回溯并重整被中断的部分,重整速度相当快。该分区格式被广泛应用在Linux系统中。VFAT:

VFAT叫长文件名系统,这是一个与Windows系统兼容的Linux文件系统,支持长文件名,可以作为Windows与Linux交换文件的分区。

虚拟文件系统(VFS)其实也可以翻译成虚拟文件系统转换(virtual filesystem switch)。可以看出来它的作用就是提供一个通用的接口来处理与Unix标准文件系统相关的所有系统调用。它所隐含的思想就是把表示很多不同种类的文件系统的共同信息放入内核;其中有一个字段火函数来支持linux所支持的所有实际文件系统所提供的任何 *** 作。对所调用的每个读写或者其他函数,内核都能把它们替换成支持本地linux文件系统,NTFS文件系统或者文件所在的任何文件系统的实际函数。

至于vfs的工作原理 就不是三言两语可以解释清楚的了、里面包含了很多知识包括文件系统、超级块、i节点等等知识。其实主要就是用户安装了不同的文件系统,每个特定文件系统上都实现了包括open() close(),read(),write()等等的 *** 作,在安装的时候,每个特定的文件系统会在虚拟文件系统上注册,当用户需要对特定文件系统进行 *** 作时 只需调用统一的系统调用,虚拟文件系统能够调用对应文件系统上的函数来对文件进行 *** 作。详细的工作原理和实现 楼主需要花时间去学一学 *** 作系统知识可一参考《深入理解Linux内核》《深入linux内核架构》等书


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/yw/6272054.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-03-19
下一篇 2023-03-19

发表评论

登录后才能评论

评论列表(0条)

保存