• 검색 결과가 없습니다.

(11) 공개번호 10-2015-0130631 (43) 공개일자 2015년11월24일

N/A
N/A
Protected

Academic year: 2022

Share "(11) 공개번호 10-2015-0130631 (43) 공개일자 2015년11월24일"

Copied!
16
0
0

로드 중.... (전체 텍스트 보기)

전체 글

(1)

(19) 대한민국특허청(KR) (12) 공개특허공보(A)

(11) 공개번호 10-2015-0130631 (43) 공개일자 2015년11월24일

(51) 국제특허분류(Int. Cl.)

G06F 9/22

(2006.01)

(21) 출원번호 10-2014-0057300 (22) 출원일자 2014년05월13일 심사청구일자 없음

(71) 출원인

한국전자통신연구원

대전광역시 유성구 가정로 218 (가정동) (72) 발명자

임동혁

대전광역시 유성구 노은로416 송림마을아파트 50 2동 1310호

김병호

서울특별시 중랑구 용마산로348 용마금호어울림아 파트 104동 1203호

(뒷면에 계속)

(74) 대리인

강신섭, 문용호, 이용우 전체 청구항 수 : 총 1 항

(54) 발명의 명칭 운영체제의 파티션 제어 장치 및 방법 (57) 요 약

고신뢰 실시간 운영체제로 구성된 임베디드 시스템에 적용 가능한 파티션 제어 장치에 관한 기술이 개시된다. 운 영체제의 파티션 제어 장치는 어플리케이션의 복수의 파티션들에 각각 포함된 정보에 기초하여 운영체제의 주기 를 산출하는 주기 산출부, 최초의 파티션이 활성화(Activation)되는 시점을 기준으로 운영체제의 주기마다 발생 되는 신호를 카운팅(Counting)하여 카운팅 값을 산출하는 카운팅부, 현재 시점과 운영체제의 주기에 기초하여 현 재 시점에 활성화 중인 파티션을 서칭(Searching)하는 파티션 서칭부 및 카운팅부의 산출된 카운팅 값과 파티션 서칭부의 서칭된 파티션에 대한 정보에 기초하여 다음에 활성화될 파티션의 시점을 산출하고, 산출된 다음에 활 성화될 파티션의 시점에 어플리케이션의 파티션을 활성화시키는 파티션 제어부를 포함한다.

대 표 도 - 도3

(2)

(72) 발명자 이화영

대전 서구 도안동로 183, 1503동 2301호 (도안동, 도안아이파크아파트)

김태호

경기도 군포시 광정로 119 대림솔거아파트 724동 502호

손동환

대전광역시 유성구 엑스포로448 엑스포아파트 203 동 701호

이 발명을 지원한 국가연구개발사업 과제고유번호 10041752 부처명 지식경제부

연구관리전문기관 한국산업기술평가관리원 연구사업명 산업원천기술개발사업(정보통신)

연구과제명 초소형 고신뢰 (99.999%)OS와 고성능 멀티코어 OS를 동시 실행하는 듀얼 운영체제 원천 기 술 개발

기 여 율 1/1

주관기관 한국전자통신연구원 연구기간 2012.06.01 ~ 2017.05.31

(3)

명 세 서

청구범위 청구항 1

어플리케이션의 복수의 파티션들에 각각 포함된 정보에 기초하여 운영체제의 주기를 산출하는 주기 산출부;

최초의 파티션이 활성화(Activation)되는 시점을 기준으로 상기 운영체제의 주기마다 발생되는 신호를 카운팅 (Counting)하여 카운팅 값을 산출하는 카운팅부;

현재 시점과 상기 운영체제의 주기에 기초하여 상기 현재 시점에 활성화 중인 파티션을 서칭(Searching)하는 파 티션 서칭부; 및

상기 카운팅부의 산출된 카운팅 값과 상기 파티션 서칭부의 서칭된 파티션에 대한 정보에 기초하여 다음에 활성 화될 파티션의 시점을 산출하고, 상기 산출된 다음에 활성화될 파티션의 시점에 상기 어플리케이션의 파티션을 활성화시키는 파티션 제어부를 포함하는 운영체제의 파티션 제어 장치.

발명의 설명

기 술 분 야

본 발명은 임베디드 시스템에 관한 것으로, 더욱 상세하게는 운영체제의 파티션 제어 장치 및 방법에 관한 것이 [0001]

다.

배 경 기 술

임베디드 시스템(Embedded System)은 하드웨어와 소프트웨어가 결합해 특정 기능을 수행하는 시스템을 [0002]

의미한다. 즉, 임베디드 시스템은 문서 편집기도 되었다가 게임기도 되는 등 다양한 기능을 지원하는 일반 PC와 는 달리 제작자가 의도한 특정한 기능만 수행하는 시스템을 의미한다.

임베디드 시스템은 초창기에 그 사용범위가 작고 단순해서 운영체제가 필요하지 않았으나, 최근에 통신 시스템, [0003]

멀티미디어 시스템, 원전 시스템(Nuclear Power Plant System) 및 항공전자 시스템(Avionics System) 등과 같 은 대규모 시스템에 사용됨에 따라 시스템 자원을 효율적으로 운용하기 위해 운영체체가 필요하게 되었다.

그래서, 최근의 임베디드 시스템에서는 다양한 운영체제가 사용되고 있다. 특히, 임베디드 시스템에서는 리눅스 [0004]

가 많이 사용된다.

일반적인 운영체제로 구성된 임베디드 시스템에서는 주기적인 타이머 인터럽트(Timer Interrupt)를 통하여 임베 [0005]

디드 시스템의 스케줄링(Scheduling)을 수행한다. 즉, 일반적인 운영체제에서는 1㎳ 내지 4㎳ 정도의 주기적인 타이머 인터럽트에 의해 임베디드 시스템의 시간에 대한 통계를 갱신하거나 구동하는 프로세서를 적절하게 변경 하는 스케줄링을 수행한다.

그러나, 상술한 주기적인 타이머 인터럽트의 처리는 운영체제 내에서 소모되는 시간이며, 어플리케이션이 실제 [0006]

작업을 처리하는 시간 즉, 어플리케이션이 실행되는 시간이 아니다. 즉, 주기적인 타이머 인터럽트의 처리는 임 베디드 시스템에서 오버헤드(Overhead)에 해당한다.

따라서, 오버헤드(Overhead)에 해당하는 주기적인 타이머 인터럽트를 줄이는 연구가 필요한 실정이다.

[0007]

종래에 주기적인 타이머 인터럽트를 줄이는 방식에는 리눅스에서 구현한 틱리스 커널(Tickles Kernel) 방식이 [0008]

