GN⁺ 7달전 | parent | ★ favorite | on: QNX 운영 체제(abortretry.fail)
Hacker News 의견
  • 나는 이 OS와 관련된 재미있는 추억이 있음. 초등학교 때 ICON 컴퓨터가 교실에 있었고, 친구들과 트랙볼을 최대한 빠르게 돌리려고 경쟁했던 기억임. BlackBerry에서 일할 때는 QNX BlackBerry를 Bluetooth HID 기기로 활용하도록 만드는 기능을 개발했음. 이를 통해 트랙패드와 물리 키보드로 노트북을 원격에서 제어할 수도 있었고, 프레젠테이션 때 정말 유용했음. 그런데 어떤 PM이 이 기능을 Playbook 전용으로 제한하라고 해서 사실상 무용지물이 되었음. Dan Dodge가 표준이니 만큼 제약을 두면 안 된다고 주장한 걸 또렷하게 기억함. Dan Dodge를 존경하게 되었고, 그 PM과는 다시 일하고 싶지 않음

    • ICON 컴퓨터가 이 OS 기반이었다는 게 놀라움. 그 당시 일반 PC보다 훨씬 진보적이었음. 단, ICON끼리 대화 기능을 통해 다른 시스템이나 네트워크 전체를 쉽게 다운시킬 수 있었던 점은 예외였음

    • QNX는 결국 BlackBerry 10이 되었음. 내가 써봤던 최고의 모바일 OS임. 다만 소수만이 사용했던 점이 아쉬움

    • 네가 작업했던 HID 기능을 사용해봤고, 정말 마음에 들었음

    • KDE Connect가 사실상 동일한 기능을 더 잘해냄. 진심으로 훌륭함

    • ICON 경험을 에뮬레이터로 보존할 수 있었으면 함. 요즘 브라우저로도 ICON 네트워크 전체를 에뮬레이션할 수 있을 것 같음

  • QNX Photon의 미니멀한 미학이 정말 좋았음. Photon 느낌을 최대한 살리려고 복잡한 FVWM 설정을 유지했었음. 참고로 2004년 Gentoo 데스크탑 스크린샷임 데스크탑 스크린샷

    • 네 설정을 나도 가져다가 15년 넘게 유지해왔음

    • 지금 봐도 멋져 보임. dotfiles를 아직도 가지고 있나 궁금함

    • 내 WindowMaker 테마보다 월등함. 네 FVWM 테마 정말 멋짐

    • 스크린샷에 있는 게 Winamp 짝퉁 아님?

  • QNX라는 발상이 정말 맘에 들어서 엄청 기대했음. 당시 우리 팀은 광학 식품 프로세서를 DSP에서 범용 하드웨어(FireWire, 1394)로 옮기는 중이었음. QNX의 프로세스 격리는 굉장했고, 메시지 기반 데이터 전송의 오버헤드는 그렇게 만족스럽지 못했음. 결국 리눅스의 1394 드라이버에 isochronous mode/dma를 2천 불 주고 지원받았고 RT extensions와 함께 사용했음. 이때 얻은 교훈이 바로 “추함 보존의 법칙”임. 소프트웨어 시스템에선 어느 부분엔 절대 세련되지 못한 ‘추함’이 남아있는데, 한쪽을 개선하면 그 ‘추함’이 다른 곳으로 옮겨간다는 점임

    • “추함 보존의 법칙”이 본질적으로 ‘워터베드 원리’와 매우 비슷하다고 생각함. 어느 정도 복잡도가 있는 시스템에선 한 부분의 문제를 누르면 반드시 다른 곳에 튀어나옴. 워터베드 원리에 대해 더 궁금하다면 여기 참고할 수 있음

    • QNX에서 메시지 전달 속도를 높이는 아이디어가 있음. 페이징 메커니즘을 이용해서 메시지를 보내는 방식인데, 데이터 복사 없이 페이지 테이블만 업데이트하는 것임. 물론 여전히 macro kernel에 비해 double TSS load 오버헤드가 있지만 빠른 편임. 그래도 우아함엔 대가가 따름. 지연, 신뢰성, 안정성, 정확성까지 생각하면 단순한 처리속도보다 이런 요소들이 훨씬 무거운 선택지가 됨

    • 오늘날에는 DSMP(Direct System Memory Protection)가 완전히 지원되고, 시스템 성능도 월등해져서 메시지 전달의 오버헤드는 그리 큰 문제가 아니라고 생각함. 오히려 다른 장점이 더 크다고 봄

    • “optical food processor”가 은유인지, 진짜로 이미지를 활용해 음식을 자르는 장치인지 궁금함

  • 이 블로그에 있는 ICON 사진이 바로 내 ICON이고, 내 블로그에서 가져갔음(출처 표기는 고마움). 내 QNX에서 ICON 컴퓨터를 다룬 포스트를 공유함. 첫 글엔 QNX 데모 영상 유튜브 링크도 있음
    ICON 포스트
    LEXICON 포스트

    • 혹시 소프트웨어나 ROM을 archive.org에 백업할 계획이 있는지 궁금함. 이 시스템의 에뮬레이터 제작이 ROM 접근성 문제로 막혔었음
  • 2002년쯤 케이블 모뎀을 telnet으로 접속했더니 QNX가 돌아가고 있길래 엄청 신기했음

  • 1996년쯤, 플로피 한 장에 RTOS GUI와 네트워크 스택까지 담긴 QNX를 받아보고 그 작은 용량에 감탄했음. 슬랙웨어 설치만 해도 디스크 여러 장이 필요했는데 QNX는 믿기 어려웠음

    • 나도 기억함. 그 작은 데모에 웹 브라우저까지 들어 있었음. 직접 체험해보고 싶으면 여기에서 가능함

    • 이런 데모 버전 자체가 사실은 기능 과시를 위한 용도였음. 당시엔 QNX가 라이브CD 시장에서 사람들이 입을 모아 칭찬할 정도로 인상적이었음. 참고로 플로피에서 구동되는 X11과 웹 브라우저가 탑재된 리눅스도 있었는데, 그것도 정말 대단했음 HN 댓글 링크

    • 2000년쯤 리눅스 데스크탑을 만져보던 찰나 QNX 데모를 받아보고 깜짝 놀랐던 기억임

  • QNX 4로 대학에서 로봇 시스템을 만들었음. 네트워크로 연결된 486/Pentium CPU 카드를 활용해 완전한 하드 리얼타임 로봇 구성에 성공했음. QNX의 기본 시스템 콜(send/receive/reply)이 헤더 파일에 거의 3줄 어셈블리로 인라인 구현된 점이 인상적이었음. 이 경험을 바탕으로 로봇틱스 분야에서 vxWorks, SunOS, Linux 등에서 비슷한 기능을 직접 구현하며 많은 것을 배웠음
    로봇 시스템 논문

    • QNX는 한때 현실에서 진짜로 사용되는 마이크로커널 OS의 ‘불가능을 가능케 한 표준’이었음. 요즘은 Nintendo Switch Horizon, seL4, HarmonyOS NEXT 같은 최신 OS와 비교해서 어떤 위치일지 궁금함
  • 라즈베리 파이로 QNX를 체험하고 싶으면 참고할만한 글을 공유함 QNX 라즈베리파이 설치 가이드

    • 여기 QNX 8.0의 무료 이미지도 있음. 바로 Pi 4에 플래시해서 사용할 수 있고, Pi 400과 CM4에도 맞게 조절 가능함
      무료 QNX 8.0 이미지 및 안내

    • 가상 머신에서 쓰고 싶으면 구 버전 이미지를 archive.org에서 받아볼 수 있음
      구버전 QNX 이미지

  • QNX로 오디오 서버를 만들어서 MP3 인코딩과 재생 기능까지 포팅했음. 본사에 직접 방문했을 때 Dan Dodge가 팀원들에게 전폭적으로 우리를 도와주라 지시했음. 그 덕분에 스타트업을 안정적으로 시작할 수 있었고, 6년 뒤 리눅스로 이전할 때까지 큰 도움을 받았음

    • 너무 멋진 이야기임. QNX Everywhere를 통해 이런 정신을 다시 살릴 예정임. 커뮤니티에 무료 접근과 최대한 지원 제공할 계획임
  • Quantum에선 유닉스를 존중한다고 하면서도 QNX가 1980년대 설계로 90년대의 OS가 되리라 홍보했음. 당시에 GNU, 인터넷, Microsoft Windows, 써드파티 개발, Windows 기반 앱 진입장벽, 웹, 쉐어웨어, BBS, VAR, 자유소프트웨어 운동 등은 고려하지 못했었음. 운영체제 시장이 승자독식 구조라는 점, 그리고 몇백 달러의 가격정책이 패착이었음. 그 시절에는 불가피했겠지만, 문제의식은 분명 있었음. 물론 GUI의 중요성도 늦게 인식했고, Photon GUI는 QNX 4.1(1994년)에서야 등장했음

    • 이 OS는 POSIX 호환이면서 데스크톱/서버까지 확장 가능하고, 극도로 안정적이며 실시간 제어도 가능한 독특한 시스템이었음. 실시간 특성 덕분에 인터랙션이 매우 쾌적했고, 1990~2000년대까지는 이런 틈새시장이 있었기에 회사가 존속할 수 있었음. 1.44MB에 전체 GUI, 네트워킹, 웹브라우저까지 모두 담았던 1999년 데모는 지금도 그만한 기능 압축을 본 적이 없을 만큼 대단했음. 요즘엔 실시간 리눅스가 QNX급 성능을 내고, QNX 6.6 이후로는 셀프 호스팅 개발도 중단되어 매력이 옅어짐. 사업적으로는 자동차/임베디드 시장에 집중하는 게 합리적이지만, 테크 덕후로서 아쉬운 감정임. 고가 라이선스와 리얼타임 리눅스(고급), Zephyr/FreeRTOS(저급) 경쟁 때문에 새 프로젝트에 QNX를 선택할 이유가 잘 떠오르지 않음. 혹시 최근에 QNX를 선택한 사례가 있다면 의견 듣고 싶음