KR20130094889A - 실시간 운영체제의 태스크 스케줄링 방법 - Google Patents

실시간 운영체제의 태스크 스케줄링 방법 Download PDF

Info

Publication number
KR20130094889A
KR20130094889A KR1020120016133A KR20120016133A KR20130094889A KR 20130094889 A KR20130094889 A KR 20130094889A KR 1020120016133 A KR1020120016133 A KR 1020120016133A KR 20120016133 A KR20120016133 A KR 20120016133A KR 20130094889 A KR20130094889 A KR 20130094889A
Authority
KR
South Korea
Prior art keywords
task
priority
queue
tasks
new
Prior art date
Application number
KR1020120016133A
Other languages
English (en)
Other versions
KR101725408B1 (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 KR1020120016133A priority Critical patent/KR101725408B1/ko
Publication of KR20130094889A publication Critical patent/KR20130094889A/ko
Application granted granted Critical
Publication of KR101725408B1 publication Critical patent/KR101725408B1/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/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • G06F9/4881Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
    • 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/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline, look ahead
    • G06F9/3836Instruction issuing, e.g. dynamic instruction scheduling or out of order instruction execution
    • 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/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4812Task transfer initiation or dispatching by interrupt, e.g. masked
    • 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/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • G06F9/5038Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering the execution order of a plurality of tasks, e.g. taking priority or time dependency constraints into consideration

Abstract

본 발명에 따른 태스크 스케줄링 방법이 개시된다. 본 발명에 따른 태스크 스케줄링 방법은 태스크들을 순차적으로 실행시키기 위하여 준비 큐에 태스크를 배치하기 위한 태스크 스케줄링 방법으로, 실행 준비상태의 새로운 태스크의 실행 우선순위를 확인하는 단계, 상기 준비 큐에 존재하는 각 태스크의 실행 우선순위를 순차적으로 조사하여, 상기 새로운 태스크의 실행 우선순위보다 작은 실행 우선순위를 갖는 태스크를 도출하는 단계 및 상기 도출된 태스크의 앞에 상기 새로운 태스크를 추가하는 단계를 포함하여 구성된다.

Description

실시간 운영체제의 태스크 스케줄링 방법{TASKS SCHEDULING METHOD FOR REALTIME OPERATING SYSTEM}
본 발명은 태스크 스케줄링 방법에 관한 것으로, 더욱 상세하게는 실행 준비 중인 태스크 및 대기중인 태스크를 배치하기 위한 태스크 스케줄링 방법에 관한 것이다.
실시간 운영 체제(Real Time Operating System)는 실시간 응용 프로그램을 위해 개발된 운영 체제로서, 운영 체제의 기능 중 CPU 시간 관리 부분에 초점을 맞추어 설계되었다. 실시간 운영체제의 태스크 스케줄링 방법으로, 두가지 기본적인 설계 방식이 존재하는데, 첫째는, 우선 순위 기반 스케줄링 또는 선점형 스케줄링 이라고 불리는 이벤트 구동(event-driven) 방식으로, 현재 수행중인 태스크보다 높은 우선 순위를 갖는 이벤트가 서비스를 요청할 경우에 태스크(task) 전환이 발생한다. 둘째는, 시분할(time-sharing) 스케줄링 방식으로 클럭 인터럽트나 라운드 로빈과 같은 주기적인 이벤트가 발생할 때 태스크의 전환이 발생한다.
일반적으로, 태스크는 수행(running), 준비(ready), 블록(blocked)의 세 가지 상태 중 한 가지 상태로 존재하는데, 대부분의 태스크가 블록상태이고, 오직 한 개의 태스크만 수행상태이다. 간단한 시스템 일수록 준비 상태의 태스크 목록이 짧으며, 많은 경우도 2~3개 정도이다. 새로운 태스크가 생성되면 일단 준비 상태가 된다. 스케줄러는 현재 수행중인 태스크 역시 준비 상태로 변경하고, 두 개의 태스크를 준비 상태 태스크 목록(준비 큐)에 집어 넣는다. 그 후, 가장 우선 순위가 높은 태스크를 다시 수행하게 된다.
종래의 태스크 스케줄링 방법은 우선 순위가 가장 높은 태스크를 찾기 위하여 준비 테이블과 언맵 테이블 등을 사용하기 한다. 우선순위 변환용 언맵 테이블은 여러 개의 태스크들이 존재할 때 가장 우선순위가 높은 태스크의 위치를 정해 놓은 일종의 우선순위 변환 테이블이다. 따라서, 우선 순위 값을 테이블의 인덱스로 활용하여 상수의 시간 결정 시간을 갖지만 큰 메모리 용량을 요구한다. 특히 우선 순위의 개수가 증가할 경우 필요한 메모리 공간은 기하급수적으로 늘어난다. 또한 인덱스를 활용하여 우선 순위가 제일 높은 태스크를 찾는 과정에서 일정한 연산을 필요로 하는 문제가 있다.
상기와 같은 문제점을 해결하기 위한 본 발명의 목적은, 우선 순위가 제일 높은 태스크를 찾기 위한 연산을 필요로 하지 않는 태스크 스케줄링 방법을 제공하는 데 있다.
상기 목적을 달성하기 위한 본 발명의 일 측면은 태스크들을 순차적으로 실행시키기 위하여 준비 큐에 태스크를 배치하기 위한 태스크 스케줄링 방법으로, 실행 준비상태의 새로운 태스크의 실행 우선순위를 확인하는 단계, 상기 준비 큐에 존재하는 각 태스크의 실행 우선순위를 순차적으로 조사하여, 상기 새로운 태스크의 실행 우선순위보다 작은 실행 우선순위를 갖는 태스크를 도출하는 단계 및 상기 도출된 태스크의 앞에 상기 새로운 태스크를 추가하는 단계를 포함하는 태스크 스케줄링 방법을 제공한다.
상기 목적을 달성하기 위한 본 발명의 다른 측면은, 대기 상태의 태스크를 순차적으로 깨우기 위하여 대기 큐에 태스크를 배치하기 위한 태스크 스케줄링 방법으로, 새로운 태스크가 대기 상태로 진입하는 경우, 상기 새로운 태스크가 대기 상태에서 깨어날 시간을 확인하는 단계, 상기 대기 큐에 존재하는 각 태스크가 대기 상태에서 깨어날 시간을 순차적으로 조사하여, 상기 새로운 태스크보다 늦게 깨어날 태스크를 도출하는 단계, 및 상기 도출된 태스크의 앞에 상기 새로운 태스크를 추가하는 단계를 포함하는 태스크 스케줄링 방법을 제공한다.
상기와 같은 본 발명에 따른 태스크 스케줄링 방법을 이용할 경우에는 태스크의 우선순위에 따라 태스크를 준비 큐에 순차적으로 배치함으로써, 우선 순위를 관리하기 위한 추가적인 메모리 공간이 필요 없고, 새로운 태스크가 추가되지 않는 한 스케줄링이 연산이 거의 필요 없다는 장점이 있다. 또한 대기 상태에 진입한 태스크를 깨어날 시간에 따라 순차적으로 대기 큐에 배치함으로써, 스케줄러는 매 타임 틱에 대기 큐의 제일 앞에 있는 태스크 대해서만 깨어날 시간이 되었는지 확인하면 되므로, 좀 더 효율적인 스케줄링을 할 수 있다.
도 1은 본 발명의 일 실시예에 따른 준비 큐에 태스크를 배치하는 예를 보여주는 블록도이다.
도 2는 본 발명의 일 실시예에 따른 준비 큐에 실행 준비된 태스크를 배치하는 과정을 보여주는 순서도이다.
도 3은 본 발명의 일 실시예에 따른 대기 큐에 태스크를 배치하는 예를 보여주는 블록도이다.
도 4는 본 발명의 일 실시예에 따른 대기 큐에 대기상태의 태스크를 배치하는 과정을 보여주는 순서도이다.
본 발명은 다양한 변경을 가할 수 있고 여러 가지 실시예를 가질 수 있는 바, 특정 실시예들을 도면에 예시하고 상세한 설명에 상세하게 설명하고자 한다. 그러나, 이는 본 발명을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다. 각 도면을 설명하면서 유사한 참조부호를 유사한 구성요소에 대해 사용하였다.
제1, 제2, A, B 등의 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 상기 구성요소들은 상기 용어들에 의해 한정되어서는 안 된다. 상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다. 예를 들어, 본 발명의 권리 범위를 벗어나지 않으면서 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소도 제1 구성요소로 명명될 수 있다. 및/또는 이라는 용어는 복수의 관련된 기재된 항목들의 조합 또는 복수의 관련된 기재된 항목들 중의 어느 항목을 포함한다.
어떤 구성요소가 다른 구성요소에 "연결되어" 있다거나 "접속되어" 있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소가 다른 구성요소에 "직접 연결되어" 있다거나 "직접 접속되어" 있다고 언급된 때에는, 중간에 다른 구성요소가 존재하지 않는 것으로 이해되어야 할 것이다.
본 출원에서 사용한 용어는 단지 특정한 실시예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 출원에서, "포함하다" 또는 "가지다" 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가지고 있다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥 상 가지는 의미와 일치하는 의미를 가지는 것으로 해석되어야 하며, 본 출원에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.
이하, 본발명에 따른 바람직한 실시예를 첨부한 도면들을 참조하여 상세하게 설명한다. 본 발명을 설명함에 있어 전체적인 이해를 용이하게 하기 위하여 도면상의 동일한 구성요소에 대해서는 동일한 참조부호를 사용하고 동일한 구성요소에 대해서 중복된 설명은 생략한다.
도 1은 본 발명의 일 실시예에 따른 준비 큐에 태스크를 배치하는 예를 보여주는 블록도이다.
도 1을 참조하면, 태스크들은 준비 큐에 연결 리스트로 관리되며, 선점형 우선순위 방식을 기본으로 할 수 있다. 도 1의 (a)는 태스크들이 준비 큐에 배치되어 있는 상태를 보여주며, 도 1의 (b)는 도 1의 (a)의 준비 큐에 새로운 태스크(130)가 추가된 상태를 보여준다.
새로운 태스크(130)가 추가 될 위치를 정하기 위해, 새로운 태스크(130)보다 우선 순위가 작은 태스크가 나올 때까지 준비 큐의 앞에서부터 차례대로 태스크들(110, 120, 140)을 검색한 후, 우선순위가 더 작은 태스크인 태스크3(140)의 앞에 새로운 태스크(130)를 추가할 수 있다.
만일, 이러한 방법을 통해, 우선 순위가 제일 높은 태스크(110)가 종료 되면, 준비 큐에서 해당 태스크(110)가 제외되고, 별다른 연산(예를 들면, 우선순위의 확인)이 필요 없이 바로 다음 위치의 태스크(120)를 앞으로 당겨서 수행되도록 할 수 있다.
도 2는 본 발명의 일 실시예에 따른 준비 큐에 실행 준비된 태스크를 배치하는 과정을 보여주는 순서도이다.
도 2를 참조하면, 본 발명의 일 실시예에 따른 준비 큐에 실행 준비된 태스크를 배치하는 과정은 실행 준비된 태스크들을 순차적으로 실행시키기 위하여 준비 큐에 태스크를 배치하는 방법으로, 새로운 태스크의 우선순위 확인 단계(S210), 우선순위가 낮은 태스크 도출단계(S220), 새로운 태스크 추가단계(S230)를 포함하여 구성될 수 있다.
또한 도 2를 참조하면, 본 발명의 일 실시예에 따른 준비 큐에 실행 준비된 태스크를 배치하는 과정의 각 단계는 다음과 같이 설명될 수 있다.
새로운 태스크의 우선순위 확인 단계(S210)는 새로이 실행 준비상태가 된 태스크에 대한 태스크의 실행 우선순위를 확인하는 단계일 수 있다. 즉 도 1을 통해 설명한 바와 같이, 실행 우선순위에 따라 태스크를 준비 큐에 배치하기 위해서 추가될 태스크의 우선순위를 확인하는 단계이다.
우선순위가 낮은 태스크 도출단계(S120)는 준비 큐에 존재하는 각 태스크의 우선순위를 순차적으로 조사하여, 상기 새로운 태스크의 우선순위보다 작은 우선순위를 갖는 태스크를 도출하는 단계일 수 있다. 즉, 준비 큐의 태스크들은 준비 큐내에 실행 우선순위가 큰 순서로 태스크들이 배치되어 있기 때문에, 큐의 앞에서부터 태스크들의 우선순위를 순차적으로 비교한 후, 새로운 태스크보다 우선 순위가 작은 태스크를 만나면 비교를 종료한다.
새로운 태스크 추가단계(S130)는 새로운 태스크보다 우선순위가 낮은 태스크의 앞에 새로운 태스크를 추가 배치하는 단계일 수 있다. 즉, 우선순위가 낮은 태스크 도출단계(S120)에서 새로운 태스크보다 우선순위가 낮은 것으로 비교된 태스크의 앞에 새로운 태스크가 추가된다.
상술한 본 발명에 따른 태스크 배치방법에 따라, 준비 큐내의 태스크들은 우선순위가 큰 순서로 순차적으로 배치가 되어 있으므로, 다음에 실행될 태스크를 선택하는 경우, 스케줄러는 별도의 우선순위 확인 과정 없이 준비 큐의 앞에 있는 태스크부터 순차적으로 선택하면 된다.
도 3은 본 발명의 일 실시예에 따른 대기 큐에 태스크를 배치하는 예를 보여주는 블록도이다.
도3을 참조하면, 주기적인 태스크 또는 일정시간 동안 잠드는 상태의 태스크들은 대기 큐에서 관리될 수 있다. 이때 스케줄러는 대기(waiting) 상태의 각 태스크가 정해진 시간에 깨어날 수 있도록 관리를 해주면서, 대기 상태로 들어가는 태스크가 깨어날 시간이 정해져 있다면, 그 시간에 따라 대기큐 내의 태스크가 정렬되도록 할 수 있다.
도 3의 (a)는 태스크들이 대기 큐에 배치되어 있는 상태를 보여주며, 도 3의 (b)는 도 3의 (a)의 대기 큐에 새로운 태스크(330)가 추가된 상태를 보여준다.
새로운 태스크(330)가 대기큐에 추가될 위치를 정하기 위해, 새로운 태스크(330)보다 깨어날 시간이 늦은 태스크가 나올 때까지, 대기 큐의 앞에서부터 차례대로 태스크들(310, 320, 340)을 검색한 후, 새로운 태스크(330)보다 더 늦게 깨어날 태스크6(340)의 앞에 새로운 태스크(330)를 추가할 수 있다.
그러면 스케줄러는 매 타임 틱에 대기 큐의 제일 앞에 있는 태스크4(310)에 대해서만 깨어날 시간이 되었는지 확인하고, 태스크4(310)가 깨어날 시간이 된 경우 대기 큐에서 준비 큐로 옮기고 대기 큐의 다음 순서에 있는 태스크5(320)를 앞으로 당기면 된다. 이때, 깨어날 시간이 지정되지 않고 잠들어 있는 태스크는 대기 큐에서 관리되지 않는다.
도 4는 본 발명의 일 실시예에 따른 대기 큐에 대기상태의 태스크를 배치하는 과정을 보여주는 순서도이다.
도 4를 참조하면, 본 발명의 일 실시예에 따른 준비 큐에 실행 준비된 태스크를 배치하는 과정은 대기 상태에 진입한 태스크를 큐에 순차적으로 깨우기 위하여 대기 큐에 태스크를 배치하는 방법으로, 새로운 태스크의 깨어날 시간 확인단계(S410), 늦게 깨어날 태스크 도출단계(S420), 새로운 태스크 추가단계(S430)를 포함하여 구성될 수 있다.
또한 도 4를 참조하면, 본 발명의 일 실시예에 따른 대기 큐에 대기상태의 태스크를 배치하는 과정의 각 단계는 다음과 같이 설명될 수 있다.
새로운 태스크의 깨어날 시간 확인단계(S410)는 새로운 태스크가 대기 상태로 진입하는 경우, 새로운 태스크가 대기 상태에서 벗어나서 깨어날 시간을 확인하는 단계일 수 있다.
늦게 깨어날 태스크 도출단계(S420)는 대기 큐에 존재하는 각 태스크가 대기 상태에서 벗어나서 깨어날 시간을 순차적으로 조사하여, 특정 태스크보다 깨어날 시간인 늦은 태스크를 도출하는 단계일 수 있다.
즉, 대기 큐의 태스크들은 대기 큐내에 깨어날 시간이 빠른 순서로 태스크들이 배치되어 있기 때문에, 큐의 앞에서부터 태스크들의 깨어날 시간을 순차적으로 비교한 후, 새로운 태스크보다 늦게 깨어날 태스크를 만나면 비교를 종료한다.
새로운 태스크 추가단계(S430)는 늦게 깨어날 태스크 도출단계(S420)에서 도출된 특정 태스크보다 깨어날 시간인 늦은 태스크의 앞에 새로운 태스크를 추가하는 단계일 수 있다.
이러한 스케줄링 방법은 태스크의 우선 순위가 수행 중 변경되는 경우에도 단순히 새로운 위치를 정해주기만 하면 되므로 적용하는 데에 문제가 없고, 우선 순위의 수에 따라 수행 시간이나 복잡도에 영향을 주지 않는다. 만일 라운드-로빈, FIFO 등의 방식으로 태스크가 관리될 필요가 있는 경우 새로운 태스크의 위치를 정하는 연산만 바꾸면 수행 중에도 변경이 가능하여 필요에 따라 유연하게 적용할 수 있다. 또한 이 방식은 스케줄링에 필요한 추가 메모리 공간을 거의 필요로 하지 않으면서도 새로운 태스크가 추가되지 않는 한 스케줄링이 연산이 거의 필요 없다는 장점이 있다.
준비 큐 또는 대기 큐에 새로운 태스크가 추가될 때의 작업은 O(n)의 시간 복잡도를 가지지만 비행체에서 파티션된(partitioned) OS 를 사용한다고 가정할 때 운용 가능한 태스크의 개수는 한정되어 있으므로 실제 수행 시간에 미치는 영향은 미미하지만, 이에 비해 매 타임 틱마다 관찰해야 하는 태스크가 각 큐의 맨 앞에 있는 태스크에 한정되므로 얻는 시간적인 이득이 있다.
상기에서는 본 발명의 바람직한 실시예를 참조하여 설명하였지만, 해당 기술 분야의 숙련된 당업자는 하기의 특허 청구의 범위에 기재된 본 발명의 사상 및 영역으로부터 벗어나지 않는 범위 내에서 본 발명을 다양하게 수정 및 변경시킬 수 있음을 이해할 수 있을 것이다.

Claims (1)

  1. 태스크들을 순차적으로 실행시키기 위하여 준비 큐에 태스크를 배치하기 위한 태스크 스케줄링 방법으로,
    실행 준비상태의 새로운 태스크의 실행 우선순위를 확인하는 단계;
    상기 준비 큐에 존재하는 각 태스크의 실행 우선순위를 순차적으로 조사하여, 상기 새로운 태스크의 실행 우선순위보다 작은 실행 우선순위를 갖는 태스크를 도출하는 단계; 및
    상기 도출된 태스크의 앞에 상기 새로운 태스크를 추가하는 단계를 포함하는 태스크 스케줄링 방법.
KR1020120016133A 2012-02-17 2012-02-17 실시간 운영체제의 태스크 스케줄링 방법 KR101725408B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020120016133A KR101725408B1 (ko) 2012-02-17 2012-02-17 실시간 운영체제의 태스크 스케줄링 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020120016133A KR101725408B1 (ko) 2012-02-17 2012-02-17 실시간 운영체제의 태스크 스케줄링 방법

Publications (2)

Publication Number Publication Date
KR20130094889A true KR20130094889A (ko) 2013-08-27
KR101725408B1 KR101725408B1 (ko) 2017-04-11

Family

ID=49218438

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020120016133A KR101725408B1 (ko) 2012-02-17 2012-02-17 실시간 운영체제의 태스크 스케줄링 방법

Country Status (1)

Country Link
KR (1) KR101725408B1 (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20150130631A (ko) * 2014-05-13 2015-11-24 한국전자통신연구원 운영체제의 파티션 제어 장치 및 방법
CN110737522A (zh) * 2019-10-16 2020-01-31 福州物联网开放实验室有限公司 一种嵌入式操作系统的待机任务调度方法

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH11203149A (ja) * 1998-01-13 1999-07-30 Matsushita Electric Ind Co Ltd タスクスケジュール装置およびその方法
US6021425A (en) * 1992-04-03 2000-02-01 International Business Machines Corporation System and method for optimizing dispatch latency of tasks in a data processing system
US20060107264A1 (en) * 2004-11-18 2006-05-18 Hamilton Sundstrand Corporation Operating system and architecture for embedded system
KR20100060312A (ko) * 2008-11-27 2010-06-07 한국전자통신연구원 자동차용 임베디드 운영체제의 태스크 스케줄링 방법

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6021425A (en) * 1992-04-03 2000-02-01 International Business Machines Corporation System and method for optimizing dispatch latency of tasks in a data processing system
JPH11203149A (ja) * 1998-01-13 1999-07-30 Matsushita Electric Ind Co Ltd タスクスケジュール装置およびその方法
US20060107264A1 (en) * 2004-11-18 2006-05-18 Hamilton Sundstrand Corporation Operating system and architecture for embedded system
KR20100060312A (ko) * 2008-11-27 2010-06-07 한국전자통신연구원 자동차용 임베디드 운영체제의 태스크 스케줄링 방법

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20150130631A (ko) * 2014-05-13 2015-11-24 한국전자통신연구원 운영체제의 파티션 제어 장치 및 방법
CN110737522A (zh) * 2019-10-16 2020-01-31 福州物联网开放实验室有限公司 一种嵌入式操作系统的待机任务调度方法
CN110737522B (zh) * 2019-10-16 2023-03-03 福州物联网开放实验室有限公司 一种嵌入式操作系统的待机任务调度方法

Also Published As

Publication number Publication date
KR101725408B1 (ko) 2017-04-11

Similar Documents

Publication Publication Date Title
US9858115B2 (en) Task scheduling method for dispatching tasks based on computing power of different processor cores in heterogeneous multi-core processor system and related non-transitory computer readable medium
US9448864B2 (en) Method and apparatus for processing message between processors
US9354926B2 (en) Processor management via thread status
US20150121387A1 (en) Task scheduling method for dispatching tasks based on computing power of different processor cores in heterogeneous multi-core system and related non-transitory computer readable medium
JP5653431B2 (ja) マルチプロセッサシステム
TW201337769A (zh) 用於管理多核心架構之資源的方法和設備
US9311142B2 (en) Controlling memory access conflict of threads on multi-core processor with set of highest priority processor cores based on a threshold value of issued-instruction efficiency
US8892819B2 (en) Multi-core system and external input/output bus control method
US10271326B2 (en) Scheduling function calls
US9542230B2 (en) System and method for selective timer coalescing
CN109491780B (zh) 多任务调度方法及装置
US10083066B2 (en) Processing data by using simultaneous multithreading
US20230127112A1 (en) Sub-idle thread priority class
US9367349B2 (en) Multi-core system and scheduling method
US10402232B2 (en) Method and system for deterministic multicore execution
EP1693743A2 (en) System, method and medium for using and/or providing operating system information to acquire a hybrid user/operating system lock
US20130298132A1 (en) Multi-core processor system and scheduling method
KR20130094889A (ko) 실시간 운영체제의 태스크 스케줄링 방법
CN114116015B (zh) 用于管理硬件命令队列的方法及系统
Wada et al. Fast interrupt handling scheme by using interrupt wake-up mechanism
JP5348315B2 (ja) マルチコアプロセッサシステム、制御プログラム、および制御方法
JP5605477B2 (ja) マルチコアプロセッサシステム、制御プログラム、および制御方法
KR20130039479A (ko) 스레드 프로그레스 트래킹 방법 및 장치
Belagali et al. Implementation and validation of dynamic scheduler based on LST on FreeRTOS
Lee et al. Interrupt handler migration and direct interrupt scheduling for rapid scheduling of interrupt-driven tasks

Legal Events

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