ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • QNX OS 소개
    QNX 2025. 3. 15. 22:06

    이미지를 클릭하면 QNX 사이트로 이동합니다


    QNX는 blackberry(예전에 키보드가 달린 핸드폰을 만들던 회사)에서 제공하는 임베디드(Embeded) OS이다.

     

    임베디드 OS란?

    임베디드 OS란 우리가 일반적으로 사용하는 Window나 Mac OS와는 다른 목적을 가지고 있다.

    Window나 Mac OS와 같은 일반 OS는 사용하는 사람이 편하고 쉽게 사용할 수 있게 초점이 맞춰져 있다면 임베디드 OS는 OS가 돌아가는 하드웨어(hardware)에 초점이 맞춰져 있다.

    일반 OS는 사용자가 편하게 사용할 수 있도록 다양한 GUI와 편의 기능을 제공 하지만 이것 들은 높은 hardware 성능을 요구하고 안전성이 높지 않다. 하지만 임베디드(Embeded) OS는 성능이 낮은 hardware에서도 안전하게 돌아갈 수 있도록 일반 OS에서 제공하는 다양한 기능들이 거의 빠져있다.

    일반 OS를 사용하는 환경에서는 동작이 멈추어도(예로 blue screen이 뜨는 현상) 작업 중이던 파일이 날아가거나 진행 중이던 게임을 못하게 되긴 하지만 이것이 큰 문제가 되지는 않는다. 하지만 임베디드(Embeded) OS가 사용되는 환경에서는 동작이 멈추게 되면 큰 문제가 발생하기 때문에 안전성이 최우선이다.

    QNX는 어디에 사용될까?

    QNX는 다양한 기계 장비들을 움직여야 하는 곳에서 쓰인다. 특히 정밀하고 안전하게 움직여야 하는 분야에서 많이 사용되는데 주로 자동차, 의료기기, 철도, 자동화 장비들에 들어간다. 우리나라에서는 원자력 발전소에서도 쓰인다고 한다. 그중에서도 요즘은 특히 자동차에 많이 들어가는 것 같다. 필자도 현재 회사에서 QNX를 자동차에 들어가는 인포테이먼트(Infortainment) 시스템 개발을 위해 사용 중이다.

    QNX 개발의 장점

    QNX의 장점은 다양한 x86과 ARM 아키텍처를 모두 지원한다. 그래서 필자는 arm 시스템 위에서 동작하는 프로그램을 만들지만 동일한 code를 x86기반 컴퓨터에서 가상머신으로 QNX를 돌려서 동일한 프로그램을 test할 수 있었다.

    또다른 장점은 POSIX기반의 운영체제로 기존의 사용중이던 다양한 library와 명령어들을 사용할 수 있다. 그래서 QNX 프로그램을 개발할 때 다른 시스템에서(대표적으로 Linux) 프로그램 개발에서 사용중이던 코드들을 가져다가 사용할 수 있다.

    QNX 개발의 단점

    QNX는 다른 OS들 처럼 범용적으로 사용되지 않고 특히 오픈소스가 아니기 때문에 정보의 양이 작다. QNX 프로그램 개발할 때 모르는 것이 있어서 인터넷에 검색해도 자료가 많이 나오지 않고(한글로 된 정보는 거의 없다) ChatGPT도 부정확한 정보를 알려준다. 다행히도 QNX 공식 페이지에서 QNX 전용 라이브러리나 tool에 대한 설명을 해주지만(영어로) 직접 사용하기 위해서는 QNX OS가 설치된 하드웨어가 있어야 한다. 그래서 QNX에 관심있는 일반인은 QNX 개발을 경험하기가 거의 불가능했다. 하지만 지금은 일반인의 경우 라즈베리파이4에서 QNX를 설치해서 사용할 수 있게 되면서 조금은 나아졌다.

Designed by Tistory.