Design and Implementation of Recursive Semaphore for Real-Time Operating Systems

실시간 운영 체제에서 Recursive Semaphore 설계 및 구현

  • Lee Won-Yong (Dept of Computer Engineering, Chungnam National University) ;
  • Kim Yong-Hee (Dept of Computer Engineering, Chungnam National University) ;
  • Son Pi1-Chang (Dept of Computer Engineering, Chungnam National University) ;
  • Lee Cheol-Hoon (Dept of Computer Engineering, Chungnam National University)
  • 이원용 (충남대학교 컴퓨터공학과) ;
  • 김용희 (충남대학교 컴퓨터공학과) ;
  • 손필창 (충남대학교 컴퓨터공학과) ;
  • 이철훈 (충남대학교 컴퓨터공학과)
  • Published : 2005.11.01

Abstract

실시간 시스템의 개발 및 운영에 사용되는 실시간 운영체제는 여러 개의 태스크가 동시에 작업할 수 있는 멀티태스킹 환경과 각 태스크에 우선순위를 부여하여 가장 높은 우선순위의 태스크가 CPU 를 선점하는 스케줄링 방법, 그리고 태스크간 동기화 및 통신을 위한 메커니즘을 제공하고 있다. 또한 여러 태스크들에 의해 사용되는 공유자원을 관리하기 위해 세마포어(Semaphore)를 사용하여 태스크간 동기화를 제공한다. 그러나 하나의 태스크가 세마포어를 이용하여 공유자원에 대해 여러 번 접근 할 경우, 데드락(Deadlock)을 일으킬 소지가 많다. 본 논문에서는 실시간 운영체제인 $iRTOS^{TM}$ 에서 데드락을 방지하기 위한 재귀적 세마포어(Recursive Semaphore)를 설계 및 구현하였다.

Keywords