프로그램의 복잡화와 대규모프로그램의 등장으로 다중작업을 분할하여 소규모 단위의 타스크(Task)로 나누고, 각각의 타스크를 우선순위에 따라 스케쥴링을 수행해야하는 요구가 점점 확대되고 있다. 또한, 프로그램 개발환경의 다양화로 인하여 프로그램을 구현하다 보면 여러가지의 환경조건에 맞추어 개발하게 된다. 예를 들어, 임베디드(Embedded) 환경인지 윈도우즈(Windows) 환경인지에 따라 프로그램 개발이 달라지고, 운영체제의 사용에 따라서도 제약사항을 가져오는 경우가 많다. 이에 본 논문에서는 개발환경과 운영체제에 독립적으로 다중작업 분할처리를 수행할 수 있는 적응형 스케쥴링 기법을 제시한다.
본 논문에서 제시하고자 하는 스케줄링 기법은 운용체제가 있는 환경의 경우는 운용체제가 제공하는 스케쥴러와는 별도로 어플리케이션(Application) 내에서의 다중작업 분할처리를 수행하고, 운용체제가 없는 환경에서는 임베디드 시스템에서 운영체제의 스케쥴러 역할을 대신할 수 있는 적응형 스케쥴링 기법이다. 적응형 스케쥴링 기법은 어플리케이션 또는 미들웨어(Middleware) 내에서 하나의 독립적인 모듈로 존재하며, 이를 사용하여 다중 스케쥴링을 구성할 수 있다. 적응형 스케쥴링 기법은 이벤트 전달 수단인 큐(Queue)를 중심으로 한 스케쥴링 방식으로 라운드로빈(Round-robin)과 우선순위 스케쥴링 알고리즘을 제공한다. 사용자가 처리해야 할 메시지와 처리할 타스크를 등록하고 스케쥴링 방식을 설정하여 실행하면, 설정된 스케쥴링이 실행되고 단순히 메시지를 전달하는 것만으로 스케쥴링을 진행할 수 있다. 본 논문에서는 적응형 스케쥴링 기법에 적용되는 알고리즘에 대한 설명 및 구현과 검증 후 적용한 사례에 대한 내용을 다룬다.