있다. 틱리스 커널 방식은 일반적인 운영체제로 구성된 임베디드 시스템에서 CPU의 전력 소모를 줄이기 위한 기 술로서, CPU가 아이들 타임(Idle Time)일 경우 임베디드 시스템의 전력 소모를 줄이기 위하여 타이머 틱(Timer Tick)을 소거하는 방식이다.

그러나, 상술한 방식은 타이머 인터럽트를 주기적으로 설정한 상태에서 CPU를 슬립 모드(Sleep Mode)로 진입시 [0009]

키면, 주기적인 타이머 인터럽트에 의해 CPU가 슬립 모드에서 깨어나게 된다는 문제점이 있다.

즉, 불필요한 주기적인 타이머 인터럽트로 인해, CPU는 아이들 타임에도 불구하고 반복적인 상태 변화로 인해 [0010]

(4)

전력을 많이 소모한다는 문제점이 있다.

또한, 상술한 방식은 원전 시스템 및 항공 시스템 등 고신뢰 실시간 운영체제(Real Time Operating System;

[0011]

RTOS)에는 적용할 수 없다는 문제점이 있다.

발명의 내용

해결하려는 과제

상기와 같은 문제점을 해결하기 위한 본 발명의 목적은, 고신뢰 실시간 운영체제로 구성된 임베디드 시스템에 [0012]

적용 가능한 파티션 제어 장치를 제공하는데 있다.

상기와 같은 문제점을 해결하기 위한 본 발명의 다른 목적은, 고신뢰 실시간 운영체제로 구성된 임베디드 시스 [0013]

템에 적용 가능한 파티션 제어 방법을 제공하는데 있다.

과제의 해결 수단

상기 목적을 달성하기 위한 본 발명의 실시예에 따른 운영체제의 파티션 제어 장치는 어플리케이션의 복수의 파 [0014]

티션들에 각각 포함된 정보에 기초하여 운영체제의 주기를 산출하는 주기 산출부, 최초의 파티션이 활성화 (Activation)되는 시점을 기준으로 상기 운영체제의 주기마다 발생되는 신호를 카운팅(Counting)하여 카운팅 값 을 산출하는 카운팅부, 현재 시점과 상기 운영체제의 주기에 기초하여 상기 현재 시점에 활성화 중인 파티션을 서칭(Searching)하는 파티션 서칭부 및 상기 카운팅부의 산출된 카운팅 값과 상기 파티션 서칭부의 서칭된 파티 션에 대한 정보에 기초하여 다음에 활성화될 파티션의 시점을 산출하고, 상기 산출된 다음에 활성화될 파티션의 시점에 상기 어플리케이션의 파티션을 활성화시키는 파티션 제어부를 포함한다.

여기에서, 상기 각각의 파티션에 포함된 정보는 상기 각각의 파티션의 타임 커패시트(Time Capacity)를 포함할 [0015]

수 있다.

여기에서, 상기 파티션 제어부는 상기 현재 시점 직전의 상기 카운팅부에서 산출된 카운팅 값과 상기 운영체제 [0016]

의 주기를 연산하여 상기 최초의 파티션이 활성화되는 시점부터 상기 운영체제의 주기마다 발생되는 신호 중에 서 상기 현재 시점 직전에 발생된 신호까지의 시간을 산출하는 제1 시간 산출부, 상기 운영체제의 주기마다 발 생되는 신호 중에서 상기 현재 시점 직전에 발생된 신호부터 상기 파티션 서칭부에서 서칭된 파티션까지에 포함 된 파티션의 타임 커패시터를 가산하여 시간을 산출하는 제2 시간 산출부, 상기 제1 시간 산출부의 시간과 상기 제2 시간 산출부의 시간을 가산(加算)하여 상기 다음에 활성화될 파티션의 시점을 산출하는 제3 시간 산출부 및 상기 제3 산출부의 상기 다음에 활성화될 파티션의 시점에 상기 어플리케이션의 파티션을 활성화시키는 파티션 구동부를 포함할 수 있다.

상기 다른 목적을 달성하기 위한 본 발명의 실시예에 따른 운영체제의 파티션 제어 방법은 어플리케이션의 복수 [0017]

의 파티션들에 각각 포함된 정보에 기초하여 운영체제의 주기를 산출하는 단계, 최초의 파티션이 활성화 (Activation)되는 시점을 기준으로 상기 운영체제의 주기마다 발생되는 신호를 카운팅(Counting)하여 카운팅 값 을 산출하는 단계, 현재 시점과 상기 운영체제의 주기에 기초하여 상기 현재 시점에 활성화 중인 파티션을 서칭 (Searching)하는 단계 및 상기 산출된 카운팅 값과 상기 서칭된 파티션에 대한 정보에 기초하여 다음에 활성화 될 파티션의 시점을 산출하고, 상기 산출된 다음에 활성화될 파티션의 시점에 상기 어플리케이션의 파티션을 활 성화시키는 단계를 포함한다.

여기에서, 상기 각각의 파티션에 포함된 정보는 상기 각각의 파티션의 타임 커패시트(Time Capacity)를 포함할 [0018]

수 있다.

여기에서, 상기 다음에 활성화될 파티션의 시점에 상기 어플리케이션의 파티션을 활성화시키는 단계는 상기 현 [0019]

재 시점 직전의 상기 산출된 카운팅 값과 상기 운영체제의 주기를 연산하여 상기 최초의 파티션이 활성화되는 시점부터 상기 운영체제의 주기마다 발생되는 신호 중에서 상기 현재 시점 직전에 발생된 신호까지의 제1 시간 을 산출하는 단계, 상기 운영체제의 주기마다 발생되는 신호 중에서 상기 현재 시점 직전에 발생된 신호부터 상 기 서칭된 파티션까지에 포함된 파티션의 타임 커패시터를 가산하여 제2 시간을 산출하는 단계, 상기 제1 시간 과 상기 제2 시간을 가산(加算)하여 상기 다음에 활성화될 파티션의 시점을 산출하는 단계 및 상기 다음에 활성 화될 파티션의 시점에 상기 어플리케이션의 파티션을 활성화시키는 단계를 포함할 수 있다.

발명의 효과

(5)

주기적인 타이머 인터럽트를 사용하지 않고 산술적인 계산을 통해 커널이 정확하게 개입하여 어플리케이션의 파 [0020]

티션을 제어함으로써 시스템의 반응성은 그대로 유지한 채 주기적인 타이머 인터럽트의 처리에 대한 오버헤드만 을 줄일 수 있어 임베디드 시스템의 성능을 더욱 향상시킬 수 있다는 효과가 제공된다.

더 나아가, 오버헤드가 줄어듦에 따라 임베디드 시스템에서 아이들 타임(Idle Time)이 길어지고, 이를 통해 임 [0021]

베디드 시스템의 전력 소모를 더욱 줄일 수 있다는 효과가 제공돤다.

