# HelloFS - FSKit 最简单文件系统示例 ## 目标 验证 FSKit API 基础功能: - UnaryFilesystemExtension entry point - FSUnaryFileSystem 基础操作 - FSVolume 内存文件系统 - FSItem 文件项管理 - 基础读写操作 ## 架构 ``` HelloFSExtension (入口点) ↓ HelloFS (文件系统) ↓ HelloVolume (卷管理,内存存储) ↓ HelloItem (文件项,内存数据) ``` ## 功能 **基础功能**: - ✅ Extension start/stop - ✅ Filesystem initialization - ✅ Volume creation (内存卷) - ✅ File lookup - ✅ File read/write - ✅ Directory readdir - ✅ File attributes **示例内容**: - 根目录 "/" (directory) - 文件 "hello.txt" (内容:"Hello from HelloFS!") ## 编译 ```bash cd /Users/accusys/markbase/docs/fskit-research/examples/HelloFS swift build ``` ## 运行测试 ```bash swift run HelloFS ``` **预期输出**: ``` === HelloFS Test === HelloFS Extension starting... HelloFS initialized HelloFS Extension started successfully ✅ Extension started ✅ Filesystem: HelloFS HelloVolume initialized with sample file: hello.txt ✅ Volume created: test_volume Looking up: / ✅ Root directory: / Looking up: hello.txt Reading: hello.txt, offset: 0, size: 100 ✅ File content: Hello from HelloFS! HelloFS Extension stopping... HelloFS filesystem stopping... HelloFS Extension stopped === Test Complete === ``` ## 限制 **当前版本限制**: - 仅内存文件系统(无持久化) - 无块设备访问(下一个示例 BlockFS) - 无扩展属性 - 无符号链接/硬链接 - 无文件锁定 - 基础属性(无完整 POSIX 属性) ## 下一步 **HelloFS 验证成功后**: - Phase 2: BlockFS (块设备访问) - Phase 3: BasicFS (完整文件操作) - Phase 4: ZFS-MVP (ZFS 最小原型) ## 参考文档 - FSKIT_API.md: FSKit API 详细文档 - FSKIT_START.md: 研究启动文档