1 puan yazan GN⁺ 2025-10-07 | 1 yorum | WhatsApp'ta paylaş
  • QNX, 1980'lerin başında Kanada'da ortaya çıkan mikroçekirdek tabanlı gerçek zamanlı bir işletim sistemidir
  • IBM PC dahil çeşitli donanımları destekler; yüksek taşınabilirlik, dağıtık mesaj iletimi, üstün güvenilirlik ve çok görevli bir ortam sunar
  • Eğitim bilgisayarları, endüstriyel altyapı, araç sistemleri gibi alanlarda benimsenerek büyük etki yaratmıştır
  • POSIX uyumluluğu sayesinde Unix ile uyumluluğunu güçlendirmiş, hafif GUI (Photon) ve çeşitli ağ özellikleriyle gelişmiştir
  • Otomotiv, gömülü sistemler, mobil gibi güncel pazar değişimlerine de uyum sağlayarak kararlılık, performans ve güvenliği sürekli artırmıştır

QNX işletim sisteminin başlangıcı

  • 1979'da University of Waterloo'dan Gordon Bell ve Dan Dodge, Thoth adlı gerçek zamanlı işletim sistemi projesiyle deneyim kazandı
    • Thoth; yüksek taşınabilirlik, eşzamanlı mesaj iletimi özelliklerine sahipti ve donanımdan bağımsız çalışıyordu
  • Bell ve Dodge mezun olduktan sonra Quantum Software Systems'i (daha sonra QNX Software Systems) kurdu ve prototip bir mikro bilgisayarda (6809 tabanlı) kendi işletim sistemlerini geliştirmeye başladı

