至尊无上1高清:再论andriod,meego,mhp,hbbtv的优劣

来源:百度文库 编辑:九乡新闻网 时间:2024/04/25 14:23:43
Andriod

Android是Google开发的基于Linux平台的开源移动操作系统。它包括操作系统、用户界面和应用程序----移动电话工作所需的全部软件,而且不存在任何以往阻碍移动产业创新的专有权障碍,号称是首个为移动终端打造的真正开发和完整的移动软件。Google与开放手机联盟合作开放了Android,这个联盟由包括中国移动、中国联通、摩托罗拉、高通、宏达电、三星、LG和T-Mobile在内的30多家技术和无线应用的领导企业组成。

  国外Android市场正在如日中天的扩展,据市场调研机构NPDGroup最近发布的一份报告称,今年第一季度基于Android操作系统的智能手机在美国智能手机总销量中所占比例达到28%,首度超过苹果iphone,苹果iphone约为21%,相信在不久的将来会有更多的用户选择Android系统的手机或是无线终端设备。

Android系统架构由5部分组成,分别是:Linux Kernel、Android Runtime、Libraries、Application Framework、Applications。第二部分将详细介绍这5个部分。
架构详解  现在我们拿起手术刀来剖析各个部分。其实这部分SDK文档已经帮我们做得很好了,我们要做的就是拿来主义,然后再加上自己理解。下面自底向上分析各层。
1、Linux Kernel  Android基于Linux 2.6提供核心系统服务,例如:安全、内存管理、进程管理、网络堆栈、驱动模型。Linux Kernel也作为硬件和软件之间的抽象层,它隐藏具体硬件细节而为上层提供统一的服务。

  如果你学过计算机网络知道OSI/RM,就会知道分层的好处就是使用下层提供的服务而为上层提供统一的服务,屏蔽本层及以下层的差异,当本层及以下层发生了变化不会影响到上层。也就是说各层各尽其职,各层提供固定的SAP(Service Access Point),专业点可以说是高内聚、低耦合。

  如果你只是做应用开发,就不需要深入了解Linux Kernel层。
2、Android Runtime  Android包含一个核心库的集合,提供大部分在Java编程语言核心类库中可用的功能。每一个Android应用程序是Dalvik虚拟机中的实例,运行在他们自己的进程中。Dalvik虚拟机设计成,在一个设备可以高效地运行多个虚拟机。Dalvik虚拟机可执行文件格式是.dex,dex格式是专为Dalvik设计的一种压缩格式,适合内存和处理器速度有限的系统。

  大多数虚拟机包括JVM都是基于栈的,而Dalvik虚拟机则是基于寄存器的。两种架构各有优劣,一般而言,基于栈的机器需要更多指令,而基于寄存器的机器指令更大。dx 是一套工具,可以将 Java .class 转换成 .dex 格式。一个dex文件通常会有多个.class。由于dex有时必须进行最佳化,会使文件大小增加1-4倍,以ODEX结尾。

  Dalvik虚拟机依赖于Linux 内核提供基本功能,如线程和底层内存管理。
3、Libraries  Android包含一个C/C++库的集合,供Android系统的各个组件使用。这些功能通过Android的应用程序框架(application framework)暴露给开发者。下面列出一些核心库:

  系统C库——标准C系统库(libc)的BSD衍生,调整为基于嵌入式Linux设备

  媒体库——基于PacketVideo的OpenCORE。这些库支持播放和录制许多流行的音频和视频格式,以及静态图像文件,包括MPEG4、 H.264、 MP3、 AAC、 AMR、JPG、 PNG

  界面管理——管理访问显示子系统和无缝组合多个应用程序的二维和三维图形层

  LibWebCore——新式的Web浏览器引擎,驱动Android 浏览器和内嵌的web视图

  SGL——基本的2D图形引擎

  3D库——基于OpenGL ES 1.0 APIs的实现。库使用硬件3D加速或包含高度优化的3D软件光栅

  FreeType ——位图和矢量字体渲染

  SQLite ——所有应用程序都可以使用的强大而轻量级的关系数据库引擎
