DOI QR코드

DOI QR Code

Real-Time Support on Multi-Processor for Windows

멀티프로세서 윈도우즈 상에서 실시간성 지원

  • 송창인 (충남대학교 컴퓨터공학과) ;
  • 이승훈 (충남대학교 컴퓨터공학과) ;
  • 주민규 (충남대학교 컴퓨터공학과) ;
  • 이철훈 (충남대학교 컴퓨터공학과)
  • Received : 2012.02.27
  • Accepted : 2012.06.12
  • Published : 2012.06.28

Abstract

As the system development environment moves from single core to multi core-based platforms, it becomes more important to maintain compatibility between single core-based implementations and multi core-based implementations. Moreover, it is very important to support real-time on multi core platforms especially in cases of embedded software or test equipments which need real-time as well as correctness. Since Windows operating system dopes not support real-time in itself, it has been supporting real-time using expensive third-party solutions such as RTX or INtime. So as to reduce this kind of development expenses, in this paper, we propose RTiK-MP(Real-Time implant Kernel-Multi Processor) which supports real-time on Windows using the Local APIC of x86 architectures, and evaluate the performance of the proposed RTiK-MP after deploying it on portable missile test equipments.

최근 시스템 개발 환경이 싱글프로세서 기반의 환경에서 멀티프로세서 기반의 환경으로 변화됨에 따라 개발된 시스템 프로그램들이 멀티프로세서 기반과 싱글프로세서 기반에서 호환이 가능하도록 설계 및 구현의 중요성이 부각되고 있다. 특히, 실시간성이 중요시 되는 내장형 소프트웨어 분야 및 측정 장비와 같이 정밀성을 요구하는 분야의 경우 멀티프로세서 기반의 실시간성을 제공하기 위한 연구가 필요하다. 운영체제에 종속적인 실시간성은 운영체제에 따라 지원여부를 결정하는데, 범용 운영체제인 윈도우즈의 경우 실시간성을 지원하기 위해 RTX나 INtime과 같은 고가의 서드파티를 사용해야 한다. 그러나 서드파티를 사용함으로써 제품 개발 시 고가의 구입비용 및 유지보수 비용으로 인한 개발 비용의 증가를 초래하는 문제점이 발생한다. 이러한 문제점을 해결하기 위해서, 본 논문에서는 멀티프로세서 기반의 윈도우즈에 실시간성을 제공하기 위해 x86 아키텍처의 Local APIC를 이용하여 윈도우즈에 실시간성을 제공하는 RTiK-MP(Real-Time implant Kernel-Multi Processor)를 설계 및 구현하였고, RTiK-MP의 성능 검증 및 평가를 위하여 휴대용 점검장비를 이용한 성능 측정 결과를 분석한다.

Keywords

References

  1. http://www.intervalzero.com
  2. D. A. Solomon and M. E. Russinovich, "Inside Windows 2000, Third Edition," Microsoft, 2000.
  3. W. Oney, "Programming the Microsoft Windows Driver Model 2nd Edition", 정보문화사, 2004.
  4. 이진욱, 조문행, 김종진, 조한무, 박영수, 이철훈, "윈도우 기반의 점검장비에 실시간성을 지원하는 실시간 이식 커널의 설계 및 구현", 한국콘텐츠학회논문지, 제10권, 제10호, pp.36-44, 2010. https://doi.org/10.5392/JKCA.10.10.036
  5. 김주만, 송창인, 이철훈, "RTiK-Linux: 리눅스용 실시간 이식 커널의 설계", 한국콘텐츠학회논문지, 제11권, 제9호, pp.45-53, 2011. https://doi.org/10.5392/JKCA.2011.11.9.045
  6. 주민규, 이진욱, 장철수, 김성훈, 이철훈, "윈도우 유저 레벨 로봇 컴포넌트에 실시간성 지원 방법", 한국콘텐츠학회논문지, 제11권, 제7호, pp.51-59, 2011. https://doi.org/10.5392/JKCA.2011.11.7.051
  7. Ronald D. Reeves, Ph.d, "Windows 7 Device Driver," Addison Wesley, 2011
  8. Intel, "Intel 64 and IA-32 Architectures Software Developer's Manual Volume 1 : Basic Architecture," Intel, 2009.
  9. Intel, "Intel 64 and IA-32 Architectures Software Developer's Manual Volume 3 : System Programming Guide," Intel, 2009.
  10. Intel, "Intel 64 and IA-32 Architectures Software Developer's Manual Vol.2 : Instruction Set Reference," Intel, 2009.
  11. Intel, "Intel 64 Architectures x2APIC Specification," Intel, 2008.
  12. Intel, "Intel 64 and IA-32 Architectures Software Developer's Manual Volume 3 : System Programming Guide," Intel, 2009.
  13. http://msdn.microsoft.com/en-us/library/ms685100(VS.85).aspx
  14. http://www.osronline.com
  15. Johnson M.Hart, "Windows System Progra mming 3rd Edition," Addison Wesley, 2005.
  16. JOHNSON M. HART, "Windows 시스템 프로그래밍 3판", 정보문화사, 2008.