초록
실시간 운영체제는 효율적인 스케줄링, 최소화된 인터럽트 지연, 우선순위 역전현상 해결 등의 다양한 조건을 만족시킴과 동시에, 응용프로 그램이 정해진 기한 내에 수행되는 것을 보장하여야 한다. 따라서 실시간 운영체제는 상기 조건을 만족시킬 수 있도록 설계/개발되어야 한다. 대중적인 실시간 커널의 한 종류인 MicroC/OS-II에서는 우선순위 역전 현상에 대한 해결 기법으로 뮤텍스(Mutex)를 사용한 기본적인 우선순 위 상속(Basic Priority Inheritance) 프로토콜을 사용한다. 뮤텍스를 구현하려면 우선순위가 같은 여러 태스크를 사용할 수 있도록 커널이 지원 해야 하나 MicroC/OS-II 운영체제는 우선순위가 같은 여러 태스크의 동시 사용을 지원하지 않는다. 이를 해결하기 위해 추가적인 우선순위 예 약을 사용할 수밖에 없게 되고, 결과적으로 제한된 우선순위 자원을 낭비하게 된다. 본 논문에서는 MicroC/OS-II의 불필요한 우선순위 자원을 낭비하는 문제점을 해결할 수 있는 일시적 우선순위 교환 프로토콜(Temporary Priority Swapping Protocol; TPSP)을 설계 및 구현하여, 한정 된 자원 환경을 가진 임베디드 장비에 효율적으로 운용되도록 하는데 목적을 둔다.
Real-time operating systems must have satisfying various conditions such as effective scheduling policies, minimized interrupt delay, resolved priority inversion problems, and its applications to be completed within desired deadline. The real-time operating systems, therefore, should be designed and developed to be optimal for these requirements. MicroC/OS-II, a kind of Real-time operating systems, uses the basic priority inheritance with a mutex to solve priority inversion problems. For the implementation of mutex, the kernel in an operating system should provide supports for numerous tasks with same priority. However, MicroC/OS-II does not provide this support for the numerous tasks of same priority. To solve this problem, MicroC/OS-II cannot but using priority reservation, which leads to the waste of unnecessary resources. In this study, we have dealt with new design a protocol, so called TPSP(Temporary Priority Swap Protocol), by an effective solution for above-mentioned problem, eventually enabling embedded systems with constrained resources environments to run applications.