# kuku **Repository Path**: iloverust/kuku ## Basic Information - **Project Name**: kuku - **Description**: KUKU(酷库)是一个采用Exokernel架构的现代操作系统框架,使用Zig、Rust和Kotlin三种语言协同开发,提供高性能、安全可靠的系统服务。 - **Primary Language**: Unknown - **License**: MulanPSL-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 1 - **Forks**: 0 - **Created**: 2025-10-04 - **Last Updated**: 2025-10-19 ## Categories & Tags **Categories**: Uncategorized **Tags**: 酷库 ## README # KUKU - 基于Exokernel架构的操作系统框架 ## 项目介绍 KUKU是一个采用Exokernel架构的现代操作系统框架,使用Zig、Rust和Kotlin三种语言协同开发,提供高性能、安全可靠的系统服务。 ## 🚀 快速开始 ### 环境要求 - **Zig**: >= 0.14.0 (用于exokernel开发) - **Rust**: >= 1.90.0 (用于安全服务层) - **Kotlin**: >= 1.8.0 (用于UI层) - **cbuild-ng**: 构建系统支持 ### 构建步骤 ```bash # 1. 克隆项目 git clone cd kuku # 2. 初始化构建环境 make init_env # 3. 配置构建选项(可选) make menuconfig # 4. 构建所有组件 make all # 或者分别构建各组件 make exokernel # 构建Zig内核 make safe_ffi # 构建FFI接口 make safe_services # 构建Rust服务层 ``` ### 运行测试 ```bash # 运行FFI集成测试 cd safe_ffi_test && cargo test # 运行服务层测试 cd safe_services && cargo test # 运行网络集成测试 cd safe_services && cargo test --features test-network ``` ## 📋 项目概览 ### 核心架构 ``` ┌─────────────────────────────────────────┐ │ 用户界面层 (Kotlin) │ │ ┌─────────────────┐ ┌─────────────────┐ │ │ │ Kuikly UI │ │ 应用程序 │ │ │ └─────────────────┘ └─────────────────┘ │ └─────────────────┬───────────────────────┘ │ FFI/JNI ┌─────────────────▼───────────────────────┐ │ 安全服务层 (Rust) │ │ ┌─────────┐ ┌─────────┐ ┌─────────────┐ │ │ │ IPC服务 │ │ 图形服务│ │ 网络服务 │ │ │ └─────────┘ └─────────┘ └─────────────┘ │ └─────────────────┬───────────────────────┘ │ Safe FFI ┌─────────────────▼───────────────────────┐ │ Exokernel层 (Zig) │ │ ┌─────────┐ ┌─────────┐ ┌─────────────┐ │ │ │ 内存管理│ │ 能力系统│ │ 硬件抽象 │ │ │ └─────────┘ └─────────┘ └─────────────┘ │ └─────────────────────────────────────────┘ ``` ### 目录结构 ``` kuku/ ├── exokernel/ # Zig实现的微内核 ├── safe_services/ # Rust实现的安全服务层 ├── safe_ffi/ # 跨语言FFI接口 ├── ui/kuikly_UI/ # Kotlin实现的用户界面 ├── boot/ # 系统引导程序 ├── docs/ # 项目文档 ├── scripts/ # 构建和工具脚本 └── formal_verification/ # 形式化验证 ``` ## 🔧 核心特性 ### Exokernel架构优势 - **极简内核**:只提供最基本的硬件抽象和资源保护 - **直接硬件访问**:应用程序可直接访问硬件资源 - **能力系统**:细粒度的资源访问控制 - **高性能**:减少系统调用开销,提升性能 ### 多语言协同 | 语言 | 用途 | 优势 | |------|------|------| | **Zig** | Exokernel层 | 零成本抽象、精确内存控制、C兼容 | | **Rust** | 服务层 | 内存安全、并发安全、零成本抽象 | | **Kotlin** | UI层 | 现代语法、协程支持、JVM生态 | ### 安全保障 - ✅ **内存安全**:Rust所有权模型 + Zig显式内存管理 - ✅ **类型安全**:强类型系统防止类型错误 - ✅ **零unsafe Rust**:服务层完全使用safe Rust - ✅ **能力隔离**:最小权限原则的资源访问控制 - ✅ **形式化验证**:TLA+规范验证系统正确性 ## 🛠️ 主要组件 ### 1. Exokernel (Zig) **核心功能**: - 物理内存管理 (`memory.zig`) - 能力系统实现 (`caps.zig`) - 硬件抽象接口 (`api.zig`) - 中断和异常处理 (`trap.zig`) **特色驱动**: - GPU/显示设备支持 - 神经网络加速器 (NPU/TPU/BPU) - FPGA设备驱动 ### 2. Safe Services (Rust) **核心服务**: - **IPC服务**:五种IPC机制(共享内存、消息队列、管道、信号量、同步/异步IPC) - **图形服务**:Skia渲染、Vulkan API、Wayland协议 - **网络服务**:多平台网络驱动适配 - **文件系统服务**:安全的文件操作接口 **驱动适配**: - Linux驱动适配层 - ReactOS驱动适配层 - HaikuOS驱动适配层 - OpenHarmony驱动适配层 ### 3. Kuikly UI (Kotlin) **界面特性**: - 现代化UI设计(类似OriginOS风格) - 流畅动画和过渡效果 - 响应式布局设计 - 双编译器支持(GraalVM + Jeandle) **通信机制**: - 零拷贝共享内存 - 无锁数据结构 - 双向消息通道 ## 📊 性能特性 ### IPC性能优化 - **分层基数树内存池**:高效内存分配 - **零拷贝数据传输**:减少内存复制开销 - **无锁并发结构**:提升多线程性能 - **硬件加速支持**:利用底层硬件特性 ### 图形渲染优化 - **GPU直接访问**:通过Exokernel直接控制GPU - **多渲染后端**:Skia、Vulkan多重选择 - **异步渲染管道**:提升渲染效率 ## 🔬 开发和测试 ### 代码质量保证 ```bash # 代码审计 ./scripts/code_audit.ps1 # 格式化代码 cd exokernel && zig fmt src/ cd safe_services && cargo fmt ``` ### 形式化验证 项目使用TLA+进行形式化验证: - `capability_system.tla` - 能力系统规范 - `memory_manager.tla` - 内存管理器规范 - `service_layer.tla` - 服务层规范 ## 📚 文档 - [驱动架构设计](DRIVER_ARCHITECTURE.md) - [图形系统集成计划](GRAPHICS_INTEGRATION_PLAN.md) - [代码审计指南](CODE_AUDIT_GUIDE.md) - [FFI集成文档](ffi_integration/README.md) - [形式化验证指南](formal_verification/VERIFICATION_GUIDE.md) ## 🤝 贡献 欢迎贡献代码!请遵循以下步骤: 1. Fork 项目 2. 创建特性分支 (`git checkout -b feature/AmazingFeature`) 3. 提交更改 (`git commit -m 'Add some AmazingFeature'`) 4. 推送到分支 (`git push origin feature/AmazingFeature`) 5. 开启 Pull Request ## 📄 许可证 本项目采用 [木兰宽松许可证 v2 (MulanPSL v2)](LICENSE) 开源协议。