更新时间: 2023-01-14
1. 实时系统内存分配
实时系统分为硬实时系统和软实时系统。硬实时系统是指系统中各任务不仅要执行无误而且要做到准时;软实时系统是指系统中各任务运行的越快越好,并不要求限定某一任务必须在多长时间内完成。
可以看出动态内存分配是**不能用于硬实时系统的,因为动态分配具有时间不确定性(分配时间与内存块数量有关),而且动态分配可能产生分配不成功的情况。所以对于硬实时系统,只能采用静态内存分配方式。静态分配是指在编译或链接时将程序所需的内存空间分配好,这样不会出现分配失败的情况。
其实对于大多数实时系统而言,内存分配都是采用两种方式的结合,即动静结合的分配方式。
2. 动静结合内存分配的一种实现
对于整个内存,把它分为4个部分,即中断向量区、系统映射区、系统内存区和用户内存区。其中中断向量表和系统映射区在编译时已经设定好,即采用静态分区的方式。剩下的两个部分可以按用户要求配置。