KR20120114925A - Platform for abstracting a soc solution and terminal apparatus thereof - Google Patents

Platform for abstracting a soc solution and terminal apparatus thereof Download PDF

Info

Publication number
KR20120114925A
KR20120114925A KR1020110032774A KR20110032774A KR20120114925A KR 20120114925 A KR20120114925 A KR 20120114925A KR 1020110032774 A KR1020110032774 A KR 1020110032774A KR 20110032774 A KR20110032774 A KR 20110032774A KR 20120114925 A KR20120114925 A KR 20120114925A
Authority
KR
South Korea
Prior art keywords
manager
application
platform
event
soc solution
Prior art date
Application number
KR1020110032774A
Other languages
Korean (ko)
Inventor
김민근
Original Assignee
주식회사 아이리버
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 주식회사 아이리버 filed Critical 주식회사 아이리버
Priority to KR1020110032774A priority Critical patent/KR20120114925A/en
Publication of KR20120114925A publication Critical patent/KR20120114925A/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/4401Bootstrapping
    • G06F9/4405Initialisation of multiprocessor systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/448Execution paradigms, e.g. implementations of programming paradigms
    • G06F9/4494Execution paradigms, e.g. implementations of programming paradigms data driven

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Stored Programmes (AREA)

Abstract

PURPOSE: A platform system abstracting an SOC(System-On-Chip) solution and a terminal device thereof are provided to execute various applications made based on a platform with no constraint even in a terminal selecting the SOC solution under an environment that a platform system is ported to the SOC solution. CONSTITUTION: A PAL(Platform Abstraction Layer)(110) is ported to an SOC solution. The PAL extracts common factors about functions provided by the SOC solution to standardize the same by group. A core layer(120) receives an event generated in the SOC solution through the PAL and requests event processing to a manager. An API(Application Program Interface) layer(160) delivers an event command to a corresponding application performing the event. [Reference numerals] (110) Platform abstraction layer(PAL); (120) Core layer; (130) Core executing unit; (140) Window system; (150) Graphic engine; (170) Application n; (180) SOC solution; (AA) Application 1; (BB) Application 2; (CC) Process; (DD) System; (EE) Standard-C; (FF) Media; (GG) Network; (HH) Registry; (II) Input/output; (JJ) Window; (KK) Graphics; (L1) Event manager; (L2) Media manager; (L3) Network manager; (L4) Process manager; (M1) File system manager; (M2) Input/output manager; (M3) Registry manager; (M4) Database manager; (N1) License manager; (N2) Service manager; (N3) Package manager; (N4) IME manager; (O1) UX component; (O2) Screen manager; (O3) Animator; (O4) Screen compositor; (PP) System; (QQ) File system; (RR) Graphic; (SS) Network; (TT) Media; (UU) Input/output

Description

시스템온칩 솔루션을 추상화한 플랫폼 시스템 및 그의 단말장치{PLATFORM FOR ABSTRACTING A SoC SOLUTION AND TERMINAL APPARATUS THEREOF}Platform system and its terminal device abstracting system-on-chip solution {PLATFORM FOR ABSTRACTING A SoC SOLUTION AND TERMINAL APPARATUS THEREOF}

본 발명은 SoC 솔루션을 추상화한 플랫폼 시스템에 관한 것으로, 특히 다양한 단말장치에서 구동되는 어플리케이션의 기능을 추상화하여 규격화하고 이를 단말장치의 SoC 솔루션에 포팅함으로써, 단말장치에 탑재된 운영체제와 상관없이 어플리케이션이 구동될 수 있게 하는 SoC 솔루션을 추상화한 플랫폼 시스템 및 그의 단말장치에 관한 것이다.The present invention relates to a platform system that abstracts an SoC solution. In particular, by abstracting and standardizing the functions of an application running on various terminal devices and porting them to the SoC solution of the terminal device, the application is independent of the operating system installed in the terminal device. The present invention relates to a platform system that abstracts an SoC solution that can be driven, and a terminal device thereof.

현재, 각종 IT 제품 등의 단말장치는 하나의 칩(chip)에 집적되는 시스템 온 칩(SoC)으로 발전하고 있다. 시스템 온 칩은 IT 제품의 경박단소화, 고성능화, 다기능화 추세와 함께 가격 인하 경쟁이 치열해짐에 따라 그 적용범위를 계속 넓혀가고 있는 추세이며, 프로세서, 멀티미디어, 그래픽, 인터페이스, 보안 등 다양한 기능을 모두 흡수하며 더욱 복잡한 시스템으로 나가고 있다.At present, terminal devices such as various IT products are being developed as system on chip (SoC) integrated in one chip. System-on-chip is expanding the scope of application as the competition for price reduction along with the trend of thin and light, high performance and multi-functionality of IT products, and various functions such as processor, multimedia, graphic, interface, security, etc. All are absorbed and are moving towards more complex systems.

단말장치는 어플리케이션을 수행하기 위한 특정 플랫폼을 가진다. 플랫폼은 주지한 바와 같이 단말장치의 아키텍처, 운영체제(OS), 프로그램 언어, 관련 런 타임 라이브러리 또는 GUI를 포함한다. 이러한 단말장치에 제공되는 플랫폼은 단말장치가 제공할수 있는 목적 및 기능을 기초로 하여 관련된 개발자가 개발한다. 그렇기 때문에, 단말장치는 기 제공된 플랫폼을 통해 다양한 종류의 어플리케이션, 예를 들면 e-book, office viewer, e-dictionary, Web Browser, DMB, 사진, 게임 등의 응용 프로그램을 원활하게 실행시키게 된다. The terminal device has a specific platform for executing an application. The platform, as noted, includes the architecture of the terminal device, an operating system (OS), a programming language, an associated runtime library or GUI. The platform provided to such a terminal device is developed by a related developer based on the purpose and function that the terminal device can provide. Therefore, the terminal device smoothly executes various types of applications, for example, e-books, office viewers, e-dictionary, web browsers, DMBs, photos, games, and the like through the provided platform.

