嵌入式系统中的 Linux 及相关技术解析
1. 嵌入式 Linux 概述
在多处理器系统中,任务可以自由迁移,SCHED_DEADLINE 实现了全局最早截止时间优先(EDF)调度算法。相关基准测试显示,在四处理器系统中,当利用率为 380% 时,错过截止时间的比例小于 0.2%;利用率为 390% 时,该比例为 0.615%。六处理器系统的情况与之类似。而在单处理器系统或进程固定在特定核心的多核系统中,不会出现错过截止时间的情况。
2. 闪存文件系统
嵌入式系统对永久存储的要求与服务器或桌面环境不同,通常有大量静态(只读)数据,可变数据量有限。因此,针对 NAND 闪存存储的文件系统应运而生。
2.1 JFFS2 文件系统
JFFS2 是一种稳定的闪存专用日志结构文件系统。它将文件和目录的更改以节点形式记录到闪存中,节点分为 inode 节点和 dirent 节点:
- inode 节点 :包含文件元数据头和可选的文件数据负载。
- dirent 节点 :是目录项,包含名称和 inode 编号。
节点创建时有效,新节点创建后旧节点会过时。JFFS2 支持透明数据压缩,将压缩数据作为 inode 负载存储。与其他日志结构文件系统不同,JFFS2 使用块,块大小与闪存的擦除段相同,块从下往上依次填充节点。
节点类型 | 描述 |
---|---|