Expand description
Sysfs 虚拟文件系统
提供与 Linux 兼容的 sysfs 接口,用于暴露设备和内核信息。
§特性
- 冷插拔: 设备在启动时注册,运行时不变
- 只读: 大部分文件只读 (部分配置文件可写)
- 动态生成: 文件内容通过闭包动态生成
- Linux ABI 兼容: 符合 Linux sysfs 规范
§目录结构
/sys/
├── devices/ # 设备层次结构 (真实设备目录)
│ └── platform/
│ ├── vda/ # 块设备
│ │ ├── dev
│ │ ├── uevent
│ │ ├── size
│ │ ├── ro
│ │ ├── removable
│ │ ├── stat
│ │ └── queue/
│ │ ├── logical_block_size
│ │ ├── physical_block_size
│ │ ├── hw_sector_size
│ │ ├── max_sectors_kb
│ │ └── rotational
│ └── eth0/ # 网络设备
│ ├── uevent
│ ├── address
│ ├── mtu
│ ├── operstate
│ ├── carrier
│ ├── ifindex
│ └── type
├── class/ # 设备分类 (符号链接)
│ ├── block/
│ │ └── vda -> ../../devices/platform/vda
│ └── net/
│ └── eth0 -> ../../devices/platform/eth0
├── block -> class/block/ # 向后兼容
└── kernel/ # 内核信息
├── version
└── osrelease§Linux ABI 兼容性
实现了以下 Linux ABI 稳定属性:
§块设备
dev: major:minor 设备号uevent: udev 事件文件size: 设备大小(512字节扇区数)ro: 只读标志removable: 可移动标志stat: I/O 统计信息queue/logical_block_size: 逻辑块大小queue/physical_block_size: 物理块大小queue/hw_sector_size: 硬件扇区大小queue/max_sectors_kb: 最大传输大小queue/rotational: 旋转设备标志
§网络设备
uevent: udev 事件文件address: MAC 地址mtu: 最大传输单元operstate: 操作状态carrier: 载波状态ifindex: 接口索引type: 设备类型
Re-exports§
pub use device_registry::find_block_device;pub use device_registry::find_net_device;pub use sysfs::SysFS;
Modules§
- builders 🔒
- Sysfs 设备树构建器
- device_
registry 🔒 - 设备注册表辅助 - 为 sysfs 提供设备信息访问
- inode 🔒
- Sysfs Inode 实现
- sysfs 🔒
- Sysfs 文件系统实现