KR19990050550A - 실시간 태스크 스케쥴링 방법 - Google Patents

실시간 태스크 스케쥴링 방법 Download PDF

Info

Publication number
KR19990050550A
KR19990050550A KR1019970069682A KR19970069682A KR19990050550A KR 19990050550 A KR19990050550 A KR 19990050550A KR 1019970069682 A KR1019970069682 A KR 1019970069682A KR 19970069682 A KR19970069682 A KR 19970069682A KR 19990050550 A KR19990050550 A KR 19990050550A
Authority
KR
South Korea
Prior art keywords
time
task
real
tasks
real time
Prior art date
Application number
KR1019970069682A
Other languages
English (en)
Other versions
KR100298212B1 (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 KR1019970069682A priority Critical patent/KR100298212B1/ko
Publication of KR19990050550A publication Critical patent/KR19990050550A/ko
Application granted granted Critical
Publication of KR100298212B1 publication Critical patent/KR100298212B1/ko

Links

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
    • G06F9/4887Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues involving deadlines, e.g. rate based, periodic

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Debugging And Monitoring (AREA)

Abstract

1. 청구범위에 기재된 발명이 속하는 기술분야
본 발명은 실시간 태스크들의 실행순서가 뒤바뀌는 우선순위 역전현상을 해결하는 실시간 태스크 스케쥴링 방법 에 관한 것임.
2. 발명이 해결하고자하는 기술적 요지
본 발명은 우선순위 역전현상을 마감시간내에 완료할 수 있는 실시간 태스크의 수를 극대화하는 실시간 스캐쥴링 방법을 제공하는데 그 목적이 있다.
3. 발명의 해결 방법의 요지
본 발명은 실시간 태스크 테이블에 있는 태스크의 여유시간을 재계산하고, 새로 도착한 실시간 태스크의 여유시간이 상기 실시간 태스크 중에 가장적은 여유시간보다 적은지를 비교하여, 비교 결과에 따라 일시 중지한 태스크를 선점당한 태스크들을 위한 별도의 테이블에 삽입한다.
4. 발명의 중요한 용도.
본 발명은 ATM 교환기의 DBMS 등의 선점당한 태스크들을 별도의 테이블에 관리하여 우선순위 역전현상을 해결하는데 이용됨.

Description

실시간 태스크 스케쥴링 방법
본 발명은 ATM(Asynchronous Trasfer Mode) 교환기의 DBMS(Data Base Management System) 등의 실시간 태스크 스케쥴링 방법에 관한 것으로서, 특히 선점당한 태스크들을 별도의 테이블에 관리하여, 새로운 실시간 태스크의 도착여부에 따라 기존의 실시간 태스크들의 실행순서가 뒤바뀌는 우선순위 역전(Priority Reversal) 현상을 해결하는 실시간 태스크 스케쥴링 방법에 관한 것이다.
종래의 실시간 태스크 스케쥴링 기법중 대표적인 것의 하나가 LSF(Least Slack First) 기법이다. LSF 스케쥴링 기법은 시스템에 도착한 실시간 태스크들 중에 여유시간이 가장 적은 실시간 태스크를 우선적으로 수행하는 것이다. 종래의 LSF(Least Slack First) 스케쥴링 전략에서는 새로운 실시간 태스크의 도착여부에 따라 기존의 실시간 태스크들의 실행순서가 뒤바뀌는 우선순위 역전(Priority Reversal) 현상이 나타나게 된다. 우선순위 역전이란 새로운 실시간 태스크가 시스템에 도착했을 때 현재 실행 중인 실시간 태스크의 여유시간은 그대로이지만 실행을 하지 않고 대기하던 실시간 태스크들의 여유시간은 실행 중이던 실시간 태스크가 실행한 만큼의 시간이 줄어들기 때문에 발생하는 현상이다.
도 1은 종래의 실시간 태스크 스케쥴링 방법에 의하여 발생된 우선순위 역전현상을 나타내는 설명도이다.
도 1에 도시된 바와 같이, 이 예에서 사용한 실시간 태스크는 도착시간 a(T), 실행시간 x(T), 여유시간 s(T), 마감시간 d(T) 등의 특성을 갖고 있다. 여기서, 마감시간 d(T) = a(T) + x(T) + s(T)이다. 실시간 태스크 A, B, C가 있고, 실시간 태스크의 실행시간과 여유시간은 각각 A는 3과 5, B는 4와 6, C는 3과 2라고 가정한다.
먼저, A와 B가 시스템에 동시에 도착하고 C가 2 이후에 도착하면, A와 B가 시스템에 동시에 도착하므로 가장 여유시간이 적은 A를 먼저 수행한다. 2 이후에 C가 도착하면 A의 수행을 멈추고, 실시간 태스크들의 여유시간을 다시 계산하면 A, B, C의 여유시간은 각각 5, 4, 2이다. 이때, LSF 스케쥴링 방법은 여유시간이 가장 적은 C를 수행한다. C가 3 이후에 수행을 마치고, 실시간 태스크의 여유시간을 다시 계산하면, 각 실시간 태스크의 여유시간은 A가 2이고 B가 1이다. 그러므로 여유시간이 적은 B를 수행한다. B가 4 이후에 수행을 마치고, A의 여유시간을 다시 계산하면 -2이다. 다른 실시간 태스크는 없으므로 A를 수행하고 마친다. 여기서, A는 초기에는 B보다 여유시간이 적어서 먼저 수행을 시작했지만, 다른 실시간 태스크의 도착으로 인해 오히려 B가 먼저 수행을 마치는 우선순위 역전 현상이 나타남을 볼 수 있다. 또한, 우선순위 역전 현상으로 인하여 A는 마감시간내에 수행되지 못함을 볼 수 있다.
이러한, 종래의 LSF 스케쥴링 방법은, 우선순위 역전현상으로 인하여 마감시간내에 수행을 마치지 못하는 태스크들의 수가 증가되는 문제점이 발생되었다.
따라서, 상기한 바와 같은 문제점을 해결하기 위하여 안출된 본 발명은, 기존의 실시간 태스크들의 실행 순서를 유지하기 위해서 선점당한 태스크들을 별도의 테이블에 관리하여 우선순위 역전 현상을 해결하고, 또한 기존의 시스템내에서 결정된 태스크들의 수행순서가 새로운 태스크들의 도착여부에 영향을 받지 않도록 하는 실시간 태스크 스케쥴링 방법을 제공하는데 그 목적이 있다.
도 1은 종래의 실시간 태스크 스케쥴링 방법에 의하여 발생된 우선순위 역전현상을 나타내는 설명도.
도 2는 본 발명에 따른 실시간 태스크 스케쥴링 방법의 수행 과정을 나타내는 일실시예 흐름도.
도 3은 본 발명에 따른 실시간 태스크 스케쥴링 방법의 수행 과정을 나타내는 다른 실시예 흐름도.
도 4는 본 발명에 따른 실시간 태스크 스케쥴링 방법에 의해 기존의 우선순위 역전현상이 해결된 상태를 나타내는 설명도.
이와 같은 목적을 달성하기 위한 본 발명은, 새로운 실시간 태스크가 시스템에 도착하는 경우에 대한 실시간 스케쥴링하는 방법에 있어서, 현재 실행 중인 실시간 태스크의 수행을 일시 중지시키고, 실시간 태스크 테이블에 있는 태스크의 여유시간을 재계산하는 제 1 단계; 상기 재계산이 모두 끝나면, 새로 도착한 실시간 태스크의 여유시간이 상기 실시간 태스크 중에 가장적은 여유시간보다 적은지를 비교하는 제 2 단계; 및 상기 비교 결과에 따라, 일시 중지한 태스크를 선점당한 태스크들을 위한 별도의 테이블에 삽입하고, 새로 도착한 실시간 태스크를 수행하거나, 새로 도착한 실시간 태스크를 실시간 태스크 테이블에 삽입하고, 일시 중지한 태스크의 수행을 재개하는 제 3 단계를 포함한다.
또한, 상기한 바와 같은 목적을 달성하기 위한 본 발명은, 수행하던 실시간 태스크가 완료된 경우에 대한 실시간 스케쥴링하는 방법에 있어서, 완료된 태스크를 실시간 태스크 테이블에서 삭제하고, 상기 실시간 태스크 테이블에 있는 실시간 태스크들의 여유시간을 재계산하는 제 1 단계; 상기 모든 실시간 태스크들의 여유시간을 재계산한 후에는, 선점당한 태스크 테이블이 비어 있는지를 검사하는 제 2 단계; 및 상기 검사 결과에 따라, 상기 선점당한 태스크 테이블에서 가장 최근에 상기 선점당한 태스크를 선택하여 수행하거나, 상기 실시간 태스크 테이블에서 여유시간이 가장 적은 태스크를 선택하여 수행하는 제 3 단계를 포함한다.
이하, 도 2 내지 도 4를 참조하여 본 발명의 바람직한 실시예를 설명한다.
도 2는 새로운 실시간 태스크가 시스템에 도착하는 경우에 대한 본 발명의 실시간 태스크 스케쥴링 방법의 수행 과정을 나타내는 일실시예 흐름도이다.
도 2에 도시된 바와 같이, 실시간 태스크 실행중에 다른 새로운 실시간 태스크가 시스템에 도착하면, 먼저 현재 실행 중인 실시간 태스크의 수행을 일시 중지시키고(201), 실시간 태스크 테이블에 있는 태스크의 여유시간을 재계산한다(202). 재계산이 모두 끝나면, 새로 도착한 실시간 태스크의 여유시간이 실시간 태스크 중에 가장적은 여유시간보다 적은지를 비교한다(203). 상기 비교 결과 새로 도착한 실시간 태스크의 여유시간이 적으면, 일시 중지한 태스크를 선점당한 태스크들을 위한 별도의 테이블(선점 태스크 테이블)에 삽입하고(204), 새로 도착한 실시간 태스크를 수행한다(205).
상기 비교 과정(203)에서, 상기 비교 결과 새로 도착한 실시간 태스크의 여유시간이 실시간 태스크 중에 가장 여유시간 보다 크면, 새로 도착한 실시간 태스크를 실시간 태스크 테이블에 삽입하고(207), 일시 중지한 태스크의 수행을 재개한다(208).
도 3은 수행하던 실시간 태스크가 완료된 경우에 대한 본 발명의 실시간 태스크 스케쥴링 방법의 수행 과정을 나타내는 다른 실시예 흐름도이다.
도 3에 도시된 바와 같이, 먼저 완료된 태스크를 실시간 태스크 테이블에서 삭제하고(301), 실시간 태스크 테이블에 있는 실시간 태스크들의 여유시간을 재계산한다(302). 모든 실시간 태스크들의 여유시간을 재계산한 후에는, 선점당한 태스크 테이블이 비어 있는지를 검사한다(304). 상기 검사 결과 테이블이 비어 있지 않으면, 선점 태스크 테이블에서 가장 최근에 선점당한 태스크를 선택하여 수행한다(305).
상기 검사 과정(304)에서, 상기 검사 결과 테이블이 비어 있으면, 실시간 태스크 테이블에서 여유시간이 가장 적은 태스크를 선택하여 수행한다(306).
도 4는 본 발명에 따른 실시간 태스크 스케쥴링 방법에 의해 기존의 우선순위 역전현상이 해결된 상태를 나타내는 설명도이다.
도 4에 도시한 바와 같이, A와 B가 시스템에 동시에 도착하므로 여유시간이 적은 A를 먼저 수행한다. 2 이후에 C가 도착하면 A의 수행을 멈추고, 실시간 태스크의 여유시간을 다시 계산하면 A, B, C의 여유시간은 각각 5, 4, 2이다. 여기서, 여유시간이 가장 적은 C를 수행한다. 이때, 기존의 LSF 스케쥴링 기법과는 달리 A는 실시간 태스크 테이블에서 삭제하고 선점당한 태스크 테이블에 삽입한다. C가 3 이후에 수행을 마치고, 여유시간을 다시 계산하면 B의 여유시간은 1이다.
그러나, 선점당한 태스크 테이블에 최근에 삽입된 A가 존재하므로 A를 먼저 수행한다. A가 1 이후에 수행을 마치고, B의 여유시간을 다시 계산하면 0이다. 시스템 내에는 다른 실시간 태스크가 없으므로 B를 수행하고 마친다. 이 예에서는 상기 도 1의 예에서 발생하던 새로 도착한 실시간 태스크로 인한 우선순위 역전 현상이 해결되었음을 볼 수 있다. 또한, 이 결과 도 1의 예에서는 마감시간을 만족하지 못하던 실시간 태스크 A가 마감시간을 만족하였음을 볼 수 있다.
본 발명의 기술 사상은 상기 바람직한 실시예에 따라 구체적으로 기술되었으나, 상기한 실시예는 그 설명을 위한 것이며 그 제한을 위한 것이 아님을 주의하여야 한다. 또한, 본 발명의 기술 분야의 통상의 전문가라면 본 발명의 기술 사상의 범위내에서 다양한 실시예가 가능함을 이해할 수 있을 것이다.
이상에서 설명한 바와 같이 본 발명의 실시간 태스크 스케쥴링 방법은, 선점당한 태스크들을 별도의 테이블에 관리하므로써, 기존의 시스템내에서 결정된 태스크들의 수행순서가 새로운 태스크들의 도착여부에 영향을 받지 않도록 하고, 또한 우선순위 역전 현상을 해결하여 마감시간내에 해당 동작을 완료하는 실시간 테스크들의 수를 극대화할 수 있는 효과가 있다.

Claims (2)

  1. 실시간 태스크 실행중 새로운 실시간 태스크가 시스템에 도착하는 경우에 실시간 태스크를 스케쥴링하는 방법에 있어서,
    현재 실행 중인 실시간 태스크의 수행을 일시 중지시키고, 실시간 태스크 테이블에 있는 태스크의 여유시간을 재계산하는 제 1 단계;
    상기 재계산이 모두 끝나면, 새로 도착한 실시간 태스크의 여유시간이 상기 실시간 태스크 중에 가장적은 여유시간보다 적은지를 비교하는 제 2 단계; 및
    상기 비교 결과에 따라, 일시 중지한 태스크를 선점당한 태스크들을 위한 별도의 테이블에 삽입하고, 새로 도착한 실시간 태스크를 수행하거나, 새로 도착한 실시간 태스크를 실시간 태스크 테이블에 삽입하고, 일시 중지한 태스크의 수행을 재개하는 제 3 단계
    를 포함하여 이루어진 실시간 태스크 스케쥴링 방법.
  2. 수행하던 실시간 태스크가 완료된 경우에 실시간 태스크를 스케쥴링하는 방법에 있어서,
    완료된 태스크를 실시간 태스크 테이블에서 삭제하고, 상기 실시간 태스크 테이블에 있는 실시간 태스크들의 여유시간을 재계산하는 제 1 단계;
    상기 모든 실시간 태스크들의 여유시간을 재계산한 후에는, 선점당한 태스크 테이블이 비어 있는지를 검사하는 제 2 단계; 및
    상기 검사 결과에 따라, 상기 선점당한 태스크 테이블에서 가장 최근에 상기 선점당한 태스크를 선택하여 수행하거나, 상기 실시간 태스크 테이블에서 여유시간이 가장 적은 태스크를 선택하여 수행하는 제 3 단계
    를 포함하여 이루어진 실시간 태스크 스케쥴링 방법.
KR1019970069682A 1997-12-17 1997-12-17 우선순위역전현상을해결하기위한실시간태스크스케쥴링방법 KR100298212B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1019970069682A KR100298212B1 (ko) 1997-12-17 1997-12-17 우선순위역전현상을해결하기위한실시간태스크스케쥴링방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1019970069682A KR100298212B1 (ko) 1997-12-17 1997-12-17 우선순위역전현상을해결하기위한실시간태스크스케쥴링방법

Publications (2)

Publication Number Publication Date
KR19990050550A true KR19990050550A (ko) 1999-07-05
KR100298212B1 KR100298212B1 (ko) 2001-08-07

Family

ID=37528322

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019970069682A KR100298212B1 (ko) 1997-12-17 1997-12-17 우선순위역전현상을해결하기위한실시간태스크스케쥴링방법

Country Status (1)

Country Link
KR (1) KR100298212B1 (ko)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100384339B1 (ko) * 2000-04-21 2003-05-16 주식회사 아이네스테크 태스크 스케쥴링 방법
KR100426201B1 (ko) * 2001-12-27 2004-04-06 씨멘스 오토모티브 주식회사 전자 제어 장치의 타스크 운영 시스템
KR100487543B1 (ko) * 2000-09-01 2005-05-03 엘지전자 주식회사 시피유 스케쥴링 방법
KR100791296B1 (ko) * 2006-03-03 2008-01-04 삼성전자주식회사 멀티 코어 시스템에서 협력적 스케줄링을 제공하는 장치 및방법

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101573781B1 (ko) 2014-04-25 2015-12-03 상명대학교서울산학협력단 우선 순위 기반 저전력 태스크 스케줄링 장치 및 방법
KR101733339B1 (ko) 2016-01-19 2017-05-08 한국과학기술원 사이버 물리 시스템을 위한 보안 제약 사항을 포함하는 실시간 스케줄링 장치 및 방법

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2693916B2 (ja) * 1994-09-22 1997-12-24 米沢日本電気株式会社 タスクスケジュール方法

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100384339B1 (ko) * 2000-04-21 2003-05-16 주식회사 아이네스테크 태스크 스케쥴링 방법
KR100487543B1 (ko) * 2000-09-01 2005-05-03 엘지전자 주식회사 시피유 스케쥴링 방법
KR100426201B1 (ko) * 2001-12-27 2004-04-06 씨멘스 오토모티브 주식회사 전자 제어 장치의 타스크 운영 시스템
KR100791296B1 (ko) * 2006-03-03 2008-01-04 삼성전자주식회사 멀티 코어 시스템에서 협력적 스케줄링을 제공하는 장치 및방법

Also Published As

Publication number Publication date
KR100298212B1 (ko) 2001-08-07

Similar Documents

Publication Publication Date Title
KR960005105B1 (ko) 컴퓨터에서 태스크 실행을 제어하는 방법 및 오퍼레이팅 시스템
Pinedo et al. A shifting bottleneck heuristic for minimizing the total weighted tardiness in a job shop
US6006247A (en) Method and system for scheduling threads and handling exceptions within a multiprocessor data processing system
US7721286B2 (en) Preemptive multi-tasking with cooperative groups of tasks
US9740495B2 (en) Implementing out of order processor instruction issue queue
US20070240143A1 (en) Migratable unit based application migration
JPH01234940A (ja) 優先式待ち行列管理方法
CN100530111C (zh) 一种多线程访问间接寄存器的调度方法
US7111289B2 (en) Method for implementing dual link list structure to enable fast link-list pointer updates
CN110457126A (zh) 一种异步调用方法及系统
Wittrock Scheduling parallel machines with major and minor setup times
KR19990050550A (ko) 실시간 태스크 스케쥴링 방법
JULIEN et al. Generalized preemption models for single-machine dynamic scheduling problems
US5430874A (en) Control method and system for managing memory control blocks of programmed tasks in a multi-processing system
Qureshi et al. Maintaining the feasibility of hard real-time systems with a reduced number of priority levels
CN114443248A (zh) 对象的生命周期管理方法、装置、电子设备及存储介质
US5386586A (en) System and method for construction of lists of deferred service requests
Isovic et al. Online handling of hard aperiodic tasks in time triggered systems
CN109710390A (zh) 单线程处理器的多任务处理方法及处理系统
Vaucher Simulation data structures using Simula 67
JPS62245441A (ja) 待ち行列制御方式
Manimaran et al. A new study for fault-tolerant real-time dynamic scheduling algorithms
Silberschatz A note on the distributed program component cell
JPH0586574B2 (ko)
Bruno et al. Simulation of production systems with DESFOR

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
LAPS Lapse due to unpaid annual fee