4、Application Framework  通过提供开放的开发平台,Android使开发者能够编制极其丰富和新颖的应用程序。开发者可以自由地利用设备硬件优势、访问位置信息、运行后台服务、设置闹钟、向状态栏添加通知等等,很多很多。

  开发者可以完全使用核心应用程序所使用的框架APIs。应用程序的体系结构旨在简化组件的重用,任何应用程序都能发布他的功能且任何其他应用程序可以使用这些功能(需要服从框架执行的安全限制)。这一机制允许用户替换组件。

  所有的应用程序其实是一组服务和系统,包括:

  视图(View)——丰富的、可扩展的视图集合,可用于构建一个应用程序。包括包括列表、网格、文本框、按钮,甚至是内嵌的网页浏览器

  内容提供者(Content Providers)——使应用程序能访问其他应用程序(如通讯录)的数据,或共享自己的数据

  资源管理器(Resource Manager)——提供访问非代码资源,如本地化字符串、图形和布局文件

  通知管理器(Notification Manager)——使所有的应用程序能够在状态栏显示自定义警告

  活动管理器(Activity Manager)——管理应用程序生命周期,提供通用的导航回退功能
5、Applications  Android装配一个核心应用程序集合,包括电子邮件客户端、SMS程序、日历、地图、浏览器、联系人和其他设置。所有应用程序都是用Java编程语言写的。更加丰富的应用程序有待我们去开发!

  从上面我们知道Android的架构是分层的,非常清晰,分工很明确。Android本身是一套软件堆叠(Software Stack),或称为「软件叠层架构」,叠层主要分成三层:操作系统、中间件、应用程序。从上面我们也看到了开源的力量,一个个熟悉的开源软件在这里贡献了自己的一份力量。
 meego:
MeeGo是诺基亚和英特尔宣布推出一个免费手机操作系统,中文昵称米狗,该操作系统可在智能手机、笔记本电脑和电视等多种电子设备上运行,并有助于这些设备实现无缝集成。这种基于Linux的平台被称为MeeGo,融合了诺基亚的Maemo和英特尔的Moblin平台。

MeeGo的意思是Maemo + Moblin = MeeGo,也就是诺基亚Maemo系统和英特尔Moblin平台的融合,支持Linux智能操作平台,非常适合Maemo系统的运行。
  
MeeGo操作系统意在让应用开发商一次性编写程序,随后就可以用于从智能手机到上网本等一切应用硬件平台;在竞争日益激烈的智能手机领域,这一竞争策略正日益盛行。Adobe近期也采用了同一战略,应用开发人员只需编写一次程序,就可以将Flash应用用于台式和笔记本以及手机等诸多操作系统。   

英特尔和诺基亚宣布,此前用于Maemo或Moblin运算环境的应用也将同样用于新的MeeGo操作系统。诺基亚还强调,创建MeeGo平台并不是意在取代诺基亚自己的Symbian操作系统。相反地,通过Qt应用以及UI框架,开发商可以将应用同时用于MeeGo以及包括Symbian的诸多其他平台。相关应用程序届时将通过诺基亚的Ovi Store发售,面向所有基于MeeGo和Symbian的诺基亚硬件设备,而英特尔的AppUp Center将面向基于MeeGo的英特尔设备。   

两家公司将新操作系统MeeGo定位为一个挑战苹果iPhoneApp Store模式的开源平台。虽然英特尔和诺基亚并没有指名道姓地提到苹果的iPhone OS,但MeeGo的竞争指向性非常明显;两家公司表示,通过新操作系统,消费者就可以不必局限于某一制造商的某种产品系统。   

除了智能手机以外,MeeGo还适用于不同的设备类型,Moblin已经涵盖了从车载信息系统、便携式媒体播放器(PMP)到个人导航设备(PND)、数码机顶盒(STB)、笔记本电脑等多条产品线。
  
