存储-8-文件系统-1-常用文件系统汇总简介

这里列出 cat /proc/mounts 常见的文件系统类型。


一、盘上文件系统

这里接受常见的会格式化到块设备的文件系统。

1. EROFS

全名:Enhanced Read-Only File System
特点:只读、支持压缩(常见 LZ4),Android 常用于 system、vendor、product 这类只读分区。
优点:镜像小、读取 I/O 少、启动快、适合只读系统分区。
缺点:只读不可写;读取时需要解压,有 CPU 开销;内存压力下解压路径更敏感。


2. F2FS

全名:Flash-Friendly File System
特点:日志结构,针对闪存(UFS/eMMC)优化,Android 常用于 data、metadata。
优点:随机写性能好、写放大较低、TRIM/GC 机制较友好。
缺点:参数和 GC 调优复杂;极端场景下稳定性和性能波动依赖版本与配置。


3. EXT4

全名:Fourth Extended File System
特点:通用 journaling 文件系统,成熟稳定。
优点:生态成熟、工具完善、稳定性高、恢复工具丰富。
缺点:对闪存场景不一定是最优写放大;小随机写场景有时不如 F2FS。


4. VIRTIOFS

全名:Virtio Filesystem
特点:虚拟化场景中,客户机和宿主机共享目录的高性能文件系统。
优点:共享方便、性能通常好于传统网络文件共享方案。
缺点:依赖虚拟化栈与宿主机实现;隔离和权限模型需要额外审视。


5. FUSE

作为数据路径文件系统.
全名:Filesystem in Userspace
特点:内核把文件请求转给用户态守护进程处理;Android 常用于 emulated storage 路径。
优点:实现灵活、无需内核模块即可做复杂逻辑。
缺点:内核态与用户态切换带来额外开销,延迟和吞吐受影响。


二、伪文件系统

下面是内核伪文件系统、控制与观测接口,通常不对应"格式化分区"。

1. TMPFS

全名:Temporary File System
特点:基于内存(可交换)####存储临时文件。
优点:速度快,适合临时目录。
缺点:占用内存;内存紧张时会施压回收/交换。


2. DEVPTS

全名:Device Pseudo Terminal Filesystem, 设备伪终端文件系统。
特点:提供伪终端设备节点。
优点:终端会话管理标准、轻量。
缺点:不是持久存储。


3. PROC

全名:Process Filesystem,profs, 对应 /proc 目录。
特点:导出进程与内核运行时信息。
优点:排障和监控必备。
缺点:不是持久数据;部分信息开销随读取频率增加。


4. SYSFS

全名:System Filesystem, sysfs, 对应 /sys 目录。
特点:导出内核对象模型(device/driver/class)。
优点:设备管理、调试、配置统一接口。
缺点:误写节点可能改变系统行为。


5. SELINUXFS

全名:SELinux Filesystem, 对应 /sys/fs/selinux 目录。
特点:导出 SELinux 状态与控制接口。
优点:安全策略可观测可控。
缺点:需要正确策略知识,误操作影响安全性。


6. TRACEFS

全名:Tracing Filesystem
特点:内核 tracing(ftrace 等)接口。对应 /sys/kernel/tracing。
优点:定位性能/时序问题非常强。
缺点:开启过多 trace 可能显著影响性能。


7. CONFIGFS

全名:Configuration Filesystem, 对应 /config,目前只有一个 usb_gadget 使用。
特点:通过文件接口动态创建和配置内核对象。
优点:灵活、可脚本化。
缺点:配置错误可能导致子系统异常。


8. BINDER

全名:Android Binder IPC Filesystem type,通常与 binderfs 关联。对应 /dev/binderfs。
特点:Android Binder IPC 相关节点与命名空间接口。
优点:隔离和管理 Binder 设备节点更清晰。
缺点:仅适用于 Binder 场景。


9. BPF

全名:Berkeley Packet Filter Filesystem,bpffs, 对应 /sys/fs/bpf
特点:固定(pin)eBPF 程序和 map。
优点:便于跨进程复用 eBPF 对象。
缺点:需严格权限控制,否则有安全风险。


10. FUSECTL

全名:FUSE Control Filesystem, 对应 /sys/fs/fuse/connections
特点:FUSE 子系统控制接口。
优点:便于管理 FUSE 连接状态。
缺点:控制面用途,不是数据存储。


11. PSTORE

全名:Persistent Store Filesystem, 对应 /sys/fs/pstore
特点:保存崩溃日志(如 ramoops)到持久介质。
优点:重启后可取 crash 证据。
缺点:容量很小,日志可能覆盖。


12. FUNCTIONFS

全名:USB Function Filesystem, 和上面 configfs 配合针对usb业务使用。
特点:USB gadget 功能(adb/mtp/ptp)的用户态接口。
优点:USB 功能开发灵活。
缺点:不是通用文件存储。

# cat /proc/mounts | grep functionfs
adb /dev/usb-ffs/adb functionfs rw,relatime 0 0
mtp /dev/usb-ffs/mtp functionfs rw,relatime 0 0
ptp /dev/usb-ffs/ptp functionfs rw,relatime 0 0


13. CGROUP

全名:Control Groups (v1) Filesystem
特点:资源控制与隔离(CPU、memory 等)旧层级。
优点:兼容性强,历史组件广泛使用。
缺点:多控制器多层级,管理复杂。


13. CGROUP2

全名:Control Groups Version 2(Unified Hierarchy), 对应 /sys/fs/cgroup
特点:统一层级、语义更一致的新一代 cgroup。
优点:模型更统一,行为更可预测。
缺点:与 v1 并存时迁移和兼容处理较复杂。

 

posted on 2026-07-11 16:54  Hello-World3  阅读(9)  评论(0)    收藏  举报

导航