실시간 내장 멀티태스킹 커널의 개발에 재사용 가능한 객체지향 커널 프레임워크의 설계 및 구현

Design and Implementation of An Object-Oriented Kernel Framework Reusable for the Development of Real-Time Embedded Multitasking Kernels

  • 이준섭 (한국전자통신연구원 표준연구센터) ;
  • 전태웅 (고려대학교 자연과학부) ;
  • 이승룡 (경희대학교 전자정보학부)
  • 발행 : 2000.04.30

초록

실시간 내장 시스템은 운용 환경과 용도에 따라 멀티태스킹 커널이 지원해야 할 하드웨어 플랫폼과 자원 관리 정책이 다양하게 달라진다. 실시간 내장 시스템에 요구되는 크기와 성능 상의 제약 조건들을 엄격하게 만족해야 하는 멀티태스킹 커널을 새로운 시스템 서비스나 하드웨어에 맞게 개조하는 것은 쉽지 않다. 본 논문은 마이크로 프로세서 기반의 실시간 내장 멀티태스킹 커널의 구현에 재사용 가능한 객체지향 커널 프레임워크의 프로토타입을 객체 합성과 클래스 상속 메커니즘에 의거한 프레임워크 설계 패턴들을 적용하여 개발한 사례를 설명한다. 본 커널 프레임워크는 필요한 커널을 프레임워크의 개조와 확장을 통하여 효율적이고 일관성있게 생성할 수 있도록 하드웨어 환경과 시스템 자원 관리 정책에 의존적인 부분들이 프레임워크의 가변 부위(hot spot)로 분리된 추상 클래스들로 설계되어 있어서 높은 이식성과 개조성이 요구되는 마이크로 프로세서 기반 실시간 내장형 멀티태스킹 커널의 구현에 효과적으로 사용될 수 있다.

Real-time embedded systems should accommodate many kinds of hardware platforms and resource management policies that vary depending on their operating environments and purposes. It is not an easy job to adapt a multitasking kernel to new system services and hardware platforms, as the kernel must strictly satisfy constraints on its size and performance. This paper describes the design and implementation of an object-oriented multitasking framework that can be reused for implementing microprocessor-based real-time embedded multitasking kernels, In this kernel framework, those parts that can vary depending on hardware platforms and system resource management policies are separated into the hot spots and encapsulated by abstract classes. Our framework thus can be effectively used to implement microprocessor-based real-time embedded kernels that demand high portability and adaptability.

키워드

참고문헌

  1. R. Moore, 'How to Use Real-Time Multitasking Kernel In Embedded Systems,' Micro Digital Associates, Inc., 1995
  2. J. F. Bortolotti, et al., 'RTMK : A Real-Time MicroKernel,' Dr. Dobb's Journal, May 1994
  3. R. E. Johnson, 'Frameworks = (Components + Patterns),' Communications of the ACM, Oct. 1997, pp. 39-42 https://doi.org/10.1145/262793.262799
  4. W. Pree, Design Patterns for Object-Oriented Software Development, Addison-Wesley, 1995
  5. H. A. Schmid, 'Systematic Framework Design by Generalization,' Communications of the ACM, Oct. 1997, pp. 48-51 https://doi.org/10.1145/262793.262803
  6. J. J. Labrosse, ${\mu}$C/OS The Real-Time Kernel, R&D Publications, 1992
  7. E. Gamma, et al., Design Patterns : Elements of Reusable Object-Oriented Software, Addison-Wesley, 1995
  8. 'RTOS Buyer Guide,' http://www.realtime-info.be/encyc/market/rtos/rtos.htm
  9. 'rtos free or must have resources,' http://www.eg3.com/real/freertos.htm
  10. M. E. Fayad and D. C. Schmidt, 'Object-Oriented Application Frameworks,' Communications of the ACM, Oct. 1997, pp. 32-38 https://doi.org/10.1145/262793.262798
  11. K. Gibson, 'C++ Multitasking Class Library,' Dr. Dobb's Journal, May 1994, pp. 28-34
  12. J. A. Joins, 'Multitasking Classes,' http://www.eos.ncsu.edu/eos/info/ie/ie307_info/www/guide.dir/node42.html
  13. R.H. Campbell, N. Islam, P. Madany, 'Choices, Frameworks and Refinement,' Computing Systems, 5(3), 1992
  14. T. Quatrani, Visual Modeling with Rational ROSE and UML, Addison Wesley Longman, Inc., 1998
  15. J. Rumbaugh, et al., The Unified Modeling Language Reference Manual, Addison-Wesley, 1999