또한, 아이들 타임(Idle Time)이 아닌 경우에도 산술적인 계산을 통해 커널이 정확하게 개입하여 어플리케이션 [0022]

의 파티션을 제어함으로써 불필요한 인터럽트를 줄일 수 있다는 효과가 제공된다.

또한, 원전 시스템 및 항공 시스템 등 고신뢰 실시간 운영체제에 적용할 수 있다는 효과가 제공된다.

[0023]

도면의 간단한 설명

도 1은 주기적인 타이머 인터럽트에 대한 영향을 설명하기 위한 타이밍도이다.

[0024]

도 2는 본 발명의 일 실시예에 따른 임베디드 시스템을 나타내는 블록도이다.

도 3은 본 발명의 일 실시예에 따른 운영체제의 파티션 제어 장치를 나타내는 블록도이다.

도 4는 도 3의 파티션 제어 장치를 설명하기 위한 타이밍도이다.

도 5는 본 발명의 일 실시예에 따른 운영체제의 파티션 제어 과정을 나타내는 순서도이다.

발명을 실시하기 위한 구체적인 내용

본 발명은 다양한 변경을 가할 수 있고 여러 가지 실시예를 가질 수 있는 바, 특정 실시예들을 도면에 예시하고 [0025]

상세한 설명에 상세하게 설명하고자 한다. 그러나, 이는 본 발명을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어 야 한다. 각 도면을 설명하면서 유사한 참조부호를 유사한 구성요소에 대해 사용하였다.

제1, 제2, A, B 등의 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 상기 구성요소들은 상기 용어 [0026]

들에 의해 한정되어서는 안 된다. 상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다. 예를 들어, 본 발명의 권리 범위를 벗어나지 않으면서 제1 구성요소는 제2 구성요소로 명명될 수 있 고, 유사하게 제2 구성요소도 제1 구성요소로 명명될 수 있다. 및/또는 이라는 용어는 복수의 관련된 기재된 항 목들의 조합 또는 복수의 관련된 기재된 항목들 중의 어느 항목을 포함한다.

어떤 구성요소가 다른 구성요소에 "연결되어" 있다거나 "접속되어" 있다고 언급된 때에는, 그 다른 구성요소에 [0027]

직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이 해되어야 할 것이다. 반면에, 어떤 구성요소가 다른 구성요소에 "직접 연결되어" 있다거나 "직접 접속되어" 있 다고 언급된 때에는, 중간에 다른 구성요소가 존재하지 않는 것으로 이해되어야 할 것이다.

본 출원에서 사용한 용어는 단지 특정한 실시예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 [0028]

아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 출원에서, "포함 하다" 또는 "가지다" 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조 합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부 품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.

다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 발명이 [0029]

속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가지고 있다. 일 반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥 상 가지는 의미와 일치하는 의 미를 가지는 것으로 해석되어야 하며, 본 출원에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적 인 의미로 해석되지 않는다.

이하에서는, 첨부된 도면을 참조하여 본 발명의 일 실시예에 따른 운영체제의 파티션 제어 장치를 설명한다.

[0030]

도 1은 주기적인 타이머 인터럽트에 대한 영향을 설명하기 위한 타이밍도이다.

[0031]

도 1을 참조하면, 일반적인 운영체제로 구성된 임베디드 시스템 또는 실시간 운영체제로 구성된 임베디드 시스 [0032]

(6)

템에서는 주기적인 타이머 인터럽트(Timer Interrupt)를 통하여 임베디드 시스템의 스케줄링(Scheduling)을 지 원한다.

예를 들면, 타이머 인터럽트가 1㎳로 설정되는 경우, 리눅스 운영체제 또는 MicroC/OS-II와 같은 실시간 운영체 [0033]

제에서는 1㎳ 주기로 하드웨어 인터럽트가 발생되고, 발생된 타이머 인터럽트에 의해 커널 모드(Kernel Mode)로 진입하여 태스크 스케줄링(Task Scheduling)등과 같은 시간 관련 작업을 수행한다.

하지만, 타이머 인터럽트의 처리는 운영체제 내에서 소모되는 시간이며, 어플리케이션이 실제 작업을 처리하는 [0034]

시간 즉, 어플리케이션이 실행되는 시간이 아니다. 즉, 타이머 인터럽트의 처리는 임베디드 시스템에서 오버헤 드(Overhead)에 해당한다.

계속해서 도 1을 참조하면, (a)는 주기가 Ta인 타이머 인터럽트를 나타내는 타이밍도이고, (b)는 주기가 Tb인 [0035]

타이머 인터럽트를 나타내는 타이밍도이다.

여기에서, Ta_I와 Tb_I는 ISR(Interrupt Service Routine; 인터럽트 서비스 루틴)로서, 타이머 인터럽트 주기 [0036]

중에서 타이머 인터럽트의 처리 시간을 나타낸다. 또한, Ta_A와 Tb_A는 타이머 인터럽트 주기 중에서 어플리케 이션이 실행되는 시간을 나타낸다.

여기에서, 타이머 인터럽트의 주기 Ta는 Tb보다 길고(Ta > Tb), 타이머 인터럽트의 처리 시간 Ta_I은 Tb_I와 같 [0037]

으므로(Ta_I = Tb_I), 어플리케이션이 실행되는 시간 Ta_A는 Tb_A보다 길다(Ta_A > Tb_A).

즉, 타이머 인터럽트의 주기가 짧을수록 타이머 인터럽트 주기 중에서 타이머 인터럽트의 처리 시간의 비중은 [0038]

커지고, 어플리케이션이 실행되는 시간의 비중은 짧아짐을 알 수 있다.

다시 말해, 긴 주기의 타이머 인터럽트는 오버헤드가 적지만, 임베디드 시스템의 반응성이 낮아진다는 단점이 [0039]

있다. 또한, 짧은 주기의 타이머 인터럽트는 임베디드 시스템의 반응성을 높이지만, 잦은 타이머 인터럽트로 인 해 오버헤드가 커진다는 단점이 있다.

상술한 바와 같이 타이머 인터럽트의 주기는 임베디드 시스템의 특성을 변화시키는 주요한 요인이다.

[0040]

도 2는 본 발명의 일 실시예에 따른 임베디드 시스템을 나타내는 블록도이다.

[0041]

도 2를 참조하면, 본 발명의 일 실시예에 따른 임베디드 시스템은 어플리케이션(100), 운영체제(200) 및 하드웨 [0042]

어(300)를 포함한다.

여기에서, 임베디드 시스템은 항공전자 시스템(Avionics System) 또는 원전 시스템(Nuclear Power Plant [0043]

System)을 포함할 수 있다.

여기에서, 운영체제(200)는 실시간 운영체제(Real Time Operating System; RTOS)를 포함할 수 있다.

[0044]

