KR20070038384A - 이동통신단말기의 운영체제의 태스크 스케줄링방법 - Google Patents
이동통신단말기의 운영체제의 태스크 스케줄링방법 Download PDFInfo
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 31
- 238000010295 mobile communication Methods 0.000 claims description 14
- 230000000737 periodic effect Effects 0.000 claims description 6
- 239000012536 storage buffer Substances 0.000 claims description 4
- 238000010586 diagram Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 238000004891 communication Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 239000000543 intermediate Substances 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/32—Means for saving power
- G06F1/3203—Power management, i.e. event-based initiation of a power-saving mode
- G06F1/3234—Power saving characterised by the action undertaken
- G06F1/329—Power saving characterised by the action undertaken by task scheduling
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline or look ahead
- G06F9/3836—Instruction issuing, e.g. dynamic instruction scheduling or out of order instruction execution
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4843—Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
- G06F9/4881—Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
- G06F9/4887—Scheduling 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
도 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항에 있어서,상기 태스크의 주파수는, 상기 태스크가 공유자원을 사용할 경우 실제 실행시간을 적용한 가변주파수이며, 상기 태스크가 공유자원을 사용하지 않을 경우 최악 실행기간을 적용한 가변주파수인 것을 특징으로 하는 운영체제의 태스크 스케줄링방법.
- 제3항에 있어서,상기 공유자원은 연산장치 또는 저장장치 중 어느 하나 또는 둘다인 것을 특징으로 하는 운영체제의 태스크 스케줄링방법.
- 제3항에 있어서,상기 태스크가 상기 공유자원을 사용할 경우 최악 실행시간-실제 실행시간을 다음 태스크에 할당하는 것을 특징으로 하는 운영체제의 태스크 스케줄링방법.
- 제5항에 있어서,비주기적 태스크들이 발생할 때 비주기적 태스크 저장 버퍼에 잠시 대기 상태로 있다가 선점 영역에서 주기 태스크들이 조기 종료하는 경우 남은 시간만큼 할당받아 비주기 태스크를 수행하는 것을 특징으로 하는 운영체제의 태스크 스케줄링방법.
- 제1항 내지 제6항 중 어느 하나의 태스크의 스케줄링방법을 사용한 운영체제가 탑재된 임베디스 시스템.
- 제1항 내지 제6항 중 어느 하나의 태스크의 스케줄링방법을 사용한 운영체제가 탑재된 이동통신단말기.
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)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100953099B1 (ko) * | 2007-12-26 | 2010-04-19 | 전자부품연구원 | 소형 저전력 임베디드 시스템 및 그의 선점 회피 방법 |
-
2005
- 2005-10-05 KR KR1020050093640A patent/KR20070038384A/ko not_active Application Discontinuation
Cited By (1)
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 |