하지만, 단말장치는 경우에 따라 어플리케이션의 실행을 제한한다. 예를 들면, 'A'의 플랫폼에서 실행되는 'B'의 어플리케이션은 다른 플랫폼에서는 실행되지 않는다. 즉, 어플리케이션은 특정한 플랫폼-하드웨어나 운영체제의 기능에 맞춰 설계 및 프로그래밍 되고 있고, 따라서 플랫폼 또는 운영체제가 상이하면 어플리케이션은 운용되지 않는다. 이는 어플리케이션이 특정 플랫폼에서만 운용되도록 개발되었기 때문이다. However, the terminal device restricts the execution of the application in some cases. For example, an application of B running on a platform of A does not run on another platform. In other words, the application is designed and programmed according to the function of a specific platform-hardware or an operating system. Therefore, if the platform or the operating system is different, the application does not operate. This is because applications are developed to run only on specific platforms.

이와 같이 어플리케이션은 그 실행될 수 있는 환경이 극히 제한될 수밖에 없다. 이를 해결하기 위하여 여러 플랫폼에서 대응할 수 있도록 각각의 플랫폼에 대응한 동일한 어플리케이션을 준비해야만 한다. 또는 소정 플랫폼 환경에 적합하지 않은 어플리케이션을 운용하기 위해서는 해당 플랫폼에 맞게 어플리케이션을 변경해야 한다. In this way, the application can only be extremely limited environment. In order to solve this problem, the same application corresponding to each platform must be prepared to cope with various platforms. Or, to operate an application that is not suitable for a certain platform environment, the application must be changed to match the platform.

이처럼 SoC 솔루션에 탑재된 운영체제 및 이를 포함하는 각종 플랫폼에 따라 어플리케이션의 실행환경은 상호 연관되고 제한적이기 때문에, 어플리케이션을 개발하는 측면에서는 그에 맞는 개발환경이 각각 필요하다는 단점이 지적되고 있다. As described above, since the execution environment of applications is correlated and limited depending on the operating system and various platforms included in the SoC solution, it is pointed out that each development environment is required in terms of application development.

다른 예로, 단말장치를 개발하는 업체는 플랫폼을 자체 개발하는 업체가 아니라면 기 제공되는 표준화된 플랫폼을 사용해야 한다. 이때 개발업체가 하나의 플랫폼을 채택하는 경우라면 그 플랫폼이 탑재된 단말장치만을 개발하면 된다. 그러나, 소비자의 요구에 따라 각기 다른 플랫폼을 탑재할 수밖에 없는 경우이면, 그에 맞게 단말장치를 각각 개별적으로 개발해야만 한다. 이에 따라 단말장치의 개발 비용이 증가하게 된다. 또 상이한 플랫폼에 대응하는 어플리케이션을 각각 개발해야만 한다. As another example, a company developing a terminal device should use a standardized platform provided unless the company develops its own platform. In this case, if a developer adopts one platform, only the terminal device equipped with the platform needs to be developed. However, if there is no choice but to mount a different platform according to the needs of the consumer, each terminal device must be developed separately accordingly. Accordingly, the development cost of the terminal device is increased. You must also develop applications for different platforms.

따라서 본 발명의 목적은 상기한 문제점을 해결하기 위한 것으로, SoC 솔루션과 어플리케이션을 분리하여 여러 플랫폼 환경하에서도 하나의 어플리케이션이 구동될 수 있게 하는 것이다. Accordingly, an object of the present invention is to solve the above problems, and to separate an SoC solution from an application so that one application can be run under various platform environments.

상기한 목적을 달성하기 위한 본 발명의 특징에 따르면, SoC 솔루션에 포팅되며, SoC 솔루션이 제공하는 기능들에 대한 공통 인자를 추출하여 그룹별로 규격화하는 플랫폼 추상화 레이어(platform abstraction layer); 상기 SoC 솔루션에서 발생한 이벤트를 상기 플랫폼 추상화 레이어를 통해 전달받고, 해당 매니저에게 이벤트 처리를 요청하는 코어 레이어(core layer); 그리고 상기 이벤트를 수행하는 해당 어플리케이션에 이벤트 명령을 전달하는 어플리케이션 프로그래밍 인터페이스 레이어(API layer)를 포함하는 플랫폼 시스템이 제공된다.According to a feature of the present invention for achieving the above object, a platform abstraction layer which is ported to the SoC solution, and extracts a common factor for the functions provided by the SoC solution to standardize by group; A core layer receiving an event generated in the SoC solution through the platform abstraction layer and requesting an event processing from a corresponding manager; In addition, a platform system including an application programming interface layer (API layer) for delivering an event command to a corresponding application that performs the event is provided.

여기서 상기 코어 레이어는, 상기 플랫폼 추상화 레이어를 통해 전달받은 이벤트의 종류를 구분하여 이벤트를 관리하는 해당 매니저에게 전달하는 코어 실행부(Core Executive), 상기 어플리케이션의 그래픽 기능을 수행하는 윈도우 시스템부(window system)를 포함하여 구성하고, 상기 윈도우 시스템부의 그래픽 엔진은 상기 SoC 솔루션에 그래픽 관련 API가 제공되면 상기 플랫폼 추상화 레이어를 통해 그래픽 기능을 제공하고, 상기 그래픽 관련 API가 미 제공되면 소프트웨어 엔진을 사용하여 그래픽 기능을 제공한다.Here, the core layer may include a core executive for classifying the types of events received through the platform abstraction layer and delivering them to a corresponding manager managing an event, and a window system unit performing a graphic function of the application. system, and the graphics engine of the window system unit provides a graphic function through the platform abstraction layer when a graphics related API is provided to the SoC solution, and uses a software engine when the graphics related API is not provided. Provides graphics capabilities.