여기에서, 운영체제(200)는 ARINC 653 기반의 운영체제를 포함할 수 있다.

[0045]

여기에서, 운영체제(200)는 동적으로 프로세스를 생성하지 않고, 주기적인 구동과 제한 시간이 주어진 프로세스 [0046]

모델을 가지는 운영체제를 포함할 수 있다.

어플리케이션(100)은 적어도 하나의 파티션(P1, P2, P3, P4)을 포함할 수 있다. 또한, 적어도 하나의 파티션 [0047]

(P1, P2, P3, P4)은 적어도 하나의 프로세스(P11, P12, P21, P22, P31, P32, P41, P42)를 포함할 수 있다. 즉, 어플리케이션(100)은 사용자가 만든 프로세스들이 각각의 파티션에 포함될 수 있다.

예를 들면, 파티션(P1, P2, P3, P4)은 비행기의 오른쪽 날개, 왼쪽 날개, 꼬리 날개, 매니지먼트 시스템 및 운 [0048]

항 시스템을 포함할 수 있다. 반면, 프로세스(P11, P12, P21, P22, P31, P32, P41, P42)는 상기 비행기의 오른 쪽 날개의 전압 센서, 기울기 센서, 가속도 센서 등을 처리하는 각각의 실행 동작을 포함할 수 있다.

여기에서, 파티션(P1, P2, P3, P4)은 물리적인 프로세스 및 메모리를 공유할 수 있다. 따라서, 임베디드 시스템 [0049]

은 각각의 파티션마다 시간과 공간을 할당해주고 관리할 수 있어야 한다.

또한, 어플리케이션(100)은 후술할 운영체제(200)에 연결될 수 있다. 또한, 어플리케이션(100)은 운영체제(20 [0050]

0)로부터 활성화 신호를 제공받을 수 있다. 또한, 어플리케이션(100)은 운영체제(200)의 활성화 신호에 따라 파 티션(P1, P2, P3, P4) 단위로 제어될 수 있다. 즉, 어플리케이션(100)은 운영체제(200)의 활성화 신호에 따라 각각의 파티션(P1, P2, P3, P4)과 각각의 파티션에 포함된 프로세스들(P11, P12, P21, P22, P31, P32, P41,

(7)

P42)이 동시에 제어될 수 있다.

운영체제(200)는 어플리케이션(100)에 연결될 수 있다. 또한, 운영체제(200)는 어플리케이션(100)으로부터 각각 [0051]

의 파티션(P1, P2, P3, P4)에 포함된 정보를 제공받을 수 있다.

여기에서, 파티션(P1, P2, P3, P4)에 포함된 정보는 각각의 파티션에 대한 정보를 포함할 수 있다. 특히, 파티 [0052]

션에 대한 정보는 파티션의 엔트리포인트(EntryPoint) 정보, 파티션의 시스파티션(SysPartition) 정보, 파티션 의 아이디(ID) 정보, 파티션의 이름(Name) 정보, 파티션의 임계(Critical) 정보 및 파티션의 타임 커패시트 (Time Capacity) 정보를 포함할 수 있다.

여기에서, 파티션(P1, P2, P3, P4)에 포함된 정보는 각각의 프로세스에 대한 정보를 포함할 수 있다. 특히, 프 [0053]

로세스에 대한 정보는 프로세스의 이름(Name) 및 프로세스의 스택 사이즈(StackSize)를 포함할 수 있다.

또한, 운영체제(200)는 어플리케이션(100)의 각각의 파티션에 포함된 정보에 기초하여 어플리케이션(100)의 각 [0054]

각의 파티션(P1, P2, P3, P4)과 각각의 파티션에 포함된 프로세스들(P11, P12, P21, P22, P31, P32, P41, P4 2)을 제어할 수 있는 활성화 신호를 생성할 수 있다. 또한, 운영체체(200)는 생성된 활성화 신호를 어플리케이 션(100)에 제공할 수 있다.

또한, 운영체제(200)는 다양한 서비스를 제공할 수 있다. 여기에서, 다양한 서비스는 파티션 관리(Partition [0055]

Management), 프로세스 관리(Process Management), 시간 관리(Time Management), 메모리 할당(Memory Allocation), 파티션간 통신(Interpartition Communication), 파티션 내부 통신(Intrapartition Communication) 및 헬스 모니터(Health Monitor)일 수 있다.

또한, 운영체제(200)는 파티션 제어 장치(200a)를 포함할 수 있다. 파티션 제어 장치(200a)는 도 3을 참조하여 [0056]

구체적으로 설명한다.

아래에서는 본 발명의 일 실시에에 따른 항공전자 시스템 (Avionics System) 에 대하여 설명한다.

[0057]

항공전자 시스템은 전자 장치들이 독립적으로 구성된 연방형 항공전자(Federated Avionics) 시스템과 전자 장치 [0058]

들이 하나로 통합된 통합 모듈형 항공전자(Integrated Modular Avionics) 시스템으로 구분될 수 있다.

특히, 통합 모듈형 항공전자 시스템을 구성하기 위해서는 실시간 운영체제와 어플리케이션 프로그램 간의 독립 [0059]

성을 보장할 수 있는 표준이 필요하다.

ARINC 653은 항공용 소프트웨어 개발을 위한 규격으로써, 통합 모듈형 항공전자 시스템에 필요한 실시간 운영체 [0060]

제 API 표준이다. 즉, ARINC 653은 실시간 운영체제와 실시간 운영체제 상에서 동작하는 어플리케이션 프로그램 간의 인터페이스를 규정한다.

ARINC 653 기반의 항공전자 시스템은 프로세스의 모임인 파티션 단위로 어플리케이션이 구성되고, 이러한 어플 [0061]

리케이션은 정적인 스케줄에 의해 제어된다. 즉, ARINC 653 기반의 운영체제는 정적인 스케줄에 따라 어플리케 이션의 파티션과 프로세스를 동시에 스케줄할 수 있다.

특히, 파티션에 대한 스케줄은 런 타임(Run Time)이 아닌 바이너리(Binary)를 컴파일 하기 이전 시점 즉, 환경 [0062]

설정 시점에 정적으로 정해지므로 이를 통해서 파티션의 스위칭 타임(Switching Time)을 결정할 수 있다.

항공전자 시스템은 동적인 프로세스의 생성과 소멸이 금지된다는 특성을 가지고 있다. 따라서, 항공전자 시스템 [0063]

의 프로세스 속성은 아래의 수학식 1과 같이 나타낼 수 있다.

[수학식 1]

[0064]

[0065]

수학식 1을 참조하면, τ는 프로세스의 주기를 나타낸다. 또한, p는 프로세스의 우선 순위를 나타낸다. t은 프 [0066]

로세스가 가지고 있는 타임 커패시트(Time Capacity) 즉, 프로세스의 데드라인 타임(Deadline Time)을 나타낸다.

