임베디드 운영체제의 스케줄링 프리미티브를 고려한 정적 최악실행시간 분석도구

Static Worst-Case Execution Time Analysis Tool for Scheduling Primitives about Embedded OS

  • 박현희 (숭실대학교 컴퓨터학과) ;
  • 양승민 (숭실대학교 컴퓨터학부) ;
  • 최용훈 (한국전자통신연구원 임베디드S/W연구단)
  • 발행 : 2007.10.31

초록

임베디드 운영체제에서의 실시간성 지원은 현대 임베디드 시스템에서 추가사항이 아니라 필수사항이다. 이러한 임베디드 운영체제가 사용되는 시스템의 실시간성 지원을 충족하기 위해서는 시스템 내 실시간성이 요구되는 태스크들의 스케줄링 가능성 여부가 중요하며, 이를 시스템 수행 전 검증해야 할 필요가 있다. 스케줄링 가능성 분석에서 핵심적인 부분 중의 하나는 태스크의 최악실행시간을 구하는 것이다. 기존의 최악실행시간 분석도구들은 일반적인 응용 태스크 즉, 응용 프로그램의 최악실행시간을 위주로 분석하였기 때문에 응용 프로그램들이 운영체제에 의해 스케줄링시 영향을 받는 운영체제의 스케줄링 관련 프리미티브들(스케줄러, 인터럽트 서비스 루틴등)에 대한 고려는 전혀 하지 않고 있다. 본 논문에서는 임베디드 운영체제 중에 널리 사용하고 있는 임베디드 리눅스가 사용되는 임베디드 시스템에서의 스케줄링 관련 프리미티브들을 고려하는 최악실행시간 분석 도구를 설계하고 구현한다. 이 분석도구는 일반적인 응용 프로그램 뿐만 아니라 임베디드 리눅스 커널내의 스케줄링에 영향을 미치는 관련 프리미티브들의 최악실행시간을 분석하여 스케줄링 분석의 정확성을 더욱 더 높인다. 이 도구는 현재 임베디드 환경에서 통합개발환경으로 제작된 이클립스(Eclipse)의 플러그인 형태로 개발되어 어떠한 플랫폼에서도 동작 가능하고 사용자가 사용하기에 편리한 인터페이스 및 기능을 제공할 수 있도록 구현한다.

Real-time support of embedded OS is not optional, but essential in contemporary embedded systems. In order to achieve these system#s real-time property, it is crucial that schedulability analysis for tasks having its property have been accomplished before system execution. Acquiring Worst-Case Execution Time(WCET) of task is a core part of schedulability analysis. Because traditional WCET tools analyze only its estimation of application task(i.e. program), it is not considered that application tasks are affected by scheduling primitives(e.g. scheduler, interrupt service routine, etc.) of OS when it schedules them. In this paper, we design and implement WCET analysis tool which deliberates on scheduling primitives of system using embedded Linux widely used in embedded OSes. This tool can estimate either WCET of normal application programs or corresponding primitives which have an influence on schduling property in embedded Linux kernel. Therefore, precision of estimation about schedulability analysis is improved. We develop this tool as Eclipse#s plug-in to work properly in any platform and support convenient interface or functionality for user.

키워드

참고문헌

  1. Eclipse Project, http://www.eclipse.org/
  2. P.Puschener and A.Burns, 'A review of worst-case execution-time analysis, Real-Time Systems,' Guest Editorial 18(2-3), pp. 115-128, May 2000
  3. A.Colin, I. Puaut, 'A modular and retargetable framework for tree-based wcet analysis,' In Proc. 13th Euromicro Conference of Real-Time Systems (ECRTS' 01), June 2001
  4. RTEMS(Real-Time Executive for Multiprocessor Systems), home page: http://www.rtems.com/
  5. A.Colin, I. Puaut, 'A modular and retargetable framework for tree-based wcet analysis,' In Proc. 13th Euromicro Conference of Real-Time Systems (ECRTS' 01), June 2001
  6. M. Carlsson, J. Engblom, A. Ermedahl, J. Lindblad, B. Lisper, 'Worst-Case Execution Time Analysis of Disable Interrupt Regions in an Commercial Real-Time Operating System,' In Proc. 2nd International Workshop on Real-Time Tools (RTTOOLS' 2002), 2002
  7. Enea, Enea Embedded Technology, homepage: http://www.enea.com
  8. D. Sandell, A. Ermedahl, J. Gustafsson, B. Lisper, 'Static Timing Analysis of Real-Time Operating System Code,' 1st International Symposium on Leveraging Applications of Formal Methods (ISOLA' 04), Cyprus, 2004
  9. Alfred V.Aho, Ravi Sethi, Jeffrey D. Ullman, 'Compilers - Principles, Techniques, and Tools,' pp. 528-529, Addison-Wesley, 1988
  10. Alfred V.Aho, Ravi Sethi, Jeffrey D. Ullman, 'Compilers - Principles, Techniques, and Tools,' p466, Addison-Wesley, 1988
  11. Javacc Home, https://javacc.dev.java.net/
  12. Intel PXA27x Processor Family Developer's Manual, Intel, 2004
  13. GNU GCC Extension, http://gcc.gnu.org/extensions.html