AMD周一(2010年11月15日)在“2010年MeeGo大会”上宣布,已经加入Linux基金会旗下的“MeeGo开源Linux”项目,将提供专业的工程技术,旨在为下一代移动平台和嵌入式设备提供技术基础。 AMD负责软件开发的企业副总裁本·巴海姆(Ben Bar-Haim)称:“MeeGo是一款令人兴奋的开源移动操作系统,我们预计,随着时间的推移MeeGo将逐渐被手机和嵌入式设备厂商所采用。”   巴海姆接着说:“我们很高兴与业内一道为MeeGo提供工程资源,我们预计该系统将推动我们的嵌入式计划,创造更多的市场机会。”   Linux基金会常务董事吉姆·泽姆林(Jim Zemlin)称:“针对新一代移动计算设备而开发,MeeGo将赋予AMD等公司及其合作伙伴无限商机,从而加速下一代计算创新。 作为Linux基金会当前成员,AMD将成为MeeGO项目重要、有价值的捐献者。”
  
MeeGo是一款基于Linux的开源移动操作系统,主要针对超便携笔记本、平板电脑、嵌入式设备和智能手机等产品而开发。

MHP:

MHP(Multimedia Home Platform)是由DVB联盟制定的一种标准。作为DVB的一个工作项目,它开始于1997年。DVB-MHP的工作不仅覆盖应用程序接口API,而且还包括家庭数字网络(IHDN)和本地集群,其目的是标准化家庭平台,这对于未来成功应用交互式多媒体是很关键的。它同时也可以看作是DVB纯广播工作到交互式TV应用的自然升级,推动了电视业务从模拟电视到数字化电视的过渡。

技术特点:
  MHP主要定义了机顶盒中间件的整体结构、传送协议、内容格式、Java虚拟机和DVB-J APIs、安全性、各层的细节、应用状态和表现、应用的自动启动等,还定义了专用的应用信令。
构架
  MHP被定义成三层:资源层,系统软件层和应用层。典型的资源层包括:MPEG处理,I/O设备,CPU,存储和图形系统。系统软件层给应用层提供一个抽象的可视的平台,通过执行一个应用管理器(亦被称作navigator)来管理MHP和MHP上的应用。
内核
  MHP的核心部分――系统软件的本质就是一个中间件,与其它的中间件不同的是,MHP中间件不是一个私有的中间件,它是一个开放的、统一的中间件。MHP标准只是定义了一些API接口,它没有给出实现MHP的方法,因此,实现MHP的具体方案主要由中间件厂商和机顶盒厂商给出。   许多软件包提供了该平台的常用API。MHP应用只需通过这些指定的API访问平台。在指定API跟底层资源和系统软件之间需要一个映射。   MHP建立在DVB-J的基础上。DVB-J包括Sum Mircosystems公司的Java虚拟机。

应用层次:
  MHP把所有的交互作用按照应用领域划分成三个层次:增强广播,交互广播和Internet访问。  
  增强广播:   该层次的应用不需要回传信道,只需下载应用后,在本地与视音频实现交互;
  交互广播:   该层次是增强广播的超集,应用需要回传信道,能够实现真正的交互;
     Internet访问:   该层次是交互广播的超集,它提供了互联网服务(E-mail,Web浏览和chat等)。
标准内容
  MHP系统基本结构;   ? 传输协议(DSM-CC Object Carousel, DVB Object Carousel 和IP等);   ? 内容格式   图形格式: PNG、GIF、JPEG、MPEG-2 I帧或P帧、MPEG-1/2音频、   DVB字幕、UTF-8;   码流格式: MPEG-2 I视频、MPEG-1/2音频、DVB字幕、DVB图文电视、   驻留字符、下载字符、HTML和XML;   ? DVB-HTML(HTML4.0,ECMAScript,CSS2和DOM2);   ? 应用模式和信号机制;   ? DVB-J平台(DVB API,Java API,Java TV);   ? 安全加密;   ? 层次定义;   ? 互联网访问。

关键技术

  Java TV API是基于Personal Java应用环境的应用程序接口,是Java平台面向 MHP终端的扩展,它提供了对MHP终端特有功能的控制,包括对业务信息数据库的访问、业务选择、TV上的媒体播放器控制等。Java TV API是针对终端媒体及接收功能的,不包括其他电子设备共有的API。由于Java TV API是独立于硬件和物理线缆传输协议的更抽象的高层协议,因此也可以在一些现存的标准中使用。此外,MHP终端中各种应用的生命周期由Java TV API的Xlet应用模型定义。Xlet运行时可以进行资源的申请和释放,显示内容的存取,发现和选择业务。