따라서, 수학식 1을 통해 항공전자 시스템의 실시간 운영체제는 프로세스가 활성화(Activation)되는 시점을 계 [0067]

(8)

산할 수 있다.

[수학식 2]

[0068]

[0069]

수학식 2를 참조하면, Tcurr은 현재 시점을 나타낸다. 또한, Na은 프로세스의 다음 활성화 시점을 나타낸다.

[0070]

즉, 프로세스의 다음 활성화 시점 Na은 현재 시점 Tcurr이후에 프로세스의 주기 τ의 배수가 되는 시점으로 나 타낼 수 있다.

따라서, 수학식 2를 통해 항공전자 시스템은 모든 프로세스의 다음 활성화 시점을 결정할 수 있고, 결정된 활성 [0071]

화 시점을 이용하여 실시간 운영체제 내의 프로세스의 대기 큐(Waiting Queue)를 정렬시킬 수 있다.

그러나, 주기가 무한대 값을 가지는 비주기적 프로세스의 경우에는 수학식 2를 통해 상술한 프로세스의 다음 활 [0072]

성화 시점 Na가 존재하지 않는다.

대신에, ARINC 653기반의 항공전자 시스템에서는 정해진 시간 값 동안 대기하도록 하는 TIMED_WAIT 함수를 통하 [0073]

여 웨이크-업 타임(Wake-up Time)을 계산할 수 있다.

[수학식 3]

[0074]

[0075]

수학식 3을 참조하면, Tcurr은 현재 시점을 나타낸다. 또한, Twait는 wait 값을 나타낸다. 또한, Twake_up은 프 [0076]

로세스의 다음 웨이크-업 타임을 나타낸다. 즉, 프로세스의 다음 웨이크-업 타임 Twake_up은 현재 시점Tcurr 에 wait 값 Twait을 더한 시점이 된다.

따라서, 항공전자 시스템에서는 프로세스의 상태 변경을 위한 인터럽트의 필요한 시점을 상술한 수학식 2와 수 [0077]

학식 3을 통하여 도출할 수 있다.

도 3은 본 발명의 일 실시예에 따른 운영체제의 파티션 제어 장치를 나타내는 블록도이다.

[0078]

도 2 및 도 3을 참조하면, 본 발명의 일 실시예에 따른 운영체제(200)의 파티션 제어 장치(200a)는 통신부 [0079]

(210), 메모리(220), 주기 산출부(230), 카운팅부(240), 파티션 서칭부(250) 및 파티션 제어부(260)를 포함한다.

파티션 제어 장치(200a)는 어플리케이션(100)의 파티션을 제어할 수 있다. 일 예에서, 파티션 제어 장치(200a) [0080]

는 운영체제(200)의 스케줄러(Scheduler)일 수 있다. 다른 예에서, 파티션 제어 장치(200a)는 운영체제(200)의 스케줄러에 포함될 수 있다.

통신부(210)는 어플리케이션(100)에 연결될 수 있다. 또한, 통신부(210)는 어플케이션과 유선 또는 무선으로 통 [0081]

신을 수행할 수 있다. 또한, 통신부(210)는 어플리케이션(100)으로부터 어플리케이션(100)의 각각의 파티션에 포함된 정보를 제공받을 수 있다. 또한, 통신부(210)는 어플리케이션(100)의 각각의 파타션에 포함된 정보를 후 술할 메모리(220)에 제공할 수 있다.

메모리(220)는 통신부(210)에 연결될 수 있다. 또한, 메모리(220)는 통신부(210)로부터 어플리케이션(100)의 각 [0082]

각의 파타션에 포함된 정보를 제공받을 수 있다. 또한, 메모리(220)는 어플리케이션(100)의 각각의 파티션에 포 함된 정보를 저장 또는 갱신할 수 있다. 또한, 메모리(220)는 어플리케이션(100)의 각각의 파티션에 포함된 정 보를 후술할 주기 산출부(230)에 제공할 수 있다.

주기 산출부(230)는 메모리(220)에 연결될 수 있다. 또한, 주기 산출부(230)는 메모리(220)로부터 미리 저장된 [0083]

어플리케이션(100)의 각각의 파티션에 포함된 정보를 제공받을 수 있다. 또한, 주기 산출부(230)는 어플리케이 션(100)의 각각의 파티션에 포함된 정보에 기초하여 운영체제의 주기를 산출할 수 있다.

(9)

여기에서, 각각의 파티션에 포함된 정보는 각각의 파티션의 타임 커패시트(Time Capacity) 즉, 파티션의 데드라 [0084]

인 타임(Deadline Time)을 포함할 수 있다.

특히, 운영체제의 주기는 아래의 수학식 4와 같이 각각의 파티션의 타임 커패시트(Time Capacity)들을 가산(加 [0085]

算)하여 산출할 수 있다.

[수학식 4]

[0086]

[0087]

수학식 4를 참조하면, tp는 파티션의 타임 커패시트를 나타낸다. 따라서, 주기 산출부(230)는 미리 정해진 각각 [0088]

의 파티션의 타임 커패시트(Time Capacity)들을 t1+t2+t3+t4+… 하여 운영체제의 주기 T_frame을 산출할 수 있 다.

또한, 주기 산출부(230)는 산출된 운영체제의 주기를 후술할 카운팅부(240), 파티션 서칭부(250) 및 파티션 제 [0089]

어부(260)에 제공할 수 있다.

카운팅부(240)는 주기 산출부(230)에 연결될 수 있다. 또한, 카운팅부(240)는 주기 산출부(230)로부터 운영체제 [0090]

의 주기를 제공받을 수 있다. 또한, 카운팅부(240)는 최초의 파티션이 활성화(Activation)되는 시점을 기준으로 운영체제의 주기마다 발생되는 신호를 카운팅(Counting)하여 카운팅 값을 산출할 수 있다. 또한, 카운팅부(24 0)는 현재 시점 직전에 발생된 신호 및 현재 시점 직전에 산출된 카운팅 값을 후술할 파티션 제어부(260)에 제 공할 수 있다.

파티션 서칭부(250)는 주기 산출부(230)에 연결될 수 있다. 또한, 파티션 서칭부(250)는 주기 산출부(230)로부 [0091]

터 운영체제의 주기를 제공받을 수 있다. 또한, 파티션 서칭부(250)는 현재 시점과 운영체제의 주기에 기초하여 현재 시점에 활성화 중인 파티션을 서칭(Searching)할 수 있다.

즉, 파티션 서칭부(250)는 아래의 수학식 5를 이용하여 현재 시점에 활성화 중인 파티션의 상대적 시간 T_rtime [0092]

을 구할 수 잇다.

[수학식 5]

[0093]

[0094]

