원문 : http://www.tpikorea.com/micronet-intime-techguide-RTOS.htm
INtime FAQ
http://www.tpikorea.com/micronet-intime-faq.htm
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
GUI | WindowsXP | WindowsXP | 독자 | 특수 | Linux | WinCE | 無 |
자주 잡지등에서 다른 리얼타임 OS도 포함해 소개하고 있는 경우가 있습니다만, 그러한 많게는 특정의 기업이나 어플리케이션으로 사용되는 것은 있어도, 일반의 유저에게는 극단적으로 정보가 적거나 서포트가 한정되어 있거나 해 실제로 도입하는 것은 그만큼 용이하지는 않습니다.
예를 들면 휴대 전화로 잘 사용되고 있는 신비안 등은 라이센스량은 많습니다만, 주로 휴대 전화기 메이커가 채용하고 있어 라이센스수가 수백이라든지 수천에서는 상대에게도 해 주지 않는다고 생각합니다. 또, 그 기술은 휴대 전화기 메이커내에서 닫고 있어 공개되고 있지 않으므로 범용의 리얼타임 OS라고는 말하지 못하고, 일반의 유저가 선정의 대상이 되는 리얼타임 OS가 아닙니다.
이러한 「특수」리얼타임 OS에 종사하는 엔지니어도 많이 있습니다만, 대부분은 파견형의 소프트 회사로부터 파견된 엔지니어가 단지 「특수한」어플리케이션의 프로그래머로서 개발에 종사하고 있는 것만으로 다른 시스템에의 응용할 수 있는 상황이되지 못하고 않습니다.
리얼타임 OS를 비교하는데 있어서 자주 태스크의 변환 시간이나 인터럽트의 응답성등의 리얼타임 성능에 관심을 갖고 계십니다만, WindowsCE를 제외하고 그러한 성능차이는 거의 없습니다.
원래 성능 비교를 하기 위해서는 CPU나 주파수등의 조건을 갖춘 논의가 필요합니다만, 만일 그러한 하드웨어의 조건을 같게 하면 거의 같은 성능을 얻을 수 있는 것입니다. 그 이유는 어느 리얼타임 OS도 대략적으로 말하면, 그러한 성능을 실현하는 구조는 거의 같기 때문에입니다.
따라서 최근에는 잡지나 논문등에서도 그러한 성능 비교를 하는 것은 거의 없어졌습니다. 오히려, 개발툴이나, GUI 기능(맨 머신 시스템)을 이용할 수 있는 주변기기나 드라이버의 종류, 거기에 디버그 툴의 기능의 좋음과 좋지 않음이 관심적으로 되어 있습니다.
【INtime에서 본 다른 리얼타임 OS의 평가】 ···오해와 비판을 두려워하지 말고···
1. iTRON
iTRON는 비교적 소규모의 원 보드 마이크로컴퓨터 등에 짜넣어져서 사용되는 리얼타임 커널로, 통상 라이센스 프리입니다.
표준에서는 Disk I/O시스템이나 GUI 라이브러리, TCP/IP는 제공되지 않기 때문에 그러한 사용법에는 향하지 않습니다. 단 TCP/IP에 대해서는 제공하고 있는 벤더가 있는 것 같습니다. 일반적으로 iTRON를 달리게 하는 표준의 하드웨어는 없기 때문에 통상은 어플리케이션 소프트 웨어의 개발에 앞서 CPU 보드의 개발을 실시하는지, iTRON에 대응한 보드를 선정할 필요가 있습니다.
잡지나 기술서에서는 자주 이 OS(모니터)가 다루어집니다만 INtime이 대상으로 하고 있는 규모의 시스템에서는 검토의 대상으로는 되지 않습니다.
2. WindowsCE
당초 리얼타임 OS로 이름을 붙여 등장한 WindowsCE는 마이크로소프트의 의도와는 별도로(혹은 혹시 의도대로) PDA등의 소형 정보 단말에 사용되는 것은 있어도 리얼타임 OS로서의 기능을 살려 쓰여지는 방법은 되지 않았다고 말할 수 있습니다. 그 이유는 몇 개인가 있습니다만, 다른 리얼타임 OS 정도의 리얼타임 성능이 나오지 않는 것도 이유의 하나입니다. 1 ms보다 빠른 리얼타임성은 실현될 수 없는 것 같습니다. 이것은 최근 마이크로소프트가 WindowsCE와 iTRON를 조합한 더블 OS를 제안하고 있는 것 부터도 알 수 있습니다.
또, WindowsCE는 다른 Windows 제품과 같이 시중에서 패키지로서 판매되고 있지 않습니다. 그것은 WindowsCE가 OEM 제품이며, 하드웨어를 특정하지 않으면 WindowsCE 소프트웨어의 구성이 정해지지 않기 때문입니다. 즉 PDA의 카시오페아로 사용되고 있는 WindowsCE는 카시오페아 전용의 WindowsCE이며, 다른 WindowsCE기로 사용할 수 없습니다. WindowsCE를 짜넣는 용도의OS로서 사용하기 위해서는 iTRON등과 같이 하드웨어의 개발로부터 실시하지 않으면 안됩니다.
3. QNX
QNX는 북미를 중심으로 예상 이상으로 보급해 버린 리얼타임 OS입니다. 강력한 판매 체제의 탓도 있어 많이 보급되어 있습니다. 비교적 규모의 큰 범용의 리얼타임 OS로서 붙이는 누적 라이센스에서는 VxWorks에 뒤잇는 2번째지요. QNX의 훌륭함은 풍부한 라이브러리와 다양한 드라이버군입니다. 특히 GUI 라이브러리는 Windows의 화면 표시를 견딜지도 모릅니다.
QNX가 동작하는 하드웨어 플랫폼은 x86CPU의 PC아키텍쳐입니다만, QNX에서는 GUI에 QNX 독자적인 방식을 채용했기 때문에, 어느 PC에서도 동작한다고 말하는 것은 아닙니다. PC로 사용되고 있는 그래픽 팁 혹은 그래픽 보드는 CPU 이상으로 기술 혁신의 격렬한 분야에서 신제품의 PC가 시장에 나올 때마다 하드웨어가 변경이 되어 있다고 해도 과언이 아닙니다. 통상 이러한 그래픽 하드웨어의 드라이버 소프트는 하드웨어 메이커가 준비를 해 제공합니다만, 그것은 주로 Windows용의 드라이버입니다.
QNX용의 그래픽 드라이버는 QNX 벤더가 개발하던지 유저 자신이 준비할 수 밖에 없습니다. 그렇지만 이 그래픽 드라이버의 개발에는 대단한 노력과 비용이 들며, 실제는 그래픽 하드웨어를 고정해 사용하게 되어, 결과적으로 어느 PC에서도 동작하는 것이 불가능한 것입니다.
4. VxWorks
제일 팔리고 있는 리얼타임 OS입니다. 주요한 CPU 팁에도 대응하고 있고, iTRON와 같은 비교적 소규모의 편입 보드 컴퓨터용의 리얼타임 모니터 레벨로부터, 예를 들면 INtime과 같은 하드 디스크나 그래픽 기능을 가지는 비교적 규모의 큰 시스템까지 대응하고 있습니다. 하드웨어 플랫폼으로서는 PC 이외에 VME 보드 컴퓨터라든지 유저 고유의 보드 컴퓨터로 사용할 수 있도록 구성할 수 있습니다. (어느 쪽인가 하면 PC아키텍쳐로 사용하는 케이스보다 VME 보드 컴퓨터로 사용되는 케이스가 많은 듯 합니다)
VxWorks는 GUI 기능으로서 X-Windows와 같은 Unix 호환기능을 사용할 수 있습니다만, 이 경우도 그래픽 드라이버는 VxWorks의 벤더 혹은 유저 자신으로 준비할 필요가 있습니다. 그래픽 팁을 변경하면 새로운 팁의 드라이버 소프트를 준비하지 않으면 시스템이 동작하지 않게 됩니다. 그 때문에 장기 안정공급을 필요로 하는 산업용 시스템에서는, 그래픽 팁이나 보드를 시작해 하드웨어의 재고 관리를 하거나 매점을 하지 않으면 안됩니다. 기술 혁신이 격렬한 컴퓨터 부품은 극히 짧은 주기에 신제품에 옮겨지고 있기 때문에, 시장으로부터 장기간 안정에 부품을 입수하는 것이 곤란하기 때문에입니다.
5. RTX
RTX는 INtime에 잘 닮은 Windows와 협조 동작을 하는 리얼타임 커널입니다. RTX도 INtime도 GUI 하부조직으로서 Windows(2000/XP)가 동작하기 때문에 VxWorks나 QNX와 같은 그래픽 팁의 드라이버의 문제가 없습니다. 세세한 부분을 제외하고 RTX와 INtime는 사양적으로 잘 닮은 OS입니다만, 다음과 같은 차이가 있습니다.
I.. INtime에서는 Windows와 INtime 커널의 변환은 x86CPU의 하드웨어 기능을 사용해서 가고 있습니다만, RTX에서는 HAL 레벨로 소프트웨어적으로 가고 있습니다.
II.. INtime 커널과 INtime 어플리케이션은 Windows와는 완전하게 독립한 환경에서 동작하고 있습니다. 그 때문에 INtime 어플리케이션은 동작이 보호된 유저 모드(링 3)로 동작하기 때문에 어플리케이션의 버그 등에 대해 터프합니다.
한편, RTX의 경우에는 RTX 커널과 RTX 어플리케이션은 Windows 커널과 같은 환경의 커널 모드(링 0)로 Windows의 드라이버로서 동작하고 있습니다. 이것은 리얼타임 어플리케이션이 OS와 같은 특권 모드로 동작하는 것을 의미해, 어플리케이션의 버그등에서 시스템 전체를 크래쉬 시키는 위험성이 있습니다.
III. 상기는 디버거에 차이가 나옵니다. 개발 도중의 아직 버그를 포함한 상태로 어플리케이션을 디버그 하는 경우, INtime에서는 어플리케이션의 버그에 의해서 시스템이 크래쉬 할 것은 없기 때문에, 하나의 어플리케이션으로서의 디버거를 사용할 수 있습니다. 따라서 Windows도 정지할 것은 없습니다. INtime에는 표준으로 다이나믹 원시 코드 디버거가 부속되어 있습니다.
RTX의 경우는 어플리케이션의 버그에 의해서 시스템이 정지해 버릴 가능성이 있기 때문에, 고도의 디버거에서도 그것 자신이 정지해 버릴 가능성이 있습니다. RTX에서는 이것을 피하기 위해서 다른 PC를 타겟으로 접속해 리모트로 디버그를 실시하는지, Windows 및 RTX 커널을 정지시켜 정적인 디버그로 대응합니다.
IV. INtime의 개발과 기능 추가(버전 업)에는 일본인의 엔지니어도 종사하고 있습니다. 따라서 소프트웨어 자체나 방대한 헬프 파일, 메뉴얼등이 완전하게 일본어화 되고 있습니다. 또, 일본내에서의 기술 서포트도 신속하고 고도의 서비스를 제공하고 있습니다.
최신의 INtime2.23이후에서는 리얼타임 어플리케이션은 종래의 INtime-API 이외에, iWIN32API나 RTX-API도 서포트하고 있습니다. Windows만으로 소프트 리얼타임 시스템을 구축하고 있는 고객이나, RTX로 시스템이 실현되고 있는 고객도 용이하게 INtime로 이행할 수 있습니다.
그 외의 테마 |
|
자동화 장비 PC 제어를 위한 통합 개발툴 XMachineStudio
'장비&모션제어' 카테고리의 다른 글
아진엑스텍 모션 라이브러리의 보정 테이블 기능 사용 #1/3 (3) | 2012.01.04 |
---|---|
장비 PC의 원격 제어 방법 (3) | 2010.11.05 |
파이어버드 DB 데이터 크기 LIMIT 정보 (0) | 2009.09.25 |
FAT32 , NTFS 파일 크기 제한 (1) | 2009.09.25 |
MS윈도우기반 RTOS - RTX 자료 (0) | 2009.09.24 |