正常
08 · 文件系统
从内核第一次摸到磁盘(PCI/AHCI)、第一次认识「文件」(initrd ramdisk),到立起 VFS 抽象、把 ext2 读通、让 ext2 能写、给文件系统上锁、把启动流程塞进 init 线程;再到 DevFS/ProcFS 这类内存型虚拟 FS、double-indirect 与 TOCTOU 的修复、VFS 地基重做与收尾、ext2 在 SMP 下治成 buffer-safe;最后补上 tmpfs 与运行时 mount/umount——这一卷是 Cinux 从「会读扇区」长到「有一套正经、并发安全、能挂能卸的文件系统」的完整弧线。
阅读顺序
- 001 · 让内核自己找到磁盘:PCI 枚举与 AHCI 驱动
- 002 · 内核第一次认识「文件」:嵌入式 initrd ramdisk
- 003 · 给文件一个统一接口:VFS 内核层
- 004 · 让用户态能 open/read 文件:VFS 系统调用与 shell
- 005 · 磁盘上的真文件系统:ext2 只读驱动
- 006 · 让 ext2 能写:从只读到可建可删
- 007 · 工作目录与文件信息:让文件系统「认得」相对路径
- 008 · 并发安全:给共享数据上锁
- 009 · init 线程:让启动流程能被调度、能阻塞
- 010 · DevFS:用一个虚拟文件系统把设备挂进 /dev
- 011 · ProcFS:把进程列表挂进 /proc
- 012 · ext2 间接块:把 double-indirect 真做了
- 013 · ProcFS 的 TOCTOU:锁内拷值,指针不逃出锁
- 014 · VFS 地基重做:组件遍历、引用计数、inode 缓存
- 015 · VFS 收尾:路径解析缓存与文件锁
- 016 · ext2 独立成库——把共享 buffer 治成 SMP-safe
- 017 · tmpfs:把可写的临时文件挂进内存
- 018 · mount/umount:把后端接到路径上的接线口