KR20070038384A - 이동통신단말기의 운영체제의 태스크 스케줄링방법 - Google Patents

이동통신단말기의 운영체제의 태스크 스케줄링방법 Download PDF

Info

Publication number
KR20070038384A
KR20070038384A KR1020050093640A KR20050093640A KR20070038384A KR 20070038384 A KR20070038384 A KR 20070038384A KR 1020050093640 A KR1020050093640 A KR 1020050093640A KR 20050093640 A KR20050093640 A KR 20050093640A KR 20070038384 A KR20070038384 A KR 20070038384A
Authority
KR
South Korea
Prior art keywords
task
operating system
scheduling method
time
shared resource
Prior art date
Application number
KR1020050093640A
Other languages
English (en)
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 KR1020050093640A priority Critical patent/KR20070038384A/ko
Publication of KR20070038384A publication Critical patent/KR20070038384A/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3234Power saving characterised by the action undertaken
    • G06F1/329Power saving characterised by the action undertaken by task scheduling
    • 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 or 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/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)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mobile Radio Communication Systems (AREA)

Abstract

본 발명은, 운영체제에서 태스크를 실행할 경우 공유자원의 사용여부에 따라 태스크가 공유자원을 사용할 경우 실제 실행시간을 적용한 가변주파수로, 태스크가 공유자원을 사용하지 않을 경우 최악 실행기간을 적용한 가변주파수로 태스크의 주파수를 조절하는 운영체제의 태스크 스케줄링방법을 제공한다.
이동통신단말기, 운영체제, 실시간, 공유자원, 가변주파수

Description

