KR20150130631A - 운영체제의 파티션 제어 장치 및 방법 - Google Patents

운영체제의 파티션 제어 장치 및 방법 Download PDF

Info

Publication number
KR20150130631A
KR20150130631A KR1020140057300A KR20140057300A KR20150130631A KR 20150130631 A KR20150130631 A KR 20150130631A KR 1020140057300 A KR1020140057300 A KR 1020140057300A KR 20140057300 A KR20140057300 A KR 20140057300A KR 20150130631 A KR20150130631 A KR 20150130631A
Authority
KR
South Korea
Prior art keywords
partition
time
operating system
unit
application
Prior art date
Application number
KR1020140057300A
Other languages
English (en)
Other versions
KR102169869B1 (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 KR1020140057300A priority Critical patent/KR102169869B1/ko
Publication of KR20150130631A publication Critical patent/KR20150130631A/ko
Application granted granted Critical
Publication of KR102169869B1 publication Critical patent/KR102169869B1/ko

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/22Microcontrol or microprogram arrangements

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Power Sources (AREA)

Abstract

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

Description

운영체제의 파티션 제어 장치 및 방법{PARTITION CONTROL APPARATUS AND METHOD OF OPERATING SYSTEM}
본 발명은 임베디드 시스템에 관한 것으로, 더욱 상세하게는 운영체제의 파티션 제어 장치 및 방법에 관한 것이다.
임베디드 시스템(Embedded System)은 하드웨어와 소프트웨어가 결합해 특정 기능을 수행하는 시스템을 의미한다. 즉, 임베디드 시스템은 문서 편집기도 되었다가 게임기도 되는 등 다양한 기능을 지원하는 일반 PC와는 달리 제작자가 의도한 특정한 기능만 수행하는 시스템을 의미한다.
임베디드 시스템은 초창기에 그 사용범위가 작고 단순해서 운영체제가 필요하지 않았으나, 최근에 통신 시스템, 멀티미디어 시스템, 원전 시스템(Nuclear Power Plant System) 및 항공전자 시스템(Avionics System) 등과 같은 대규모 시스템에 사용됨에 따라 시스템 자원을 효율적으로 운용하기 위해 운영체체가 필요하게 되었다.
그래서, 최근의 임베디드 시스템에서는 다양한 운영체제가 사용되고 있다. 특히, 임베디드 시스템에서는 리눅스가 많이 사용된다.
일반적인 운영체제로 구성된 임베디드 시스템에서는 주기적인 타이머 인터럽트(Timer Interrupt)를 통하여 임베디드 시스템의 스케줄링(Scheduling)을 수행한다. 즉, 일반적인 운영체제에서는 1㎳ 내지 4㎳ 정도의 주기적인 타이머 인터럽트에 의해 임베디드 시스템의 시간에 대한 통계를 갱신하거나 구동하는 프로세서를 적절하게 변경하는 스케줄링을 수행한다.
그러나, 상술한 주기적인 타이머 인터럽트의 처리는 운영체제 내에서 소모되는 시간이며, 어플리케이션이 실제 작업을 처리하는 시간 즉, 어플리케이션이 실행되는 시간이 아니다. 즉, 주기적인 타이머 인터럽트의 처리는 임베디드 시스템에서 오버헤드(Overhead)에 해당한다.
따라서, 오버헤드(Overhead)에 해당하는 주기적인 타이머 인터럽트를 줄이는 연구가 필요한 실정이다.
종래에 주기적인 타이머 인터럽트를 줄이는 방식에는 리눅스에서 구현한 틱리스 커널(Tickles Kernel) 방식이 있다. 틱리스 커널 방식은 일반적인 운영체제로 구성된 임베디드 시스템에서 CPU의 전력 소모를 줄이기 위한 기술로서, CPU가 아이들 타임(Idle Time)일 경우 임베디드 시스템의 전력 소모를 줄이기 위하여 타이머 틱(Timer Tick)을 소거하는 방식이다.
그러나, 상술한 방식은 타이머 인터럽트를 주기적으로 설정한 상태에서 CPU를 슬립 모드(Sleep Mode)로 진입시키면, 주기적인 타이머 인터럽트에 의해 CPU가 슬립 모드에서 깨어나게 된다는 문제점이 있다.
즉, 불필요한 주기적인 타이머 인터럽트로 인해, CPU는 아이들 타임에도 불구하고 반복적인 상태 변화로 인해 전력을 많이 소모한다는 문제점이 있다.
또한, 상술한 방식은 원전 시스템 및 항공 시스템 등 고신뢰 실시간 운영체제(Real Time Operating System; RTOS)에는 적용할 수 없다는 문제점이 있다.
상기와 같은 문제점을 해결하기 위한 본 발명의 목적은, 고신뢰 실시간 운영체제로 구성된 임베디드 시스템에 적용 가능한 파티션 제어 장치를 제공하는데 있다.
상기와 같은 문제점을 해결하기 위한 본 발명의 다른 목적은, 고신뢰 실시간 운영체제로 구성된 임베디드 시스템에 적용 가능한 파티션 제어 방법을 제공하는데 있다.
상기 목적을 달성하기 위한 본 발명의 실시예에 따른 운영체제의 파티션 제어 장치는 어플리케이션의 복수의 파티션들에 각각 포함된 정보에 기초하여 운영체제의 주기를 산출하는 주기 산출부, 최초의 파티션이 활성화(Activation)되는 시점을 기준으로 상기 운영체제의 주기마다 발생되는 신호를 카운팅(Counting)하여 카운팅 값을 산출하는 카운팅부, 현재 시점과 상기 운영체제의 주기에 기초하여 상기 현재 시점에 활성화 중인 파티션을 서칭(Searching)하는 파티션 서칭부 및 상기 카운팅부의 산출된 카운팅 값과 상기 파티션 서칭부의 서칭된 파티션에 대한 정보에 기초하여 다음에 활성화될 파티션의 시점을 산출하고, 상기 산출된 다음에 활성화될 파티션의 시점에 상기 어플리케이션의 파티션을 활성화시키는 파티션 제어부를 포함한다.
여기에서, 상기 각각의 파티션에 포함된 정보는 상기 각각의 파티션의 타임 커패시트(Time Capacity)를 포함할 수 있다.
여기에서, 상기 파티션 제어부는 상기 현재 시점 직전의 상기 카운팅부에서 산출된 카운팅 값과 상기 운영체제의 주기를 연산하여 상기 최초의 파티션이 활성화되는 시점부터 상기 운영체제의 주기마다 발생되는 신호 중에서 상기 현재 시점 직전에 발생된 신호까지의 시간을 산출하는 제1 시간 산출부, 상기 운영체제의 주기마다 발생되는 신호 중에서 상기 현재 시점 직전에 발생된 신호부터 상기 파티션 서칭부에서 서칭된 파티션까지에 포함된 파티션의 타임 커패시터를 가산하여 시간을 산출하는 제2 시간 산출부, 상기 제1 시간 산출부의 시간과 상기 제2 시간 산출부의 시간을 가산(加算)하여 상기 다음에 활성화될 파티션의 시점을 산출하는 제3 시간 산출부 및 상기 제3 산출부의 상기 다음에 활성화될 파티션의 시점에 상기 어플리케이션의 파티션을 활성화시키는 파티션 구동부를 포함할 수 있다.
상기 다른 목적을 달성하기 위한 본 발명의 실시예에 따른 운영체제의 파티션 제어 방법은 어플리케이션의 복수의 파티션들에 각각 포함된 정보에 기초하여 운영체제의 주기를 산출하는 단계, 최초의 파티션이 활성화(Activation)되는 시점을 기준으로 상기 운영체제의 주기마다 발생되는 신호를 카운팅(Counting)하여 카운팅 값을 산출하는 단계, 현재 시점과 상기 운영체제의 주기에 기초하여 상기 현재 시점에 활성화 중인 파티션을 서칭(Searching)하는 단계 및 상기 산출된 카운팅 값과 상기 서칭된 파티션에 대한 정보에 기초하여 다음에 활성화될 파티션의 시점을 산출하고, 상기 산출된 다음에 활성화될 파티션의 시점에 상기 어플리케이션의 파티션을 활성화시키는 단계를 포함한다.
여기에서, 상기 각각의 파티션에 포함된 정보는 상기 각각의 파티션의 타임 커패시트(Time Capacity)를 포함할 수 있다.
여기에서, 상기 다음에 활성화될 파티션의 시점에 상기 어플리케이션의 파티션을 활성화시키는 단계는 상기 현재 시점 직전의 상기 산출된 카운팅 값과 상기 운영체제의 주기를 연산하여 상기 최초의 파티션이 활성화되는 시점부터 상기 운영체제의 주기마다 발생되는 신호 중에서 상기 현재 시점 직전에 발생된 신호까지의 제1 시간을 산출하는 단계, 상기 운영체제의 주기마다 발생되는 신호 중에서 상기 현재 시점 직전에 발생된 신호부터 상기 서칭된 파티션까지에 포함된 파티션의 타임 커패시터를 가산하여 제2 시간을 산출하는 단계, 상기 제1 시간과 상기 제2 시간을 가산(加算)하여 상기 다음에 활성화될 파티션의 시점을 산출하는 단계 및 상기 다음에 활성화될 파티션의 시점에 상기 어플리케이션의 파티션을 활성화시키는 단계를 포함할 수 있다.
주기적인 타이머 인터럽트를 사용하지 않고 산술적인 계산을 통해 커널이 정확하게 개입하여 어플리케이션의 파티션을 제어함으로써 시스템의 반응성은 그대로 유지한 채 주기적인 타이머 인터럽트의 처리에 대한 오버헤드만을 줄일 수 있어 임베디드 시스템의 성능을 더욱 향상시킬 수 있다는 효과가 제공된다.
더 나아가, 오버헤드가 줄어듦에 따라 임베디드 시스템에서 아이들 타임(Idle Time)이 길어지고, 이를 통해 임베디드 시스템의 전력 소모를 더욱 줄일 수 있다는 효과가 제공돤다.
또한, 아이들 타임(Idle Time)이 아닌 경우에도 산술적인 계산을 통해 커널이 정확하게 개입하여 어플리케이션의 파티션을 제어함으로써 불필요한 인터럽트를 줄일 수 있다는 효과가 제공된다.
또한, 원전 시스템 및 항공 시스템 등 고신뢰 실시간 운영체제에 적용할 수 있다는 효과가 제공된다.
도 1은 주기적인 타이머 인터럽트에 대한 영향을 설명하기 위한 타이밍도이다.
도 2는 본 발명의 일 실시예에 따른 임베디드 시스템을 나타내는 블록도이다.
도 3은 본 발명의 일 실시예에 따른 운영체제의 파티션 제어 장치를 나타내는 블록도이다.
도 4는 도 3의 파티션 제어 장치를 설명하기 위한 타이밍도이다.
도 5는 본 발명의 일 실시예에 따른 운영체제의 파티션 제어 과정을 나타내는 순서도이다.
본 발명은 다양한 변경을 가할 수 있고 여러 가지 실시예를 가질 수 있는 바, 특정 실시예들을 도면에 예시하고 상세한 설명에 상세하게 설명하고자 한다. 그러나, 이는 본 발명을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다. 각 도면을 설명하면서 유사한 참조부호를 유사한 구성요소에 대해 사용하였다.
제1, 제2, A, B 등의 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 상기 구성요소들은 상기 용어들에 의해 한정되어서는 안 된다. 상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다. 예를 들어, 본 발명의 권리 범위를 벗어나지 않으면서 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소도 제1 구성요소로 명명될 수 있다. 및/또는 이라는 용어는 복수의 관련된 기재된 항목들의 조합 또는 복수의 관련된 기재된 항목들 중의 어느 항목을 포함한다.
어떤 구성요소가 다른 구성요소에 "연결되어" 있다거나 "접속되어" 있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소가 다른 구성요소에 "직접 연결되어" 있다거나 "직접 접속되어" 있다고 언급된 때에는, 중간에 다른 구성요소가 존재하지 않는 것으로 이해되어야 할 것이다.
본 출원에서 사용한 용어는 단지 특정한 실시예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 출원에서, "포함하다" 또는 "가지다" 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가지고 있다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥 상 가지는 의미와 일치하는 의미를 가지는 것으로 해석되어야 하며, 본 출원에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.
이하에서는, 첨부된 도면을 참조하여 본 발명의 일 실시예에 따른 운영체제의 파티션 제어 장치를 설명한다.
도 1은 주기적인 타이머 인터럽트에 대한 영향을 설명하기 위한 타이밍도이다.
도 1을 참조하면, 일반적인 운영체제로 구성된 임베디드 시스템 또는 실시간 운영체제로 구성된 임베디드 시스템에서는 주기적인 타이머 인터럽트(Timer Interrupt)를 통하여 임베디드 시스템의 스케줄링(Scheduling)을 지원한다.
예를 들면, 타이머 인터럽트가 1㎳로 설정되는 경우, 리눅스 운영체제 또는 MicroC/OS-II와 같은 실시간 운영체제에서는 1㎳ 주기로 하드웨어 인터럽트가 발생되고, 발생된 타이머 인터럽트에 의해 커널 모드(Kernel Mode)로 진입하여 태스크 스케줄링(Task Scheduling)등과 같은 시간 관련 작업을 수행한다.
하지만, 타이머 인터럽트의 처리는 운영체제 내에서 소모되는 시간이며, 어플리케이션이 실제 작업을 처리하는 시간 즉, 어플리케이션이 실행되는 시간이 아니다. 즉, 타이머 인터럽트의 처리는 임베디드 시스템에서 오버헤드(Overhead)에 해당한다.
계속해서 도 1을 참조하면, (a)는 주기가 Ta인 타이머 인터럽트를 나타내는 타이밍도이고, (b)는 주기가 Tb인 타이머 인터럽트를 나타내는 타이밍도이다.
여기에서, Ta_I와 Tb_I는 ISR(Interrupt Service Routine; 인터럽트 서비스 루틴)로서, 타이머 인터럽트 주기 중에서 타이머 인터럽트의 처리 시간을 나타낸다. 또한, Ta_A와 Tb_A는 타이머 인터럽트 주기 중에서 어플리케이션이 실행되는 시간을 나타낸다.
여기에서, 타이머 인터럽트의 주기 Ta는 Tb보다 길고(Ta > Tb), 타이머 인터럽트의 처리 시간 Ta_I은 Tb_I와 같으므로(Ta_I = Tb_I), 어플리케이션이 실행되는 시간 Ta_A는 Tb_A보다 길다(Ta_A > Tb_A).
즉, 타이머 인터럽트의 주기가 짧을수록 타이머 인터럽트 주기 중에서 타이머 인터럽트의 처리 시간의 비중은 커지고, 어플리케이션이 실행되는 시간의 비중은 짧아짐을 알 수 있다.
다시 말해, 긴 주기의 타이머 인터럽트는 오버헤드가 적지만, 임베디드 시스템의 반응성이 낮아진다는 단점이 있다. 또한, 짧은 주기의 타이머 인터럽트는 임베디드 시스템의 반응성을 높이지만, 잦은 타이머 인터럽트로 인해 오버헤드가 커진다는 단점이 있다.
상술한 바와 같이 타이머 인터럽트의 주기는 임베디드 시스템의 특성을 변화시키는 주요한 요인이다.
도 2는 본 발명의 일 실시예에 따른 임베디드 시스템을 나타내는 블록도이다.
도 2를 참조하면, 본 발명의 일 실시예에 따른 임베디드 시스템은 어플리케이션(100), 운영체제(200) 및 하드웨어(300)를 포함한다.
여기에서, 임베디드 시스템은 항공전자 시스템(Avionics System) 또는 원전 시스템(Nuclear Power Plant System)을 포함할 수 있다.
여기에서, 운영체제(200)는 실시간 운영체제(Real Time Operating System; RTOS)를 포함할 수 있다.
여기에서, 운영체제(200)는 ARINC 653 기반의 운영체제를 포함할 수 있다.
여기에서, 운영체제(200)는 동적으로 프로세스를 생성하지 않고, 주기적인 구동과 제한 시간이 주어진 프로세스 모델을 가지는 운영체제를 포함할 수 있다.
어플리케이션(100)은 적어도 하나의 파티션(P1, P2, P3, P4)을 포함할 수 있다. 또한, 적어도 하나의 파티션(P1, P2, P3, P4)은 적어도 하나의 프로세스(P11, P12, P21, P22, P31, P32, P41, P42)를 포함할 수 있다. 즉, 어플리케이션(100)은 사용자가 만든 프로세스들이 각각의 파티션에 포함될 수 있다.
예를 들면, 파티션(P1, P2, P3, P4)은 비행기의 오른쪽 날개, 왼쪽 날개, 꼬리 날개, 매니지먼트 시스템 및 운항 시스템을 포함할 수 있다. 반면, 프로세스(P11, P12, P21, P22, P31, P32, P41, P42)는 상기 비행기의 오른쪽 날개의 전압 센서, 기울기 센서, 가속도 센서 등을 처리하는 각각의 실행 동작을 포함할 수 있다.
여기에서, 파티션(P1, P2, P3, P4)은 물리적인 프로세스 및 메모리를 공유할 수 있다. 따라서, 임베디드 시스템은 각각의 파티션마다 시간과 공간을 할당해주고 관리할 수 있어야 한다.
또한, 어플리케이션(100)은 후술할 운영체제(200)에 연결될 수 있다. 또한, 어플리케이션(100)은 운영체제(200)로부터 활성화 신호를 제공받을 수 있다. 또한, 어플리케이션(100)은 운영체제(200)의 활성화 신호에 따라 파티션(P1, P2, P3, P4) 단위로 제어될 수 있다. 즉, 어플리케이션(100)은 운영체제(200)의 활성화 신호에 따라 각각의 파티션(P1, P2, P3, P4)과 각각의 파티션에 포함된 프로세스들(P11, P12, P21, P22, P31, P32, P41, P42)이 동시에 제어될 수 있다.
운영체제(200)는 어플리케이션(100)에 연결될 수 있다. 또한, 운영체제(200)는 어플리케이션(100)으로부터 각각의 파티션(P1, P2, P3, P4)에 포함된 정보를 제공받을 수 있다.
여기에서, 파티션(P1, P2, P3, P4)에 포함된 정보는 각각의 파티션에 대한 정보를 포함할 수 있다. 특히, 파티션에 대한 정보는 파티션의 엔트리포인트(EntryPoint) 정보, 파티션의 시스파티션(SysPartition) 정보, 파티션의 아이디(ID) 정보, 파티션의 이름(Name) 정보, 파티션의 임계(Critical) 정보 및 파티션의 타임 커패시트(Time Capacity) 정보를 포함할 수 있다.
여기에서, 파티션(P1, P2, P3, P4)에 포함된 정보는 각각의 프로세스에 대한 정보를 포함할 수 있다. 특히, 프로세스에 대한 정보는 프로세스의 이름(Name) 및 프로세스의 스택 사이즈(StackSize)를 포함할 수 있다.
또한, 운영체제(200)는 어플리케이션(100)의 각각의 파티션에 포함된 정보에 기초하여 어플리케이션(100)의 각각의 파티션(P1, P2, P3, P4)과 각각의 파티션에 포함된 프로세스들(P11, P12, P21, P22, P31, P32, P41, P42)을 제어할 수 있는 활성화 신호를 생성할 수 있다. 또한, 운영체체(200)는 생성된 활성화 신호를 어플리케이션(100)에 제공할 수 있다.
또한, 운영체제(200)는 다양한 서비스를 제공할 수 있다. 여기에서, 다양한 서비스는 파티션 관리(Partition Management), 프로세스 관리(Process Management), 시간 관리(Time Management), 메모리 할당(Memory Allocation), 파티션간 통신(Interpartition Communication), 파티션 내부 통신(Intrapartition Communication) 및 헬스 모니터(Health Monitor)일 수 있다.
또한, 운영체제(200)는 파티션 제어 장치(200a)를 포함할 수 있다. 파티션 제어 장치(200a)는 도 3을 참조하여 구체적으로 설명한다.
아래에서는 본 발명의 일 실시에에 따른 항공전자 시스템 (Avionics System) 에 대하여 설명한다.
항공전자 시스템은 전자 장치들이 독립적으로 구성된 연방형 항공전자(Federated Avionics) 시스템과 전자 장치들이 하나로 통합된 통합 모듈형 항공전자(Integrated Modular Avionics) 시스템으로 구분될 수 있다.
특히, 통합 모듈형 항공전자 시스템을 구성하기 위해서는 실시간 운영체제와 어플리케이션 프로그램 간의 독립성을 보장할 수 있는 표준이 필요하다.
ARINC 653은 항공용 소프트웨어 개발을 위한 규격으로써, 통합 모듈형 항공전자 시스템에 필요한 실시간 운영체제 API 표준이다. 즉, ARINC 653은 실시간 운영체제와 실시간 운영체제 상에서 동작하는 어플리케이션 프로그램 간의 인터페이스를 규정한다.
ARINC 653 기반의 항공전자 시스템은 프로세스의 모임인 파티션 단위로 어플리케이션이 구성되고, 이러한 어플리케이션은 정적인 스케줄에 의해 제어된다. 즉, ARINC 653 기반의 운영체제는 정적인 스케줄에 따라 어플리케이션의 파티션과 프로세스를 동시에 스케줄할 수 있다.
특히, 파티션에 대한 스케줄은 런 타임(Run Time)이 아닌 바이너리(Binary)를 컴파일 하기 이전 시점 즉, 환경 설정 시점에 정적으로 정해지므로 이를 통해서 파티션의 스위칭 타임(Switching Time)을 결정할 수 있다.
항공전자 시스템은 동적인 프로세스의 생성과 소멸이 금지된다는 특성을 가지고 있다. 따라서, 항공전자 시스템의 프로세스 속성은 아래의 수학식 1과 같이 나타낼 수 있다.
[수학식 1]
Figure pat00001

수학식 1을 참조하면, τ는 프로세스의 주기를 나타낸다. 또한, p는 프로세스의 우선 순위를 나타낸다. t은 프로세스가 가지고 있는 타임 커패시트(Time Capacity) 즉, 프로세스의 데드라인 타임(Deadline Time)을 나타낸다.
따라서, 수학식 1을 통해 항공전자 시스템의 실시간 운영체제는 프로세스가 활성화(Activation)되는 시점을 계산할 수 있다.
[수학식 2]
Figure pat00002

수학식 2를 참조하면, Tcurr은 현재 시점을 나타낸다. 또한, Na은 프로세스의 다음 활성화 시점을 나타낸다. 즉, 프로세스의 다음 활성화 시점 Na은 현재 시점 Tcurr이후에 프로세스의 주기 τ의 배수가 되는 시점으로 나타낼 수 있다.
따라서, 수학식 2를 통해 항공전자 시스템은 모든 프로세스의 다음 활성화 시점을 결정할 수 있고, 결정된 활성화 시점을 이용하여 실시간 운영체제 내의 프로세스의 대기 큐(Waiting Queue)를 정렬시킬 수 있다.
그러나, 주기가 무한대 값을 가지는 비주기적 프로세스의 경우에는 수학식 2를 통해 상술한 프로세스의 다음 활성화 시점 Na가 존재하지 않는다.
대신에, ARINC 653기반의 항공전자 시스템에서는 정해진 시간 값 동안 대기하도록 하는 TIMED_WAIT 함수를 통하여 웨이크-업 타임(Wake-up Time)을 계산할 수 있다.
[수학식 3]
Figure pat00003

수학식 3을 참조하면, Tcurr은 현재 시점을 나타낸다. 또한, Twait는 wait 값을 나타낸다. 또한, Twake_up은 프로세스의 다음 웨이크-업 타임을 나타낸다. 즉, 프로세스의 다음 웨이크-업 타임 Twake_up은 현재 시점Tcurr 에 wait 값 Twait을 더한 시점이 된다.
따라서, 항공전자 시스템에서는 프로세스의 상태 변경을 위한 인터럽트의 필요한 시점을 상술한 수학식 2와 수학식 3을 통하여 도출할 수 있다.
도 3은 본 발명의 일 실시예에 따른 운영체제의 파티션 제어 장치를 나타내는 블록도이다.
도 2 및 도 3을 참조하면, 본 발명의 일 실시예에 따른 운영체제(200)의 파티션 제어 장치(200a)는 통신부(210), 메모리(220), 주기 산출부(230), 카운팅부(240), 파티션 서칭부(250) 및 파티션 제어부(260)를 포함한다.
파티션 제어 장치(200a)는 어플리케이션(100)의 파티션을 제어할 수 있다. 일 예에서, 파티션 제어 장치(200a)는 운영체제(200)의 스케줄러(Scheduler)일 수 있다. 다른 예에서, 파티션 제어 장치(200a)는 운영체제(200)의 스케줄러에 포함될 수 있다.
통신부(210)는 어플리케이션(100)에 연결될 수 있다. 또한, 통신부(210)는 어플케이션과 유선 또는 무선으로 통신을 수행할 수 있다. 또한, 통신부(210)는 어플리케이션(100)으로부터 어플리케이션(100)의 각각의 파티션에 포함된 정보를 제공받을 수 있다. 또한, 통신부(210)는 어플리케이션(100)의 각각의 파타션에 포함된 정보를 후술할 메모리(220)에 제공할 수 있다.
메모리(220)는 통신부(210)에 연결될 수 있다. 또한, 메모리(220)는 통신부(210)로부터 어플리케이션(100)의 각각의 파타션에 포함된 정보를 제공받을 수 있다. 또한, 메모리(220)는 어플리케이션(100)의 각각의 파티션에 포함된 정보를 저장 또는 갱신할 수 있다. 또한, 메모리(220)는 어플리케이션(100)의 각각의 파티션에 포함된 정보를 후술할 주기 산출부(230)에 제공할 수 있다.
주기 산출부(230)는 메모리(220)에 연결될 수 있다. 또한, 주기 산출부(230)는 메모리(220)로부터 미리 저장된 어플리케이션(100)의 각각의 파티션에 포함된 정보를 제공받을 수 있다. 또한, 주기 산출부(230)는 어플리케이션(100)의 각각의 파티션에 포함된 정보에 기초하여 운영체제의 주기를 산출할 수 있다.
여기에서, 각각의 파티션에 포함된 정보는 각각의 파티션의 타임 커패시트(Time Capacity) 즉, 파티션의 데드라인 타임(Deadline Time)을 포함할 수 있다.
특히, 운영체제의 주기는 아래의 수학식 4와 같이 각각의 파티션의 타임 커패시트(Time Capacity)들을 가산(加算)하여 산출할 수 있다.
[수학식 4]
Figure pat00004

수학식 4를 참조하면, tp는 파티션의 타임 커패시트를 나타낸다. 따라서, 주기 산출부(230)는 미리 정해진 각각의 파티션의 타임 커패시트(Time Capacity)들을 t1+t2+t3+t4+… 하여 운영체제의 주기 T_frame을 산출할 수 있다.
또한, 주기 산출부(230)는 산출된 운영체제의 주기를 후술할 카운팅부(240), 파티션 서칭부(250) 및 파티션 제어부(260)에 제공할 수 있다.
카운팅부(240)는 주기 산출부(230)에 연결될 수 있다. 또한, 카운팅부(240)는 주기 산출부(230)로부터 운영체제의 주기를 제공받을 수 있다. 또한, 카운팅부(240)는 최초의 파티션이 활성화(Activation)되는 시점을 기준으로 운영체제의 주기마다 발생되는 신호를 카운팅(Counting)하여 카운팅 값을 산출할 수 있다. 또한, 카운팅부(240)는 현재 시점 직전에 발생된 신호 및 현재 시점 직전에 산출된 카운팅 값을 후술할 파티션 제어부(260)에 제공할 수 있다.
파티션 서칭부(250)는 주기 산출부(230)에 연결될 수 있다. 또한, 파티션 서칭부(250)는 주기 산출부(230)로부터 운영체제의 주기를 제공받을 수 있다. 또한, 파티션 서칭부(250)는 현재 시점과 운영체제의 주기에 기초하여 현재 시점에 활성화 중인 파티션을 서칭(Searching)할 수 있다.
즉, 파티션 서칭부(250)는 아래의 수학식 5를 이용하여 현재 시점에 활성화 중인 파티션의 상대적 시간 T_rtime을 구할 수 잇다.
[수학식 5]
Figure pat00005

수학식 5를 참조하면, 현재 시점에 활성화 중인 파티션의 상대적 시간 T_rtime은 현재 시점 T_curr을 운영체제의 주기 T_frame로 제산(除算)한 후, 나온 나머지일 수 있다.
따라서, 파티션 서칭부(250)는 수학식 5를 통해 현재 시점에 활성화 중인 파티션의 상대적 시간 T_rtime을 이용하여 현재 어떠한 파티션이 활성화 중인지 알 수 있다.
또한, 파티션 서칭부(250)는 서칭된 결과 즉, 현재 시점에 활성화 중인 파티션에 대한 정보를 후술할 파티션 제어부(260)에 제공할 수 있다. 여기에서, 현재 시점에 활성화 중인 파티션에 대한 정보는 현재 시점에 활성화 중인 파티션의 번호일 수 있다.
파티션 제어부(260)는 주기 산출부(230), 카운팅부(240) 및 파티션 서칭부(250)에 연결될 수 있다. 여기에서, 파티션 제어부(260)는 주기 산출부(230)로부터 운영체제의 주기 및 각각의 파티션의 타임 커패시트들을 제공받을 수 있다. 여기에서, 파티션 제어부(260)는 카운팅부(240)로부터 현재 시점 직전에 발생된 신호 및 현재 시점 직전에 산출된 카운팅 값을 제공받을 수 있다. 여기에서, 파티션 제어부(260)는 파티션 서칭부(250)로부터 서칭된 결과 즉, 현재 시점에 활성화 중인 파티션에 대한 정보를 제공받을 수 있다.
또한, 파티션 제어부(260)는 카운팅부(240)의 산출된 카운팅 값과 파티션 서칭부(250)의 서칭된 파티션에 대한 정보에 기초하여 다음에 활성화될 파티션의 시점을 산출할 수 있다. 또한, 파티션 제어부(260)는 산출된 다음에 활성화될 파티션의 시점에 어플리케이션(100)의 파티션을 활성화시킬 수 있다.
또한, 파티션 제어부(260)는 제1 시간 산출부(262), 제2 시간 산출부(264), 제3 시간 산출부(266) 및 파티션 구동부(268)를 포함할 수 있다.
제1 시간 산출부(262)는 주기 산출부(230) 및 카운팅부(240)에 연결될 수 있다. 여기에서, 파티션 제어부(260)는 주기 산출부(230)로부터 운영체제의 주기를 제공받을 수 있다. 여기에서, 파티션 제어부(260)는 카운팅부(240)로부터 카운팅 값을 제공받을 수 있다.
특히, 제1 시간 산출부(262)는 아래의 수학식 6과 같이 현재 시점 직전의 카운팅부(240)에서 산출된 카운팅 값과 운영체제의 주기를 연산할 수 있다.
[수학식 6]
Figure pat00006

수학식 6을 참조하면, N_frame은 현재 시점 직전에 카운팅부(240)에서 산출된 카운팅 값을 나타낸다. 즉, N_frame은 카운팅부(240)에서 최초의 파티션이 활성화된 시점을 기준으로 현재 시점 직전까지 운영체제의 주기마다 발생된 신호를 누적한 값이다.
따라서, 제1 시간 산출부(262)는 상술한 수학식 6을 통해 최초의 파티션이 활성화되는 시점부터 운영체제의 주기마다 발생되는 신호 중에서 현재 시점 직전에 발생된 신호까지의 시간을 산출할 수 있다. 또한, 제1 시간 산출부(262)는 산출된 시간을 후술할 제3 시간 산출부(266)에 제공할 수 있다.
제2 시간 산출부(264)는 주기 산출부(230), 카운팅부(240) 및 파티션 서칭부(250)에 연결될 수 있다. 여기에서, 제2 시간 산출부(264)는 주기 산출부(230)로부터 각각의 파티션의 타임 커패시트들을 제공받을 수 있다. 여기에서, 파티션 제어부(260)는 카운팅부(240)로부터 현재 시점 직전에 발생된 신호를 제공받을 수 있다. 여기에서, 제2 시간 산출부(264)는 파티션 서칭부(250)로부터 서칭된 결과 즉, 현재 시점에 활성화 중인 파티션에 대한 정보를 제공받을 수 있다. 여기에서, 현재 시점에 활성화 중인 파티션에 대한 정보는 현재 시점에 활성화 중인 파티션의 번호일 수 있다.
특히, 제2 시간 산출부(264)는 아래의 수학식 7과 같이 각각의 파티션의 타임 커패시터를 가산(加算)하여 시간을 산출할 수 있다.
[수학식 7]
Figure pat00007

수학식 7를 참조하면, Npart는 현재 시점에 활성화 중인 파티션의 번호를 나타낸다. 또한, tp는 파티션의 타임 커패시트를 나타낸다.
따라서, 제2 시간 산출부(264)는 운영체제의 주기마다 발생되는 신호 중에서 현재 시점 직전에 발생된 신호부터 파티션 서칭부(250)에서 서칭된 현재 시점에 활성화 중인 파티션까지에 포함된 파티션의 타임 커패시터를 가산하여 시간을 산출할 수 있다. 또한, 제2 시간 산출부(264)는 산출된 시간을 후술할 제3 시간 산출부(266)에 제공할 수 있다.
제3 시간 산출부(266)는 제1 시간 산출부(262) 및 제2 시간 산출부(264)에 연결될 수 있다. 또한, 제3 시간 산출부(266)는 제1 시간 산출부(262)에서 산출된 시간과 제2 시간 산출부(264)에서 산출된 시간을 가산(加算)하여 다음에 활성화될 파티션의 시점을 산출할 수 있다.
특히, 수학식 5에서 상술한 현재 시점에 활성화 중인 파티션의 상대적 시간 T_rtime은 아래의 수학식 8를 만족한다.
[수학식 8]
Figure pat00008

수학식 8을 참조하면, Npart는 현재 시점에 활성화 중인 파티션의 번호를 나타낸다. 또한, Npart-1은 Npart 이전의 파티션 번호를 나타낸다. 또한, tp는 파티션의 타임 커패시트를 나타낸다. 또한, T_rtime은 현재 시점에 활성화 중인 파티션의 상대적 시간을 나타낸다.
즉, 현재 시점에 활성화 중인 파티션 Npart는 Npart 이전의 파티션 Npart-1까지의 파티션의 타임 커패시트를 가산한 값이 지나는 시점에 활성화됨을 알 수 있다.
따라서, 다음에 활성화될 파티션의 시점은 아래의 수학식 9와 같이 나타낼 수 있다.
[수학식 9]
Figure pat00009

수학식 9를 참조하면, 다음에 활성화될 파티션의 시점 T_n은 최초의 파티션이 활성화되는 시점부터 파티션 서칭부(250)에서 서칭된 현재 시점에 활성화 중인 파티션까지의 시점을 의미한다.
또한, 제3 시간 산출부(266)는 다음에 활성화될 파티션의 시점을 후술할 파티션 구동부(268)에 제공할 수 있다.
파티션 구동부(268)는 제3 시간 산출부(266)에 연결될 수 있다. 또한, 파티션 구동부(268)는 제3 시간 산출부(266)로부터 다음에 활성화될 파티션의 시점을 제공받을 수 있다. 또한, 파티션 구동부(268)는 제3 시간 산출부(266)의 다음에 활성화될 파티션의 시점에 어플리케이션(100)의 파티션을 활성화시킬 수 있다.
즉, 파티션 구동부(268)는 어플리케이션(100)의 파티션를 제어할 수 있는 활성화 신호를 생성하고, 생성된 활성화 신호를 상술한 통신부(210)에 제공할 수 있다. 통신부(210)는 활성화 신호를 어플리케이션(100)에 제공할 수 있다.
상술한 바와 같이 본 발명의 일 실시예에 따른 파티션 제어 장치는 주기적인 타이머 인터럽트를 사용하지 않고 산술적인 계산을 통해 어플리케이션의 파티션을 제어할 수 있다.
따라서, 주기적인 타이머 인터럽트를 사용하여 어플리케이션의 파티션을 제어하는 종래의 구조보다 본 발명의 일 실시예에 따른 파티션 제어 장치는 주기적인 타이머 인터럽트를 사용하지 않고 산술적인 계산을 통해 커널이 정확하게 개입하여 어플리케이션의 파티션을 제어함으로써 시스템의 반응성은 그대로 유지한 채 주기적인 타이머 인터럽트의 처리에 대한 오버헤드만을 줄일 수 있어 임베디드 시스템의 성능을 더욱 향상시킬 수 있다.
더 나아가, 오버헤드가 줄어듦에 따라 임베디드 시스템에서 아이들 타임(Idle Time)이 길어지고, 이를 통해 임베디드 시스템의 전력 소모를 더욱 줄일 수 있다.
또한, 아이들 타임(Idle Time)이 아닌 경우에도 산술적인 계산을 통해 커널이 정확하게 개입하여 어플리케이션의 파티션을 제어함으로써 불필요한 인터럽트를 줄일 수 있다.
또한, 종래에 주기적인 타이머 인터럽트를 줄이는 방식인 리눅스에서 구현한 틱리스 커널(Tickles Kernel) 방식은 원전 시스템 및 항공 시스템 등 고신뢰 실시간 운영체제에 적용할 수 없지만, 이에 반해 본 발명의 일 실시예에 따른 파티션 제어 장치는 원전 시스템 및 항공 시스템 등 고신뢰 실시간 운영체제에 적용할 수 있다.
도 4는 도 3의 파티션 제어 장치를 설명하기 위한 타이밍도이다.
도 3 및 도 4를 참조하면, 본 발명의 일 실시예에 따른 운영체제(200)의 파티션 제어 장치(200a)는 어플리케이션(100)에 포함된 네 개의 파티션(P1, P2, P3, P4)을 제어할 수 있다.
여기에서, 파티션 P1은 타임 커패시트 t1을 가진다. 또한, 파티션 P2는 타임 커패시트 t2를 가진다. 또한, 파티션 P3은 타임 커패시트 t3를 가진다. 또한, 파티션 P4는 타임 커패시트 t4을 가진다.
주기 산출부(230)는 운영체제(200)의 주기 T_frame을 미리 저장된 파티션의 타임 커패시트들을 가산(加算)하여 산출할 수 있다.
아래에서는 운영체제의 주기 T_frame을 메이저 타임 프레임(Major Time Frame)이라 지칭한다.
또한, 카운팅부(240)는 최초의 파티션 P1이 활성화되는 시점 T_start를 기준으로 메이저 타임 프레임 MTF마다 발생되는 신호 F1, F2를 카운팅하여 카운팅 값을 산출할 수 있다.
또한, 파티션 서칭부(250)는 현재 시점 T_curr을 메이저 타임 프레임 MTF로 제산(除算)한 후, 나온 나머지를 이용하여 현재 시점 T_curr에 활성화 중인 파티션 P3의 상대적 시간 T_rtime을 산출할 수 있다.
즉, 파티션 서칭부(250)는 현재 시점 T_curr에 활성화 중인 파티션P3의 상대적 시간 T_rtime을 이용하여 현재 어떠한 파티션이 활성화 중인지 알 수 있다.
또한, 제1 시간 산출부(262)는 현재 시점 T_curr 직전의 카운팅부(240)에서 산출된 카운팅 값(개)에 메이저 타임 프레임 MTF를 승산(乘算)하여 최초의 파티션이 활성화되는 시점 T_start부터 메이저 타임 프레임 MTF마다 발생되는 신호 F1, F2 중에서 현재 시점 직전에 발생된 신호 F1까지의 시간 T_frame_position을 산출할 수 있다.
또한, 제2 시간 산출부(264)는 타임 프레임 MTF마다 발생되는 신호 F1, F2 중에서 현재 시점 T_curr 직전에 발생된 신호 F1부터 파티션 서칭부(250)에서 서칭된 현재 시점 T_curr에 활성화 중인 파티션 P3까지에 포함된 파티션의 타임 커패시터 t1, t2, t3를 가산하여 시간 T_partition_position을 산출할 수 있다.
또한, 제3 시간 산출부(266)는 제1 시간 산출부(262)에서 산출된 시간 T_frame_position과 제2 시간 산출부(264)에서 산출된 시간T_partition_position을 가산(加算)하여 다음에 활성화될 파티션의 시점 T_n을 산출할 수 있다.
또한, 파티션 구동부(268)는 제3 시간 산출부(266)의 다음에 활성화될 파티션의 시점 T_n에 어플리케이션(100)의 파티션P3을 활성화시킬 수 있다.
이하에서는, 첨부된 도면을 참조하여 본 발명의 일 실시예에 따른 운영체제의 파티션 제어 방법을 설명한다. 특히, 상술한 본 발명의 일 실시예에 따른 운영체제의 파티션 제어 장치와 중복되는 부분은 설명의 간명성을 위하여 생략한다.
도 5는 본 발명의 일 실시예에 따른 운영체제의 파티션 제어 과정을 나타내는 순서도이다.
도 5를 참조하면, 본 발명의 일 실시예에 따른 운영체제에 있어서 파티션 제어 과정은 운영체제의 주기를 산출하는 단계(S400), 운영체제의 주기마다 발생되는 신호를 카운팅하여 카운팅 값을 산출하는 단계(S500), 현재 시점에 활성화 중인 파티션을 서칭(Searching)하는 단계(S600) 및 다음에 활성화될 파티션의 시점에 어플리케이션의 파티션을 활성화시키는 단계(S700)를 포함한다.
먼저, 어플리케이션의 복수의 파티션들에 각각 포함된 정보에 기초하여 운영체제의 주기를 산출할 수 있다(S400).
여기에서, 각각의 파티션에 포함된 정보는 각각의 파티션의 타임 커패시트(Time Capacity) 즉, 파티션의 데드라인 타임(Deadline Time)을 포함할 수 있다.
즉, 운영체제의 주기는 미리 저장된 파티션의 타임 커패시트들을 가산(加算)하여 산출할 수 있다.
이후, 최초의 파티션이 활성화(Activation)되는 시점을 기준으로 운영체제의 주기마다 발생되는 신호를 카운팅(Counting)하여 카운팅 값을 산출할 수 있다(S500).
즉, 현재 시점 직전에 발생된 신호 및 현재 시점 직전에 산출된 카운팅 값을 산출할 수 있다.
이후, 현재 시점과 운영체제의 주기에 기초하여 현재 시점에 활성화 중인 파티션을 서칭(Searching)할 수 있다(S600).
즉, 현재 시점을 운영체제의 주기로 제산(除算)한 후, 나온 나머지를 이용하여 현재 시점에 활성화 중인 파티션의 상대적 시간을 산출할 수 있다. 그런 다음, 현재 시점에 활성화 중인 파티션의 상대적 시간을 이용하여 현재 어떠한 파티션이 활성화 중인지 알 수 있다.
이후, 산출된 카운팅 값과 서칭된 파티션에 대한 정보에 기초하여 다음에 활성화될 파티션의 시점을 산출하고, 산출된 다음에 활성화될 파티션의 시점에 어플리케이션의 파티션을 활성화시킬 수 있다(S700).
여기에서, 다음에 활성화될 파티션의 시점에 어플리케이션의 파티션을 활성화시키는 단계(S700)는 제1 시간을 산출하는 단계(S710), 제2 시간을 산출하는 단계(S730), 다음에 활성화될 파티션의 시점을 산출하는 단계(S750) 및 다음에 활성화될 파티션의 시점에 어플리케이션의 파티션을 활성화시키는 단계(S770)를 포함할 수 있다.
현재 시점에 활성화 중인 파티션을 서칭(Searching)하는 단계(S600) 이후에, 현재 시점 직전의 산출된 카운팅 값과 운영체제의 주기를 연산 즉, 승산(乘算)하여 최초의 파티션이 활성화되는 시점부터 운영체제의 주기마다 발생되는 신호 중에서 현재 시점 직전에 발생된 신호까지의 제1 시간을 산출할 수 있다(S710).
이후, 운영체제의 주기마다 발생되는 신호 중에서 현재 시점 직전에 발생된 신호부터 서칭된 파티션까지에 포함된 파티션의 타임 커패시터를 가산하여 제2 시간을 산출할 수 있다(S730).
이후, 제1 시간과 제2 시간을 가산(加算)하여 다음에 활성화될 파티션의 시점을 산출할 수 있다(750).
이후, 다음에 활성화될 파티션의 시점에 어플리케이션의 파티션을 활성화시킬 수 있다(770).
상기에서는 본 발명의 바람직한 실시예를 참조하여 설명하였지만, 해당 기술 분야의 숙련된 당업자는 하기의 특허 청구의 범위에 기재된 본 발명의 사상 및 영역으로부터 벗어나지 않는 범위 내에서 본 발명을 다양하게 수정 및 변경시킬 수 있음을 이해할 수 있을 것이다.
100: 어플리케이션 200: 운영체제
200a: 파티션 제어 장치 210: 통신부
220: 메모리 230: 주기 산출부
240: 카운팅부 250: 파티션 서칭부
260: 파티션 제어부 262: 제1 시간 산출부
264: 제2 시간 산출부 266: 제3 시간 산출부
268: 파티션 구동부

Claims (1)

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

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020140057300A KR102169869B1 (ko) 2014-05-13 2014-05-13 운영체제의 파티션 제어 장치 및 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020140057300A KR102169869B1 (ko) 2014-05-13 2014-05-13 운영체제의 파티션 제어 장치 및 방법

Publications (2)

Publication Number Publication Date
KR20150130631A true KR20150130631A (ko) 2015-11-24
KR102169869B1 KR102169869B1 (ko) 2020-10-27

Family

ID=54844889

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020140057300A KR102169869B1 (ko) 2014-05-13 2014-05-13 운영체제의 파티션 제어 장치 및 방법

Country Status (1)

Country Link
KR (1) KR102169869B1 (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20190102748A (ko) * 2018-02-27 2019-09-04 주식회사 알티스트 파티션 스케쥴링 방법
KR20200129279A (ko) * 2019-05-08 2020-11-18 주식회사 알티스트 파티션 공유 시스템 및 방법

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20110036237A (ko) * 2009-10-01 2011-04-07 콘티넨탈 오토모티브 시스템 주식회사 실시간 운영체제에서의 프로세서 부하율 계산 시스템 및 그 방법
KR20130048504A (ko) * 2011-11-02 2013-05-10 건국대학교 산학협력단 임계성에 기초한 파티션 스케쥴링 장치 및 방법
KR20130094889A (ko) * 2012-02-17 2013-08-27 한국전자통신연구원 실시간 운영체제의 태스크 스케줄링 방법
KR101355676B1 (ko) * 2012-08-20 2014-01-27 한국항공우주산업 주식회사 다기종 무인기용 비행 제어 시스템

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20110036237A (ko) * 2009-10-01 2011-04-07 콘티넨탈 오토모티브 시스템 주식회사 실시간 운영체제에서의 프로세서 부하율 계산 시스템 및 그 방법
KR20130048504A (ko) * 2011-11-02 2013-05-10 건국대학교 산학협력단 임계성에 기초한 파티션 스케쥴링 장치 및 방법
KR20130094889A (ko) * 2012-02-17 2013-08-27 한국전자통신연구원 실시간 운영체제의 태스크 스케줄링 방법
KR101355676B1 (ko) * 2012-08-20 2014-01-27 한국항공우주산업 주식회사 다기종 무인기용 비행 제어 시스템

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20190102748A (ko) * 2018-02-27 2019-09-04 주식회사 알티스트 파티션 스케쥴링 방법
KR20200129279A (ko) * 2019-05-08 2020-11-18 주식회사 알티스트 파티션 공유 시스템 및 방법

Also Published As

Publication number Publication date
KR102169869B1 (ko) 2020-10-27

Similar Documents

Publication Publication Date Title
EP2524273B1 (en) Dynamic low power mode implementation for computing devices
US9223674B2 (en) Computer system and method for runtime control of parallelism in program execution
US20160077571A1 (en) Heuristic Processor Power Management in Operating Systems
EP2551767B1 (en) Method and device for adjusting clock interrupt cycle
Xu et al. Energy-efficient scheduling with reliability guarantee in embedded real-time systems
US9645850B2 (en) Task time allocation method allowing deterministic error recovery in real time
ul Islam et al. Task aware hybrid DVFS for multi-core real-time systems using machine learning
US20150378782A1 (en) Scheduling of tasks on idle processors without context switching
CN110795238B (zh) 负载计算方法、装置、存储介质及电子设备
US20150153807A1 (en) Method for reducing power consumption and sensor management system for the same
KR20150112660A (ko) 시스템 온 칩, 이의 작동 방법, 및 이를 포함하는 장치
US10275007B2 (en) Performance management for a multiple-CPU platform
US10539995B2 (en) Performance boosting method and system of semiconductor device
US7225443B2 (en) Stack usage in computer-related operating systems
WO2015188016A2 (en) Energy-efficient real-time task scheduler
KR102169869B1 (ko) 운영체제의 파티션 제어 장치 및 방법
US9612907B2 (en) Power efficient distribution and execution of tasks upon hardware fault with multiple processors
US9471128B2 (en) Systems and methods for displaying, in a user interface, an energy utilization metric, a wake count, and a total amount of time that a CPU is awake
US9323642B2 (en) Calculation apparatus, calculation method, and recording medium for calculation program
CN110704195A (zh) 一种cpu调整方法、服务器及计算机可读存储介质
Ogawa et al. Efficient approach to ensure temporal determinism in automotive control systems
Chéour et al. Exploitation of the EDF scheduling in the wireless sensors networks
CN109753339B (zh) 资源配置方法和装置以及电子设备
Wada et al. Fast interrupt handling scheme by using interrupt wake-up mechanism
KR101725408B1 (ko) 실시간 운영체제의 태스크 스케줄링 방법

Legal Events

Date Code Title Description
A201 Request for examination
E701 Decision to grant or registration of patent right
GRNT Written decision to grant