Upload
others
View
42
Download
0
Embed Size (px)
Citation preview
Introduction to Tizen
1
Platform
2
Hardware platform
• Hardware + production processes
Software platform
• Common execution environment that provides various functions
• Java, web browser, etc.
Service platform
• App store, Facebook, Kakao
Platform
3
Hardware significance is fading
Using which platform = Using service anywhere
• PC • Smart device
H/W • iOS • ANDROID
OS • SNS • KAKAO
APP
Mobile platform
4
Before mobile platforms
• Platforms were designed for specific embedded devices
• Manufacturers did not want to share their proprietary platforms
Mobile platform
5
Web based mobile platforms
• Provides robust and flexible environments
• Anytime, Anywhere, Any device, Anything
android and tizen part describes details of web-based mobile platforms
Platform Trends - User
6
Before smart devices • Users were aware of platform differences • Therefore, users did not expect anything different.
Now • User expectations are different • Users expect uniform experience
Reality • Unfortunately, manufacturers are providing different user experience
for every other device/application
Why? • Each platform has been designed for a specific embedded device • Manufacturers do not want to share their proprietary platforms
Platform Trends - User
7
Before smart devices • Users were aware of platform differences • Therefore, users did not expect anything different.
Now • User expectations are different • Users expect uniform experience
Reality • Unfortunately, manufacturers are providing different user experience
for every other device/application
Why? • Each platform has been designed for a specific embedded device • Manufacturers do not want to share their proprietary platforms
Platform Trends - Market
8
Appearance of IoT
What if the platform could...
9
Run the same software on all the devices
• With few or no changes
Seamlessly connect the devices
Provide better convergence services to users
Be easily deployed on manufacturers' products
Allow new features/services to be added without hassle • Given the software complies to platform standards
What if the platform could...
10
The same software can run on many devices
• With few or no changes
Devices can be connected more easily
Provide better convergence services to users
Manufacturers can deploy the platform on their products easily
New features/services can be added without breaking • Given the software complies to platform standards
The platform should have two features 1. Standard-based, Cross Category Platform 2. Open Source Platform
Tizen
11
Standard-based, cross category platform
• Provide common & multiple categories of compliances
Tizen
12
Open source platform
• Tizen project resides within the Linux Foundation
Tizen
13
Strong industry support
Tizen
14
Provides a robust and flexible environment for
HTML5 based applications
Provides SDK and IDE
Provides open source community
Tizen platform will be IoT-ready in near future
Android and Tizen
15
David and Goliath
Similar but Different
Android Architecture
16
Activity manager
Application
Application Framework
Kernel
Libraries
Surface manager Media
framework SQLite OpenGL/ES
FreeType Webkit SGL libc
Linux Kernel & device drivers
Native Application
Window manager Content providers View system Project manager
Telephony manager Resource manager Location manager Notification
manager
Core libraries
Dalvik Virtual machine
Tizen 2.2 Architecture
17
Base/IO/Text/Locales
Graphics/UI Net/Telephony/Messaging
Uix Locations Social/Content Web/Xml Media
App/Security/System Services
W3C/HTML5 Device APIs
Web Runtime
Video Touch
CSS3 WebGL
Worker
BT Call
LBS NFC
Msg … …
Application
Web Framework
Kernel
Core Framework
Native Framework
Application Framework
Graphics & UI Multimedia Web Messaging Location
Security System Base Connectivity Telephony PIM
Linux Kernel & device drivers
Web Application Native Application
Core Application
Android Application Framework
Java based development
Execution through Android runtime layer ( Dalvik VM )
18
Activity manager
Application
Application Framework
Native Application
Window manager Content providers View system Project manager
Telephony manager Resource manager Location manager Notification
manager
Public API
Tizen 2.2 Application Framework
Web(HTML5 based), Native(C/C++ based) application
Hybrid(HTML5 for UI, C/C++ for code) application
Execute without virtual machine
19
Base/IO/Text/Locales
Graphics/UI Net/Telephony/Messaging
Uix Locations Social/Content Web/Xml Media
App/Security/System Services
W3C/HTML5 Device APIs
Web Runtime
Video Touch
CSS3 WebGL
Worker
BT Call
LBS NFC
Msg … …
Application
Web Framework Native Framework
Web Application Native Application
Public API
20
Android and Tizen 2.2 Application Framework
Android
Dalvik (Interpreter)
Application
Load
Execute
Tizen
Application (Native)
Application (Web)
Webkit
Execute
Execute
Tizen project flow
21
Tizen dev. environment
build
Tizen application
development
Tizen security : SMACK
Tizen platform
development
Linux kernel
development
Project 0 Tizen porting to Odroid-U3
Project 1 Tizen web application development
Project 2 Basic SMACK features
Project 3 SMACK Security rule modify
Project 4 New SMACK rules
22
Project 0 : Tizen Porting
Embedded board
Linux host machine
Build project environment
• Target: Tizen mobile 2.2
• Host: Ubuntu 12.04 Linux
• Odroid-U3 & VU
Tizen platform
Linux kernel
Project 0 : Tizen Porting
23
Tizen build system workflow
pre build package
Source Material
gbs.conf
build.sh
device profile
kickstart Image Data
local package
remote package
image generation
config. analysis
apply profile
package compile
package splitting analysis
+ package
dependency analysis
*.rpm generation
Project 1 : Application Develop & Run
24
Tizen 2.2 architecture
Base/IO/Text/Locales
Graphics/UI Net/Telephony/Messaging
Uix Locations Social/Content Web/Xml Media
App/Security/System Services
W3C/HTML5 Device APIs
Web Runtime
Video Touch
CSS3 WebGL
Worker
BT Call
LBS NFC
Msg … …
Application
Web Framework
Kernel
Core Framework
Native Framework
Application Framework
Graphics & UI Multimedia Web Messaging Location
Security System Base Connectivity Telephony PIM
Linux Kernel & device drivers
Web Application Native Application
Core Application
25
sdb이용해서 연결 한 화면
테스트 어플 크롬기반 에뮬레이터에 구동
테스트 어플 실제 기계에 구동
• screen-orientation 불일치
• 어플 코드 수정 후 제대로 동작
− 피아노 ㅋㅋ
Project 1 : Application Develop & Run
Project 1 : Application Develop & Run
26
sdb이용해서 연결 한 화면
테스트 어플 크롬기반 에뮬레이터에 구동
테스트 어플 실제 기계에 구동
• screen-orientation 불일치
• 어플 코드 수정 후 제대로 동작
− 피아노 ㅋㅋ
Project 1 : Application Develop & Run
27
Project 2 : Basic SMACK Features
28
Tizen 2.2 architecture
Base/IO/Text/Locales
Graphics/UI Net/Telephony/Messaging
Uix Locations Social/Content Web/Xml Media
App/Security/System Services
W3C/HTML5 Device APIs
Web Runtime
Video Touch
CSS3 WebGL
Worker
BT Call
LBS NFC
Msg … …
Application
Web Framework
Kernel
Core Framework
Native Framework
Application Framework
Graphics & UI Multimedia Web Messaging Location
Security System Base Connectivity Telephony PIM
Linux Kernel & device drivers
Web Application Native Application
Core Application
29
Project 2 : Basic SMACK Features
Simplified Mandatory Access Control Kernel
Analyzing Features
• Main three components : Kernel, Utility, Data
• What are Domain, Label, Rule?
Getting adjusted to SMACK commands
• Commands : ls, id, ps, chsmack, attr …
• Extended attributes : SMACK64, SMACK64EXEC …
• Related files : /smack/access, /smack/load …
kernel 3.10v
platform
Tizen SMACK source
kernel SMACK source
Project 2 : Basic SMACK Features
30
SMACK Units
• Object, Subject, Access permission
• Object: processes
• Subject: processes, files
SMACK Rules • SMACK rule files in /opt/etc/smack/
• Rule format
(subject) (object) (access permission)
When (subject) accesses (object), access between them follows (access permission)
E.g.: When (process) accesses (file), read only is permitted
31
Project 3 : Security Problem
System Data
Manifest file
App Rule, Label
Manifest file
App
- Read permitted - Write home dir only
Not able to read/write
Cracking a system that does not include SMACK
SMACK roles in Tizen
32
Project 4 : New SMACK Rules
Adding Rules
• For disposable files: Can be read only once
• For secret files: Can not be uploaded
Adding Feature
• How to make new rules invariant?
• New rules must be immutable for security reasons
To do : Linux kernel / Tizen platform source modification
References
33
O’REILLY OSCON, Tizen Overview and Architecture
• http://www.oscon.com/oscon2013/public/schedule/detail/31475
KOREA LINUX FORUM 2012, Tizen Overview and Architecture
• https://events.linuxfoundation.org/images/stories/pdf/lceu2012_haitz
ler.pdf
TIZEN DEVELOPER CONFERENCE 2012, Tizen Architecture
• https://download.tizen.org/misc/media/conference2012/tuesday/ball
room-a/2012-05-08_1330-1410-tizen_architecture.pdf