- QNX adalah sistem operasi real-time berbasis mikrokernel yang bermula di Kanada pada awal 1980-an
- Menyediakan dukungan perangkat keras yang beragam seperti IBM PC, portabilitas tinggi, penyampaian pesan terdistribusi, serta keandalan dan lingkungan multitasking yang unggul
- Diadopsi dalam komputer pendidikan, infrastruktur industri, dan sistem kendaraan, sehingga memiliki pengaruh besar
- Melalui kepatuhan POSIX, QNX memperkuat kompatibilitas dengan Unix, dan berkembang dengan GUI ringan (Photon) serta berbagai fitur jaringan
- Terus meningkatkan stabilitas, performa, dan keamanan sambil merespons perubahan pasar terbaru seperti otomotif, embedded, dan mobile
Awal mula sistem operasi QNX
- Pada 1979, Gordon Bell dan Dan Dodge dari University of Waterloo membangun pengalaman melalui proyek sistem operasi real-time bernama Thoth
- Thoth memiliki portabilitas tinggi, ciri penyampaian pesan sinkron, dan dapat berjalan terlepas dari perangkat keras
- Setelah lulus, Bell dan Dodge mendirikan Quantum Software Systems (kemudian menjadi QNX Software Systems) dan mulai mengembangkan OS sendiri pada mikrokomputer prototipe (berbasis 6809)
QUNIX — pendahulu QNX
- Versi pertama, QUNIX 0.1, dikembangkan sebagai OS real-time mikrokernel pertama untuk IBM PC, berbasis mikrokernel dan berupa campuran elemen CP/M dan UNIX
- Berbeda dari Unix tradisional, QUNIX memperkenalkan struktur direktori khas seperti /cmds, /config, /sys serta sistem perintah unik seperti perintah
help
- Ada keterbatasan awal seperti dukungan hard disk (HDD 5MB pada QUNIX 0.4) dan boot berbasis floppy
Transisi ke QNX dan pertumbuhannya
- Karena masalah merek dagang dengan AT&T, nama diubah dari QUNIX menjadi QNX pada 1982, lalu QNX 1.0 resmi dirilis pada 1983
- Kernel: sekitar 10.000 baris kode C, dengan karakteristik mikrokernel seperti penjadwalan, message passing, dan penanganan prioritas
- Sebagian besar layanan (sistem file, driver, jaringan, dll.) menggunakan struktur komunikasi berbasis pesan
- Mendukung antrean pesan transparan jaringan, hingga 250 tugas simultan, dan multi-user
- Dijual seharga $650 (per 1983) dengan compiler C, editor, dan dukungan jaringan
- QNX 1.2 (1984): penguatan pattern matching, pemrograman shell, dukungan IBM AT, penurunan harga, dan lain-lain
Masuk ke bidang pendidikan: Burroughs ICON
- Dipilih dalam proyek komputer standar pendidikan milik Kementerian Pendidikan Ontario, sehingga dikembangkan komputer ICON (80186, RAM 512K, menjalankan QNX)
- Boot file server berbasis jaringan (ARCNET), tanpa media penyimpanan individual, dan pengguna memakai home directory berbasis server
- Menjadi pengalaman membangun sistem maju dengan percobaan ‘lessonware’ berbasis hypertext, beragam perangkat lunak pendidikan, jaringan, audio, dan ekstensibilitas
Ekspansi ke pasar industri dan komersial
- Pada pertengahan hingga akhir 1980-an, QNX merespons kebutuhan pasar seperti dukungan IBM PS/2, LAN, GUI, dan emulasi DOS (QDOS, RUNDOS)
- Tahun 1987 QNX 2: peningkatan seperti protected mode IBM AT, jaringan BSD, file 1TB, 32 port serial, dan GUI sederhana (House)
- Organisasi juga bertumbuh dengan perluasan kantor dan pindah ke gedung baru
Adopsi POSIX dan GUI Photon
- QNX 4.0 pada 1991: patuh POSIX, kernel diperkecil (7K, 605 LOC), IPC, jaringan, dan peningkatan performa
- Tahun 1994 dirilis QNX Photon microGUI: GUI ringan berbasis mikrokernel, transparansi jaringan, dan dukungan berbagai perangkat
- Photon dapat diperluas dari lingkungan dengan keterbatasan sumber daya hingga GUI berfitur tinggi, dan memiliki API kompatibel X Window
- Seluruh lingkungan demo (jaringan, browser web, manajemen file, dll.) cukup ringan untuk berjalan dari satu floppy 1,44MB
Sistem embedded dan terdistribusi, evolusi ke Neutrino
- Hingga QNX 4.25 (1997), QNX terus mengalami berbagai peningkatan dan memimpin OS real-time di perusahaan besar serta lokasi industri (pembangkit listrik, medis, transportasi, antariksa, dll.)
- Tahun 1996 QNX Neutrino 1.0: SMP, POSIX yang diperkuat, dukungan CPU luas, adopsi GNU/GCC, serta penguatan manajemen proses/thread
- Pengelolaan memori dan isolasi proses dibuat lebih ketat, sementara kode jaringan NetBSD diadopsi untuk meningkatkan fleksibilitas umum
Kemitraan dan masuk pasar
- Pada 1998, QNX mendorong kemitraan dengan Amiga (namun pada akhirnya Amiga memilih Linux)
- Tahun 1999 Neutrino 2.0/2.1: UPM (mekanisme perlindungan tingkat kernel), dukungan multi-arsitektur seperti PowerPC/MIPS/ARM, serta diversifikasi lingkungan pengembangan
- Tahun 1999 bekerja sama dengan Motorola untuk masuk ke sistem infotainment otomotif (navigasi, audio, dll.)
Tahun 2000-an: hingga multimedia, otomotif, dan mobile
- Tahun 2001 QNX 6.0: streaming multimedia, web package manager, dan integrasi lingkungan pengembangan untuk beragam CPU/arsitektur
- Modernisasi berlanjut dengan Momentics Tool Suite berbasis Eclipse (2002), network clustering, IPv6, dan lain-lain
- Setelah diakuisisi Harman International pada 2004, QNX berfokus pada pasar embedded dan otomotif, memperkenalkan platform QNX CAR, dan diadopsi oleh produsen kendaraan utama
- Komersialisasi massal: hingga 2010, dipasang pada 17 juta kendaraan dan lebih dari 200 model
Akuisisi BlackBerry dan evolusi mobile/keamanan
- Pada 2010, Research in Motion (BlackBerry) mengakuisisi QNX, lalu memperluasnya menjadi sistem operasi untuk BlackBerry PlayBook dan BB10 (=BBX)
- QNX Safety kernel (sertifikasi ISO/IEC, keamanan mission-critical) memperluas pasar sertifikasi embedded
- Photon terus berevolusi dalam jaringan, multimedia, UI/UX, dan aspek lainnya
- BBX (2013): UI berpusat pada gesture, multitasking, dan beragam framework aplikasi, dengan perangkat keras berperforma tinggi
- Namun gagal bersaing karena keterbatasan ekosistem aplikasi dan penghapusan keyboard, meski umurnya diperpanjang hingga 2022
Kesimpulan
- QNX menonjol dalam real-time, desain kernel atomik, multiprocessing transparan jaringan, skalabilitas, dan keamanan
- Membangun wilayah tersendiri lewat kompatibilitas Unix serta di bidang industri, otomotif, dan embedded
- Meski gagal bersaing dalam open source dan masuk ke lingkungan mobile massal, QNX tetap mempertahankan reputasi setara standar industri di bidang mission-critical
1 komentar
Komentar Hacker News
Saya punya kenangan menarik terkait OS ini. Waktu SD, ada komputer ICON di kelas, dan saya ingat saya serta teman-teman berlomba memutar trackball secepat mungkin. Saat bekerja di BlackBerry, saya mengembangkan fitur yang memungkinkan QNX BlackBerry digunakan sebagai perangkat Bluetooth HID. Dengan ini, laptop bisa dikendalikan dari jarak jauh memakai trackpad dan keyboard fisik, dan itu sangat berguna saat presentasi. Namun, ada PM yang meminta agar fitur ini dibatasi hanya untuk PlayBook, sehingga praktis jadi tidak berguna. Saya masih ingat jelas Dan Dodge berargumen bahwa karena ini standar, tidak boleh diberi pembatasan. Saya jadi menghormati Dan Dodge, dan tidak ingin bekerja lagi dengan PM itu
Mengejutkan bahwa komputer ICON berbasis OS ini. Pada masa itu, sistem ini jauh lebih maju daripada PC biasa. Kecuali fakta bahwa fitur komunikasi antar-ICON bisa dengan mudah menjatuhkan sistem lain atau bahkan seluruh jaringan
QNX pada akhirnya menjadi BlackBerry 10. Itu OS mobile terbaik yang pernah saya pakai. Sayangnya hanya sedikit orang yang menggunakannya
Saya pernah memakai fitur HID yang kamu kerjakan, dan saya benar-benar menyukainya
KDE Connect pada dasarnya melakukan hal yang sama dengan lebih baik. Benar-benar luar biasa
Saya berharap pengalaman ICON bisa dilestarikan lewat emulator. Sepertinya sekarang bahkan seluruh jaringan ICON bisa diemulasikan di browser
Saya sangat menyukai estetika minimalis QNX Photon. Saya mempertahankan konfigurasi FVWM yang rumit demi mempertahankan nuansa Photon semaksimal mungkin. Sebagai referensi, ini tangkapan layar desktop Gentoo tahun 2004 tangkapan layar desktop
Saya juga mengambil konfigurasimu dan mempertahankannya selama lebih dari 15 tahun
Bahkan sekarang pun masih terlihat keren. Penasaran apakah kamu masih menyimpan dotfiles-nya
Jauh lebih bagus daripada tema WindowMaker saya. Tema FVWM-mu keren sekali
Bukankah yang ada di tangkapan layar itu tiruan Winamp?
Saya sangat menyukai gagasan QNX dan punya ekspektasi besar. Saat itu tim kami sedang memindahkan optical food processor dari DSP ke hardware umum (FireWire, 1394). Isolasi proses QNX sangat hebat, tetapi overhead transfer data berbasis pesan tidak terlalu memuaskan. Pada akhirnya kami membayar 2 ribu dolar agar driver 1394 di Linux mendukung isochronous mode/dma, lalu memakainya bersama RT extensions. Pelajaran yang saya dapat dari situ adalah “hukum kekekalan keburukan”. Dalam sistem perangkat lunak, akan selalu ada bagian yang menyisakan ‘keburukan’ yang tak bisa dibuat elegan; jika satu sisi diperbaiki, ‘keburukan’ itu hanya berpindah ke tempat lain
Saya rasa “hukum kekekalan keburukan” pada dasarnya sangat mirip dengan ‘prinsip waterbed’. Dalam sistem dengan tingkat kompleksitas tertentu, jika masalah ditekan di satu bagian, pasti akan muncul di tempat lain. Kalau ingin tahu lebih banyak tentang prinsip waterbed, bisa lihat di sini
Ada ide untuk mempercepat message passing di QNX. Caranya dengan memakai mekanisme paging untuk mengirim pesan, yaitu hanya memperbarui page table tanpa menyalin data. Tentu saja masih ada overhead double TSS load dibanding macro kernel, tetapi cukup cepat. Tetap saja, keanggunan ada harganya. Jika mempertimbangkan latensi, keandalan, stabilitas, dan akurasi, faktor-faktor seperti ini menjadi pertimbangan yang jauh lebih berat daripada sekadar kecepatan pemrosesan mentah
Saat ini DSMP (Direct System Memory Protection) sudah didukung sepenuhnya, dan performa sistem juga jauh lebih baik, jadi saya rasa overhead message passing tidak lagi menjadi masalah besar. Menurut saya kelebihan lainnya justru lebih menonjol
Saya penasaran apakah “optical food processor” itu metafora, atau benar-benar alat pemotong makanan yang menggunakan gambar
Foto ICON di blog itu memang ICON milik saya, dan diambil dari blog saya (terima kasih sudah mencantumkan sumber). Saya bagikan postingan saya tentang komputer ICON di QNX. Di tulisan pertama juga ada tautan YouTube ke video demo QNX
posting ICON
posting LEXICON
Sekitar tahun 2002, saya pernah masuk ke cable modem lewat telnet dan sangat takjub menemukan bahwa yang berjalan di dalamnya adalah QNX
Sekitar tahun 1996, saya mendapatkan QNX yang memuat GUI RTOS dan network stack hanya dalam satu floppy disk, dan saya takjub pada ukurannya yang kecil. Untuk memasang Slackware saja butuh beberapa disk, jadi QNX terasa sulit dipercaya
Saya juga ingat. Di demo kecil itu bahkan sudah ada web browser. Kalau ingin mencobanya sendiri, bisa di sini
Versi demo seperti ini sebenarnya memang ditujukan untuk memamerkan kemampuan. Saat itu QNX sangat mengesankan sampai-sampai orang-orang memujinya dalam pasar live CD. Sebagai catatan, dulu juga ada Linux yang berjalan dari floppy dengan X11 dan web browser, dan itu juga benar-benar luar biasa tautan komentar HN
Sekitar tahun 2000, saat saya baru mulai mencoba desktop Linux, saya sempat mengunduh demo QNX dan benar-benar terkejut
Saya membangun sistem robotika di universitas dengan QNX 4. Dengan memanfaatkan kartu CPU 486/Pentium yang terhubung lewat jaringan, kami berhasil membuat robot hard real-time yang lengkap. Saya terkesan karena system call dasar QNX (send/receive/reply) diimplementasikan inline di header file hanya dengan sekitar 3 baris assembly. Berdasarkan pengalaman ini, saya banyak belajar dengan mengimplementasikan fungsi serupa sendiri di vxWorks, SunOS, Linux, dan lainnya dalam bidang robotika
makalah sistem robot
Kalau ingin mencoba QNX di Raspberry Pi, saya bagikan tulisan yang bisa dijadikan referensi panduan memasang QNX di Raspberry Pi
Di sini juga ada image gratis QNX 8.0. Bisa langsung di-flash ke Pi 4, dan juga bisa disesuaikan untuk Pi 400 serta CM4
image gratis QNX 8.0 dan panduan
Kalau ingin memakainya di mesin virtual, image versi lama bisa diunduh dari archive.org
image QNX versi lama
Saya pernah membuat audio server dengan QNX dan bahkan mem-porting fitur encoding serta pemutaran MP3. Saat berkunjung langsung ke kantor pusat, Dan Dodge memerintahkan timnya untuk membantu kami sepenuhnya. Berkat itu, kami bisa memulai startup dengan stabil, dan bantuan itu sangat berarti hingga 6 tahun kemudian saat kami pindah ke Linux
Di Quantum, mereka bilang menghormati Unix, sambil mempromosikan QNX sebagai desain era 1980-an yang akan menjadi OS era 1990-an. Pada saat itu mereka tidak benar-benar mempertimbangkan GNU, internet, Microsoft Windows, pengembangan pihak ketiga, hambatan masuk untuk aplikasi berbasis Windows, web, shareware, BBS, VAR, dan gerakan perangkat lunak bebas. Pasar sistem operasi bersifat winner-takes-all, dan kebijakan harga beberapa ratus dolar adalah langkah yang salah. Mungkin itu tak terhindarkan pada masa itu, tetapi kesadaran akan masalah tersebut jelas ada. Tentu saja, pentingnya GUI juga disadari terlambat, dan Photon GUI baru muncul di QNX 4.1 (1994)