그리고, 상기 코어 레이어 및 API 레이어는 상기 플랫폼 추상화 레이어 및 코어 레이어에 제공되는 인터페이스를 각각 이용하여 구현한다. The core layer and the API layer are implemented using interfaces provided to the platform abstraction layer and the core layer, respectively.

또한, 본 발명의 플랫폼 시스템은 상기 어플리케이션이 구동될 때 하나의 프로세스는 'ready - active(deactive) - terminated'의 3단계로 수행되며, 엔트리(entry) 함수와 엔드(end) 함수에 의하여 메모리에 상기 어플리케이션이 로딩(loading)된 상태에서 상기 엔트리 함수를 호출하여 어플리케이션을 수행하고, 어플리케이션의 종료가 요청되면 상기 엔드 함수를 호출하여 어플리케이션을 언로딩(unloading) 한다. In addition, the platform system of the present invention, when the application is running, one process is performed in three stages of 'ready-active (deactive)-terminated', the entry (endry) function and end (end) function in the memory The application is executed by calling the entry function while the application is loaded, and when the termination of the application is requested, the end function is called to unload the application.

본 발명의 다른 특징에 따르면, 상술한 플랫폼 시스템이 SoC 솔루션에 포팅된 단말장치를 제공함을 특징으로 한다. According to another feature of the invention, the above-described platform system is characterized in that it provides a terminal device ported to the SoC solution.

위와 같은 본 발명의 SoC 솔루션을 추상화한 플랫폼 시스템 및 그의 단말장치에 따르면 다음과 같은 효과가 있다. According to the platform system and the terminal device abstracting the SoC solution of the present invention as described above has the following effects.

먼저, 플랫폼 시스템이 SoC 솔루션에 포팅되어 있는 환경하에서는 어떠한 SoC 솔루션을 채택하는 단말장치에서도 플랫폼을 기반으로 하여 작성된 다양한 어플리케이션을 아무런 제약없이 실행할 수 있다. First, in an environment in which a platform system is ported to an SoC solution, various applications written based on the platform can be executed without any limitation in a terminal device adopting any SoC solution.

또한, 어플리케이션의 프로세스의 구동단계를 간소화함으로써, 그 처리속도가 개선되는 효과도 있을 것이다. In addition, by simplifying the driving step of the application process, the processing speed will also be improved.

또한, 그래픽과 관련된 구성이 플랫폼 시스템 내에 구비되어 있어, 고품질의 그래픽를 제공할 수 있다. In addition, a configuration related to graphics is provided in the platform system, thereby providing high quality graphics.

도 1은 본 발명의 바람직한 실시 예에 따른 플랫폼 시스템의 구조를 아키텍쳐를 상세하게 도시한 블록 구성도
도 2는 도 1의 플랫폼 시스템에서 이벤트 처리과정을 설명하기 위한 도시한 블록 구성도
도 3은 본 발명의 플랫폼 시스템에서 프로세스의 처리 단계를 보인 구성도
1 is a block diagram showing in detail the architecture of the platform system according to an embodiment of the present invention
2 is a block diagram illustrating an event processing process in the platform system of FIG.
3 is a block diagram showing a processing step of a process in the platform system of the present invention

이하 본 발명에 의한 SoC 솔루션을 추상화한 플랫폼 시스템 및 그의 단말장치를 첨부된 도면에 도시된 바람직한 실시 예를 참조하여 상세하게 설명한다. Hereinafter, a platform system that abstracts an SoC solution according to the present invention and a terminal device thereof will be described in detail with reference to a preferred embodiment illustrated in the accompanying drawings.

도 1은 본 발명의 바람직한 실시 예에 따른 플랫폼 시스템의 아키텍처를 상세하게 도시한 블록 구성도이다. 1 is a block diagram showing in detail the architecture of a platform system according to an embodiment of the present invention.

우선, 본 발명은 다양한 디지털 컨텐츠 단말장치에 동일한 실행환경을 제공하기 위한 것이다. 그렇기 때문에, 단말장치에서 구동되는 어플리케이션에 대한 인터페이스를 규격화하고, 이를 SoC 솔루션에 포팅하는 것을 전제로 한다. First, the present invention is to provide the same execution environment to various digital content terminal device. Therefore, it is assumed that the interface for the application running on the terminal device is standardized and ported to the SoC solution.

도 1을 보면, 플랫폼 시스템(100)의 아키텍처는 크게 3가지 레이어(Layer)를 포함하고 있다. 그 3가지 레이어는 플랫폼 추상화 레이어(platform abstraction layer)(110), 코어 레이어(core layer)(120) 및 어플리케이션 프로그래밍 인터페이스 레이어(API layer)(160)이고, 각각의 레이어에 대하여 살펴보기로 한다. Referring to FIG. 1, the architecture of the platform system 100 includes three layers. The three layers are a platform abstraction layer 110, a core layer 120, and an application programming interface layer (API layer 160). Each layer will be described.

먼저, 플랫폼 추상화 레이어(이하, 'PAL'이라고 칭함)(110)에 대한 설명이다. First, a description is given of the platform abstraction layer (hereinafter, referred to as 'PAL') 110.

PAL(110)은 후술하는 SoC 솔루션(180)에 포팅되기 위하여 그 SoC 솔루션(180)을 추상화하고, SoC 솔루션(180)과 독립적으로 구현할 수 있게 규격화된 인터페이스를 제공한다. 즉, SoC 솔루션(180)이 제공하는 다양한 기능 및 목적 등을 기초로 하여 공통된 인자를 추출하여 추상화하는 것이다. The PAL 110 abstracts the SoC solution 180 to be ported to the SoC solution 180 described later, and provides a standardized interface to be implemented independently of the SoC solution 180. That is, a common factor is extracted and abstracted based on various functions and purposes provided by the SoC solution 180.