운영체제의 태스크 스케줄링방법 및 임베디드 시스템, 이동통신단말기{Scheduling method of tasks for OS and Embeded System, Mo}
도 1은 본 발명의 일실시예에 따른 운영체제의 태스크 스캐줄링방법의 흐름도.
도 2는 도1의 운영체제의 태스크 스캐줄링방법을 사용한 이동통신단말기의 개념도.
<도면의 주요부분에 대한 부호의 설명>
10: 이동통신단말기 12: 실시간 운영체제
14: 연산장치 16: 메모리
18: 디스플레이부 20: 안테나
본 발명은 운영체제의 태스크 스케줄링방법 및 이를 사용한 임베디드 시스템, 이동통신단말기에 관한 것이다.
일반적으로 운영체제는 하드웨어와 사용자 사이에 놓인 중간자 구실을 하는 프로그램의 집합을 의미했다. 운영체제는 시스템을 쉽게 사용할 수 있도록 지원하 고 하드웨어를 효율적으로 사용하는 방법을 지원하는 시스템 프로그램이었다.
한편, 실시간 운영체제(Real-Time Operating System, RTOS)는 주어진 특정 시간 내에 인터럽트를 처리하도록 보장하는 운영체제로, 이동통신단말기 등 임베디스 시스템과 같이 제한시간에 영향을 받는 응용프로그램이나 하드웨어를 제어하기에 적합한 운영체제이었다.
일반적인 실시간 운영체제는 특정 태스크를 중단시키고 다른 태스크를 수행할 수 있도록 하는 선점형 멀티태스킹(preempted multitasking)을 지원했다. 따라서, 실시간 운영체제는 태스크의 스케줄링, 태스크 간 통신 및 동기화, 인터럽트 처리, 실시간 클럭 관리 등이 시스템 특성에 맞도록 구현되어야 하였다.
특히, 종래 운영체제의 태스크 스케줄링방법은 태스크 집합에 대하여 각 태스크가 시간 제약 조건, 선행 관계 조건, 자원 요구 조건을 만족시킬 수 있도록 스케줄을 관리하였다.
그러나, 종래 운영체제의 태스크 스케줄링방법은 각 태스크가 시간 제약 조건, 선행 관계 조건, 자원 요구 조건을 모두 만족시킬 수 있도록 스케줄을 관리하므로 연산장치나 저장장치 등 공유자원의 소모전력에 대한 고려가 없거나 소모전력이 지나치게 많은 문제점이 있었다.
특히, 제품의 크기와 함께 배터리의 소모전력 또는 사용시간이 중요한 이동통신단말기와 같은 모바일 환경은 각 태스크가 각종 조건을 모두 만족시키면서 공유자원의 소모전력을 최소화할 수 있는 운용체제의 태스크 스케줄링방법의 필요성이 컸다.
이러한 종래의 문제점을 해결하기 위하여, 본 발명은, 각 태스크가 각종 조건을 만족시키면서 공유자원의 소모전력을 최소화할 수 있는 운용체제의 태스크 스케줄링방법 및 이를 적용한 임베디드 시스템을 제공하는데 그 목적이 있다.
또한, 본 발명은, 배터리의 소모전력 또는 사용시간이 중요한 모바일 환경에서 공유자원의 소모전력을 최소화할 수 있는 이동통신단말기를 제공하는데 또다른 목적이 있다.
이와 같은 목적을 달성하기 위하여 본 발명은, 운영체제에서 태스크를 실행할 경우 공유자원의 사용여부에 따라 태스크의 주파수를 조절하는 운영체제의 태스크 스케줄링방법을 제공한다.
이때, 운영체제는 실시간 운영체제일 수 있다.
또한, 태스크의 주파수는, 태스크가 공유자원을 사용할 경우 실제 실행시간을 적용한 가변주파수이며, 태스크가 공유자원을 사용하지 않을 경우 최악 실행기간을 적용한 가변주파수일 수 있다.
또한, 공유자원은 연산장치 또는 저장장치 중 어느 하나 또는 둘다일 수 있다.
한편, 태스크가 공유자원을 사용할 경우 최악 실행시간-실제 실행시간을 다음 태스크에 할당할 수 있다.
또한, 비주기적 태스크들이 발생할 때 비주기적 태스크 저장 버퍼에 잠시 대 기 상태로 있다가 선점 영역에서 주기 태스크들이 조기 종료하는 경우 남은 시간만큼 할당받아 비주기 태스크를 수행할 수 있다.
또다른 측면에서 본 발명은 위에서 설명한 태스크의 스케줄링방법을 사용한 운영체제가 탑재된 임베디스 시스템 또는 이동통신단말기를 제공한다.
이하, 도면을 참조하여 본 발명의 일실시예에 따른 운영체제의 태스크 스케줄링방법 및 이동통신단말기를 상세히 설명한다.
본 발명의 일실시예에 따른 운영체제의 태스크 스캐줄링방법은 운영체제에서 태스크를 실행할 경우 공유자원의 사용여부에 따라 태스크의 주파수를 조절한다. 여기서 태스크(task)란 특정한 기능을 수행하는 프로그램으로, 운영체제에서 스캐줄 관리의 대상이 된다. 특히, 태스크의 스캐줄 관리가 필요한 운영체제는 실시간 운영체제(Real-Time Operating System, RTOS) 또는 실시간 운영시스템이다.
도 1은 본 발명의 일실시예에 따른 운영체제의 태스크 스캐줄링방법의 흐름도이다.
도 1을 참조하면, 본 발명의 일실시예에 따른 운영체제의 태스크 스캐줄링방법은 CPU나 MCU와 같은 연산장치가 여러 개의 다양한 특성을 갖는 태스크를 동시에 처리하기 위해 태스크들을 스케줄링한다(S10).
이때 태스크들의 스케줄링은 태스크들에 대한 각 태스크가 시간 제약 조건, 선행 관리 조건, 자원 요구 조건들을 모두 만족시킬 수 있어야 한다.
다음으로, 스캐줄링된 태스크를 실행한다(S12). 이때 태스크는 연산장치나 메모리 등 공유자원을 사용할 수도 있고 사용하지 않을 수도 있다.
다음으로, 태스크가 공유자원의 사용여부를 판단한다(S14). 태스크가 공유자원을 사용할 경우 태스크의 실제 실행 시간을 적용한 가변주파수를 할당한다(S16). 즉, 태스크의 종료시한(deadline)까지 시간을 최악 실행 시간((worst case execution time)이라 할 때 공유자원을 사용하는 태스크는 실제 실행 시간을 적용한 가변주파수를 할당하여 실제 실행 시간에 실행을 완료한다. 따라서, (최악 실행 시간-실제 실행 시간)을 다음 태스크 또는 다른 태스크에 시간 할당할 수 있다.
그리고 비주기적 태스크들이 발생할 때 비주기적 태스크 저장 버퍼에 잠시 대기 상태로 있다가 선점(preempted) 영역에서 주기 태스크들이 조기 종료하는 경우 남은 시간만큼 할당받아 비주기 태스크를 수행한다.
반대로, 태스크가 공유자원을 사용하지 않을 경우 최악 실행 시간을 적용한 가변주파수를 할당한다(S18). 결과적으로 태스크의 충분한 실행 시간이 적용되므로, 최악 실행 시간까지 태스크의 주파수를 낮추어 연산장치의 공급 전압을 낮출 수 있다. 이와 같이 태스크의 주파수와 공급 전압을 낮추므로 공급 전압의 제곱에 비례하여 소모 전력을 낮출 수 있다.
마지막으로, 태스크의 종료 여부를 판단한다(S20). 태스크를 종료하지 않을 경우 태스크 실행 단계(S12)를 반복한다.
도 2는 도1의 운영체제의 태스크 스캐줄링방법을 사용한 이동통신단말기의 개념도.
도 2를 참조하면, 본 발명의 일실시예에 따른 이동통신단말기(10)은 위에서 설명한 태스크의 스캐줄링방법을 사용한 실시간 운영체제(RTOS, 12)를 탑재하고 있 다.
실시간 운영체제(12)는, 예를 들어 디스플레이부(18)에 영상을 표시할 경우, 안테나(20)와 같은 입력수단 또는 센서로부터 전달되는 영상데이터를 연산장치(MCU, 14)가 처리하여 그 결과를 디스플레이부(18)의 구동장치나 메모리(16)에 전달하여 최악 실행 시간 전에 영상을 표시하거나 영상데이터를 저장한다.
이때 실시간 운영체제(12)는 영상처리 태스크가 연산장치(14)나 메모리(16)와 같은 공유자원을 사용하고 있으므로 태스크에 실제 실행 시간을 적용한 가변 주파수를 할당한다. 실시간 운영체제(12)는 해당 태스크의 (최악 실행 시간-실체 실행 시간)을 다음 태스크 또는 다른 태스크에 시간 할당한다.
그리고 비주기적 태스크들이 발생할 때 비주기적 태스크 저장 버퍼에 잠시 대기 상태로 있다가 선점(preempted) 영역에서 주기 태스크들이 조기 종료하는 경우 남은 시간만큼 할당받아 비주기 태스크를 수행한다.
만약, 실시간 운영체제(12)는 태스크가 공유자원을 사용하지 않을 경우 도1을 참조하여 설명한 바와 같이 태스크에 최악 실행 시간을 적용한 가변 주파수, 즉 낮은 주파수를 할당한다. 이때 태스크의 실행 주파수를 낮추므로 소모전력을 낮출 수 있다.
이와 같이 이동통신단말기(10)는 태스크의 공유자원 여부에 따라 실행 시간 또는 실행 주파수를 조절하여 결과적으로 소모전력을 낮출 수 있다.
이상 도면을 참조하여 본 발명의 일실시예를 설명하였으나 본 발명은 이에 제한되지 않는다.
위 실시예에서, 태스크의 공유자원의 사용여부에 따라 가변주파수를 할당하는 이동통신단말기를 설명하였으나, 본 발명은 이동통신단말기 뿐만 아니라 모든 임베디스 시스템(embeded system)에 적용할 수 있다.
위 실시예에서, 태스크의 공유자원으로 연산장치나 메모리 등을 설명하였으나, 본 발명은 운영체제가 사용하는 모든 공유자원을 포함한다.
위에서 설명한 바와 같이, 본 발명은, 각 태스크가 각종 조건을 만족시키면서 공유자원의 소모전력을 최소화할 수 있는 효과가 있다.
또한, 본 발명은, 배터리의 소모전력 또는 사용시간이 중요한 모바일 환경에서 공유자원의 소모전력을 최소화할 수 있는 효과도 있다.

Claims (8)

  1. 운영체제에서 태스크를 실행할 경우 공유자원의 사용여부에 따라 상기 태스크의 주파수를 조절하는 운영체제의 태스크 스케줄링방법.
  2. 제1항에 있어서,
    상기 운영체제는 실시간 운영체제인 것을 특징으로 하는 운영체제의 태스크 스케줄링방법.
  3. 제2항에 있어서,
    상기 태스크의 주파수는, 상기 태스크가 공유자원을 사용할 경우 실제 실행시간을 적용한 가변주파수이며, 상기 태스크가 공유자원을 사용하지 않을 경우 최악 실행기간을 적용한 가변주파수인 것을 특징으로 하는 운영체제의 태스크 스케줄링방법.
  4. 제3항에 있어서,
    상기 공유자원은 연산장치 또는 저장장치 중 어느 하나 또는 둘다인 것을 특징으로 하는 운영체제의 태스크 스케줄링방법.
  5. 제3항에 있어서,
    상기 태스크가 상기 공유자원을 사용할 경우 최악 실행시간-실제 실행시간을 다음 태스크에 할당하는 것을 특징으로 하는 운영체제의 태스크 스케줄링방법.
  6. 제5항에 있어서,
    비주기적 태스크들이 발생할 때 비주기적 태스크 저장 버퍼에 잠시 대기 상태로 있다가 선점 영역에서 주기 태스크들이 조기 종료하는 경우 남은 시간만큼 할당받아 비주기 태스크를 수행하는 것을 특징으로 하는 운영체제의 태스크 스케줄링방법.
  7. 제1항 내지 제6항 중 어느 하나의 태스크의 스케줄링방법을 사용한 운영체제가 탑재된 임베디스 시스템.
  8. 제1항 내지 제6항 중 어느 하나의 태스크의 스케줄링방법을 사용한 운영체제가 탑재된 이동통신단말기.
KR1020050093640A 2005-10-05 2005-10-05 이동통신단말기의 운영체제의 태스크 스케줄링방법 KR20070038384A (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020050093640A KR20070038384A (ko) 2005-10-05 2005-10-05 이동통신단말기의 운영체제의 태스크 스케줄링방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020050093640A KR20070038384A (ko) 2005-10-05 2005-10-05 이동통신단말기의 운영체제의 태스크 스케줄링방법

Publications (1)

Publication Number Publication Date
KR20070038384A true KR20070038384A (ko) 2007-04-10

Family

ID=38159758

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020050093640A KR20070038384A (ko) 2005-10-05 2005-10-05 이동통신단말기의 운영체제의 태스크 스케줄링방법

Country Status (1)

Country Link
KR (1) KR20070038384A (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100953099B1 (ko) * 2007-12-26 2010-04-19 전자부품연구원 소형 저전력 임베디드 시스템 및 그의 선점 회피 방법

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100953099B1 (ko) * 2007-12-26 2010-04-19 전자부품연구원 소형 저전력 임베디드 시스템 및 그의 선점 회피 방법

Similar Documents

Publication Publication Date Title
US9904576B2 (en) Method and apparatus implemented in processors for real-time scheduling and task organization based on response time order of magnitude
US10733032B2 (en) Migrating operating system interference events to a second set of logical processors along with a set of timers that are synchronized using a global clock
TWI233545B (en) Mechanism for processor power state aware distribution of lowest priority interrupts
US9883506B2 (en) Apparatus and methods for a bandwidth efficient scheduler
EP2885707B1 (en) Latency sensitive software interrupt and thread scheduling
US6622253B2 (en) Controlling processor clock rate based on thread priority
US6823517B1 (en) Multi-tasking-real-time operating system for microprocessors with limited memory that constrains context switching to occur only at task level
US6957432B2 (en) Real-time scheduler
US7191446B2 (en) Method for resource management in a real-time embedded system
US10248456B2 (en) Method and system for providing stack memory management in real-time operating systems
US10108449B2 (en) Work item management among worker threads of a computing device
CN113037538A (zh) 分布式资源管理中低时延节点本地调度的系统和方法
US7565659B2 (en) Light weight context switching
US7096471B2 (en) Apparatus for resource management in a real-time embedded system
Kang et al. Priority-driven spatial resource sharing scheduling for embedded graphics processing units
KR20070038384A (ko) 이동통신단말기의 운영체제의 태스크 스케줄링방법
KR100953099B1 (ko) 소형 저전력 임베디드 시스템 및 그의 선점 회피 방법
CN109426556B (zh) 一种进程调度方法和装置
Parikh et al. Performance parameters of RTOSs; comparison of open source RTOSs and benchmarking techniques
US20230108234A1 (en) Synchronous labeling of operational state for workloads
KR100676671B1 (ko) 유저 쓰레드 관리 장치 및 그 방법
Keate DSP Systems
Kabilesh et al. Resemblance of Real Time Scheduling Algorithms for Real Time Embedded Systems
Caprani et al. Implementation of real-time scheduling algorithms in a transputer environment
KR100324264B1 (ko) 실시간운영체제의인터럽트마스킹방법

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E601 Decision to refuse application