Upload
others
View
3
Download
0
Embed Size (px)
Citation preview
44
Embedded Software Lab. @ SKKU
�1
Tizen平台简介
44
Embedded Software Lab. @ SKKU
�2
• 制造商提供不同的应⽤用和⽤用户经验 • 为什么制造商不能为他们的设备提供相同的平台? – 平台已经为特有的嵌⼊入式设备所设计。 – 制造商不想共享他们的专有平台。
专有平台
44
Embedded Software Lab. @ SKKU
�3
• 基于标准的跨类别平台 – 提供常⻅见和多种类别的遵从标准
• 开源平台 – Tizen项⺫⽬目驻留在Linux基⾦金会
• 提供了⼀一个健壮且灵活的基于HTML5的应⽤用环境
Tizen 是什么
44
Embedded Software Lab. @ SKKU
�4
• HTML5 迅速的被采⽤用,尤其是⽤用于移动⺴⽹网⻚页程序的开发。 • Tizen 在html5test.com上得分最⾼高。
Tizen基于W3C标准
44
Embedded Software Lab. @ SKKU
�5
• NEC, Panasonic, and Telefonica leaved Tizen Association. • Telefonica: Firefox Phone
⼯工业⽀支持
44
Embedded Software Lab. @ SKKU
�6
Tizen 发布版本
44
Embedded Software Lab. @ SKKU
�7
• Tizen 2.x 移动端源代码持续开发。
Tizen 发布版本
41
Embedded Software Lab. @ SKKU
�8
• Tizen 3.0 – 所有的发展都发⽣生在 tizen.org
• ⼤大多数代码是常⻅见的,接近上游发展。 – 从in-out 到out-in 发展 – Tizen IVI 持续在 tizen.org被开发 – 可配置的、使⽤用同⼀一个代码库实现多产品⽀支持
Tizen 发布版本
Mobile Product
IVI Product
ivi/mobile/
Profile/• Mobile/
Platform/
ivi/• …
• Platform- upstream/- framework/
- Native/- Web/
- Core/- …
• apps/• tools/• sdk/• scm/• test/• doc/• project/
44
Embedded Software Lab. @ SKKU
�9
• 访问 – http://www.tizen.org – http://developer.tizen.org/sdk – http://source.tizen.org/ – https://developer.tizen.org/documentation
• 社区 – Mailing lists: http://www.tizen.org/community/mailing-lists – IRC Channel: #tizen – Wiki: https://www.tizen.org/community/wiki – JIRA: http://bugs.tizen.org
• Tizen开发者会议 – https://www.tizen.org/conference
Tizen 开源信息
44
Embedded Software Lab. @ SKKU
�10
• Tizen使⽤用的上游项⺫⽬目: – X Windows, Cairo, EFL for UI and graphics – Gstreamer, PulseAudio, OpenAL for multimedia – ConnMan, BlueZ, libsoup, wpa_supplicant for connectivity – WebKit for Web – Smack and OpenSSL for security – Dbus, glibc for base – Sqlite for database and PIM – Linux for OS Kernel – Eclipse for Tizen SDK – QEMU, U-Boot for target emulator – GC, llvm, cmake, gbs for build – And more…
Tizen内部的开源项⺫⽬目
44
Embedded Software Lab. @ SKKU
�11
• 英特尔或三星保持或具有极⼤大贡献: – Linux, WebKit, EFL, GStreamer, U-Boot, FMPEG, WebCL, Cairo, BlueZ,
QEMU, GCC, ConnMan, NFC, PulseAudio, Smack, Wayland, oFono, X, wpa_supplicant, Dbus, glibc, OpenGL, Geoclue, 和libsoup
– 以通知、归因、完整的许可声明和符合其他义务
• ⼏几乎所有为Tizen新开发的项⺫⽬目都基于Apache 2.0许可开源: – app-core, WRT(Web Runtime), system-server, sensor-fw, app-service,
slp-pkgmgr, libslp-pm, msg-service, email-service, telephony-daemon, audio- session-manager, contacts-service, slp-calendar, accounts-svc, sync-fw, cert-svc, secure-storage, nfc-manager等等.
– Flora许可 • 仅仅作为Tizen认证平台纳⼊入 • ⿎鼓励Tizen成员公司贡献他们的专利Tizen项⺫⽬目
Tizen内部的开源项⺫⽬目
41
Embedded Software Lab. @ SKKU
�12Tizen v2.3 体系结构概述
Native framework is deprecated
41
Embedded Software Lab. @ SKKU
�13
• Linux 内核和 H/W 抽象 – Linux 内核 – 设备驱动 – 硬件适配层
• Native ⼦子系统 – 基础层提供常⽤用功能和⼀一个安全机制 – 可插拔式的硬件适配层 – OpenGL ES/EGL 图形驱动
• Web 框架 – 提供先进的HTML5/W3C API, Web UI框架, 补充的API, 以及额外的
Tizen 设备API
Tizen v2.3 体系结构概述 (cont)
44
Embedded Software Lab. @ SKKU
�14
• Linux内核 – 修改的Linux内核 • 3.0.15, 3.10.y ⽀支持 (for ARMv7, AArch64) • DRM, CMA, KDBUS, dma_buf, Power Manager, etc.
• 设备驱动 • 硬件适配层 – 插件
• OpenGL ES/EGL 图形驱动 – 基于DRM的图形栈
Tizen内核和硬件抽象
44
Embedded Software Lab. @ SKKU
�15
• 常⻅见功能 – 各种本地、Web API通过使⽤用核⼼心模块实现
• 统⼀一管理 – 包安装和升级 – 启动应⽤用程序 – Windows with E17 – 传感器管理 – 电源管理 – 连接 – 安全加强 – 等等
核⼼心框架
44
Embedded Software Lab. @ SKKU
�16
• W3C标准的web API – W3C/HTML5 markup, CSS, JS
• 额外的API – De-facto APIs (Khronos, Mozilla, etc.)
• Tizen设备API – 先进的访问设备能⼒力
• UI框架 – JQueryMobile-based – ⼯工具,例如⼩小部件、事件、效果和动画
Web框架
44
Embedded Software Lab. @ SKKU
�17
• 包管理 – 安装和更新
• 执⾏行和⽣生命周期 – 开始、暂停和恢复
• 运⾏行时安全 – API/⺴⽹网络接⼊入和sandboxing
• 平台集成
Web 运⾏行时 (WRT)
44
Embedded Software Lab. @ SKKU
�18
• Tizen (2.0及以上)使⽤用Webkit2 – 分离web内容的过程模型和拥有⾮非阻塞API的UI – UI的响应能⼒力, 鲁棒性, 安全和更好的利⽤用多核cpu
基于Webkit2的浏览器和web运⾏行时
44
Embedded Software Lab. @ SKKU
�19
• HTML5 Canvas效率加快 – Cairo OpenGL ES backed
• WebGL – 直接使⽤用OpenGL ES
Web 2D和3D图形
44
Embedded Software Lab. @ SKKU
�20
• ⺴⽹网络和本地应⽤用程序 – 应⽤用程序只使⽤用公共api,完全⽀支持包安装和升级,安全,向后兼容性等 – 许多⽰示例应⽤用程序包含在SDK
• 核⼼心应⽤用程序 – 应⽤用程序使⽤用核⼼心api来充分利⽤用电话等设备能⼒力 – 通常实现的实现者和预紧装置 – 向后⼆二进制兼容性是没有保证的
应⽤用程序类型
41
Embedded Software Lab. @ SKKU
�21
• Tizen 常⽤用架构 (⽆无特殊描述)
Tizen 3.0
41
Embedded Software Lab. @ SKKU
�22
• 常⻅见的源+基于配置⽂文件包 – 分享来源不同的产品的共同特征 – 相关设备上测试
如何创建⼀一个Tizen 3.0常⻅见源
Common3D UI
Multi-User
64-bit
KDBUS
Buxton
Blink/Crosswalk
Wayland
…
Mobile
Automotive
TV
Watch
Refrigerator
44
Embedded Software Lab. @ SKKU
�23
• 关键特性2014 - Q2发布: – 多⽤用户 – SMACK: 三个领域安全 – Wayland, 轻量的窗⼝口管理器 – Crosswalk/BLINK – 64-bit IA / ARM – 新型配置系统 – BUXTON – KDBUS – 3D UI & Rendering Engine – 新的蓝⽛牙框架 – WiFi框架,结合⽆无线DirectManager,移动AP-agent和net-config
Tizen 3.0共同特征突出
44
Embedded Software Lab. @ SKKU
�24
• 组成 – IDE, Web Simulator, Emulator, Event Injector, UI Builder – Documents, Sample applications, Remote Inspector, Localization Wizard, Project Wizard – …
Tizen SDK
41
Embedded Software Lab. @ SKKU
�25
Tizen v2.3 Native ⼦子系统服务(Mobile Profile)
44
Embedded Software Lab. @ SKKU
�26
• 推出⼀一个新应⽤用程序(aul, app-svc) – 显式或隐式信息(⾏行动的组合,URI和MIME)可以⽤用来确定启动应⽤用程序 – 允许推出不同类型的应⽤用程序(例如Web本地,本地Web)
• 应⽤用程序⽣生命周期管理和处理系统事件(app-core) – 让应⽤用程序状态更改通知或通过主循环系统事件 – 然后,调⽤用注册回调的事件
• 安装/卸载应⽤用程序(包管理器) • 管理应⽤用程序启动的历史(librua) • 设置警报在特定时间启动(闹钟管理)
应⽤用程序框架
44
Embedded Software Lab. @ SKKU
�27
• 启发式基础库 – 丰富的⼩小部件基本⽀支持多个主题 – 由Evas保留模式画布 (Scene-graph, OpenGL ES back-end) – 合成窗⼝口管理器
• 基于X11窗⼝口系统 • 3D (OpenGL ES), 字体 (freetype2, fontconfig) • 输⼊入服务(SCIM), Voice FW (STT, TTS),
图形&输出
SCIM: Smart Common Input Method
44
Embedded Software Lab. @ SKKU
�28
• 提供: – 最好的Web浏览器和打包Web应⽤用程序的经验
• 专注于功能(HTML5)、性能(UI响应,2 d / 3 d加速,JS引擎),标准遵从性(W3C) • 更多的设备特性通过Tizen设备API的可访问性 • jQueryMobile-based Tizen Web UI FW 使web开发更简便
• 包括: – WebVeiw (WebKit /EFL): JavaScriptCore, WebCore(HTML5/W3C API
implementation), WebKit API – Web运⾏行时:打包Web应⽤用程序的执⾏行环境
Web
44
Embedded Software Lab. @ SKKU
�29
• 提供: – 播放⾳音频和视频的内容(本地和流媒体) – 捕捉图像和录制⾳音频和视频 – 3d⾳音频声⾳音(OpenAL) – 扫描和播放⼲⼴广播 – 确定⾳音频的政策 – 提取和显⽰示媒体内容信息
• 特点: – ⾼高质量的视频回放
• 全⾼高清(1080 p)回放(HW编解码器&渲染优化) • ⽀支持各种多媒体流(HTTP、RTP / RTSP) • ⽀支持HTML5视频回放和嵌⼊入式Web浏览器
– ⾼高质量和⾼高速摄影机/记录器 • ⾼高质量的图像捕获和录像 • ⽀支持各种拍摄模式(单⼀一、连续、paronama等)
多媒体
44
Embedded Software Lab. @ SKKU
�30
• 关键部件: – GStreamer:⾳音频、视频、录⾳音、播放、编辑等 – ⾳音频会话管理器:良好的策略管理 – PulseAudio: 软件混合多个⾳音频流 – Multiple-Format Codec: 多种格式编解码器 – 媒体内容服务:管理媒体⽂文件内容 – ⾳音频I / O:访问操作的原始⾳音频缓冲区
多媒体
44
Embedded Software Lab. @ SKKU
�31
• 提供: – 混合位置信息
• GPS,WPS(⽆无线定位系统),SPS(传感器定位系统)
– 地图服务(Geocode, POI, Route) • 关键部件:
– GeoClue: 提供从不同的定位的位置信息 • GeoClue library: ⼀一个开源信息图谱库 • GeoClue Providers: 实现GeoClue库API • ⺫⽬目前GPS管理器由GeoClue供应商提供
定位
44
Embedded Software Lab. @ SKKU
�32
• 提供: – 系统监测和事件处理功能
• 关键部件: – 系统管理器
• 作为后台驻留程序运⾏行 • 监控设备、系统状态和处理事件(电池、USB、MMC,充电器,earjack,等等)
– 传感器管理器:从不同传感器处理传感器事件 – 设备管理器:设置/获取设备参数如亮度值 – 电源管理器:控制液晶显⽰示器背光和应⽤用的睡眠
系统
44
Embedded Software Lab. @ SKKU
�33
• 蜂窝数据和Wi-Fi连接 – 基于蜂窝数据(e.g.3G)和Wi-Fi的“永远在线”⺴⽹网络连接 . – ConnMan管理⺴⽹网络连接
• 允许⾃自动连接⽆无线接⼊入点 – 管理⺴⽹网络数据的统计
• 蓝⽛牙 – 基于BlueZ和概要⽂文件(OPP, A2DP, RFCOMM, HFP, HDP, etc) – 发现/建⽴立联系/与远程设备交换数据
• 约束 – 提供三种类型的拘束:USB,蓝⽛牙和⽆无线⺴⽹网络
• NFC – 包括NFC管理器处理NFC插件 – ⽀支持P2P,控制NDEF标签,汽⻋车模拟器
• Wi-Fi – 扫描和连接访问点 – 连接隐藏的访问点,汽⻋车模拟器
连接部件
44
Embedded Software Lab. @ SKKU
�34
• 包括使⽤用调制解调器进⾏行交流的蜂窝功能 – 管理 call/non-call信息, packet-related services, ⺴⽹网络状态信息, SMS-related services for UMTS and
CDMA – 管理 SIM应⽤用程序⼯工具包服务 – 管理 SIM⽂文件, 电话薄,和安全
• 关键部件: – TAPI可作为客户端库 – 定义⼀一个电话服务器插件架构
电话通信
44
Embedded Software Lab. @ SKKU
�35
• 提供:联系⼈人、⽇日历、账户和同步服务 • 关键部件:
– 账户:管理账户共享设备上的账户信息 – 联系/⽇日历:
• 基于账户,⼀一个账户的多个地址/⽇日历 • ⾜足够的特性来满⾜足移动接触/⽇日历应⽤用程序需求。 • ⽀支持电⼦子名⽚片分别为3.0和1.0 vCalendar
• 同步(Sync-FW)
PIM
44
Embedded Software Lab. @ SKKU
�36
• 提供:短信、彩信、电⼦子邮件 – SMS、WAP和⼩小区⼲⼴广播消息 – MMS协议:OMA MMS 1.2。 – 电⼦子邮件协议:SMTP、POP3、IMAP
• 关键部件 – 消息客户端API – 消息服务器
• 事务管理器:管理消息服务器和图书馆之间的IPC • 主要处理:处理消息发送/接收/过滤/设置。 • 存储处理程序:节省DB • 插件管理器:管理短信和彩信功能插件
消息传送
44
Embedded Software Lab. @ SKKU
�37
• 提供: – 证书管理和验证 – 机密数据的安全存储 – ⽤用户空间访问控制管理 – 加密和SSL⽀支持 – 强制访问控制的⽀支持
• 安全模型: – no-root的应⽤用程序/⽆无特权升级 – Sandboxed by SMACK – 服务守护进程使⽤用,并且在服务器端执⾏行访问控制 – 许可政策的应⽤用
安全