37
44 Embedded Software Lab. @ SKKU 1 Tizen平台简介

1-Introduction to Tizen v2

  • Upload
    others

  • View
    3

  • Download
    0

Embed Size (px)

Citation preview

Page 1: 1-Introduction to Tizen v2

44

Embedded Software Lab. @ SKKU

�1

Tizen平台简介

Page 2: 1-Introduction to Tizen v2

44

Embedded Software Lab. @ SKKU

�2

• 制造商提供不同的应⽤用和⽤用户经验 • 为什么制造商不能为他们的设备提供相同的平台? – 平台已经为特有的嵌⼊入式设备所设计。 – 制造商不想共享他们的专有平台。

专有平台

Page 3: 1-Introduction to Tizen v2

44

Embedded Software Lab. @ SKKU

�3

• 基于标准的跨类别平台 – 提供常⻅见和多种类别的遵从标准

• 开源平台 – Tizen项⺫⽬目驻留在Linux基⾦金会

• 提供了⼀一个健壮且灵活的基于HTML5的应⽤用环境

Tizen 是什么

Page 4: 1-Introduction to Tizen v2

44

Embedded Software Lab. @ SKKU

�4

• HTML5 迅速的被采⽤用,尤其是⽤用于移动⺴⽹网⻚页程序的开发。 • Tizen 在html5test.com上得分最⾼高。

Tizen基于W3C标准

Page 5: 1-Introduction to Tizen v2

44

Embedded Software Lab. @ SKKU

�5

• NEC, Panasonic, and Telefonica leaved Tizen Association. • Telefonica: Firefox Phone

⼯工业⽀支持

Page 6: 1-Introduction to Tizen v2

44

Embedded Software Lab. @ SKKU

�6

Tizen 发布版本

Page 7: 1-Introduction to Tizen v2

44

Embedded Software Lab. @ SKKU

�7

• Tizen 2.x 移动端源代码持续开发。

Tizen 发布版本

Page 8: 1-Introduction to Tizen v2

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/

Page 9: 1-Introduction to Tizen v2

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 开源信息

Page 10: 1-Introduction to Tizen v2

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内部的开源项⺫⽬目

Page 11: 1-Introduction to Tizen v2

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内部的开源项⺫⽬目

Page 12: 1-Introduction to Tizen v2

41

Embedded Software Lab. @ SKKU

�12Tizen v2.3 体系结构概述

Native framework is deprecated

Page 13: 1-Introduction to Tizen v2

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)

Page 14: 1-Introduction to Tizen v2

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内核和硬件抽象

Page 15: 1-Introduction to Tizen v2

44

Embedded Software Lab. @ SKKU

�15

• 常⻅见功能 – 各种本地、Web API通过使⽤用核⼼心模块实现

• 统⼀一管理 – 包安装和升级 – 启动应⽤用程序 – Windows with E17 – 传感器管理 – 电源管理 – 连接 – 安全加强 – 等等

核⼼心框架

Page 16: 1-Introduction to Tizen v2

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框架

Page 17: 1-Introduction to Tizen v2

44

Embedded Software Lab. @ SKKU

�17

• 包管理 – 安装和更新

• 执⾏行和⽣生命周期 – 开始、暂停和恢复

• 运⾏行时安全 – API/⺴⽹网络接⼊入和sandboxing

• 平台集成

Web 运⾏行时 (WRT)

Page 18: 1-Introduction to Tizen v2

44

Embedded Software Lab. @ SKKU

�18

• Tizen (2.0及以上)使⽤用Webkit2 – 分离web内容的过程模型和拥有⾮非阻塞API的UI – UI的响应能⼒力, 鲁棒性, 安全和更好的利⽤用多核cpu

基于Webkit2的浏览器和web运⾏行时

Page 19: 1-Introduction to Tizen v2

44

Embedded Software Lab. @ SKKU

�19

• HTML5 Canvas效率加快 – Cairo OpenGL ES backed

• WebGL – 直接使⽤用OpenGL ES

Web 2D和3D图形

Page 20: 1-Introduction to Tizen v2

44

Embedded Software Lab. @ SKKU

�20

• ⺴⽹网络和本地应⽤用程序 – 应⽤用程序只使⽤用公共api,完全⽀支持包安装和升级,安全,向后兼容性等 – 许多⽰示例应⽤用程序包含在SDK

• 核⼼心应⽤用程序 – 应⽤用程序使⽤用核⼼心api来充分利⽤用电话等设备能⼒力 – 通常实现的实现者和预紧装置 – 向后⼆二进制兼容性是没有保证的

应⽤用程序类型

Page 21: 1-Introduction to Tizen v2

41

Embedded Software Lab. @ SKKU

�21

• Tizen 常⽤用架构 (⽆无特殊描述)

Tizen 3.0

Page 22: 1-Introduction to Tizen v2

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

Page 23: 1-Introduction to Tizen v2

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共同特征突出

Page 24: 1-Introduction to Tizen v2

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

Page 25: 1-Introduction to Tizen v2

41

Embedded Software Lab. @ SKKU

�25

Tizen v2.3 Native ⼦子系统服务(Mobile Profile)

Page 26: 1-Introduction to Tizen v2

44

Embedded Software Lab. @ SKKU

�26

• 推出⼀一个新应⽤用程序(aul, app-svc) – 显式或隐式信息(⾏行动的组合,URI和MIME)可以⽤用来确定启动应⽤用程序 – 允许推出不同类型的应⽤用程序(例如Web本地,本地Web)

