目录
4.1 概述
操作系统(OS)负责自适应平台上所有应用程序的运行时调度、资源管理(包括管理内存和时间限制)和进程间通信。操作系统与执行管理(EM)一起工作,EM负责平台初始化,并使用操作系统执行应用程序的启动和关闭。
Adaptive Platform没有为高性能处理器指定新的操作系统。相反,它定义了一个execution context运行环境和操作系统接口(OSI),供自适应应用程序使用。
OSI规范包含作为ARA一部分的应用程序接口,ARA是自适应应用程序的标准应用程序接口。操作系统本身很可能提供执行管理启动应用程序所需的其他接口,如创建进程。但是,除他外,提供此类功能的接口不能作为ARA的一部分,并且定义为依赖于平台工具。
OSI提供C和C++接口。对于C程序,应用程序的主要源代码业务逻辑包括POSIX标准中定义的C函数调用,即IEEE1003.13中定义的PSE51。在编译过程中,编译器确定平台操作系统中提供这些C函数的C库,并在运行时链接可执行的应用程序。在C++程序中,应用软件组件的源代码包括C++标准中定义的函数调用及其标准C++库。
4.2 POSIX
市场上有几种操作系统,例如Linux,它们提供与POSIX兼容的接口。然而,与平台服务和基础相比,应用程序需要使用更为受限的API来操作系统。
一般假设用户app使用PSE51作为操作系统接口,而平台app可使用完整的POSIX。如果在应用程序级别需要更多功能,那么这些功能将取自POSIX标准,而不是尽可能新指定的功能。
自适应平台基础和自适应平台服务功能的实现可以使用进一步POSIX调用。具体调用的使用将留给实现者,而不是标准化的。
4.3 调度Scheduling
操作系统提供多线程和多进程支持。标准调度策略是SCHED_FIFO和SCHED_RR(轮转),它们由POSIX标准定义。允许使用其他调度策略,如SCHED_DEADLINE或任何其他特定于操作系统的策略,但限制是这可能无法在不同的AP实现之间移植。
4.4内存管理
多进程支持背后的原因之一是实现不同功能集群和AA之间的“自由干扰(freedom of interferences)”。操作系统对多进程的支持迫使每个进程位于独立的地址空间中,与其他进程分开并受到保护。同一可执行文件的两个实例在不同的地址空间中运行,因此它们可能在启动时共享相同的入口点地址和代码以及数据值,但是,数据将位于内存中不同的物理页(physical pages)中。
4.5设备管理Device management
设备管理主要是操作系统特有的。自适应平台基础有利于服务的创建,以暴露主系统功能。
虽然目前还没有将设备驱动程序本身的具体API标准化,但这些驱动程序实现的更高级别功能可以通过自适应平台服务进行标准化。
4.6联网Networking
多台机器之间以及与其他传感器之间的主要互连是基于以太网。因此,对基于TCP/IP和UDP/IP的协议的使用进行了清楚的描述。
因此,预期操作系统将提供这样一个网络堆栈。
通过使用通信管理(CM),应用程序将明显受益于网络支持。作为 Adaptive Platform Foundation 的一部分,VLAN、IPSEC 等附加功能支持系统内和系统间的安全通信。