실시 예에서는 규격화된 인터페이스를 시스템, 파일 시스템, 그래픽, 네트워크, 미디어, 입/출력 장치로 구분하기로 한다. 그리고 각각에 대해 시스템 PAL, 파일 시스템 PAL, 그래픽스 PAL, 네트워크 PAL, 미디어 PAL 및 입/출력 PAL로 칭하여 설명한다. In the embodiment, the standardized interface is divided into a system, a file system, a graphic, a network, a media, and an input / output device. Each will be described as a system PAL, file system PAL, graphics PAL, network PAL, media PAL, and input / output PAL.

첫 번째, 시스템 PAL은 SoC 솔루션(180)의 동기화 방법(Synchronization mechanism), C 라이브러리(standard c library) 및 타이머(Timer) 등을 추상화한다. 두 번째, 파일 시스템 PAL은, 파일 시스템을 추상화한다. 세 번째, 그래픽스 PAL은 그래픽 프레임 버퍼와 오픈 지엘(Open GL), 오픈 브이지(Open VG)와 같은 그래픽 관련 인터페이스 규격을 추상화한다. 네 번째, 네트워크 PAL은 SoC 솔루션이 제공하는 각종 통신 프로토콜에 대한 인터페이스를 추상화한다. 다섯 번째, 미디어 PAL은 각종 미디어의 재생 및 저장 동작에 대한 인터페이스를 추상화한다. 여섯 번째, 입출력 PAL은 USB, 플래쉬 메모리, 카메라 등의 각종 입출력 장치에 대한 인터페이스 규격을 추상화한다. First, the system PAL abstracts a synchronization method, a C library, a timer, and the like of the SoC solution 180. Second, the file system PAL abstracts the file system. Third, graphics PAL abstracts the graphics frame buffer and graphics-related interface specifications such as Open GL and Open VG. Fourth, network PAL abstracts the interfaces to the various communication protocols provided by SoC solutions. Fifth, the media PAL abstracts an interface for playing and storing various media. Sixth, input / output PAL abstracts interface specifications for various input / output devices such as USB, flash memory, and camera.

이처럼, 본 발명의 플랫폼 시스템(100)은 기능이나 목적 등에 따라 인터페이스를 규격화하고 있다. 따라서 어떠한 SoC 솔루션을 기반으로 하는 플랫폼에서도 운영체제와 상관없이 각종 어플리케이션을 수행할 수 있게 된다. 예를 들어, TCP 통신방식을 채택한 단말장치와 HTTP 통신방식을 채택한 단말장치가 있는 경우, 통신 네트워크에 대한 이벤트가 발생하면 통신 방식이 서로 다르더라도 통신 네트워크에 대한 인터페이스를 규격화하고 있는 네트워크 PAL을 통해 이벤트를 처리할 수 있는 것이다.As described above, the platform system 100 of the present invention standardizes interfaces according to functions, purposes, and the like. Therefore, any SoC solution-based platform can run various applications regardless of operating system. For example, if there is a terminal device adopting the TCP communication method and a terminal device adopting the HTTP communication method, when an event occurs for the communication network, the network PAL standardizing the interface to the communication network even though the communication method is different from each other. It can handle the event.

다음, 코어 레이어(120)에 대한 설명이다. Next, the core layer 120 will be described.

상기 코어 레이어(120)는, 플랫폼 시스템(100)의 동작 매커니즘(mechanism)을 구현하는 것으로, 어플리케이션의 운용에 필요한 코어 실행부(Core Executive)(130) 및 어플리케이션의 유저 인터페이스(UI)를 관리하는 윈도우 시스템부(140)를 포함한다. The core layer 120 implements an operation mechanism of the platform system 100, and manages a core executive 130 necessary for operating an application and a user interface (UI) of the application. The window system unit 140 is included.

우선, 상기 코어 실행부(130)는 도 2를 참조하면, 상기 PAL(110)에서 전달되는 이벤트를 저장하는 메모리인 이벤트 큐(Event Queue)(122)와, 이벤트 큐(122)로부터 FIFO 방식으로 리드(read)하는 이벤트의 종류를 구별하고, 그에 대응하는 매니저에게 이벤트를 전달하여 처리를 요청하는 이벤트 매니저(124)를 포함한다. First, referring to FIG. 2, the core execution unit 130 is an event queue 122 which is a memory storing an event transmitted from the PAL 110 and an event queue 122 from the event queue 122 in a FIFO manner. It includes an event manager 124 to distinguish the type of events to read (read), and deliver the event to the corresponding manager to request processing.

여기서, 상기 이벤트 매니저(124)에 의해 이벤트의 처리를 요청받는 매니저(manager)의 종류를 도 1을 참조하여 살펴보기로 한다. Here, the type of a manager that is requested to process an event by the event manager 124 will be described with reference to FIG. 1.

1. 미디어 매니저는, 어플리케이션의 미디어 재생과 저장 등에 대한 요청을 상기 PAL(110)로 전달하고, 또 상기 PAL(110)에서 전달되는 이벤트를 처리 또는 전달하는 역할을 한다.1. The media manager delivers a request for media playback and storage of an application to the PAL 110 and processes or delivers an event delivered from the PAL 110.

2. 네트워크 매니저는, 어플리케이션이 요청한 네트워크 서비스를 등록하고, 상기 PAL(110)에서 전달된 네트워크 이벤트를 처리하거나 해당 어플리케이션에 전달하는 역할을 한다. 2. The network manager registers a network service requested by an application, and processes or delivers a network event delivered from the PAL 110 to the corresponding application.