存在问题

  在MHP中,几种不同类型的程序包交织在一起成为一个混合体,其中主要的程序包有pJava、 DAVIC、DVB、 JavaTV和Havi等。Personal Java标准包是由Sun公司定义的基于pJava 1.1.8的标准包。DVB是由DVB/MHP技术委员会提供的程序包,它主要是对DAVIC 程序包及一些Java标准包的补充。在这些程序包中,有不少存在着严重的设计缺陷。例如,相对于 DAVIC/DVB程序包而言,JavaTV程序包的作用并不大。JavaTV程序包主要由JavaTV Consortium提供,Sun系统公司掌握着其知识产权,其内容几乎含盖所有的DAVIC和DVB程序包,但它并没有一个明显的资源管理模式,如果几个应用程序同时需要同一个资源时,不同的实现模型便会有不同的结果。

  Havi图形包也有其缺陷,它建立在java.awt基础之上,可利用AWT的 lightweight component重建一套与AWT一样的二维图形widget体系。但由于它不能完全取代AWT,因而造成了两种图形包共存的局面。另外,DVB-HTML标准也不是很成功。在MHP标准的形成过程中,对HTML的定义也一直存在着激烈的争论。

  在MHP中存在的种种问题已为人们所认识,它的1.0更正版(1.0.1)就提出1000多条修改和重建程序包的意见,而且其测试程序包也迟迟不能完成,这些都说明了其繁杂的程度 。

  当然,DVB/MHP也有不少可取之处,主要有两点:一是应用程序下载后的标识和运行模式;二是应用数据认证,以及机顶盒内部资源的权限管理和X.509认证书的应用,这使得它与目前互联网传输数据的认证取得一致。

HBBTV 是 Hybrid Broadcast/Broadband TV的简称,它是一种与DVB兼容的内容发布平台,可以为增强和互动的电视业务提供信令、传输和呈现机制。基于HBB的相关应用同时针对广播和互联网领域而设计,并可以在同时具有广播和互联网混合连接的终端上运行。

标准的范围
  HBBTV定义了一个HBB的平台,它是一种与DVB兼容的内容发布平台,可以为增强和互动的电视业务提供信令、传输和呈现机制。基于HBB的相关应用同时针对广播和互联网领域而设计,并可以在同时具有广播和互联网混合连接的终端上运行。
 
 广播连接的主要用途如下:
  •传输标准的电视,电台和数据服务。
  •承载和广播相关的应用的信令。
  •传输与广播相关的应用程序和相关数据。
  •对电视/电台/数据服务和应用程序之间进行同步。

  宽带连接的主要用途如下:
  •承载点播内容。
  •传输与宽带相关与广播无关的应用程序及相关数据。
  •应用和应用服务器之间进行信息交换。  
    •发现与广播独立的应用程序。  
 应用程序在一个HTML / JavaScript浏览器的环境下执行并呈现给用户。  

 HBBTV平台具有以下特点:
 
    •它是开放的而且不是基于单个控制中心或聚合点。
  •应该可以通过同一个终端访问来自多个不同且独立的服务提供商提供的内容和服务。
  •所有的应用程序应该能够访问终端可用的标准功能。一些稀缺或敏感的终端功能只提供给受信任的应用程序。
  •服务和内容需要能够受到保护。  
 •广播类的应用必须要能够在那些没有宽带连接的终端上运行。这包括两种情形:有宽带连接但尚未连接以及没有宽带服务的情形。  
 •设备制造商提供的服务和应用不属于标准规范的范围,即使它们使用如HBBTV标准所述的相同浏览器和功能。
  •广播通道采用的视频、音频和系统格式不属于标准的范围。广播频道的协议也不属于HBBTV标准的范畴除非它们和互动应用有关。
  •应用程序可以在不同类型的终端中运行,如集成数字电视(内含HBBTV接收功能)、机顶盒和PVR等。
  •同时支持广播相关和广播独立的应用程序。

  该平台综合了IPTV开放论坛的标准协议和DVB的标准协议用于在广播/宽带混合环境下承载互动应用和信令。此外,HBBTV标准还定义了所支持的媒体格式、终端的最小功能集以及应用程序的生命周期等。