3.机顶盒中的操作系统:
应用于数字有线电视机顶盒中的操作系统与大家比较熟悉的PC的操作系统,如DOS、Windows98、Windows NT、Unix、MacOS不同,机顶盒中的操作系统不是非常的庞大,但却要求可以在实时的环境中工作,并能在较小的内存空间中运行。这种操作系统称为实时操作系统。
目前流行的实时操作系统有Wind River System公司的VxWorks、Integrated Systems Incorporated公司的pSOS、Microware公司的DAVID OS-9、ST公司的OS20、Windows CE以及专为机顶盒开发的PowerTV等。这些操作系统各有所长,在机顶盒中都有应用。其中VxWorks、pSOS、OS-9、OS20等是通用的实时操作系统,在其他的嵌入式系统中也有广泛的应用。PowerTV是专为机顶盒开发的,并将中间件集成在一起的操作系统,在美国应用较广。随着嵌入式Linux的逐渐成熟,不仅为机顶盒厂商提供了一种选择,而且由于Linux的开放性和先进的结构,会对现有的实时操作系统构成巨大的威胁。
另外,作为UNIX系统的一种变种,LINUX系统在应用软件,系统集成,以及用户开发,使用习惯上都有十分大的优势,所以我们建议使用LINUX系统作为系统平台。
4.中间件
中间件是一种将应用程序与低层的操作系统、硬件细节隔离开来的软件环境,这种分层的思想在现代系统设计中十分常见,如大名鼎鼎的TCP/IP协议。中间件通常由各种虚拟机来构成,如HTML虚拟机、JavaScript虚拟机、Java虚拟机等。
一个完整的数字机顶盒由硬件平台和软件系统组成,可以将其分为4层,从底向上分别为硬件、底层软件、中间件、应用软件。硬件提供机顶盒的硬件平台;底层软件提供操作系统内核以及各种硬件驱动程序;应用软件包括本机存储的应用和可下载的应用;中间件将应用软件与依赖于硬件的底层软件分隔开来,使应用不依赖于具体的硬件平台。这样用户可以在任何厂家的硬件平台上进行应用软件开发,和应用软件下载。不必介意任何低层的有关信息。保证了机顶盒的开发专业化。目前成熟的用于机顶盒的商用中间件产品有Opentv的EN2、Liberate的TV Navigator for DTV、Enreach的EnreachTV for DTV、Canel+ 的Mediahighway和Intellibyte的IB EPG、IB SI Manager、IB Browser等,这些产品在市场上都占有一席之地,但彼此并不兼容。
标准组织已经认识到已有中间件产品兼容性差这个事实,并且开始着手建立开放的中间件标准。DVB提出了基于Java虚拟机的中间件标准DVB-MHP(多媒体家庭平台);ATSC成立了T3/S17技术专家小组委员会,致力于机顶盒软件环境的定义,该软件环境称为DTV应用软件环境(DASE)。ATVEF(先进电视发展论坛)也创建了一种称为Advanced Television Enhancement Forum Specification for Interactive Television 的规范。
其实,任何一种分层结构都不是要求完全一丝不差的按照其结构,在中间件中我们认为JAVA虚拟机较有发展前途。因为首先,JAVA的设计初衷就是为信息家电开发提供一种简单,健壮的嵌入式语言。正是基于这样一种设计目标,JAVA具有小型化的能力可以在简单的环境下运行。而价格方面的原因使机顶盒不可能,也不必要拥有同一时代的标准配置的台式机的功能,这种相对简单的硬件环境是可以运行JAVA虚拟机的。应用JAVA虚拟机的另一个原因是,现在出现了专门运行JAVA语言的JAVA芯片如果应用这种芯片作为机顶盒的CPU,则可以使用专门的JAVAOS作为操作系统,利用JAVA语言的可移植性在台式机上进行应用层开发,借鉴台式机的调试开发经验和工具。