3. 프로세스 매니저는, 실행파일과 동적 라이브러리의 로딩, 재배치(relocation) 동작을 통해 어플리케이션을 메모리에 적재시키고 프로세스를 생성하며 프로세서를 조정할 수 있는 인터페이스를 제공한다. 3. The process manager provides an interface for loading and relocating applications, creating processes, and tuning processors through the loading and relocation of executables and dynamic libraries.

4. 파일 시스템 매니저는, 파일 시스템 서비스에 대하여 디렉토리 구조나 접근 정책을 관리하는 역할을 한다. 4. The file system manager manages the directory structure and access policies for file system services.

5. 입/출력 매니저는, 각종 입/출력 장치에 대한 정보, 액세스 방법을 관리하고, 각종 입/출력과 관련한 이벤트를 처리하는 역할을 한다. 5. The input / output manager manages information on various input / output devices and access methods, and processes events related to various input / output devices.

6. 레지스트리 매니저는, 각종 플랫폼 시스템의 환경정보, 어플리케이션 및 PAL의 환경정보, 사용자 정보들을 저장하는 데이터 베이스에 대한 동작을 제공하는 역할을 한다.6. The registry manager is responsible for providing operations for a database that stores environment information of various platform systems, environment information of applications and PALs, and user information.

7. 데이터베이스 매니저는, 관계형 데이터베이스에 대한 인터페이스를 제공하되, SoC 솔루션(180)이 관계형 데이터베이스를 제공하면 PAL을 호출하고, SoC 솔루션(180)이 관계형 데이터베이스를 제공하지 않으면 내부 데이터베이스 엔진을 사용하도록 한다. 7. The database manager provides an interface to the relational database, but calls the PAL if the SoC solution 180 provides a relational database and uses the internal database engine if the SoC solution 180 does not provide a relational database. .

8. 라이센스 매니저는, 미디어나 파일에 대한 라이센스 정책을 적용하고, 엔코드(encode)/디코드(decode)에 대한 인터페이스를 제공하는 역할을 한다. 8. The license manager is responsible for applying the license policy for media or files and providing an interface for encode / decode.

9. 서비스 매니저는, PAL(110)에 전달된 이벤트를 단말장치나 컨텐츠 서비스에 맞게 적용하는 역할을 한다. 9. The service manager plays a role of applying the event delivered to the PAL 110 to the terminal device or the content service.

10. 패키지 매니저는, 컨텐츠 패키지의 구성요소 등을 관리하며, 설치/제거 등의 인터페이스를 제공하는 역할을 한다. 10. The package manager manages components of the content package and provides an interface for installation / removal.

11. IME 매니저는, 사용자 입력에 대한 문자 조합을 언어별로 해주는 인터페이스를 제공하는 역할을 한다.11. The IME manager is responsible for providing an interface for language-specific combinations of characters for user input.

이외에도 단말장치의 특성에 맞는 다른 매니저들이 추가되어 구성될 수 있음은 당연하다. In addition, it is a matter of course that other managers suitable for the characteristics of the terminal device may be added and configured.

상기 코어 레이어(120)의 다른 구성인 윈도우 시스템부(140)는 운영체제의 윈도우 시스템과 독립적인 그래픽 시스템을 지원하기 위하여 제공되며, 단말장치의 화면에 디스플레이하는 기능과 관련된다. The window system 140, which is another component of the core layer 120, is provided to support a graphic system independent of the window system of the operating system and is related to a function of displaying on a screen of the terminal device.

이를 위하여 윈도우 시스템부(140)는, 'Drawing', 'Surface', 'Fonts', 'Transform'의 구성을 가지는 그래픽스 엔진(Graphics Engine)(150)과, UX 컴포넌트(component)와 스크린 매니저(Screen Manager)와 애니메이터(Animator) 및 스크린 컴포지터(Screen Composer) 등을 포함한다. To this end, the window system unit 140 includes a graphics engine 150 having a configuration of 'Drawing', 'Surface', 'Fonts' and 'Transform', a UX component and a screen manager. Manager, Animator, and Screen Composer.

여기서, 상기 그래픽스 엔진(150)은 SoC 솔루션(180)이 OpenGL, OpenVG를 제공하면 PAL(110)을 통해 그래픽 동작을 수행하고, 반면 SoC 솔루션(180)에 OpenGL, OpenVG가 지원되지 않으면 소프트웨어 엔진을 사용한다. Here, if the SoC solution 180 provides OpenGL and OpenVG, the graphics engine 150 performs a graphic operation through the PAL 110, whereas if the SoC solution 180 does not support OpenGL and OpenVG, the graphics engine may be used. use.

다음, 어플리케이션 프로그래밍 인터페이스 레이어(이하, 'API 레이어'라 함)(160)에 대한 설명이다.Next, an application programming interface layer (hereinafter, referred to as an “API layer”) 160 will be described.

API 레이어(160)는 어플리케이션 개발에 필요한 어플리케이션 인터페이스를 상기 코어 레이어의 각 컴포넌트가 가진 인터페이스를 통해 구현하기 때문에, 코어 레이어의 구성에 대응되는 구성을 갖는다. Since the API layer 160 implements an application interface required for application development through an interface of each component of the core layer, the API layer 160 has a configuration corresponding to the configuration of the core layer.

