Linux 대신 QNX 또는 VxWorks와 같은 RTOS를 사용할 때의 이점은 무엇입니까?


15

실시간 운영 체제가 필요한 솔루션을 개발할 때 QNX 또는 VxWorks와 같은 운영 체제가 Linux보다 어떤 이점이 있습니까?

당신은 것 - 실시간 사용에 맞게 할 수있는보다 일반적인 시스템 인 리눅스에 반대 - 이러한 운영 체제가 실시간 용으로 사용 임베디드 설계되어 있기 때문에 또는, 다른 방법을 넣어 필요 중 하나를 사용하는이 리눅스 대신이 운영체제?

답변:


14

일부 임베디드 시스템은 (a) 어려운 실시간 요구 사항을 충족해야하지만 (b) 하드웨어가 매우 제한적이므로 이러한 요구 사항을 충족하기가 훨씬 어렵습니다.

하드웨어를 변경할 수없는 경우 Linux를 배제하고 대신 다른 것을 사용해야하는 몇 가지 상황이 있습니다.

  • 아마도 CPU에는 MMU가 없어서 리눅스를 실행할 수 없습니다 (uClinux를 제외하고 uClinux가 실시간이 아님을 아는 한).
  • 아마도 CPU가 상대적으로 느리고 Linux의 최악의 인터럽트 대기 시간이 어려운 요구 사항을 충족시키지 못하고 최악의 인터럽트 대기 시간이 매우 낮은 다른 RTOS가 요구 사항을 충족시킬 수 있습니다.
  • 시스템에 RAM이 거의 없습니다. 몇 년 전, 최소 2MB의 RAM이 필요한 최소 Linux 설정이 필요했습니다. 최소 20kB의 RAM이 필요한 최소 eCos 설정 (호환성 계층을 사용하여 원래 Linux에서 실행되도록 설계된 일부 응용 프로그램을 실행할 수 있도록 함)
  • 아마도 여러분의 하드웨어에 리눅스 포트가없고, 시스템을 시작하기 전에 리눅스를 포팅 할 시간이 충분하지 않을 것입니다. 더 간단한 RTOS는 Linux보다 새로운 하드웨어로 이식하는 데 훨씬 적은 시간이 걸립니다.

서로 다른 RTOS간에 어떤 종류의 코드를 이식 할 수 있습니까? 또한 일부 솔루션은 하향식이며 (RTOS 사용) 다른 솔루션은 상향식으로 구축됩니다 (필요에 따라 베어 메탈에 OS 기능 추가).
CMCDragonkai

@CMCDragonkai : EL / IX API에 작성된 프로그램 은 모든 EL / IX 호환 OS에서 실행될 수 있습니다. POSIX API에 작성된 프로그램 은 모든 POSIX 호환 OS에서 실행될 수 있습니다. uITRON API에 작성된 프로그램 은 모든 uITRON 호환 OS에서 실행될 수 있습니다.
David Cary

@CMCDragonkai : 아마도 programmers.stackexchange.com 이 다른 RTOS에 대해 질문하기에 더 적합한 장소일까요?
David Cary

8

나는 전혀 실시간 작업을하지 않았으므로 소금 한 알로 이것을 가져 가십시오 ...

"실시간"에는 하드 실시간과 소프트 실시간이라는 두 가지 범주가 있다고 들었습니다.

"부드러운 실시간"은 비공식적으로 "가능한 빨리 완료"를 의미합니다. 현대 CPU의 Linux가 이런 종류의 일에 좋다고 생각합니다.

"하드 실시간"은 비공식적으로 "필요한 시간 내에 완료"를 의미합니다. 창은 아주 작거나 밀리 초 정도일 수 있습니다. 크루즈 미사일 또는 위성 발사 차량을위한 비행 제어 시스템은 일반적인 예처럼 보입니다. 산업 공정 제어 시스템도 필요할 수 있습니다. Stuxnet 웜은 이러한 종류의 제어를 수행하는 시스템을 방해 한 것으로 보입니다.

후자의 경우 RTOS를 사용합니다. RTOS는 종종 너무 많은 명령이나 클럭 틱 또는 그 밖의 것에서 인터럽트 전달을 보장합니다.

다른 고려 사항은 RTOS가 제한없이 스택 공간을 소비하지 않도록 설계, 테스트 및 / 또는 "증명 된"것입니다. 그것은 최소한의 메모리 내에서 살 수 있으며 "OOM Killer"와 같은 것은 존재하지 않을 것입니다. 초기 FORTRAN의 구 피어 기능 중 일부는 이러한 유형의 요구 사항에서 비롯됩니다. FORTRAN II 프로그램을 컴파일 할 때, 재귀 할 수없고 동적으로 할당 할 수 없기 때문에 필요한 스택과 힙의 양을 정확히 알고있었습니다.

실제로, 두 번째 고려 사항 (최대 메모리 소비 보장)은 "0.001 초의 보장 된 인터럽트 대기 시간"보다 일부 안전이 중요한 응용 분야에서 더 중요 할 수 있습니다.

또한 지원하는 언어의 무화과 잎의 선택 과정을 제거하면 엔지니어가 "요구 사항에 따라"RTOS를 선택한다는 것을 알게 될 것입니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.