수학식 5를 참조하면, 현재 시점에 활성화 중인 파티션의 상대적 시간 T_rtime은 현재 시점 T_curr을 운영체제 [0095]

의 주기 T_frame로 제산(除算)한 후, 나온 나머지일 수 있다.

따라서, 파티션 서칭부(250)는 수학식 5를 통해 현재 시점에 활성화 중인 파티션의 상대적 시간 T_rtime을 이용 [0096]

하여 현재 어떠한 파티션이 활성화 중인지 알 수 있다.

또한, 파티션 서칭부(250)는 서칭된 결과 즉, 현재 시점에 활성화 중인 파티션에 대한 정보를 후술할 파티션 제 [0097]

어부(260)에 제공할 수 있다. 여기에서, 현재 시점에 활성화 중인 파티션에 대한 정보는 현재 시점에 활성화 중 인 파티션의 번호일 수 있다.

파티션 제어부(260)는 주기 산출부(230), 카운팅부(240) 및 파티션 서칭부(250)에 연결될 수 있다. 여기에서, [0098]

파티션 제어부(260)는 주기 산출부(230)로부터 운영체제의 주기 및 각각의 파티션의 타임 커패시트들을 제공받 을 수 있다. 여기에서, 파티션 제어부(260)는 카운팅부(240)로부터 현재 시점 직전에 발생된 신호 및 현재 시점 직전에 산출된 카운팅 값을 제공받을 수 있다. 여기에서, 파티션 제어부(260)는 파티션 서칭부(250)로부터 서칭 된 결과 즉, 현재 시점에 활성화 중인 파티션에 대한 정보를 제공받을 수 있다.

또한, 파티션 제어부(260)는 카운팅부(240)의 산출된 카운팅 값과 파티션 서칭부(250)의 서칭된 파티션에 대한 [0099]

정보에 기초하여 다음에 활성화될 파티션의 시점을 산출할 수 있다. 또한, 파티션 제어부(260)는 산출된 다음에 활성화될 파티션의 시점에 어플리케이션(100)의 파티션을 활성화시킬 수 있다.

(10)

또한, 파티션 제어부(260)는 제1 시간 산출부(262), 제2 시간 산출부(264), 제3 시간 산출부(266) 및 파티션 구 [0100]

동부(268)를 포함할 수 있다.

제1 시간 산출부(262)는 주기 산출부(230) 및 카운팅부(240)에 연결될 수 있다. 여기에서, 파티션 제어부(260) [0101]

는 주기 산출부(230)로부터 운영체제의 주기를 제공받을 수 있다. 여기에서, 파티션 제어부(260)는 카운팅부 (240)로부터 카운팅 값을 제공받을 수 있다.

특히, 제1 시간 산출부(262)는 아래의 수학식 6과 같이 현재 시점 직전의 카운팅부(240)에서 산출된 카운팅 값 [0102]

과 운영체제의 주기를 연산할 수 있다.

[수학식 6]

[0103]

[0104]

수학식 6을 참조하면, N_frame은 현재 시점 직전에 카운팅부(240)에서 산출된 카운팅 값을 나타낸다. 즉, [0105]

N_frame은 카운팅부(240)에서 최초의 파티션이 활성화된 시점을 기준으로 현재 시점 직전까지 운영체제의 주기 마다 발생된 신호를 누적한 값이다.

따라서, 제1 시간 산출부(262)는 상술한 수학식 6을 통해 최초의 파티션이 활성화되는 시점부터 운영체제의 주 [0106]

기마다 발생되는 신호 중에서 현재 시점 직전에 발생된 신호까지의 시간을 산출할 수 있다. 또한, 제1 시간 산 출부(262)는 산출된 시간을 후술할 제3 시간 산출부(266)에 제공할 수 있다.

제2 시간 산출부(264)는 주기 산출부(230), 카운팅부(240) 및 파티션 서칭부(250)에 연결될 수 있다. 여기에서, [0107]

제2 시간 산출부(264)는 주기 산출부(230)로부터 각각의 파티션의 타임 커패시트들을 제공받을 수 있다. 여기에 서, 파티션 제어부(260)는 카운팅부(240)로부터 현재 시점 직전에 발생된 신호를 제공받을 수 있다. 여기에서, 제2 시간 산출부(264)는 파티션 서칭부(250)로부터 서칭된 결과 즉, 현재 시점에 활성화 중인 파티션에 대한 정 보를 제공받을 수 있다. 여기에서, 현재 시점에 활성화 중인 파티션에 대한 정보는 현재 시점에 활성화 중인 파 티션의 번호일 수 있다.

특히, 제2 시간 산출부(264)는 아래의 수학식 7과 같이 각각의 파티션의 타임 커패시터를 가산(加算)하여 시간 [0108]

을 산출할 수 있다.

[수학식 7]

[0109]

[0110]

수학식 7를 참조하면, Npart는 현재 시점에 활성화 중인 파티션의 번호를 나타낸다. 또한, tp는 파티션의 타임 [0111]

커패시트를 나타낸다.

따라서, 제2 시간 산출부(264)는 운영체제의 주기마다 발생되는 신호 중에서 현재 시점 직전에 발생된 신호부터 [0112]

파티션 서칭부(250)에서 서칭된 현재 시점에 활성화 중인 파티션까지에 포함된 파티션의 타임 커패시터를 가산 하여 시간을 산출할 수 있다. 또한, 제2 시간 산출부(264)는 산출된 시간을 후술할 제3 시간 산출부(266)에 제 공할 수 있다.

제3 시간 산출부(266)는 제1 시간 산출부(262) 및 제2 시간 산출부(264)에 연결될 수 있다. 또한, 제3 시간 산 [0113]

출부(266)는 제1 시간 산출부(262)에서 산출된 시간과 제2 시간 산출부(264)에서 산출된 시간을 가산(加算)하여 다음에 활성화될 파티션의 시점을 산출할 수 있다.

특히, 수학식 5에서 상술한 현재 시점에 활성화 중인 파티션의 상대적 시간 T_rtime은 아래의 수학식 8를 만족 [0114]

한다.

(11)

[수학식 8]

[0115]

[0116]

수학식 8을 참조하면, Npart는 현재 시점에 활성화 중인 파티션의 번호를 나타낸다. 또한, Npart-1은 Npart 이 [0117]

전의 파티션 번호를 나타낸다. 또한, tp는 파티션의 타임 커패시트를 나타낸다. 또한, T_rtime은 현재 시점에 활성화 중인 파티션의 상대적 시간을 나타낸다.

즉, 현재 시점에 활성화 중인 파티션 Npart는 Npart 이전의 파티션 Npart-1까지의 파티션의 타임 커패시트를 가 [0118]

산한 값이 지나는 시점에 활성화됨을 알 수 있다.

