타이젠(Tizen)?

타이젠(Tizen)은 휴대 전화를 비롯한 휴대용 장치를 주로 하며, TV, 냉장고와 같은 모든 전자기기에 포함을 목적으로 하는 오픈 소스 모바일 운영 체제이다. 타이젠은 리눅스 파운데이션의 리눅스 커널을 기반으로 하며, HTML5 및 C++ 기반으로 만들어진다. 또한 소프트웨어 개발 키트(SDK)를 통해 응용 프로그램을 개발하기 위해 필요한 각종 도구들과 API를 제공한다.

- Wiki, 위키백과 -




1. 타이젠의 정의

 타이젠 SDK는 네이티브 API와 웹앱 API를 모두 제공한다. 따라서 블루투스, NFC(Near Field Communication) 센서처럼 네이티브(Native) 기반 앱에서만 가능한 기능들을 웹앱에서도 지원한다. 또한 W3C 및 HTML5와 같은 다양한 표준을 준수해 플랫폼 독립적인 웹앱을 개발할 수 있고, C++ 기반 네이티브앱으로 개발하면 하드웨어에서 제공하는 최대한의 성능을 이끌어 낼 수 있다.


2. 타이젠 아키텍쳐


<그림 1> 타이젠 아키텍처 (출처 : 타이젠 공식 웹사이트)


타이젠 아키텍쳐는 다음과 같은 subsystem들을 포함하고 있다.

  • Web framework
타이젠에는 웹애플리케이션을 위한 웹 프레임워크가 있으며 최신 웹 기술을 지원한다. 특히 HTML5 API, 비디오, 오디오, 폼, 2D 캔버스, WebGL, CSS3, 웹소켓, 웹 워커 등과 같이 W3C 및 다양한 표준화 단체에서 정의한 표준이 포함돼 있다. 그리고 표준에서 제공하지 못하는 부족한 부분을 채우고자 블루투스, NFC, 알람, 메시징 등의 다양한 디바이스 API를 제공한다. 이와 함께 웹애플리케이션 실행, 라이프 사키르 관리, 접근 제어 등의 역할을 하는 웹 런타임(Web Runtime)도 제공한다.
  • Native framework
네이티브 프레임워크는 1만여개가 넘는 API를 제공하며 Base, 입출력, 앱, 보안, 그래픽, UI, 네트워크, 메시징, 소셜, 위치기반, 웹 등 네이티브 애플리케이션이 필요로 하는 다양한 기능을 지원한다.
  • Core
코어 프레임워크는 웹 프레임 워크 및 네이티브 프레임워크가 공통으로 필요로 하는 기본적인 기능을 제공한다.
  • Kernel
타이젠 아키텍처의 가장 하위 단인 리눅스 커널과 디바이스 드라이버로 구성돼 있다.

3. 타이젠의 특징
  • 개방형
타이젠의 가장 중요한 특징 중 하나는 오픈소스라는 것이다. 타이젠은 다양한 오픈소스 및 직접 개발된 코드로 이뤄져 있을뿐 아니라 타이젠 자체에 대한 소스 코드가 모두 공개돼 있다.
  • 다양한 종류의 애플리케이션 지원
타이젠은 HTML5, 자바스크립트, CSS3에 기반을 둔 웹애플리케이션뿐만 아니라 C++ 기반 네이티브 애플리케이션 그리고 이 둘을 융합시킨 하이브리드 애플리케이션까지 모두 지원한다.
  • 높은 HTML5 호환성
타이젠은 HTML5와 CSS5 등 W3C 표준 웹 기술을 적극 지원하고 있다.
  • 디바이스 API 지원
타이젠은 다양한 디바이스 API를 지원하여 애플리케이션 개발 과정에서 발생하는 불편함을 최소화하고 있다. 대표적인 디바이스 API로는 블루투스, PIM(Personal Infromation Management), NFC, 알람, 메시징, 전원 제어 등이 있다.
  • WebGL
  • 안드로이드 앱 호환
인프라웨어테크놀로지는 안드로이드 앱을 타이젠 플랫폼 앱으로 변환하는 PAG(Polaris App Generator) 프로그램을 개발했다. 안드로이드 SDK로 개발한 APK 파일을 타이젠 마켓에 등록하기만 하면 자동으로 타이젠 앱으로 변환되고, 사용자는 타이젠으로 별도의 변경과정을 거칠 필요 없이 마켓에서 다운로드해 사용할 수 있다.
  • 아나키 3D 엔진 : 모바일 3D 게임 엔진
  • 코코스2d-x 엔진
  • 크로스 카테고리


<그림 2> 타이젠의 크로스 카테고리 전략 (출처 : 2012 리눅스 코리아 포럼 타이젠 소개 자료)

  • 크로스 아키텍처
타이젠은 x86과 ARM 아키텍처를 모두 지원하는데, 타이젠 에뮬레이터는 x86을, 테스트용 디바이스는 ARM을 각각 지원한다.
  • 라이선스
다양한 오픈소스를 사용하는 만큼 타이젠은 복잡한 라이선스 정책의 영향을 받는다. 각 모둘에 따라서 GPLv2, LGPL, Apache, BSD, Flora 라이선스 등을 따르며, SDK의 경우에는 타이젠 SDK 라이선스라는 별도의 라이선스 정책을 준수해야 한다.
  • 보안
타이젠은 리눅스 커널 단에서 지원하는 Smack(Simplified Mandatory Access Control Kernel)을 적용해 인가되지 않은 데이터나 프로세스 접근을 막아 보안을 강화했다.


Posted by 밍쫑
,