• 应⽤用程序⽣生命周期管理和处理系统事件(app-core) – 让应⽤用程序状态更改通知或通过主循环系统事件 – 然后,调⽤用注册回调的事件

• 安装/卸载应⽤用程序(包管理器) • 管理应⽤用程序启动的历史(librua) • 设置警报在特定时间启动(闹钟管理)

应⽤用程序框架

Page 27: 1-Introduction to Tizen v2

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

Page 28: 1-Introduction to Tizen v2

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

Page 29: 1-Introduction to Tizen v2

44

Embedded Software Lab. @ SKKU

�29

• 提供: – 播放⾳音频和视频的内容(本地和流媒体) – 捕捉图像和录制⾳音频和视频 – 3d⾳音频声⾳音(OpenAL) – 扫描和播放⼲⼴广播 – 确定⾳音频的政策 – 提取和显⽰示媒体内容信息

• 特点: – ⾼高质量的视频回放

• 全⾼高清(1080 p)回放(HW编解码器&渲染优化) • ⽀支持各种多媒体流(HTTP、RTP / RTSP) • ⽀支持HTML5视频回放和嵌⼊入式Web浏览器

– ⾼高质量和⾼高速摄影机/记录器 • ⾼高质量的图像捕获和录像 • ⽀支持各种拍摄模式(单⼀一、连续、paronama等)

多媒体

Page 30: 1-Introduction to Tizen v2

44

Embedded Software Lab. @ SKKU

�30

• 关键部件: – GStreamer:⾳音频、视频、录⾳音、播放、编辑等 – ⾳音频会话管理器:良好的策略管理 – PulseAudio: 软件混合多个⾳音频流 – Multiple-Format Codec: 多种格式编解码器 – 媒体内容服务:管理媒体⽂文件内容 – ⾳音频I / O:访问操作的原始⾳音频缓冲区

多媒体

Page 31: 1-Introduction to Tizen v2

44

Embedded Software Lab. @ SKKU

�31

• 提供: – 混合位置信息

• GPS,WPS(⽆无线定位系统),SPS(传感器定位系统)

– 地图服务(Geocode, POI, Route) • 关键部件:

– GeoClue: 提供从不同的定位的位置信息 • GeoClue library: ⼀一个开源信息图谱库 • GeoClue Providers: 实现GeoClue库API • ⺫⽬目前GPS管理器由GeoClue供应商提供

定位

Page 32: 1-Introduction to Tizen v2

44

Embedded Software Lab. @ SKKU

�32

• 提供: – 系统监测和事件处理功能

• 关键部件: – 系统管理器

• 作为后台驻留程序运⾏行 • 监控设备、系统状态和处理事件(电池、USB、MMC,充电器,earjack,等等)

– 传感器管理器:从不同传感器处理传感器事件 – 设备管理器:设置/获取设备参数如亮度值 – 电源管理器:控制液晶显⽰示器背光和应⽤用的睡眠

系统

Page 33: 1-Introduction to Tizen v2

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 – 扫描和连接访问点 – 连接隐藏的访问点,汽⻋车模拟器

连接部件

Page 34: 1-Introduction to Tizen v2

44

Embedded Software Lab. @ SKKU

�34

• 包括使⽤用调制解调器进⾏行交流的蜂窝功能 – 管理 call/non-call信息, packet-related services, ⺴⽹网络状态信息, SMS-related services for UMTS and

CDMA – 管理 SIM应⽤用程序⼯工具包服务 – 管理 SIM⽂文件, 电话薄,和安全

• 关键部件: – TAPI可作为客户端库 – 定义⼀一个电话服务器插件架构

电话通信

Page 35: 1-Introduction to Tizen v2

44

Embedded Software Lab. @ SKKU

�35

• 提供:联系⼈人、⽇日历、账户和同步服务 • 关键部件:

– 账户:管理账户共享设备上的账户信息 – 联系/⽇日历:

• 基于账户,⼀一个账户的多个地址/⽇日历 • ⾜足够的特性来满⾜足移动接触/⽇日历应⽤用程序需求。 • ⽀支持电⼦子名⽚片分别为3.0和1.0 vCalendar

• 同步(Sync-FW)

PIM

Page 36: 1-Introduction to Tizen v2

44

Embedded Software Lab. @ SKKU

�36

• 提供:短信、彩信、电⼦子邮件 – SMS、WAP和⼩小区⼲⼴广播消息 – MMS协议:OMA MMS 1.2。 – 电⼦子邮件协议:SMTP、POP3、IMAP

• 关键部件 – 消息客户端API – 消息服务器

• 事务管理器:管理消息服务器和图书馆之间的IPC • 主要处理:处理消息发送/接收/过滤/设置。 • 存储处理程序:节省DB • 插件管理器:管理短信和彩信功能插件

消息传送

Page 37: 1-Introduction to Tizen v2

44

Embedded Software Lab. @ SKKU

�37

• 提供: – 证书管理和验证 – 机密数据的安全存储 – ⽤用户空间访问控制管理 – 加密和SSL⽀支持 – 强制访问控制的⽀支持

• 安全模型: – no-root的应⽤用程序/⽆无特权升级 – Sandboxed by SMACK – 服务守护进程使⽤用,并且在服务器端执⾏行访问控制 – 许可政策的应⽤用

安全