The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
Tizen Operating System
1. Tizen Architecture
Romuald Rozan
Intel Developer Relation Division
Tizen is a trademark of the Linux Foundation116 May, 2015
Introduction & Architecture
Udaykumar Pedduri
Tizen Platform Architect at Samsung
Tizen is a trademark of the Linux Foundation
2. Tizen Architecture
Romuald Rozan
Intel Developer Relation Division
Tizen is a trademark of the Linux Foundation216 May, 2015
Main Agendas in this Seminar:
• Introduction
• Naming
• History With Developing Cycle
• Screenshots of Operating System
• Architecture
• Mobile
• IVI
• Applications
• Android Os Vs IPhone OS Vs Tizen Os
• Tizen Going Forward
• Conclusions
• References
Tizen is a trademark of the Linux Foundation
3. Tizen Architecture
Romuald Rozan
Intel Developer Relation Division
Tizen is a trademark of the Linux Foundation316 May, 2015
Introduction
Tizen is a trademark of the Linux Foundation
4. • Tizen is a crisp, strong name that matches the
scope and capabilities of this new open source
operating system.
• The name was created by combining the
connectivity of “tie,” the activity of “rise” and the
meditative qualities of “Zen”.
• Tizen was stands for Tizengram.
• Together, the name represents an operating
system that works with you and gives you the
easiest access to your mobile life.
Naming
5. • 2005: Maemo (Nokia)
• 2007: Moblin (Intel)
• 2010: MeeGo (Nokia, Intel, other major hardware & software
companies)
• 2010: Bada (Samsung : for less Android dependence)
• 2011: MeeGo abandoned by Nokia (for Windows Phone)
• 2011: MeeGo abandoned by Intel, and then by its other
supporters
History With Developing Cycle
6. • 2011: LiMo 4 (LiMo Foundation - Samsung collaboration)
• 2011: Intel joins LiMo, which is renamed Tizen
• 2012: LiMo Foundation is renamed Tizen Association
• 2012: Samsung has aim to merge Bada with Tizen
• On September 25, 2012, Tizen released version 2.0
alpha, code-named Magnolia
Cycle contd.
8. • On February 18, 2013, Tizen released version 2.0, code-
named Magnolia.
• On April 2013 Samsung announced Tizen.
• On May 17, 2013, Tizen released version 2.1, code-named
Nectarine.
• On July 22, 2013, Tizen released version 2.2.
• On November 9, 2013, Tizen released version 2.2.1.
• On November 8, 2014, Tizen released version 2.3.
Cycle contd.
12. Tizen is a trademark of the Linux Foundation
Why Tizen?
13. • HTML5 is being adopted rapidly, especially for mobile
Web app development
• Tizen has the top score in html5test.com
Tizen is W3C Standard-Based
[1] http://www.dotcominfoway.com/blog/dot-com-infoway-releases-html5-infographic
15. • The Tizen Association
is formed by more
than 11 companies
• Tizen Association has
adopted an open
governance approach
to make sure that the
future evolution of the
platform cannot be
determined by any one
of its members
Tizen Has Strong Industry Support
Tizen Association Board of
Directors
16. • Upstream projects used by 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
– GCC, llvm, cmake, gbs for build
– And more…
Tizen is Open Source Project
17. • Intel and Samsung maintain or significantly contribute
to:
– Linux, WebKit, EFL, GStreamer, U-Boot, FFMPEG, WebCL, Cairo,
BlueZ, QEMU, GCC, ConnMan, NFC, PulseAudio, Smack,
Wayland, oFono, X, wpa_supplicant, Dbus, glibc, OpenGL,
Geoclue, and libsoup
– With notices, attributions, full license statements, and
compliance to other obligations
• Virtually everything newly developed for Tizen has
been open-sourced under Apache 2.0 License:
– 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, and more.
Tizen is Open Source Project
18. Tizen Mobile Profile Release History
Web-centric platform
- Highest HTML5 coverage
- Tizen Device Web API
- Web UI framework
(jQueryMobile based
Extension)
Tizen 1.0 Web/native dual framework
- Native API
- Unified SDK for Web and native
- Web Runtime based on WebKit2
- Web Audio, HTML Media Capture
- HTML Drag & Drop, Clipboard
Tizen 2.0 Hybrid Web/Native, Enhanced
Security, and Optimized Perf.
- Hybrid Web and native app support
- Content security policy
- Trusted inter-app sharing
- Account management
- QR code and image recognition
- Systemd replacing init daemon
Tizen 2.1
Linux kernel 2.6.36
Linux kernel 3.0 (w/ many 3.4 features backported, such as CMA/IOMMU)
Memory optimization for graphics (Framebuffer DRM/GEM, DMABUF)
eMMC 4.5 support, V4L2 (for codec and camera) support
Apr. 2012
Feb. 2013
May 2013 Commercial Ready w/
Enhanced UX
- H/W Menu & Back key
- Better Font Legibility
- H/W LED Notification
- Integration of Apps w/
Contact
- Native API for Secure
Element
- UI Customizer
- Live Web App. Editing
Tizen 2.2
July 2013
19. Tizen Architecture
Romuald Rozan
Intel Developer Relation Division
Tizen is a trademark of the Linux Foundation1
9
16 May, 2015
Architecture
Tizen is a trademark of the Linux Foundation
20. Tizen is a trademark of the Linux Foundation
Tizen Mobile Profile
Architecture
22. • Web framework
– Provides state-of-the-art HTML5/W3C APIs, Web UI framework,
supplementary APIs, and additional Tizen device APIs
• Native framework
– Supports full-featured native application development and
provides a variety of features like background service, image
and face recognition, and TTS/STT
• Core
– Underlying layer to provide common functionalities and a
security mechanism
– HW adaptation layer with plug-in
architecture
– OpenGL® ES/EGL graphics driver
Architecture Overview
23. • Native and Web frameworks are complementary
to each other
– Web is strong in portability, ease of app development, and has a minimal
learning curve
– Native is relatively better in terms of performance and memory
consumption
– Native enables reusing the existing engine and libraries written in C & C++
in app development
Web vs Native Framework
24. • Different combinations for mixing Web and
native, depending on the characteristics or
requirements of the app to be developed
Web and Native: Mix & Match
Using W3C
APIs only
W3C + Device API Web app for UI with
native app for service
Standard
C/C++ based
Using Tizen Native API
and standard C/C++
Native app w/
WebControl
Hybrid appWeb app Native app
Highly portable
Portable and feature-rich
Performance-centric
and feature-rich
Apps with bg monitoring
(location, push,)
Highly reusable
(source-code level)
25. • Both are native in nature but focusing on different aspects
• Core focuses on:
– Providing common functionalities to Web and native frameworks
– No need to guarantee application binary compatibility (ABC)
– Performance and power optimization
• Native framework focuses on:
– Application development productivity while guaranteeing ABC
– Well-documented API references, developer guide, sample codes, and associated
tools
Native Framework vs Core
26. • Web and native applications
– Apps using only public APIs to get full support for package installation and
upgrade, security, backward compatibility, and so on
– Many sample apps included in the SDK
Application Types
• Core applications
– Apps using Core APIs to
fully utilize device
capabilities such as
telephony
– Usually implemented and
preloaded by device
implementers
– Backward binary
compatibility is not
guaranteed
27. • W3C standard Web
APIs
⁻ W3C/HTML5 markup,
CSS, and JavaScript APIs
• Supplementary APIs
⁻ De-facto APIs (such as
Khronos and Mozilla)
• Tizen Device APIs
⁻ Advanced access to the
device's platform
capabilities
• UI framework
⁻ jQueryMobile-based
⁻ Tools, such as widgets,
events, effects, and
animations
Web Framework
28. • Package management
– installation and update
• Execution and life-cycle
– launching, pause, and
resume
• Runtime security
– API/network access and
sandboxing
• Platform integration
Web Runtime
29. • Since 2.0, Tizen is using WebKit2
– Split process model for web content and UI with non-
blocking APIs
– UI responsiveness, robustness, security, and better use
of multicore CPUs
WebKit2 based Browser and Web
Runtime
30. • HTML5 Canvas is
accelerated by
– Cairo OpenGL® ES
backend
• WebGL
– Directly uses OpenGL®
ES
– Triple buffering
Web 2D and 3D Graphics
2D Canvas performance score
WebGL fps test
31. • Released since Tizen 2.0
• Set of C++ namespaces with more than 10,000 APIs
– Base, IO, App, Security, Graphics and UI, Net, Messaging, Social, Locations,
Web, etc
• Support for standard C/C++, and popular open source libraries
– eglibc, STL, libstdc++, libxml2, OpenGL® ES, OpenAL, and OpenMP®
• Multiprocessing support
– OpenMP, GCD
Native Framework
32. Core Framework
• Providing common features
– Various native and Web APIs
are implemented using the
functionalities of core modules
• Unified management for:
– Package (un)installation and
upgrade
– Launching applications
– Windows for different apps
with E17
– Sensor loading and value
retrieval
– Power consumption
– Connectivity
– Security enforcement with
Smack from the kernel
– And more..
33. Tizen is a trademark of the Linux Foundation
Tizen IVI Profile
Architecture
34. IVI Demands More
Navigation GPS
Dual Display
TTS/STT
BluRay playback
Radio
Display
Audio
Front– video analytics
Display
Audio
Mobile Device
Display
Audio
Video playback
35. Tizen IVI Release History
Fully functional Web
framework
• Automotive Message Broker
• BT HFP dialer application
• DLNA
• Murphy Policy Manager
• WiFi Tethering
• Dual Display Support
• Sample IVI apps
Tizen 2.0
Focus areas
• Wayland
• Fast Boot
• Small Footprint
• Ethernet
• NFC
• HW Acceleration
• Vehicle & Additional Web APIs
for Automotive
• UI Manager
Tizen NextApr. 2013
GENIVI Compliance
• Fastboot with systemd < 5
secs
• Rootfs < 500 Mb
• Sample Navigation App
• Sample Hands free dialer
App
• Media Player App
• IVI Home Screen App
Tizen 1.0 2012
Tizen IVI 3.0-M2-Aug
Released 05 Sept.
36. Tizen Provides Application
Tizen provides application
development tools based on the
JavaScript libraries jQuery and
jQuery Mobile.
Since version 2.0, a native
application framework is also
available, based on Open
Services Platform from the Bada
platform.
The software development kit
(SDK) allows developers to use
HTML5 and related Web
technologies to write
applications that run on
supported devices.
37. Tizen Released first Mobile
Samsung Z and Galaxy
Gear devices are the first
released with Tizen as their
OS.
In May 2013, Samsung
released the firmware
for their NX2000 and
cameras. The architecture
source code is based on
On June 2014, at the Tizen
Developer Conference
Samsung showed a
Tizen based smart TV's.
39. • Technology is something that abruptly change in
such a short time, the bestselling today might be the
least selling tomorrow.
• This is what Tizen OS developers expect in the
future. Before, IOS was the largest selling operating
system.
• Because it was used by the Apple Industry, and the
popularity of Apple was very high at that time.
• Then Google launched its Android OS in the market,
which snatched the spotlight from IOS.
• Android became the top grossing OS ever since.
TIZEN OS Features and Advantages over
Android OS and IOS
40. • However, other developers are trying to make another
OS that would be able to compete with Android and IOS.
• Firefox launched its Firefox OS which was HTML5 based.
• There was Ubuntu Touch, which allowed a split screen
multi-tasking. It was also based on HTML5 code.
• Another new OS that hoped to compete with the other
OS in the market is the Tizen OS, which was supported by
the big companies like Intel and Samsung.
• Samsung mobiles have been purely dependent on
Google’s OS, the Android.
• Today, it planned to create its own OS and to minimize its
dependency on Google.
Contd..
41. • The first prototype phone running under Tizen
OS received negative effects from those who
tired it.
• Some of the comments made were that there
was nothing different from the Tizen OS with
that of the Android and the IOS.
• They have exactly the same features. But the
developers promised to improve their new OS
before they launched it by the end of this year.
Contd..
42. Tizen Architecture
Romuald Rozan
Intel Developer Relation Division
Tizen is a trademark of the Linux Foundation4
2
16 May, 2015
Going Forward:
Development Model
Tizen is a trademark of the Linux Foundation
43. • Until 2.2, source code uploaded to tizen.org only at
milestones
– platform development has not been shown to public
– No continuity and transparency
• From 3.0, development and contribution are happening at
tizen.org
– For productization and depending on profile policies, main code
tree can be pulled out and built anywhere by anyone
• Moved from in-out to out-in development
Tizen 3.0 @tizen.org
44. • Configurable and multi-profile
support with one code base
• 3.0 is about scalability
– Many profiles
– Many devices
– Many configurations
– Many architectures
Tizen 3.0
Sharable between profiles
Profile specific things
Profile-specific
imagesconfigure
& build
45. • 3.0 Features
discussion
– “Tizen Features” JIRA
• 3.0 APIs discussion
– tsg-arch-
api@lists.tizen.org
– “Tizen APIs” JIRA
• Platform developer
discussion
– dev@lists.tizen.org
• Tizen modules
– Git repositories
– Development on tizen
branch
Development Infrastuctures
48. Tizen Architecture
Romuald Rozan
Intel Developer Relation Division
Tizen is a trademark of the Linux Foundation4
8
16 May, 2015
Conclusions
Tizen is a trademark of the Linux Foundation
49. • Tizen is W3C standard-based, cross category, strongly
industry supported open source software platform under
Linux Foundation
• Architecture:
– Mobile
• Linux Kernel 3.0
• Core
• Web and Native frameworks
• Hybrid application types
– IVI
• Architecture for more demands
• Tizen IVI 3.0-M2-Aug released
• Tizen 3.0 Development @ tizen.org
– Git hierarchy, JIRA, build
Conclusions
52. • W3C standards-based with widest HTML5 coverage
• Targeting multiple device categories including smart
phones, in-vehicle infotainment devices, smart TVs,
computers, cameras, printers, and more
• Getting strong support from industry
• a Linux Foundation open source project based on Linux
and various open source software
Tizen is…
Editor's Notes
Hi, Good morning everyone.
I'm Udaykumar Pedduri, and one of Tizen platform architect at Samsung. and actively participating in designing Tizen architecture.
Through this talk, I explain what the Tizen project is trying to achieve.
and how the Tizen platform is architecturally designed to achieve them.
These two things will lay down the basic background why and how one should develop Tizen applications.
Finally I explain how we as Tizen platform developers are developing Tizen 3.0 platform.
through this last thing, I give some basic information about platform development to those who want to participate in the project
I speak in this order and I'll talk about Tizen IVI architecture briefly too. IVI stands for In-Vehicle Infotainment.
Now I introduce Tizen to you.
Why is the Tizen important to you?
The most important point is that Tizen is W3C standard-based.
as you can see in the graphics, HTML5 is being widely adopted for application development mainly due to its high portability.
Recently many platforms like chromium OS and Firefox OS is trying to implement HTML5 standards and Tizen is one of them too.
and most of the time, it has the top score in html5test.com. To application developers this means that you can develop your application first on Tizen, and then easily migrate your application to other platforms if they are ready to implement your application. Please, keep on eye on Tizen's html5 score.
I’d like to suggest you to find the “10 useful HTML5 infographics”.
Tizen has an ambitious goal from the start. Tizen is not targetting only mobile devices category but also other device categories like PC, IVI currently and even TV, camera, and printer in future.
To application developers, this means that your application can potentially get much wider audiences.
We introduced a concept called a profile. We are defining a profile(or profiles) for each device category. Currently mobile profile and IVI profile are under active development.
Tizen is also getting strong support from industry. If Tizen can't get support from various industry sectors, Tizen could be just a marketing hype.
But in reality, it's something important.
As you can see, TA is formed by 11 companies. They are major manufacturers, operators and silicon vendors. They guide Tizen project to go in which direction. and TA has adopted ... for that guidance.
Tizen is one of open source project operated by Linux Foundation.
As you can see, tizen is using various open source software. we couldn't have even thought creating Tizen, if open source software didn't exist.
I think Tizen owe so much to open source community.
So,... Tizen is trying to be a good citizen in the open source world.
Intel and Samsung maintain or ...
Virtually everything newly developed ....
To open source developers, this means that Tizen is a great chance to contribute to open source softwares.
And to application developers, this mean that Tizen is likely to evolve very fast due to active participation from open source community.
Even application developers can contribute to the project as a user, not platform developer, by fileing a bug,
requesting a new feature, and something like that.
If you see the release history of the Tizen Mobile Profile, you can feel how much we are serious about commercialization of Tizen platform.
This year, we released Tizen platform 3 times and now I can say it's pretty close to commercial-grade quality.
We are continusouly fixing bugs, enhancing performances, resolving security issues to make it more close to commercialization so that other industry leaders and application developers can have confidence in investment onto Tizen.
Now, let's talk about Tizen architecture.
First, I'll talk about Tizen Mobile Profile Architecture because upto now, mobile profile is a kinda common profile.
Tizen is based-on Linux and on top of that, core layer exists. Core layer is composed of various components like app framework, graphics & UI, multimedia, web, messaging, location, security, and etc. There are several components which has adaptation interface for hardware differences. Core application can be written on top of core layer.
And web framework and native framework provides dual API stack based on core interface.
Web framework ... Please, take the Tizen device APIs as extension to support wider range of more feature-rich web application.
Native framework...
OpenGL ES/EGL graphics driver should be provided at this layer.
Then why do we provide both web and native framework for application development?
In contrast to what one might think,... native and web framework are complementary to each other.
Web framework is relatively more portable, easy-to-develop, easy-to-learn.
But native framework is relatively better in terms of performance and memory consumption and provides more features.
And also, native framework enables reusing the existing engine and libraries written in C & C++ when developing applications.
You can mix web and native application depending on the characteristics or requirements of your application.
If you want to build a highly portable application across various platforms, you may want to use only W3C standard APIs.
If you want to build portable yet feature-rich applications, for example, it needs to access content informaton, filesystem, bluetooth, SMS/MMS, or communicate with other applications, then you can develop your application using Tizen web device APIs.
What if your application needs to do background monitoring? You can make hybrid application so that most user interaction happen with web UI and back ground monitoring is done by native code because web framework does not support background process.
Upto now, on iOS and Android OS, many web application has a form that core logic is implemented in native code and UI logic is implemented using webview . This form of applications can be easily migrated into native application with web control on Tizen.
If high performance and feature richness are more important for your applications than portability, you can make it native applications.
Next, I want to talk about why there are two different native layers. native framework and core.
Core focuses on .....
Core is basically not a layer for application development, but for platform implementation. For core, quality attributes like performance, lower power consumption, lower memory footprint, smaller image size, securities are much more important than application binary compatibilities. So it may be dramatically changed from a release to the other release.
But for native framework, quality attributes like ABC or application development productivity are much more important. So it is well-documented, and assisted by various productivity tools.
So, there could be 4 types of application.
web application
native application
hybrid application
core application.
but...
Even though you're a developer working at a mobile device manufacturer, I recommend you to use core APIs at minimum.
Core applications can be a maintenance nightmare because it does not guarantee backward compatibility at all.
web ui framework provides UI elements for consistent look-and-feel according to Tizen UX guideline
This is about internal architecture of web browser.
Tizen web browser is following multiple process model.
That means UI, web content, plugin are executed in a seperate process.
This is because it is more responsive, more robust, more secure, can use multicore CPUs better.
For example, with single process model, if something is wrong with plugin, it affects application's behavior but it does not with multiple process model
Next let's talk about IVI profile.
IVI device demands much more than mobile device.
Let's think about a car.
Rich set of sensors and cameras generating a bunch of real-time data may exist in the car.
A couple of high-resolution display throughout the car may exist.
A highly complex speaker & microphone system may target different zones individually
It is necessary to integrate tightly with a various range of mobile devices
Integration with cloud based services
Tizen IVI profile tried to be as compatible as possible to the compliance GENIVI defined.
GENIVI is a large alliance between car manufacturers, chipset vendors, and service companies. GENIVI shapes various IVI requirements
Fully-functional Tizen WRT (Web RunTime)
Automotive Message Broker: a vehicle network abstraction framework that brokers information from the vehicle (e.g. from the CAN bus) to applications.
Ghostcluster: an HTML5-based dashboard application that connects to AMB (Automotive Message Broker) to access vehicle data.
Murphy policy manager: Murphy is a resource policy daemon, designed to do cross domain policy decisions in a configurable way.
Hands-Free dialer ("lemolo"): a BT HFP (Hands-Free Profile) dialer application that uses oFono and BlueZ to make and receive phone calls through a bluetooth-paired mobile phone.
dLeyna: dLeyna is an opensource project that provides high level APIs for creating DLNA enabled applications.
Full HD video support: video playback is hardware-accelerated (via the VA-API) allowing you to play full HD videos (1080p).
Dual-display support
Wi-Fi tethering: allows you to turn your Tizen IVI device into a Wi-Fi hotspot
Sample Applications
A sane, consistent, optimized boot process
Last user mode support
Hardware accelerated graphics via Wayland
Full access to automotive data
Optimized application run-time using HTML technologies
Infrastructure for orchestrating user experience based on driving conditions, ensuring driver safety and region specific regulatory requirements and addressed
Murphy Policy Manager Enhancements beyond Audio
UI Manager for IVI
Tizen IVI 3.0
Next, let's talk about tizen 3.0 development model
It look like revolving, not evolving and not transparent to external open source community and had little chance for contribution.
From 3.0, .... this means that contribution are happening publicly.
Tizen 3.0 becomes configurable to support multiple profiles with one code base.
We divided sharable components and profile-specific components.
As you can see. sharable components like sharable apps, shareable platform components, sharable SDK have its own place, and profile-specific components exists on profile directories. And each profile has its own configuration options for each shareable component.
In this way, it's possible to build both smartphone ABC on ARM and IVI device XYZ on IA from the same code base.
To ensure public and transparent development, we implemented some development infrastructures.
First, 3.0 feature discussion will happen at "Tizen Features" JIRA which I link here
Secondly, 3.0 API discussion will primarily happen at tsg-arch-api mailing list and post-activities for each API such as unit TC development, TC verification, documentation and etc will be tracked on "Tizen APIs" JIRA.
Discussion on platform development is already happening at dev mailing list. If you following the link, you can check out discussions.
We created git directories according to the git directory hierarchy in the previous slide.
There may be two seperate git directories per each component. Keep in mind that In that case, one is for 2.2 maintenance, the other 3.0 development.
Let's see 3.0 example git.
we are developing 3.0 feature on tizen branch. you can see the tizen branch at the first shortlog entry.
This module is under active development.
We are also operating build server. check out the build status of each build project, following the link.