Abstract
In recent years, embedded systems have been expanding their application domains from traditional applications (such as defense, robots, and artificial satellites) to portable devices which execute more complicated applications such as cellular phones, digital camcoders, PMPs, and MP3 players. So as to manage restricted hardware resources efficiently and to guarantee both temporal and logical correctness, every embedded system use a real-time operating system (RTOS). Only when the RTOS makes kernel services deterministic in time by specifying how long each service call will take to execute, application programers can write predictable applications. Moreover, so as for an RTOS to be deterministic, its scheduling and context switch overhead should also be predictable. In this paper, we present the complete generalized algorithm to determine the highest priority in the ready list with 22r levels of priorities in a constant time without additional memory overhead.
오늘날의 내장형 시스템은 군사 무기체계, 로봇, 인공위성 등과 같이 전통적인 내장형 시스템에서 휴대폰, 디지털 캠코더, PMP, MP3플레이어와 같은 보다 복잡한 응용프로그램 구동을 필요로 하는 휴대용 시스템으로 그 영역을 넓혀가고 있다. 이런 내장형 실시간 시스템은 내장형 시스템의 한정된 자원을 효율적으로 관리하고 시간적 논리적 정확성을 보장하기 위해 실시간 운영체제를 사용한다. 실시간 운영체제의 서비스를 통해 응용프로그래머는 응용프로그램을 구성하는 각 태스크가 시간 결정성에 위배되지 않도록 응용프로그램을 구현할 수 있다. 더욱이, 실시간 운영체제는 시간 결정성 보장을 위해 스케줄링과 문맥교환에 사용되는 시간을 예측할 수 있어야 한다. 본 논문에서는 추가적인 메모리 오버헤드 없이 22r 레벨의 우선순위를 갖는 시스템에서 고정 상수 시간 내에 가장 높은 우선순위를 갖는 태스크를 결정할 수 있는 알고리즘에 대해 기술한다.