文件系统

FAT 文件系统

FAT(File Allocation Table)是与 Windows 兼容的文件系统,FatFs的编写遵循ANSIC,并且完全与磁盘 I/O 层分开,他独立(不依赖)于硬件架构。

FatFs文件系统的主要特点:

  • Windows兼容的FAT文件系统;
  • 不依赖于平台,易于移植;
  • 代码和工作区占用空间非常小;
  • 多种配置选项;

NFS 文件系统

NFS(Network File System)即网络文件系统,有Sun公司于1984年发布的分散式文件系统协议。也是FreeBSD支持的文件系统中的一种,它允许网络中的计算机之间通过 TCP/IP 网络共享资源。在NFS的应用中,本地 NFS 的客户端应用可以透明地读写位于远端 NFS 服务器上的文件,就像访问本地文件一样。NFS 用于文件分享不太适合大型的分散式系统。

NFS的主要特点:

  • 本地工作站使用更少的磁盘空间,因为通常的数据可以存放在一台机器上而且可以通过网络访问到;
  • 用户不必在每个网络上的机器都有一个相同的目录,相同的目录可以被放在 NFS服务器上并且在网络上处处可用;
  • 诸如软驱,CDROM 之类的存储设备可以在网络上面被其他机器使用,这可以减少整个网络上的可移动介质设备的数量。

ROM文件系统

ROMFS是一种相对简单、占用空间较小的只读文件系统,具备体积小,可靠性好,读取速度快等优点。同时支持目录,符号链接,硬链接,设备文件。
ROMFS是一种只读的文件系统,它使用顺序存储方式,所有数据,包括目录、链接等都按目录树的顺序存放,相对其他大型文件系统而言,ROMFS 非常节省空间。通常 ROMFS在嵌入式设备中作为根文件系统或者用于保存 bootloader 以便引导系统启动。
ROMFS 使用顺序存储方式,所有数据都是顺序存放的。因此 ROMFS 中的数据一旦确定就无法修改,这是 ROMFS 只能是一种只读文件系统的原因,它的数据存储方式决定了无法对 ROMFS 进行写操作。由于采用了顺序存放策略,ROMFS 中每个文件的数据都能连续存放,读取过程中只需要一次寻址操作,进而就可以读入整块数据,因此 ROMFS 中读取数据效率很高。

RAM 文件系统

RAMFS 将一部分固定大小的内存当作分区来使用。它并非一个实际的文件系统,而是一种将实际的文件系统装入内存的机制。将一些经常被访问而又不会更改的文件放在内存中,可以明显地提高系统的性能,而且在设备的调试初期其他 Flash 类型的文件系统还未能正常工作时,使用内存型文件系统可以方便设备的调试。

ROOT文件系统

ROOTFS(根文件系统)是一种特殊的文件系统,根文件系统是内核启动时挂载的第一个文件系统,因此根文件系统包括了系统启动时所必须的目录和关键性的文件,例如内核启动时所必需的 etc 目录,以及系统命令 bin 目录等,任何包括这些系统启动所必须的文件都可以成为根文件系统。
有些操作系统的 ROOTFS 属于虚拟类型的根文件系统,因为此文件系统并不存在于
具体的物理磁盘中,而是系统启动后动态创建的,并将此系统保存于内存中。
ROOTFS 的目录结构,如表 1 所示。

表 1 根文件系统目录结构
根文件系统典型符号链接功能
/ tmp/yaffs2/n1/tmp存放临时文件
/var/yaffs2/n1/var存放可变的数据
/root/yaffs2/n1/root根用户的目录
/home/yaffs2/n1/home普通用户的目录
/apps/yaffs2/n1/apps存放应用程序
/sbin/yaffs2/n1/sbin系统级的可执行程序
/bin/yaffs2/n1/bin普通的可执行程序
/usr/yaffs2/n1/usr存放共享数据
/lib/yaffs2/n1/lib存放共享库和内核模块
/qt/yaffs2/n1/qt存放 Qt 相关文件
/ftk/yaffs2/n1/ftk存放 FTK 相关文件
/etc/yaffs2/n0/etc存放常用配置文件
/boot/yaffs2/n0/boot存放加载器所需的文件
/usbUSB 挂载根节点
/yaffs2YAFFS 文件系统分区
/procPROC 文件系统根节点
/media移动设备挂载根节点
/mnt卷标挂载根节点
/dev设备挂载根节点

PROC 文件系统

为了方便访问内核信息,有些操作系统会提供 PROC 虚拟文件系统,该文件系统存在于/proc 目录,包含了各种用于展示内核信息的文件,并且允许进程通过常规文件 I/O 系统调用来方便地读取,有时还可以修改这些信息。之所以将/proc 文件系统称为虚拟文件系统,是因为其包含的文件和子目录并未存储于磁盘上,而是由内核在进程访问此类信息时动态创建而成。

/proc 目录下的文件及目录说明如表 2 所示。
文件/目录描述(进程属性)
1进程 ID 为 1 的进程信息目录
ksymbol内核符号表文件
posixPOSIX 子系统信息目录
net网络子系统信息目录
power电源管理子系统信息目录
fs文件系统子系统信息目录
version当前系统运行的内核版本号信息文件
kernel内核子系统信息目录
cpuinfo处理器相关信息文件
bspmem每个物理存储器设备(RAM 或 ROM)
在系统内存中的映射信息文件
self辅助性信息目录
yaffsYAFFS 文件系统信息文件

通常使用脚本来访问/proc 目录下的文件,也可以从程序中使用常规 I/O 系统调用来访
问/proc 目录下的文件。但是在访问这些文件时,有以下限制:

  • /proc 目录下的一些文件是只读的,即这些文件仅用于显示内核信息,但无法对其进行修改。/proc/pid
  • 目录下的大多数文件就属于此类型。 /proc 目录下一些文件仅能由文件拥有者(或超级用户所属进程)读取。 除了/proc/pid
  • 子目录中的文件,/proc 目录的其他文件大多属于 root 用户,并且仅有 root 用户能够修改那些可修改的文件。

YAFFS 文件系统

YAFFS(Yet Another Flash File System)是一个专门为 NAND Flash 存储器设计的嵌入式日志型文件系统,适用于大容量的存储设备,并且是在 GPL 协议下发布,可在其网站免费获得源代码。
YAFFS 是基于日志的文件系统,提供磨损平衡和掉电恢复的健壮性。它还为大容量的Flash 芯片做了很好的调整,针对启动时间和 RAM 的使用做了优化,它适用于大容量的存储设备。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值