Priority Ceiling Protocol을 이용한 Mutual Exclusion Semaphore 설계 및 구현

Design and Implementation of Mutual Exclusion Semaphores Using The Priority Ceiling Protocol

  • 안희중 (충남대학교 컴퓨터 공학과) ;
  • 박희상 (충남대학교 컴퓨터 공학과) ;
  • 이철훈 (충남대학교 컴퓨터 공학과)
  • Ahn, Hee-Joong (Dept. of Computer Engineering, Chung-Nam National University) ;
  • Park, Hee-Sang (Dept. of Computer Engineering, Chung-Nam National University) ;
  • Lee, Cheol-Hoon (Dept. of Computer Engineering, Chung-Nam National University)
  • 발행 : 2002.11.15

초록

실시간 시스템의 개발 및 운영에 사용되는 실시간 운영체제는 여러 개의 태스크가 동시에 작업할 수 있는 멀티태스킹 환경과 각 태스크에 우선순위를 부여하여 가장 높은 우선순위의 태스크가 CPU 를 선점하는 스케줄링 방법, 태스크간 동기화 및 통신을 위한 메커니즘을 제공하고 있다. 그리고 여러 태스크들에 의해 사용되는 공유자원을 관리하기 위해 세마포어를 사용하여 태스크간에 동기화를 제공한다. 하지만 세마포어만으로 공유자원을 관리하게 되면 더 높은 우선순위의 태스크가 실행 준비 되어 있음에도 불구하고 상대적으로 낮은 우선순위의 태스크가 CPU 를 선점하는 우선순위 역전이 발생하여 실시간 운영체제의 핵심인 시간 결정성을 만족하지 못해 시스템에 심각한 문제를 발생 시킬 수 있다. 본 논문에서는 실시간 운영체제인 $iRTOS^{TM}$에서 우선순위 역전을 예방하기 위한 방법중 하나인 Priority Ceiling Protocol을 이용한 Mutual Exclusion Semaphore를 설계하고 구현한 내용을 기술한다.

키워드