# FSKit 研究启动 ⭐⭐⭐⭐⭐ ## 研究目标 **短期目标**(2-4 weeks): 1. FSKit API 全面理解 2. FSKit 示例代码编写 3. 基础文件系统原型 4. OpenZFS 集成设计 **中期目标**(8-12 weeks): 1. OpenZFS user-space core移植 2. FSKit + ZFS prototype 3. 基础功能验证 4. 性能初步测试 **长期目标**(9-14 months): 1. 完整 ZFS 功能实现 2. 生产环境优化 3. 文档完善 4. 用户工具开发 --- ## 研究重点 ### Phase 1: FSKit Framework 研究 **Week 1-2: FSKit API 研究** - UnaryFilesystemExtension entry point - FSUnaryFileSystem class - FSVolume and Operations - Block device access - File/directory operations - Extended attributes - Locking mechanisms **Week 3-4: FSKit 示例实现** - HelloFS: 最简单文件系统 - BasicFS: 基础文件操作 - BlockFS: 块设备访问 - MemoryFS: 内存文件系统 --- ## macOS 环境 **要求**: - macOS Sequoia 15.4+ - Xcode 16.0+ - Apple Developer Account - FSKit.framework(系统内置) **检查**: ```bash # macOS 版本 sw_vers # FSKit framework 检查 ls /System/Library/Frameworks/FSKit.framework # Xcode 版本 xcodebuild -version ``` --- ## 研究文档结构 ``` /Users/accusys/markbase/docs/fskit-research/ │ ├── FSKIT_START.md (本研究文档) ├── FSKIT_API.md (API 详细文档) ├── FSKIT_EXAMPLES.md (示例代码) ├── FSKIT_ARCHITECTURE.md (架构设计) ├── OPENZFS_USER_SPACE.md (OpenZFS 用户态设计) ├── FSKIT_ZFS_MAPPING.md (FSKit ↔ ZFS 映射) │ └── examples/ ├── HelloFS/ (最简单文件系统) ├── BasicFS/ (基础文件操作) ├── BlockFS/ (块设备访问) └── MemoryFS/ (内存文件系统) │ └── prototypes/ ├── ZFS-MVP/ (ZFS 最小原型) └── ZFS-Phase1/ (第一阶段实现) ``` --- ## 下一步行动 1. ✅ macOS Sequoia 15.4+ 验证 2. ✅ FSKit framework 检查 3. ✅ Xcode 环境准备 4. ⏸️ FSKit API 文档编写 5. ⏸️ HelloFS 示例实现 6. ⏸️ BlockFS 块设备测试 ---