API 레이어(160)에 제공되는 인터페이스의 예로, 어플리케이션의 실행/종료/동작 라이브러리의 로딩 및 이벤트 콜백(callback) 함수 등록 등의 인터페이스를 제공하는 프로세서 인터페이스, 타이머와 단말자원에 대한 정보를 얻거나 저장하는 인터페이스를 제공하는 시스템 인터페이스, 표준 c함수에 대한 인터페이스를 제공하는 표준 C 라이브러리 인터페이스, 미디어의 재생/기록 등 미디어를 제어할 수 있는 함수 인터페이스를 제공하는 미디어 인터페이스, 각종 통신 프로토콜에 대한 함수 인터페이스를 제공하는 네트워크 인터페이스, 어플리케이션의 설치/제거와 레지스트리를 접근할 수 있는 인터페이스를 제공하는 레지스트리 인터페이스, 단말장치에 연결된 입/출력 장치에 대한 인터페이스를 제공하는 입/출력 인터페이스, 어플리케이션이 사용하는 윈도우에 대한 생성/소멸과 포커스(focus) 관리에 대한 인터페이스를 제공하는 윈도우 인터페이스, UX 컴포넌트의 생성을 위한 UX 컴포넌트 인터페이스 및 그래픽 프리미티브(primitive)에 대한 인터페이스를 제공하는 그래픽 인터페이스 등이 있다. 물론, API 레이어의 구성 역시 변경 가능하다. Examples of the interface provided to the API layer 160 include obtaining or storing information about a processor interface, a timer, and a terminal resource that provide an interface such as loading an application's execution / termination / action library and registering an event callback function. System interface that provides the interface, standard C library interface that provides the interface for the standard c function, media interface that provides the function interface to control the media such as media playback and recording, and function interface for various communication protocols. The network interface provided, the registry interface that provides the interface for installing / removing applications and accessing the registry, the input / output interface that provides the interface for input / output devices connected to the terminal device, Include generation / extinction and the focus (focus) Windows interface for providing an interface for managing graphic that provides an interface for a component UX interface and graphics primitives (primitive) for the generation of UX component interface of the window. Of course, the configuration of the API layer can also be changed.

한편, 플랫폼 시스템(100)에는 기본적으로 복수의 어플리케이션(170) 및 SoC 솔루션(180)이 구성된다. Meanwhile, the platform system 100 basically includes a plurality of applications 170 and an SoC solution 180.

여기서, 어플리케이션(170)은 다양한 응용프로그램을 말한다. 예를 들면 전자북, 전자사전, 각종 뷰어기, 웹 브라우져, 사진, 이메일, DMB, 게임 등이 있다. Here, the application 170 refers to various application programs. Examples include electronic books, electronic dictionaries, various viewers, web browsers, photos, e-mails, DMBs, and games.

그리고, SoC 솔루션(180)은, 칩셋(SoC), 특정 운영체제(OS), 그래픽 가속모듈(Open GL; Graphic Acceleration), 미디어 코덱(Media codecs), 데이터 베이스(database) 등을 포함한 상태로 개발자에 의해 제조되고, 단말장치에 제공된다. The SoC solution 180 includes a chipset (SoC), a specific operating system (OS), a graphic acceleration module (Open GL; Graphic Acceleration), a media codecs, a database, and the like. Are manufactured and provided to the terminal apparatus.

그리고 본 실시 예는 상기 SoC 솔루션(180)이 지원하는 기능이 정상적으로 수행될 수 있게 SoC 솔루션(180)에 상술한 PAL(110)의 인터페이스들을 규격화한 상태로 포팅하는 것이다. The present embodiment portes the interfaces of the PAL 110 described above to the SoC solution 180 in a standardized state so that the functions supported by the SoC solution 180 can be normally performed.

이렇게 하면, 상술한 플랫폼 시스템(100)에서 구동 가능하게 설계된 어플리케이션은 운영체제가 변경된다고 하더라도 운영체제의 특징에 따로 제약을 받지 않고 구동이 가능하다. In this way, the application designed to be driven in the above-described platform system 100 can be driven without being restricted by the characteristics of the operating system even if the operating system is changed.

예컨대, 상기 플랫폼 시스템(100)에 의해 생성된 어플리케이션은 리눅스, Nucleus, 윈도우 등의 운영체제가 채택된 각각 다른 단말장치라고 하더라도 그러한 운영체제에 상관없이 정상적인 구동이 가능하다는 것이다. 즉 종래에는 특정 운영체제에 맞게 어플리케이션이 컴파일되었기 때문에, 컴파일된 어플리케이션은 해당 운영체제에 의해서만 구동되었지만, 본 실시 예는 운영체제와 상관없이 어플리케이션의 기능이나 목적에 맞게 상기 PAL(110)에 구성된 인터페이스가 SoC 솔루션(180)에 포팅된 상태이기 때문에 운영체제와 상관없는 것이다. For example, the application generated by the platform system 100 can be operated normally regardless of the operating system, even if it is a different terminal device adopting an operating system such as Linux, Nucleus, and Windows. That is, in the past, since the application was compiled for a specific operating system, the compiled application was driven only by the operating system. However, in the present embodiment, an interface configured in the PAL 110 according to the function or purpose of the application is an SoC solution regardless of the operating system. Since it is ported to 180, it is irrelevant to the operating system.

도 2는 도 1의 플랫폼 시스템에서 이벤트 처리과정을 설명하기 위한 도시한 블록 구성도이다. 도 2를 참조하여 상기한 플랫폼 시스템이 구현된 단말장치에서 이벤트 처리과정을 설명하기로 한다. FIG. 2 is a block diagram illustrating an event processing process in the platform system of FIG. 1. Referring to Figure 2 will be described in the event processing process in the terminal device implemented platform.

유저(user)의 요청에 의해 특정 이벤트(event)가 발생한다. Specific events occur at the request of the user.

발생된 이벤트는 PAL(110)로 전달된다. PAL(110)은 동시에 복수의 이벤트를 전달받을 수 있다. The generated event is delivered to the PAL (110). The PAL 110 may receive a plurality of events at the same time.

PAL(110)은 발생한 이벤트를 순서대로 코어 레이어(120)로 전달한다. 그러면 전달된 이벤트는 이벤트 큐(122)에 FIFO 방식으로 저장된다. The PAL 110 transmits the generated events to the core layer 120 in order. The delivered event is then stored in the event queue 122 in a FIFO fashion.