따라서, 다음에 활성화될 파티션의 시점은 아래의 수학식 9와 같이 나타낼 수 있다.

[0119]

[수학식 9]

[0120]

[0121]

수학식 9를 참조하면, 다음에 활성화될 파티션의 시점 T_n은 최초의 파티션이 활성화되는 시점부터 파티션 서칭 [0122]

부(250)에서 서칭된 현재 시점에 활성화 중인 파티션까지의 시점을 의미한다.

또한, 제3 시간 산출부(266)는 다음에 활성화될 파티션의 시점을 후술할 파티션 구동부(268)에 제공할 수 있다.

[0123]

파티션 구동부(268)는 제3 시간 산출부(266)에 연결될 수 있다. 또한, 파티션 구동부(268)는 제3 시간 산출부 [0124]

(266)로부터 다음에 활성화될 파티션의 시점을 제공받을 수 있다. 또한, 파티션 구동부(268)는 제3 시간 산출부 (266)의 다음에 활성화될 파티션의 시점에 어플리케이션(100)의 파티션을 활성화시킬 수 있다.

즉, 파티션 구동부(268)는 어플리케이션(100)의 파티션를 제어할 수 있는 활성화 신호를 생성하고, 생성된 활성 [0125]

화 신호를 상술한 통신부(210)에 제공할 수 있다. 통신부(210)는 활성화 신호를 어플리케이션(100)에 제공할 수 있다.

상술한 바와 같이 본 발명의 일 실시예에 따른 파티션 제어 장치는 주기적인 타이머 인터럽트를 사용하지 않고 [0126]

산술적인 계산을 통해 어플리케이션의 파티션을 제어할 수 있다.

따라서, 주기적인 타이머 인터럽트를 사용하여 어플리케이션의 파티션을 제어하는 종래의 구조보다 본 발명의 [0127]

일 실시예에 따른 파티션 제어 장치는 주기적인 타이머 인터럽트를 사용하지 않고 산술적인 계산을 통해 커널이 정확하게 개입하여 어플리케이션의 파티션을 제어함으로써 시스템의 반응성은 그대로 유지한 채 주기적인 타이 머 인터럽트의 처리에 대한 오버헤드만을 줄일 수 있어 임베디드 시스템의 성능을 더욱 향상시킬 수 있다.

더 나아가, 오버헤드가 줄어듦에 따라 임베디드 시스템에서 아이들 타임(Idle Time)이 길어지고, 이를 통해 임 [0128]

베디드 시스템의 전력 소모를 더욱 줄일 수 있다.

또한, 아이들 타임(Idle Time)이 아닌 경우에도 산술적인 계산을 통해 커널이 정확하게 개입하여 어플리케이션 [0129]

의 파티션을 제어함으로써 불필요한 인터럽트를 줄일 수 있다.

또한, 종래에 주기적인 타이머 인터럽트를 줄이는 방식인 리눅스에서 구현한 틱리스 커널(Tickles Kernel) 방식 [0130]

은 원전 시스템 및 항공 시스템 등 고신뢰 실시간 운영체제에 적용할 수 없지만, 이에 반해 본 발명의 일 실시

(12)

예에 따른 파티션 제어 장치는 원전 시스템 및 항공 시스템 등 고신뢰 실시간 운영체제에 적용할 수 있다.

도 4는 도 3의 파티션 제어 장치를 설명하기 위한 타이밍도이다.

[0131]

도 3 및 도 4를 참조하면, 본 발명의 일 실시예에 따른 운영체제(200)의 파티션 제어 장치(200a)는 어플리케이 [0132]

션(100)에 포함된 네 개의 파티션(P1, P2, P3, P4)을 제어할 수 있다.

여기에서, 파티션 P1은 타임 커패시트 t1을 가진다. 또한, 파티션 P2는 타임 커패시트 t2를 가진다. 또한, 파티 [0133]

션 P3은 타임 커패시트 t3를 가진다. 또한, 파티션 P4는 타임 커패시트 t4을 가진다.

주기 산출부(230)는 운영체제(200)의 주기 T_frame을 미리 저장된 파티션의 타임 커패시트들을 가산(加算)하여 [0134]

산출할 수 있다.

아래에서는 운영체제의 주기 T_frame을 메이저 타임 프레임(Major Time Frame)이라 지칭한다.

[0135]

또한, 카운팅부(240)는 최초의 파티션 P1이 활성화되는 시점 T_start를 기준으로 메이저 타임 프레임 MTF마다 [0136]

발생되는 신호 F1, F2를 카운팅하여 카운팅 값을 산출할 수 있다.

또한, 파티션 서칭부(250)는 현재 시점 T_curr을 메이저 타임 프레임 MTF로 제산(除算)한 후, 나온 나머지를 이 [0137]

용하여 현재 시점 T_curr에 활성화 중인 파티션 P3의 상대적 시간 T_rtime을 산출할 수 있다.

즉, 파티션 서칭부(250)는 현재 시점 T_curr에 활성화 중인 파티션P3의 상대적 시간 T_rtime을 이용하여 현재 [0138]

어떠한 파티션이 활성화 중인지 알 수 있다.

또한, 제1 시간 산출부(262)는 현재 시점 T_curr 직전의 카운팅부(240)에서 산출된 카운팅 값(개)에 메이저 타 [0139]

임 프레임 MTF를 승산(乘算)하여 최초의 파티션이 활성화되는 시점 T_start부터 메이저 타임 프레임 MTF마다 발 생되는 신호 F1, F2 중에서 현재 시점 직전에 발생된 신호 F1까지의 시간 T_frame_position을 산출할 수 있다.

또한, 제2 시간 산출부(264)는 타임 프레임 MTF마다 발생되는 신호 F1, F2 중에서 현재 시점 T_curr 직전에 발 [0140]

생된 신호 F1부터 파티션 서칭부(250)에서 서칭된 현재 시점 T_curr에 활성화 중인 파티션 P3까지에 포함된 파 티션의 타임 커패시터 t1, t2, t3를 가산하여 시간 T_partition_position을 산출할 수 있다.

또한, 제3 시간 산출부(266)는 제1 시간 산출부(262)에서 산출된 시간 T_frame_position과 제2 시간 산출부 [0141]

(264)에서 산출된 시간T_partition_position을 가산(加算)하여 다음에 활성화될 파티션의 시점 T_n을 산출할 수 있다.

또한, 파티션 구동부(268)는 제3 시간 산출부(266)의 다음에 활성화될 파티션의 시점 T_n에 어플리케이션(100) [0142]

의 파티션P3을 활성화시킬 수 있다.

이하에서는, 첨부된 도면을 참조하여 본 발명의 일 실시예에 따른 운영체제의 파티션 제어 방법을 설명한다. 특 [0143]

