进程分离(Process Separation)
经典的嵌入式或者小系统一般都是基于单个微控制器(MCU)。这个软件是专门用来执行特定任务的。且没有文件系统,主要因为这些应用不需要存储太多东西。有些系统可能需要跟踪状态。有时需要从一个被打断的地方继续执行任务。这可以通过非易失性存储器写入一些数据来实现。
硬件也经常保持简单,以降低成本和复杂性。 时间、与外部设备的通信或连接接口都可以针对特定的系统需求进行设计。 这几个字节或千字节的内存被用于系统应该做的所有事情。 数据是否被共享还是被隔离是由软件开发人员在达成一致的基础上控制的。
当一个系统需要满足某些需求时(比如:一个可信的时间源,一个到外部设备的安全通信通道,或者需要并行执行的任务), 硬件和软件得复杂度通常增长很快。 同一个系统可能执行两个或多个任务,它们可能对实时性有不同的需求,对硬件资源有不同的需求,甚至需要满足不同的安全性或安全级别。
今天的嵌入式系统涵盖了从只有几百字节内存的简单微控制器到具有图形用户界面、网络通信甚至更多的基于大型文件系统的计算机。 有许多不同的技术可以解决在这样不同的系统中可能出现的各种问题; 这里只给出了几个示例。
如果系统正在处理隐私数据或高度机密数据,则必须使用一种或多种不同的技术来在内存中或进程之间建立适当的隔离。 对于在不同ASIL级别上执行的系统来说,进程分离是必须的。 在这样的系统中,可能还需要限制IO和其他硬