이벤트 큐(122)에 저장된 이벤트 중 제일 먼저 저장된 이벤트가 이벤트 매니저(124)로 전달된다. The event stored first in the event queue 122 is delivered to the event manager 124.

이벤트 매니저(124)는 이벤트 큐(122)로부터 전달된 첫 번째 이벤트가 어떤 이벤트인지를 판단한다. 그리고, 판단결과에 따라 이벤트 종류가 판단되면, 이벤트 매니저(124)는 해당하는 매니저에게 처리를 요청한다. The event manager 124 determines what event is the first event delivered from the event queue 122. When the event type is determined according to the determination result, the event manager 124 requests processing to the corresponding manager.

이때, 매니저는 단말장치에서 실행중인 어플리케이션 중에서 콜백 함수를 결정하여 컨텍스트(context)를 변경하고 콜백 함수를 호출하여 해당하는 어플리케이션을 실행시킨다. At this time, the manager determines a callback function among applications running on the terminal device, changes the context, and calls the callback function to execute the corresponding application.

예를 들어, 상기 이벤트 매니저(124)가 판단한 이벤트가 네트워크 관련 이벤트인 경우, 이벤트 매니저는 발생한 이벤트를 네트워크 매니저로 전달한다. 그리고 네트워크 매니저는 그 이벤트를 처리할 콜백 함수를 호출하여 해당 어플리케이션이 수행되게 하는 것이다. For example, when the event determined by the event manager 124 is a network-related event, the event manager delivers the generated event to the network manager. The network manager then calls the callback function that will handle the event, causing the application to run.

한편, 본 발명은 플랫폼 시스템(100)에서 어플리케이션이 구동될 때 프로세스는 3단계 동작상태를 제공한다. On the other hand, the present invention provides a three-step operating state when the application is running in the platform system 100.

이는 도 3에 도시하고 있다. 즉, 'none - ready - active(deactive) - terminated - none'단계로서, 'ready' 단계에서 엔트리 함수인 'start_flow' 함수가 호출되면 'active' 단계에서 어플리케이션이 수행되고, 어플리케이션의 종료가 요청되면 엔드 함수인 'end_flow' 함수를 호출하여 어플리케이션을 언로딩(unloading) 하는 것이다.This is illustrated in FIG. 3. That is, 'none-ready-active (deactive)-terminated-none' stage. When the entry function 'start_flow' is called in the 'ready' stage, the application is executed in the 'active' stage. Unloading the application by calling the end function 'end_flow'.

참고로, 상기 'none' 단계는 프로세스가 비어있는 상태이고, 'ready' 단계는 'start_flow' 함수가 호출되기 전 상태이고, 'active' 단계는 어플리케이션의 콜백 함수가 실행중인 상태이고, 'deactive' 단계는 어떠한 동작도 실행되고 있지 않은 상태이고, 'terminated'은 어플리케이션이 종료된 상태를 말한다. For reference, the 'none' step is an empty process, the 'ready' step is a state before the 'start_flow' function is called, and the 'active' step is a state in which a callback function of the application is executed, and the 'deactive' A step is a state in which no action is running, and 'terminated' is the state in which the application is terminated.

이상과 같이 본 발명의 도시된 실시 예를 참고하여 설명하고 있으나, 이는 예시적인 것들에 불과하며, 본 발명의 속하는 기술분야의 통상 지식을 가진 자라면 본 발명의 요지 및 범위에 벗어나지 않으면서도 다양한 변형, 변경 및 균등한 타 실시 예들이 가능하다는 것을 명백하게 알 수 있을 것이다. 따라서 본 발명의 진정한 기술적 보호 범위는 첨부된 청구범위의 기술적인 사상에 의해 정해져야 할 것이다. Although described with reference to the illustrated embodiment of the present invention as described above, this is merely exemplary, those skilled in the art to which the present invention pertains various modifications without departing from the spirit and scope of the present invention. It will be apparent that other embodiments may be modified and equivalent. Therefore, the true scope of the present invention should be determined by the technical idea of the appended claims.

110 : 플랫폼 추상화 레이어 120 : 코어 레이어
130 : 코어 실행부 140 : 윈도우 시스템부
150 : 그래픽스 엔진 160 : API 레이어
170 : 어플리케이션 180 : SoC 솔루션
110: platform abstraction layer 120: core layer
130: core execution unit 140: window system unit
150: Graphics Engine 160: API Layers
170 Application 180 SoC Solution

Claims (5)

