An Approach for Supporting Real-Time Scheduling in the Unix Evironment

Unix 환경에서 실시간 스케쥴링을 지원하기 위한 접근 방안

  • 김상욱 (강원대학교 정보통신학과) ;
  • 김진호 (강원대학교 전자계산학과) ;
  • 김대용 (강원대학교 전자계산학과) ;
  • 이승선 (한국전자통신연구원 실시간 DBMS팀 연구원) ;
  • 최완 (한국전자통신연구원 실시간 DBMS팀 연구원)
  • Published : 1999.02.01

Abstract

태스크의 마감 시간을 고려하지 않는 시분할 스케쥴링 방식으로 인하여 범용 운영 체제는 실시간 시스템을 개발하는데 적합하지 않다고 알려져 있다. 그러나 범용 운영 체제상에서 실시간 스케쥴링을 지원할수 있다면 개발된 시스템은 높은 이식성, 훌륭한 개발환경의 활용, 그리고 개발된 시스템을 위한 낮은 유지 보수 및 보수 비용 등 범용 운영 체제 고유의 중요한 장점들을 얻을 수있다. 본 논문에서는 범용 운영 체제인 Unix 상에 태스크의 마감 시간을 고려함으로써 실시간 고려함으로써 실시간 스케쥴링을 지원할 수 있는 새로운 기법을 제안한다. 제안된 기법은 특수한 태스크인 스케쥴링 데몬이 수행되는 실시간 태스크들 중 마감 시간이 가장 임박한 하나만을 수행 준비 상태로만들고, 그 외의 다른 시릿간 태스크들은 모두 수면 상태에 있도록 만드는 방식을 사용한다. 따라서 Unix 스케쥴러는 항상 유일한 태스크만을 스케쥴링의 대상으로하므로 시분할 방식의 Unix 스케쥴링 전략을 바이패스할 수 있으며, 이 결과 스케쥴링 데몬의 전략에 의하여 모든 실시간 태스크들을 스케쥴링 할 수 있다. 본 연구에서는 제안된 실시간 스케쥴링 데몬 기법을 Unix상에서 구현하였으며, C 언어 라이브러리 함수 형태의 API를 제공함으로써 실시간 시스템 개발자가 쉽게 시스템을 개발할수 있는 플랫폼을 구축하였다. 또한 실험을 통하여 이용한 성능 분석을 통하여 기존의 기법들과 비교한 제안된 기법의 우수성을 보였다.

Keywords