QUNIX — QNX'in öncülü

  • İlk sürüm QUNIX 0.1, mikroçekirdek tabanlıydı; CP/M ve UNIX öğelerinin bir karışımıydı ve IBM PC için ilk mikroçekirdek gerçek zamanlı işletim sistemi olarak geliştirildi
  • Geleneksel Unix'ten farklı olarak /cmds, /config, /sys gibi kendine özgü dizin yapıları ve help komutu gibi özgün komut sistemi getirildi
  • Sabit disk desteği (QUNIX 0.4'te 5MB HDD), disket tabanlı önyükleme gibi ilk dönem sınırlamaları vardı

QNX'e geçiş ve büyüme

  • AT&T'nin ticari marka sorunu nedeniyle 1982'de adı QUNIX'ten QNX'e değiştirildi, 1983'te QNX 1.0 resmen yayımlandı
    • Çekirdek: yaklaşık 10.000 satır C kodu, zamanlama, mesaj iletimi, öncelik işleme gibi mikroçekirdek özellikleri
    • Hizmetlerin (dosya sistemi, sürücüler, ağ vb.) büyük kısmı mesaj tabanlı iletişim yapısına sahipti
    • Ağdan bağımsız şeffaf mesaj kuyruğu desteği, aynı anda en fazla 250 görev, çok kullanıcılı kullanım
  • C derleyicisi, editör ve ağ desteğiyle birlikte 650 dolara satıldı (1983 itibarıyla)
  • QNX 1.2 (1984): desen eşleme, shell programlamasının güçlendirilmesi, IBM AT desteği, fiyat indirimi vb.

Eğitim alanına giriş: Burroughs ICON

  • Ontario Eğitim Bakanlığı'nın eğitim amaçlı standart bilgisayar projesinde seçilerek ICON bilgisayarı (80186, 512K RAM, QNX yüklü) geliştirildi
  • Ağ tabanlı dosya sunucusundan önyükleme (ARCNET), yerel depolama aygıtı yoktu, kullanıcılar sunucu tabanlı home dizinlerini kullanıyordu
  • Hiper metin tabanlı lessonware denemeleri ile çeşitli eğitim yazılımları, ağ, ses özellikleri ve genişletilebilirlik gibi gelişmiş sistem kurma deneyimi elde edildi

Endüstriyel ve ticari pazarda genişleme

  • 1980'lerin orta ve sonlarında IBM PS/2, LAN, GUI, DOS emülasyonu (QDOS, RUNDOS) desteği gibi pazar ihtiyaçları yansıtıldı
  • 1987'de QNX 2: IBM AT korumalı modu, BSD ağ desteği, 1TB dosya, 32 seri port, basit GUI (House) gibi yükseltmeler
  • Ofis genişlemesi, yeni merkez binaya taşınma gibi kurumsal büyüme yaşandı

POSIX'in benimsenmesi ve Photon GUI

  • 1991'de QNX 4.0: POSIX uyumluluğu, çekirdeğin küçültülmesi (7K, 605 LOC), IPC, ağ ve performans iyileştirmeleri
  • 1994'te QNX Photon microGUI yayımlandı: mikroçekirdek tabanlı hafif GUI, ağ şeffaflığı, çeşitli cihaz desteği
    • Photon, kaynak kısıtlı ortamlardan yüksek özellikli GUI'lere kadar ölçeklenebiliyordu ve X Window uyumlu API'ler sunuyordu
    • Tüm demo ortamı (ağ, web tarayıcısı, dosya yönetimi vb.) tek bir 1.44MB disket üzerinde çalışabilecek kadar hafifti

Gömülü ve dağıtık sistemler, Neutrino'ya evrim

  • QNX 4.25'e (1997) kadar çeşitli iyileştirmeler yapıldı; büyük şirketlerde ve endüstriyel sahalarda (enerji santralleri, tıp, ulaşım, uzay vb.) gerçek zamanlı işletim sistemi alanında öncülük etti
  • 1996'da QNX Neutrino 1.0: SMP, güçlendirilmiş POSIX, geniş CPU desteği, GNU/GCC'nin benimsenmesi, süreç/thread yönetiminin güçlendirilmesi
    • Bellek yönetimi ve süreç yalıtımı daha sıkı hale getirildi, NetBSD ağ kodunun benimsenmesiyle genel kullanım kabiliyeti artırıldı

Ortaklıklar ve pazara giriş

  • 1998'de Amiga ile ortaklık girişimi oldu (nihayetinde Amiga Linux'u seçti)
  • 1999'da Neutrino 2.0/2.1: UPM (çekirdek düzeyinde koruma mekanizması), PowerPC/MIPS/ARM gibi çoklu mimari desteği, geliştirme ortamlarının çeşitlenmesi
  • 1999'da Motorola ile iş birliği yapılarak otomotiv bilgi-eğlence sistemlerine giriş yapıldı (navigasyon, ses vb.)

2000'ler: multimedya, otomotiv ve mobile kadar

  • 2001'de QNX 6.0: multimedya akışı, web paket yöneticisi, çeşitli CPU/mimari geliştirme ortamlarının bütünleştirilmesi
  • Eclipse tabanlı Momentics Tool Suite (2002), ağ kümeleme, IPv6 gibi modernleşmeler
  • 2004'te Harman International tarafından satın alındıktan sonra gömülü ve otomotiv pazarına odaklandı, QNX CAR platformu tanıtıldı ve büyük araç üreticileri tarafından benimsendi
  • Kitlesel ticarileşme: 2010'a kadar 17 milyon araçta, 200'den fazla modelde kullanıldı

BlackBerry satın alması ve mobil/güvenlik evrimi

  • 2010'da Research in Motion (BlackBerry), QNX'i satın aldı ve BlackBerry PlayBook ile BB10'un (=BBX) işletim sistemi olarak genişletti
    • QNX Safety çekirdeği (ISO/IEC sertifikaları, görev kritik güvenlik), gömülü sertifikasyon pazarında genişleme
    • Photon'un iyileştirilmesi, ağ, multimedya, UI/UX gibi alanlarda sürekli evrim
  • BBX (2013): jest odaklı UI, çoklu görev, çeşitli uygulama çatılarının desteği, yüksek performanslı donanım
    • Uygulama ekosisteminin sınırlı olması, klavyenin kaldırılması gibi nedenlerle rekabette başarısız oldu, ancak ömrü 2022'ye kadar uzatıldı

