Quantum是软件模块的集合体,在GlobespanVirata通信处理器上与其它一些为第三方操作系统提供支持的模块一起为ISOS系统提供基本的OS服务。
Quantum为应用及驱动软件提供新的执行环境,其目标是为嵌入式软件系统提供高性能、实时、可靠并适用于不同硬件平台的服务。为此,Quantum Kernel设计时充分考虑了对多硬件平台及第三方OS的支持,同时兼容ATMOS原有的应用及BUN驱动。
除Kernel外,Quantum提供了公共API以映射到别的OS平台,以便在第三方OS软件架构上易于扩展Quantum的应用软件及驱动。
Quantum有两种工作模式,分为本地模式(native mode)及主机模式(host mode),当Quantum工作于本地模式时,其即为OS的Kernel,可为硬件平台提供高效能服务。
如上所示,Quantum的公共API(Public API)主要供BUN设备使用,目前,很多ISOS模块如IP stack等都是从ATMOS或更古老的OS时代沿用下来的,因此使用Legacy API。
当Quantum运行于主机模式时,则其并不是OS的Kernel,相反,其运行于第三方OS平台之上,为第三方OS相关的应用提供Public API与OS相关API之间的映射。
Quantum的Public API接口由其AS(Application Services)API提供,可供Quantum外部的应用及驱动使用。Quantum的AS软件层是主要的应用服务API集,由可供C或C++应用代码调用的连接函数库组成,提供以下功能:
1.平台的抽象(如字长度大小及大小端支持)
2.内存管理
3.任务支持
4.任务交互的消息外理及网络数据的缓冲
5.通过信号量的任务交互的同步
6.硬件中断
7.Log及Console的支持
8.I/O及通用服务(如内存块、流、定时等)
在Quantum的AS API中集合通用的功能是为了降低最后的Code大小以及性能优化。该模块所定义的数据类型如下表所示:
Quantum所提供的Public API由数量众多的Internal APIs支持,根据不同的目标硬件平台或第三方OS,这些Internal APIs有不同的实现方法。目前Quantum所有的Internal API集如下所示:
1.Quantum XS – 提供与平台无关的功能
2.Quantum HS – 主机支持的功能
3.Quantum CS – 编译支持功能
4.Quantum LS – Legacy支持功能
本文档根据文档《DO-409931-TC》提供ISOS的IP协议栈的内部架构及实现的信息。