主要观点:决定为 CHERIoT 编写新的 RTOS 而非使用现有系统,是因为 CHERIoT 是软硬件协同设计项目, retrofit 困难。ThreadX 虽被微软收购但存在紧密耦合导致隔离困难等问题,其他潜在选项也有类似情况。CHERIoT 基于安全原则设计,如最小特权原则和有意使用原则,在软件空间也有所延伸,与微内核设计不同,系统中最特权实体是 switcher 等。CHERIoT 设计有分区模型,与传统操作系统不同,通过函数调用实现通信等操作,引入新概念对现有 RTOS 需重大重新设计。CHERI 与 MPU 不同,设计支持语言友好抽象,能提供新的抽象,如密封机制等,可构建丰富的软件级能力系统。CHERIoT 的 ABI 设计支持链接时审计,报告包含多种信息。最后,RTOS 小很重要,CHERIoT RTOS 核心部分约 7 KLoC,包含头文件和库约 20 KLoC,易于复用现有代码,提供丰富分区模型方便封装现有组件。
关键信息:
- CHERIoT 软硬件协同设计,retrofit 困难。
- 安全原则贯穿 CHERIoT 设计。
- 分区模型与传统操作系统不同。
- CHERI 与 MPU 设计理念不同。
- CHERI 能提供新抽象。
- CHERIoT 的 ABI 支持审计。
- CHERIoT RTOS 小且便于复用代码。
重要细节: - Microsoft 收购 ThreadX 后,CHERIoT 项目未使用它。
- 最小特权原则通过允许特定权限指针体现,有意使用原则通过正确使用能力体现。
- CHERIoT 分区模型中各部分功能及权限不同,如调度器、分配器等。
- FreeRTOS 的受限任务模型与 CHERI 模型不一致。
- CHERI 利用密封机制创建安全指针。
- CHERIoT 的审计报告包含多种信息。
- CHERIoT RTOS 核心部分代码量小,便于复用代码。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。