作 者:杨崑
系统软件层基于抽象模型的方式来实现所有的API:
播放引擎,负责媒体流的播放和控制;
命令和事件的分发控制;
操作系统资源,包括文件系统、定时器等;
硬件资源,包括硬盘、内存及各种接口等;
网络管理;
DRM/CA;
启动和初始化处理;
安全和认证处理;
下载和升级处理;
可移植层支持中间件软件层和应用层运行在不同的操作系统和硬件平台上,例如,针对一个特定的应用平台,操作可以是Linux、VxWorks、WinCE等。
5.4.1可移植层
系统抽象层:系统抽象层(SAL)负责对操作系统进行抽象,它封装了所有的通用操作,包括任务、定时器、消息队列等,以及一些公共的数据结构,如队列、堆栈等;系统抽象层屏蔽了操作系统,因此它应该能支持多种操作系统,如VxWorks、Linux、WinCE等等。通过使用SAL层接口,应用程序和系统软件层不需要关心当前使用的是哪种操作,而且这些应用软件能非常容易地移植到不同地操作系统平台。
接口抽象层:接口抽象层(IAL)负责对底层硬件平台进行抽象,它封装了所有底层硬件平台和接口设备的操作和接口,包括Flash、RAM、键盘、鼠标、遥控器等等。接口抽象层维护一个来自于各种输入设备的键值队列,并且负责把这些键值传送到应用层。通过这种方式,应用层不需要关心当前使用的是哪种输入设备,而仅仅需要知道当前的键值以及怎么处理这些键值。为了达到这个目的,一个为所有输入设备服务的统一的键值映射表应该被定义。
5.4.2中间件核心层
中间件核心层基于模块化的软件模型结构,通过可移植层调用操作系统资源和底层硬件资源实现相应的中间件功能。中间件核心层模块通过中间件为上层应用提供各种服务,它包括所有相关的协议和各种客户端操作,如媒体操作、媒体传输控制、用户认证、底层资源管理、下载服务、数字版权管理、安全管理等等。双模机顶盒应该能基于同一个中间件API提供DVB功能。
启动及初始化模块
启动及初始化是机顶盒开始工作的第一步,该模块主要完成系统初始化工作,准备运行环境及上下文。启动和初始化模块主要应该实现以下功能:
安全及认证模块
安全及认证模块负责整个系统的安全管理和控制,包括网络安全、软件升级、用户安全认证及业务应用安全等相关功能。安全及认证模块具体应该实现以下功能:
用户认证;
业务应用鉴权;
软件升级及下载认证;
网络安全策略;
密钥、会话令牌管理等等。
升级和下载模块
升级和下载模块负责底层平台、系统软件包括中间件、上层应用及一些应用需要的特殊数据如EPG数据的动态升级和下载。升级和下载模块具体应该支持以下功能:
底层平台的动态升级和下载;