Sonuç

  • QNX; gerçek zamanlılık, atomik çekirdek tasarımı, ağda şeffaf çoklu işlem, ölçeklenebilirlik ve güvenlik alanlarında öne çıkmıştır
  • Unix uyumluluğu sayesinde endüstri, otomotiv ve gömülü sistemlerde kendine özgü bir alan oluşturmuştur
  • Açık kaynak ve kitlesel mobil ortam yarışında başarısız olsa da, görev kritik alanlarda endüstri standardı seviyesinde itibarını korumaktadır

1 yorum

 
GN⁺ 2025-10-07
Hacker News yorumu
  • Bu OS ile ilgili eğlenceli anılarım var. İlkokuldayken sınıfta ICON bilgisayarları vardı ve arkadaşlarımla trackball’u olabildiğince hızlı döndürmek için yarışırdık. BlackBerry’de çalışırken QNX BlackBerry’yi bir Bluetooth HID cihazı olarak kullanmayı sağlayan özelliği geliştirmiştim. Bu sayede trackpad ve fiziksel klavye ile dizüstü bilgisayarı uzaktan kontrol edebiliyordunuz; sunumlarda gerçekten çok kullanışlıydı. Ama bir PM bu özelliğin yalnızca Playbook ile sınırlandırılmasını istedi ve böylece fiilen işe yaramaz hale geldi. Dan Dodge’un, bu bir standart olduğu için kısıtlama konmaması gerektiğini savunduğunu çok net hatırlıyorum. Dan Dodge’a o zaman saygı duymaya başladım; o PM ile ise bir daha çalışmak istemem

    • ICON bilgisayarlarının bu OS tabanlı olduğunu öğrenmek şaşırtıcı. O dönemki sıradan PC’lerden çok daha ilerideydi. Yalnız, ICON’lar arası sohbet özelliğiyle başka sistemleri ya da tüm ağı kolayca çökertmek mümkün olması bunun istisnasıydı

    • QNX sonunda BlackBerry 10’a dönüştü. Kullandığım en iyi mobil OS’ti. Tek üzücü yanı, çok az kişi tarafından kullanılmış olması

    • Üzerinde çalıştığın HID özelliğini kullandım ve gerçekten çok beğenmiştim

    • KDE Connect pratikte aynı işi daha iyi yapıyor. Gerçekten harika

    • ICON deneyimini bir emülatörle koruyabilsek keşke. Bugünün tarayıcılarıyla tüm bir ICON ağını bile emüle etmek mümkün gibi görünüyor

  • QNX Photon’un minimalist estetiğini gerçekten seviyordum. Photon hissini olabildiğince yaşatmak için karmaşık bir FVWM ayarını sürdürmüştüm. Bu arada, bu da 2004 tarihli Gentoo masaüstü ekran görüntüm masaüstü ekran görüntüsü

    • Senin ayarını ben de alıp 15 yıldan uzun süre kullandım

    • Bugün bile hâlâ harika görünüyor. dotfiles'larını hâlâ saklayıp saklamadığını merak ediyorum

    • Benim WindowMaker temamdan kat kat iyi. FVWM teman gerçekten harika

    • Ekran görüntüsündeki şey Winamp çakması değil mi?

  • QNX fikrini çok sevdiğim için beklentim çok yüksekti. O sırada ekibimiz optik bir gıda işleme sistemini DSP’den genel amaçlı donanıma (FireWire, 1394) taşıyordu. QNX’in süreç yalıtımı müthişti ama mesaj tabanlı veri aktarımının ek yükü o kadar tatmin edici değildi. Sonunda Linux’un 1394 sürücüsüne isochronous mode/dma desteğini 2 bin dolara aldırdık ve RT uzantılarıyla birlikte kullandık. Buradan çıkardığım ders “çirkinliğin korunumu yasası” oldu. Yazılım sistemlerinde bir yerde mutlaka zarif olmayan bir “çirkinlik” kalır; bir tarafı düzeltirseniz o çirkinlik başka bir yere taşınır

    • “Çirkinliğin korunumu yasası”nın özünde “waterbed ilkesi”ne çok benzediğini düşünüyorum. Belirli bir karmaşıklık düzeyindeki sistemlerde bir yerdeki sorunu bastırınca mutlaka başka bir yerde ortaya çıkıyor. Waterbed ilkesi hakkında daha fazla bilgi isterseniz buraya bakabilirsiniz

    • QNX’te mesaj iletimini hızlandırmaya yönelik bir fikir var. Mesaj gönderiminde sayfalama mekanizmasını kullanıyorsunuz; veri kopyalamak yerine yalnızca sayfa tabloları güncelleniyor. Elbette macro kernel’e kıyasla hâlâ double TSS load ek yükü var ama yine de hızlı. Yine de zarafetin bir bedeli oluyor. Gecikme, güvenilirlik, kararlılık ve doğruluğu düşündüğünüzde, bunlar basit işlem hızından çok daha ağır basan tercihler haline geliyor

    • Günümüzde DSMP (Direct System Memory Protection) tamamen destekleniyor ve sistem performansı da çok daha yüksek, bu yüzden mesaj iletimindeki ek yükün artık büyük bir sorun olmadığını düşünüyorum. Hatta diğer avantajların daha ağır bastığını düşünüyorum

    • “optical food processor” burada bir mecaz mı, yoksa gerçekten görüntü kullanarak yiyecek kesen bir cihaz mı, merak ettim

  • Bu blogdaki ICON fotoğrafı benim ICON’ım ve benim blogumdan alınmış (atıf için teşekkürler). QNX üzerinde ICON bilgisayarları anlattığım gönderileri paylaşıyorum. İlk yazıda QNX demo videosunun YouTube bağlantısı da var
    ICON yazısı
    LEXICON yazısı

    • Yazılımı veya ROM’ları archive.org’a yedeklemeyi düşünüp düşünmediğini merak ediyorum. Bu sistem için emülatör geliştirilmesi, ROM’lara erişim sorunu yüzünden tıkanmıştı
  • 2002 civarında kablo modemime telnet ile bağlandığımda üzerinde QNX çalıştığını görmek beni çok şaşırtmıştı

  • 1996 civarında, tek bir floppy diske sığan RTOS GUI’si ve ağ yığınıyla gelen QNX’i görünce bu küçücük boyuta hayran kalmıştım. Slackware kurulumu için bile birden fazla disk gerekirken QNX inanılmaz gelmişti

    • Ben de hatırlıyorum. O küçük demo sürümünde bir web tarayıcısı bile vardı. Kendiniz denemek isterseniz buradan mümkün

    • Bu tür demo sürümler aslında yetenek gösterisi içindi. O dönemde QNX, live CD pazarında herkesin övgüyle söz ettiği kadar etkileyiciydi. Bu arada, floppy’den çalışan ve X11 ile web tarayıcısı içeren Linux dağıtımları da vardı; onlar da gerçekten etkileyiciydi HN yorum bağlantısı

    • 2000 civarında Linux masaüstünü kurcalamaya başlarken QNX demosunu indirip çok şaşırdığımı hatırlıyorum

  • Üniversitede QNX 4 ile bir robot sistemi geliştirdim. Ağ üzerinden bağlı 486/Pentium CPU kartları kullanarak tam anlamıyla hard real-time bir robot yapısı kurmayı başardık. QNX’in temel sistem çağrılarının (send/receive/reply) başlık dosyasında neredeyse üç satırlık assembly ile inline uygulanmış olması çok etkileyiciydi. Bu deneyim sayesinde daha sonra robotik alanında vxWorks, SunOS, Linux gibi sistemlerde benzer işlevleri kendim uygulayarak çok şey öğrendim
    robot sistemi makalesi

    • QNX bir zamanlar gerçek hayatta gerçekten kullanılan mikroçekirdek OS’ler arasında “imkânsızı mümkün kılan standart” gibiydi. Bugün Nintendo Switch Horizon, seL4, HarmonyOS NEXT gibi daha yeni OS’lerle kıyaslandığında nerede durduğunu merak ediyorum
  • Raspberry Pi üzerinde QNX denemek isterseniz, şu yazı işe yarayabilir QNX Raspberry Pi kurulum rehberi

    • Burada QNX 8.0’ın ücretsiz imajı da var. Doğrudan Pi 4’e flash’layıp kullanabilirsiniz; Pi 400 ve CM4 için de uyarlanabiliyor
      ücretsiz QNX 8.0 imajı ve bilgiler

    • Sanal makinede kullanmak isterseniz eski sürüm imajlarını archive.org’dan indirebilirsiniz
      eski QNX imajları

  • QNX üzerinde bir ses sunucusu geliştirdim, hatta MP3 kodlama ve oynatma işlevlerini de port ettim. Merkez ofisi ziyaret ettiğimizde Dan Dodge ekibe bize tam destek vermelerini bizzat söylemişti. Bu sayede startup’ımızı sağlam biçimde başlatabildik ve 6 yıl sonra Linux’a geçene kadar büyük faydasını gördük

    • Gerçekten harika bir hikâye. QNX Everywhere ile bu ruhu yeniden canlandırmayı planlıyoruz. Topluluğa ücretsiz erişim ve mümkün olan en fazla desteği sağlamayı hedefliyoruz
  • Quantum, Unix’e saygı duyduğunu söylerken QNX’i 1980’lerin tasarımıyla 1990’ların OS’i olarak pazarlıyordu. O dönemde GNU, internet, Microsoft Windows, üçüncü taraf geliştirme, Windows tabanlı uygulamalara giriş engeli, web, shareware, BBS, VAR, özgür yazılım hareketi gibi şeyleri yeterince hesaba katmadılar. OS pazarının kazananın her şeyi aldığı bir yapı olması ve birkaç yüz dolarlık fiyatlandırma stratejisi de büyük hataydı. O zamanlar bu belki kaçınılmazdı ama sorunun farkında olanlar vardı. Elbette GUI’nin önemini de geç kavradılar; Photon GUI ancak QNX 4.1’de (1994) geldi

    • Bu OS, POSIX uyumlu olması, masaüstüden sunucuya kadar ölçeklenebilmesi, son derece kararlı olması ve gerçek zamanlı denetim sunabilmesiyle benzersiz bir sistemdi. Gerçek zamanlı özellikleri sayesinde etkileşim çok akıcıydı ve 1990’lardan 2000’lere kadar böyle bir niş pazar olduğu için şirket ayakta kalabildi. 1999’daki, 1.44MB içine tüm GUI’yi, ağ desteğini ve web tarayıcısını sığdıran demo bugün bile gördüğüm en etkileyici işlev yoğunluklarından biriydi. Günümüzde gerçek zamanlı Linux, QNX seviyesinde performans verebiliyor ve QNX 6.6’dan sonra kendi üzerinde geliştirme de bırakıldığı için cazibesi azaldı. Ticari açıdan otomotiv/gömülü pazara odaklanmaları mantıklı ama bir teknoloji meraklısı olarak bunun biraz üzücü olduğunu düşünüyorum. Yüksek lisans maliyeti ve gerçek zamanlı Linux (üst seviye), Zephyr/FreeRTOS (alt seviye) rekabeti yüzünden yeni projelerde neden QNX seçelim sorusuna net bir yanıt bulmak zor. Yakın zamanda QNX’i seçen bir örnek bilen varsa görüşlerini duymak isterim