Files
mr-library/README.md
2025-03-13 22:11:07 +08:00

51 lines
2.7 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<h1 align="center">MR-X</h1>
MR-X是一个高度模块化的内核专为资源受限的嵌入式系统设计。提供确定性执行环境和完整系统服务使开发者能够构建可靠的嵌入式应用同时保持极小的内存占用和高效的资源利用。
## 核心特性
- **模块化架构**:通过配置宏按需引入功能模块,实现极致的资源优化
- **对象管理系统**基于Kobject的统一对象模型实现引用计数和分层组织
- **内存管理**:高效的动态内存分配器,支持标准内存操作接口
- **定时器系统**:精确的定时服务支持一次性和周期性定时任务
- **工作队列**:灵活的任务延迟执行框架,优化系统响应性
- **同步机制**:提供自旋锁、原子操作等线程安全原语
- **标准库实现**:轻量级的字符串处理、格式化输出等基础函数
- **初始化框架**:依赖感知的系统初始化机制,确保组件正确启动顺序
## 关键组件
### Kobject系统
Kobject内核对象系统是MR-X的核心基础设施提供统一的对象管理框架
- **引用计数**通过Kref实现精确的对象生命周期管理防止内存泄漏确保资源正确释放
- **层次结构**:对象按父子树结构组织,支持基于路径的对象查找和遍历
- **类型系统**ktype机制支持多态行为和特定对象的释放方法实现通用与特定行为的分离
- **属性接口**:对象可暴露可读写属性,支持运行时配置和状态监控
- **命名空间**:类文件系统的路径访问方式,简化对象定位和管理
![Kobject](document/resource/README/kobject.png)
### Ktimer系统
Ktimer内核定时器提供高精度的定时服务是实时操作的关键组件
- **双模式支持**:一次性定时与周期性定时统一接口
- **回调机制**:定时到期时自动触发用户定义函数
- **动态控制**:运行时可启动、停止、修改定时参数
- **精确调度**:基于系统时钟提供确定性的时间行为
- **对象化管理**作为Kobject实例集成引用计数和层次管理
### 工作队列系统 (kworkqueue)
kworkqueue提供任务延迟执行机制实现资源高效利用
- **执行模式**:支持即时执行和定时延迟执行
- **上下文转换**:安全地将中断上下文任务转移到线程上下文
- **任务模型**:通过工作项封装回调函数和上下文数据
- **定时集成**与ktimer紧密集成实现精确的执行调度
- **电源管理**:支持自定义挂起/唤醒钩子函数,便于系统线程/功耗管理
- **对象化设计**利用Kobject特性实现统一的生命周期管理