SoC 솔루션에 포팅되며, SoC 솔루션이 제공하는 기능들에 대한 공통 인자를 추출하여 그룹별로 규격화하는 플랫폼 추상화 레이어(platform abstraction layer);
상기 SoC 솔루션에서 발생한 이벤트를 상기 플랫폼 추상화 레이어를 통해 전달받고, 해당 매니저에게 이벤트 처리를 요청하는 코어 레이어(core layer); 그리고
상기 이벤트를 수행하는 해당 어플리케이션에 이벤트 명령을 전달하는 어플리케이션 프로그래밍 인터페이스 레이어(API layer)를 포함하는 SoC 솔루션을 추상화한 플랫폼 시스템.
A platform abstraction layer ported to the SoC solution and extracting common factors for the functions provided by the SoC solution and standardizing them by group;
A core layer receiving an event generated in the SoC solution through the platform abstraction layer and requesting an event processing from a corresponding manager; And
A platform system abstracting an SoC solution including an application programming interface layer (API layer) for delivering an event command to a corresponding application that performs the event.
제 1 항에 있어서, 상기 코어 레이어는,
상기 플랫폼 추상화 레이어를 통해 전달받은 이벤트의 종류를 구분하여 이벤트를 관리하는 해당 매니저에게 전달하는 코어 실행부(Core Executive), 상기 어플리케이션의 그래픽 기능을 수행하는 윈도우 시스템부(window system)를 포함하여 구성하고,
상기 윈도우 시스템부의 그래픽 엔진은 상기 SoC 솔루션에 그래픽 관련 API가 제공되면 상기 플랫폼 추상화 레이어를 통해 그래픽 기능을 제공하고, 상기 그래픽 관련 API가 미 제공되면 소프트웨어 엔진을 사용하여 그래픽 기능을 제공함을 특징으로 하는 SoC 솔루션을 추상화한 플랫폼 시스템.
The method of claim 1, wherein the core layer,
It includes a core executive for classifying the types of events delivered through the platform abstraction layer to the corresponding manager managing the event, and a window system for performing the graphic function of the application. and,
The graphic engine of the window system unit provides a graphic function through the platform abstraction layer when a graphic related API is provided to the SoC solution, and provides a graphic function using a software engine when the graphic related API is not provided. Platform system abstracting SoC solution.
제 1 항에 있어서,
상기 코어 레이어 및 API 레이어는 상기 플랫폼 추상화 레이어 및 코어 레이어에 제공되는 인터페이스를 각각 이용하여 구현함을 특징으로 하는 SoC 솔루션을 추상화한 플랫폼 시스템.
The method of claim 1,
And the core layer and the API layer are implemented using an interface provided to the platform abstraction layer and the core layer, respectively.
제 1 항에 있어서,
상기 어플리케이션이 구동될 때 하나의 프로세스는 'ready - active(deactive) - terminated'의 3단계로 수행되며,
엔트리(entry) 함수와 엔드(end) 함수에 의하여 메모리에 상기 어플리케이션이 로딩(loading)된 상태에서 상기 엔트리 함수를 호출하여 어플리케이션을 수행하고, 어플리케이션의 종료가 요청되면 상기 엔드 함수를 호출하여 어플리케이션을 언로딩(unloading) 함을 특징으로 하는 SoC 솔루션을 추상화한 플랫폼 시스템.
The method of claim 1,
When the application is running, one process is performed in three stages: 'ready-active (deactive)-terminated'.
The application is executed by calling the entry function while the application is loaded in memory by an entry function and an end function, and when the termination of the application is requested, the end function is called to execute the application. Platform system abstracting an SoC solution characterized by unloading.
제 1 항 내지 제 4 항 중 어느 한 항의 구성들을 포함하는 SoC 솔루션을 추상화한 플랫폼 시스템을 탑재하여 구성됨을 특징으로 하는 단말장치. A terminal device comprising a platform system abstracting an SoC solution including the components of any one of claims 1 to 4.
KR1020110032774A 2011-04-08 2011-04-08 Platform for abstracting a soc solution and terminal apparatus thereof KR20120114925A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020110032774A KR20120114925A (en) 2011-04-08 2011-04-08 Platform for abstracting a soc solution and terminal apparatus thereof

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020110032774A KR20120114925A (en) 2011-04-08 2011-04-08 Platform for abstracting a soc solution and terminal apparatus thereof

Publications (1)

Publication Number Publication Date
KR20120114925A true KR20120114925A (en) 2012-10-17

Family

ID=47283967

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020110032774A KR20120114925A (en) 2011-04-08 2011-04-08 Platform for abstracting a soc solution and terminal apparatus thereof

Country Status (1)

Country Link
KR (1) KR20120114925A (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116483328A (en) * 2023-06-19 2023-07-25 广州信位通讯科技有限公司 System and method for running HongMong APP on ThreadX embedded software platform

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116483328A (en) * 2023-06-19 2023-07-25 广州信位通讯科技有限公司 System and method for running HongMong APP on ThreadX embedded software platform
CN116483328B (en) * 2023-06-19 2023-09-12 广州信位通讯科技有限公司 System and method for running HongMong APP on ThreadX embedded software platform

Similar Documents

Publication Publication Date Title
US10074206B1 (en) Network-optimized graphics library for virtualized graphics processing
US10846101B2 (en) Method and system for starting up application
CA2796433C (en) Cross-platform application framework
US20150324174A1 (en) Dynamically building locale objects or subsections of locale objects based on historical data
US20170199732A1 (en) Extracting source code
WO2016155388A1 (en) Method and device for installing and running application
US9058193B2 (en) Methods and systems for providing compatibility of applications with multiple versions of an operating system
US10019298B2 (en) Middleware interface and middleware interface generator
US10187479B2 (en) Cloud-scale heterogeneous datacenter management infrastructure
WO2017166447A1 (en) Method and device for loading kernel module
Kuzmanovic et al. Google's android as an application environment for DTV decoder system
US20220365773A1 (en) Run-Time Application Modification
US20090083753A1 (en) Dynamic thread generation and management for improved computer program performance
WO2023124968A1 (en) Method for calling android dynamic library hal interface by software operating system, device and medium
US20230266984A1 (en) Container-based operating system translation
CN115291946A (en) Hongmong system transplanting method, device, electronic equipment and readable medium
US9141353B2 (en) Dynamically building locale objects at run-time
US20130061228A1 (en) Operating system image management
US11763419B2 (en) GPR optimization in a GPU based on a GPR release mechanism
US11030072B2 (en) Creating and starting fast-start container images
KR20120114925A (en) Platform for abstracting a soc solution and terminal apparatus thereof
TWI556167B (en) System and method for multiple native software applications user interface composition
US8490105B2 (en) Pluggable component interface
CN109002361B (en) Data processing method, distribution method, electronic device, client and storage medium
US9778917B2 (en) Dynamically building subsections of locale objects at run-time

Legal Events

Date Code Title Description
WITN Withdrawal due to no request for examination