히, 상술한 본 발명의 일 실시예에 따른 운영체제의 파티션 제어 장치와 중복되는 부분은 설명의 간명성을 위하 여 생략한다.

도 5는 본 발명의 일 실시예에 따른 운영체제의 파티션 제어 과정을 나타내는 순서도이다.

[0144]

도 5를 참조하면, 본 발명의 일 실시예에 따른 운영체제에 있어서 파티션 제어 과정은 운영체제의 주기를 산출 [0145]

하는 단계(S400), 운영체제의 주기마다 발생되는 신호를 카운팅하여 카운팅 값을 산출하는 단계(S500), 현재 시 점에 활성화 중인 파티션을 서칭(Searching)하는 단계(S600) 및 다음에 활성화될 파티션의 시점에 어플리케이션 의 파티션을 활성화시키는 단계(S700)를 포함한다.

먼저, 어플리케이션의 복수의 파티션들에 각각 포함된 정보에 기초하여 운영체제의 주기를 산출할 수 있다 [0146]

(S400).

여기에서, 각각의 파티션에 포함된 정보는 각각의 파티션의 타임 커패시트(Time Capacity) 즉, 파티션의 데드라 [0147]

인 타임(Deadline Time)을 포함할 수 있다.

즉, 운영체제의 주기는 미리 저장된 파티션의 타임 커패시트들을 가산(加算)하여 산출할 수 있다.

[0148]

이후, 최초의 파티션이 활성화(Activation)되는 시점을 기준으로 운영체제의 주기마다 발생되는 신호를 카운팅 [0149]

(13)

(Counting)하여 카운팅 값을 산출할 수 있다(S500).

즉, 현재 시점 직전에 발생된 신호 및 현재 시점 직전에 산출된 카운팅 값을 산출할 수 있다.

[0150]

이후, 현재 시점과 운영체제의 주기에 기초하여 현재 시점에 활성화 중인 파티션을 서칭(Searching)할 수 있다 [0151]

(S600).

즉, 현재 시점을 운영체제의 주기로 제산(除算)한 후, 나온 나머지를 이용하여 현재 시점에 활성화 중인 파티션 [0152]

의 상대적 시간을 산출할 수 있다. 그런 다음, 현재 시점에 활성화 중인 파티션의 상대적 시간을 이용하여 현재 어떠한 파티션이 활성화 중인지 알 수 있다.

이후, 산출된 카운팅 값과 서칭된 파티션에 대한 정보에 기초하여 다음에 활성화될 파티션의 시점을 산출하고, [0153]

산출된 다음에 활성화될 파티션의 시점에 어플리케이션의 파티션을 활성화시킬 수 있다(S700).

여기에서, 다음에 활성화될 파티션의 시점에 어플리케이션의 파티션을 활성화시키는 단계(S700)는 제1 시간을 [0154]

산출하는 단계(S710), 제2 시간을 산출하는 단계(S730), 다음에 활성화될 파티션의 시점을 산출하는 단계(S750) 및 다음에 활성화될 파티션의 시점에 어플리케이션의 파티션을 활성화시키는 단계(S770)를 포함할 수 있다.

현재 시점에 활성화 중인 파티션을 서칭(Searching)하는 단계(S600) 이후에, 현재 시점 직전의 산출된 카운팅 [0155]

값과 운영체제의 주기를 연산 즉, 승산(乘算)하여 최초의 파티션이 활성화되는 시점부터 운영체제의 주기마다 발생되는 신호 중에서 현재 시점 직전에 발생된 신호까지의 제1 시간을 산출할 수 있다(S710).

이후, 운영체제의 주기마다 발생되는 신호 중에서 현재 시점 직전에 발생된 신호부터 서칭된 파티션까지에 포함 [0156]

된 파티션의 타임 커패시터를 가산하여 제2 시간을 산출할 수 있다(S730).

이후, 제1 시간과 제2 시간을 가산(加算)하여 다음에 활성화될 파티션의 시점을 산출할 수 있다(750).

[0157]

이후, 다음에 활성화될 파티션의 시점에 어플리케이션의 파티션을 활성화시킬 수 있다(770).

[0158]

상기에서는 본 발명의 바람직한 실시예를 참조하여 설명하였지만, 해당 기술 분야의 숙련된 당업자는 하기의 특 [0159]

허 청구의 범위에 기재된 본 발명의 사상 및 영역으로부터 벗어나지 않는 범위 내에서 본 발명을 다양하게 수정 및 변경시킬 수 있음을 이해할 수 있을 것이다.

부호의 설명

100: 어플리케이션 200: 운영체제 [0160]

200a: 파티션 제어 장치 210: 통신부 220: 메모리 230: 주기 산출부 240: 카운팅부 250: 파티션 서칭부 260: 파티션 제어부 262: 제1 시간 산출부 264: 제2 시간 산출부 266: 제3 시간 산출부 268: 파티션 구동부

(14)

도면 도면1

도면2

(15)

도면3

도면4

(16)

도면5

참조

관련 문서

따라서, 원본 파일과 스냅샷이 파일 데이터에 대한 메타데이터를 공유하 지만, 원본 파일에 대한 변경이 스냅샷에 반영되지 않으며, 스냅샷에 대한 변경이 원본

본 발명에 따른 걸음걸이 정보를 이용하여 사람을 검출하기 위한 장치는 영상 프레임을 입력 받으면, 입력되는 영상 프레임마다 사람의 영역인 ROI(Region Of Interest)를 검출하는

이론적으로, AWGN(Addictive White Gaussian Noise) 채널환경에서 채널 입력신호(송신신호)의 크기(amplitude)와 채널 자체의 크기(amplitude)가 동시에

인지 여부를 지시하는 direct_dependency_flag[ i ][ j ], 각 계층의 최대 시간 서브 계층 정보를 지시하는 ‘ sub_layers_vps_max_minus1[i], 각 계층에서 계층간 예측을 허용하는

이 단말 위치 필터링 시스템은 와이-파이 신호로부터 계산된 위치정보 및 센서정보를 결합하여 부정확한 단말의 위치를 필터링하되, 비정상적인 위치정보를 제거하기 위한

그러나 본 발명은 이하에서 개시되는 실시예들에 한정되는 것이 아니라 서로 다른 다양한 형태로 구현될 것이며, 단지 본 실시예들은 본 발명의 개시가 완전하도록 하며, 본

단말의 다양한 실시예들은 셀룰러 전화기, 무선 통신 기능을 가지는 스마트 폰, 무선 통신 기능을 가지는 개인 휴대용 단말기(PDA), 무선 모뎀, 무선 통신 기능을 가지는 휴대용

상기 파장 별로 각각 집광된 광신호가 전달될 수 있도록 상기 복수의 광전 변환소자를 회로기판 상단 면에 존재 하는 각 파장 별 광신호의 집광위치에 맞추어 본딩하여 위치를