系统安全与隐私保护技术解析
1. 系统内核组件介绍
1.1 内存管理器
内存管理器是内核中的一个组件,负责以下工作:
- 管理嵌入式系统的内存空间。
- 为每个任务创建专用的内存池,任务只能访问自己的内存区域。
- 对于 malloc() 调用,仅从调用任务的内存区域分配内存。
嵌入式引擎的内存被划分为多个重叠区域。内核可以读写所有内存区域,且没有一个内存区域可以被多个非特权任务访问。内存区域的大小由所属任务的实际使用模式决定,一个任务可以被分配多个具有不同属性的内存区域,例如一个可被引擎处理器和 DMA 设备访问的区域,以及一个仅可被 DMA 访问的区域。
1.2 线程管理器
单线程或多线程的线程管理器也是内核的一个组件,它负责管理线程并调度线程运行。在任何时刻,只有一个线程处于活跃运行状态,并且一个线程在其整个生命周期内只与一个任务关联。
在运行时,系统根据当前运行线程所属的任务来确定是否可以访问请求的资产或资源。在线程切换时,RTOS 会分别检查当前线程和下一个线程的所属任务。如果两个线程属于不同任务,RTOS 会将 MPR(内存保护范围)控制寄存器编程为预定义的值,以反映应用于下一个线程的访问限制。线程切换流程如下:
graph LR
classDef startend fill:#F5EBFF,stroke:#BE8FED,stroke-width:2px;
classDef process fill:#E5F6FF,stroke:#73A6FF
超级会员免费看
订阅专栏 解锁全文

被折叠的 条评论
为什么被折叠?



