DOI QR코드

DOI QR Code

Middleware to Support Real-Time in the Linux User-Space

리눅스 사용자 영역에 실시간성 제공을 위한 미들웨어

  • Received : 2015.12.29
  • Accepted : 2016.01.29
  • Published : 2016.05.28

Abstract

Linux it self does not support real-time. To solve this problem RTiK-Linux was designed to support real-time in the kernel space. However, since the user space does not support real-time, it is not easy to develop application. In this paper, we designed and implemented a RTiK-middleware to support real-time in the user space. RTiK-middleware provides real-time scheduling for user space through signal request period after to register process information with request period using apis on application. To evaluate the performance of the proposed RTiK-middleware, we measured the periods of generated real-time threads using RDTSC instructions, and verified that RTiK-middleware operates correctly within the error ranges of 1ms.

리눅스는 범용 운영체제로 스케줄링 특성 상 실시간성을 제공할 수 없는 단점이 있으며, 이를 해결하기 위해 RTiK-Linux을 통해 커널 영역에 실시간성을 지원했다. 하지만 RTiK-Linux 개발 초기 단계로 사용자 영역을 지원하지 않아 실시간성을 요구하는 응용프로그램 개발에 어려움이 있다. 본 논문에서는 RTiK-Linux를 개선하여 사용자 영역에 실시간성을 제공하는 RTiK미들웨어를 설계 및 구현한다. RTiK 미들웨어는 응용 프로그램에서 프로세스 정보와 요청 주기 등록한 뒤, 시그널을 통해 요청한 주기에 따라 사용자 영역에 API를 통해 실시간성을 제공한다. 구현한 RTiK미들웨어의 성능 검증 및 평가를 위해 RDTSC 명령어를 사용하여 생성된 실시간 쓰레드의 주기를 측정하였고, 유저 영역의 1ms 주기에서 오차 범위 내에서 정상 동작함을 확인하였다.

Keywords

References

  1. http://marketshare.hitslink.com, 2015.12.01
  2. "공개 SW 활성화 정책 토론회," 국가정책토론회, 2014.06.25.
  3. M. Tim Jones, Inside the Linux 2.6 Completely Fair Scheduler, IBM developerWorks, 2009.
  4. Rover Love, Linux Kernel Development (3rd Edition), Addison-Wesley, 2011.
  5. 로버트 러브 저, 황정동 역, 리눅스 커널 심층 분석, 에어콘출판, 2013.
  6. 김주만, 송창인, 이철훈, "RTiK-Linux: 리눅스용 실시간 이식 커널의 설계," 한국콘텐츠학회논문지, 제11권, 제9호, 2011.
  7. 주민규, 이진욱, 김종진, 조한무, 박영수, 이철훈, "x86 기반의 윈도우 상에서 실시간성 지원 방법," 한국차세대컴퓨팅학회논문지, 제11권, 제4호, 2011.
  8. 조아라, 송창인, 이철훈, "윈도우즈 상에서 실시간 디바이스 드라이버를 위한 통합 미들웨어," 한국콘텐츠학회논문지, 제13권, 제3호, 2013.
  9. 박지윤, 조아라, 김효중, 최정현, 허용관, 조한무, 이철훈, "태블릿 PC 환경의 실시간 처리 기능 지원," 한국콘텐츠학회논문지, 제13권, 제11호, 2013.
  10. 이상길, 이철훈, "멀티프로세서 기반 리눅스에 실시간성 지원 방안 연구," 한국콘텐츠학회 종합학술대회 논문집, pp.57-58, 2015(5).
  11. C. M. Krishna and Kang G. Shin, Real-Time Systems, McGraw-Hill, 1997.
  12. TPI KOREA, 리얼타임 OS(Real time Operating System)
  13. http://www.rtlinuxfree.com
  14. http://www.rtai.org
  15. Intel, Intel 64 and IA-32 Architectures Software Developer's Manual Vol.3: System Programming Guides, Intel, 2009.