新書推薦:
《
养育男孩:官方升级版
》
售價:HK$
50.4
《
小原流花道技法教程
》
售價:HK$
109.8
《
少女映像室 唯美人像摄影从入门到实战
》
售價:HK$
110.9
《
詹姆斯·伍德系列:不负责任的自我:论笑与小说(“美国图书评论奖”入围作品 当代重要文学批评家詹姆斯·伍德对“文学中的笑与喜剧”的精湛研究)
》
售價:HK$
87.4
《
武当内家散手
》
售價:HK$
50.4
《
诛吕:“诸吕之乱”的真相与吕太后时期的权力结构
》
售價:HK$
99.7
《
炙野(全2册)
》
售價:HK$
78.2
《
女人的胜利
》
售價:HK$
55.9
|
內容簡介: |
智能电视操作系统是一项对广电发展产生广泛而又深远影响的基础性工作,对保障我国文化安全、支撑我国广播电视数字化网络化智能化、促进我国智能电视产业良性发展具有重要意义。
2013年12月26日,国家新闻出版广电总局科技司发布了NGB TVOS v1.0软件。
目前NGB TVOS v1.0参考代码已经开源,读者可从合作开发组官方网站www.ngb-tvos.cn注册下载。面对海量代码,读者往往感觉无从下手。为帮助读者能深入了解NGB TVOS,本书从NGB TVOS的软件架构着手,先总体后局部,由浅入深、由粗到细地对NGB TVOS v1.0的架构进行分析,期望本书成为NGB TVOS v1.0参考代码的配套帮助文档。
|
關於作者: |
陈德林,男,1975年生,2000年毕业于哈尔滨工业大学电子与通信工程专业并获得硕士学位;现任国家新闻出版广电总局广播科学研究院电视技术研究所副所长,教授级高级工程师;国家核高基重大专项(2014ZX01039-101)-“智能电视终端操作系统参考设计开发及批量应用”子课题负责人。曾参与移动多媒体广播(CMMB)技术研究、紧急广播关键技术研究、中国下一代广播电视网(NGB)中间件技术研究、NGB智能电视操作系统(TVOS)关键技术研究等多项国家级和行业重点科研项目的研究工作,主编GYT 267-2012《下一代广播电视网(NGB)终端中间件技术规范》等广播电视行业标准,在国内期刊上以第一作者发表论文12篇。
曾荣获国家新闻出版广电总局颁发的“五一”劳动奖章、科技创新突出贡献奖,多次获得高新技术研究与开发奖一等奖、软科学奖一等奖和标准奖、中国新闻技术工作者联合会王选新闻科学技术奖。荣获中国电影电视技术学会全国杰出影视科技工作者称号。
|
目錄:
|
序 001
1 概述 001
1.1
上下文环境 ………………………………………………001
1.2
输入输出模型 ……………………………………………002
1.3
适用的终端类型 …………………………………………003
1.4
支持的应用类型 …………………………………………003
1.5
功能要求 …………………………………………………004
1.5.1
电视直播要求 ……………………………………………004
1.5.2
视频点播要求 ……………………………………………004
1.5.3
应用管理要求 ……………………………………………004
1.5.4
多桌面支持要求 …………………………………………004
1.5.5
可升级支持要求 …………………………………………004
2 软件架构 005
2.1
动态架构 …………………………………………………005
2.2
静态架构 …………………………………………………006
2.2.1
音频系统 …………………………………………………009
2.2.2
图形系统 …………………………………………………010
2.2.3
按键消息输入系统 ………………………………………011
3 技术基础 013
3.1 Binder框架…………………………………………………013
3.1.1
Native Binder框架和分层通信模型……………………… 013
3.1.2
Java Binder框架和分层通信模型 ………………………016
3.1.3
ProcessState ………………………………………………017
3.1.4
IPCThreadState ……………………………………………017
3.2
服务管理器(ServiceManager) …………………………017
3.2.1
服务注册 …………………………………………………018
3.2.2
服务获取 …………………………………………………019
3.2.3
服务使用 …………………………………………………019
3.3
孵化器(zygote) …………………………………………019
3.4
启动过程 …………………………………………………019
3.4.1
init进程 …………………………………………………… 021
3.4.2
启动系统服务进程 ………………………………………025
3.4.3
启动 Native服务 …………………………………………026
3.4.4
启动 Java服务 ……………………………………………027
3.4.5
启动 Home主应用(Launcher)…………………………031
3.5
广播(Broadcast)机制……………………………………031
3.6
观察者(Observer)机制 …………………………………031
3.7
Java服务组件的基本模型和构成元素 …………………038
3.7.1
2-Box模型………………………………………………… 038
3.7.2
3-Box模型………………………………………………… 041
3.7.3
1-Box模型………………………………………………… 042
3.8
Native服务组件的基本模型和构成元素…………………043
3.8.1 2-Box模型………………………………………………… 044
4 硬件抽象层 047
4.1.1
音频(Audio)模块 ……………………………………… 055
4.1.2
音频策略(Audio Policy)模块 ………………………… 057
4.1.3
摄像头(Camera)模块 …………………………………061
4.1.4
Gralloc模块 ………………………………………………062
4.1.5
HWComposer模块 ………………………………………066
4.1.6
传感器(Sensors)模块 …………………………………068
5 Native能力层 070
5.1 系统服务进程 ……………………………………………070
5.1.1
adbd ………………………………………………………070
5.1.2
bluetoothd …………………………………………………070
5.1.3
bootanimation ………………………………………………071
5.1.4
console ……………………………………………………071
5.1.5
debuggerd …………………………………………………072
5.1.6
dbus-daemon ………………………………………………072
5.1.7
dhcpcd_eth0 ………………………………………………073
5.1.8
drmserver …………………………………………………073
5.1.9
dtvserver ……………………………………………………074
5.1.10
dumpstate …………………………………………………076
5.1.11
installd ……………………………………………………076
5.1.12
keystore……………………………………………………077
5.1.13
mediaserver ………………………………………………077
5.1.14
mtpd ………………………………………………………079
5.1.15
netd ………………………………………………………080
5.1.16
racoon ……………………………………………………080
5.1.17
remote_server ……………………………………………080
5.1.18
secu_agent ………………………………………………081
5.1.19
servicemanager ……………………………………………081
5.1.20
surface.inger ……………………………………………083
5.1.21
ueventd ……………………………………………………084
5.1.22
vold ………………………………………………………085
5.1.23
wirelesskey ………………………………………………086
5.1.24
wpa_supplicant ……………………………………………086
5.1.25
zygote & system_server …………………………………087
5.2
服务组件 …………………………………………………092
5.2.1
drmserver进程管理的 Native服务组件 ………………… 092
5.2.2
dtvserver进程管理的 Native服务组件 …………………097
5.2.3
mediaserver进程管理的 Native服务组件 ………………100
5.2.4
surface.inger进程管理的 Native服务组件……………… 138
5.2.5
system_server进程管理的 Native服务组件 ……………145
5.3
函数库 ……………………………………………………150
6 Java空间 156
6.1
Java执行环境——TVM …………………………………156
6.2
Java系统服务组件 ………………………………………158
6.2.1
SystemServer init2()创建的 1-Box模型 Java系统服务组件 …………………………………………………………………158
6.2.2
SystemServer init2()创建的 2-Box模型 Java系统服务组件 …………………………………………………………………166
6.3 Java应用框架服务组件 …………………………………192
6.3.1 SystemServer init2()创建的 2-Box模型 Java应用框架服务组件 ……………………………………………………………192
6.3.2 SystemServer init2()创建的 3-Box模型 Java应用框架服务组件 ……………………………………………………………282
6.4 Java其他形式组件 ………………………………………311
6.4.1 SystemServer init2()创建的观察者组件 ………………311
6.4.2 SystemServer init2()创建的其他组件 …………………312
6.5 Java库 ……………………………………………………316
6.6 Java API ……………………………………………………318
6.6.1 Java ME API ………………………………………………318
6.6.2 NGB-J API …………………………………………………321
6.6.3 Android API ………………………………………………322
6.7 Java应用 …………………………………………………325
6.7.1 应用组件 …………………………………………………325
6.7.2 清单文件 …………………………………………………328
6.7.3 安装包 ……………………………………………………334
7 Web空间 337
7.1 基本 Web技术要求 ………………………………………337
7.2 NGB-H定义 JS对象………………………………………337
7.3 Web执行环境——浏览器 ………………………………338
7.4 Web应用 …………………………………………………339
参考文献 341
|
內容試閱:
|
1 概述
操作系统(OS)是指用来管理计算机系统的全部资源(包括硬件、软件及数据资源)、控制程序运行、改善人机界面、为其他应用软件提供支持等的系统软件。
智能电视操作系统(TVOS)是指运行于数字电视接收终端之上的操作系统软件,接收终端可以是机顶盒、一体机,或其他形态。
下一代广播电视网智能电视操作系统(NGB TVOS)是指适用于 NGB的智能电视操作系统。
1.1 上下文环境
NGB TVOS在数字电视接收终端中所处的上下文环境及与外围的接口示意见图1。
图 1TVOS在数字电视接收终端中所处的上下文环境
TVOS处于接收终端硬件层之上、应用层之下,屏蔽了硬件层的差异,为应用的运行提供了统一的环境,为应用的开发提供了完整、统一的应用编程接口(API)。
TVOS与外围有三类接口:——应用编程接口,即 TVOS提供给应用开发者的接口;——系统移植接口,即 TVOS针对具体硬件平台需要进行移植的接口;——应用信令,即 TVOS与运营前端进行交互的接口。安装 NGB TVOS的智能终端在整个 NGB系统中所处的上下文环境见图2。
图 2安装 NGB TVOS的智能终端在 NGB系统中所处的上下文环境
1.2 输入输出模型
TVOS所能支撑的数字电视接收终端其输入输出模型见图3。
图 3TVOS所支撑的数字电视接收终端输入输出模型
TVOS所能支撑的数字电视接收终端具备从单向广播网和 或双向宽带网接收数据的能力,并通过双向宽带网回传交互数据;解压缩图像、处理多媒
体数据,并将混叠后的音、视频信号输出给扬声器、显示器等输出设备;接收处理遥控器、键盘、鼠标等输入设备发出的用户指令。数字电视接收终端对图形图像的要求参见 GYT267-2012《下一代广播电视网(NGB)终端中间件技术规范》附录A。
1.3
适用的终端类型
NGB TVOS适用的终端形态有:
——机顶盒(DVB、DVB+OTT、OTT);
——一体机;
——家庭网关。
1.4
支持的应用类型
TVOS所能支持的应用,按应用程序代码开发语言可分为 Java应用和
Web应用:——Java应用是指采用 Java编程语言开发的应用的统称;——Web应用是指采用HTML、JavaScript、CSS等 Web技术开发的应用
的统称。TVOS 1.0.x版本支持 Java应用和 Web应用,这两种类型的应用不依赖于底层的软硬件平台类型,可实现一次开发到处运行。TVOS所能支持的应用,根据其来源不同,可分为系统内置应用、运营商定制应用、用户自选应用:——系统内置应用是指随操作系统发布的、系统内置的应用,例如Launcher等,由操作系统提供者开发和维护;
——运营商定制应用是指运营商根据自己的特点定制的应用,以体现与其他运营商的差异,例如 EPG等,由运营商自行开发或委托专业第三方开发和维护;
——用户自选应用是指用户根据自己的偏好从应用商店下载安装的应用,
例如游戏等。
TVOS所能支撑的应用,按其与广播节目内容的关联性可分为节目内容关联型应用和独立型应用:
——节目内容关联型应用是指应用与一个或多个广播业务关联或与广播业务中的一个或多个广播节目关联,选择或切换广播业务对应用的生命周期和运行状态有影响;
——独立型应用是指应用未与任何广播业务关联,广播业务的切换对应用的生命周期和运行状态无影响。
1.5 功能要求
1.5.1 电视直播要求
支持标清 高清数字直播节目,支持 EPG,支持 GYT 267-2012《下一代广播电视网(NGB)终端数字电视中间件技术规范》中有关广播流格式的解码要求,例如对MPEG-2、MPEG-4、H.264等视频格式以及AAC、AC3等音频格式的支持。
1.5.2 视频点播要求
支持基于 GYT 258-2012《下一代广播电视网(NGB)视频点播技术规范》的视频点播要求。
1.5.3
应用管理要求
1.5.4
多桌面支持要求
1.5.5
可升级支持要求
支持符合应用管控要求 APK应用的下载、安装、运行和卸载等。
支持安装多个桌面应用,用户可根据喜好自行选择桌面应用。
支持操作系统可升级要求。
2 软件架构
2.1 动态架构
NGB TVOS软件平台的动态架构反映了各构成模块运行时的状态,其概况见图 4所示。
图 4NGB TVOS动态架构概况
Linux操作系统是 NGB TVOS的基础,站在 Linux的角度,NGB TVOS在Linux之上的各种构成本质上是一堆用户空间 Linux应用程序的集合,例如servicemanager应用、zygote应用、Java虚拟机应用、Web浏览器应用、媒体服务器应用等等,每个 Linux应用运行在独立的进程空间。
在 NGB TVOS中,Linux用户空间的进程根据用途进行划分,有以下几类:
——后台守护进程:该进程在系统初始化阶段被启动后一直在后台运行,周期性地执行某种任务或等待处理某些发生的事件,例如 installd、netd、adbd、debuggerd等;
——系统服务进程:该进程由系统在初始化阶段启动,作为 CS架构中的 Server端管理着一个或多个服务(Service),例如system_server、media_server、surfaceflinger、dtvsever、drmserver等;
——用户应用进程:该进程由用户点击桌面应用图标后由系统启动,若
该应用为 Java应用,该进程会启动 Java虚拟机;若该应用为 Web应用,
该进程会启动 Web浏览器;该进程一般作为 CS架构中的 Client端,通过 IPC机制访问 Server端的服务。针对进程之间的通信问题,NGB TVOS沿用了 Linux的 IPC机制,例如管道、socket等,特别地沿用了 Linux v3.x版本以后提供的 Binder机制,见图 5所示。
图 5进程间的通信机制
整个 NGB TVOS系统基本上可以看成是一个基于 Binder通信的 CS架构,Binder像网络一样,把系统的各个部分连接在一起。
2.2 静态架构
NGB TVOS软件平台的静态架构反映了各构成模块之间的调用关系,见图 6所示。
|
|