İşletim sistemi kelimesini duyduğumuzda aklıma gelen ilk şey, masaüstü bilgisayarlarımızda ve Microsoft Windows, Linux, Ubuntu, vb. Akıllı telefonlar için Android gibi dizüstü bilgisayarlarımızda kullanılan yazılım programıdır. Aslında, dijital elektronik cihazların çoğu, içinde mikrodenetleyici programı tarafından geliştirilen bir tür işletim sistemi çalıştırmaktadır. Mikrodenetleyicinin evrimi, günlük yaşamımızda şu ya da bu şekilde önemli bir rol oynayan çok sayıda gömülü sistem uygulamasının yolunu açtı.
Son zamanlarda duyduğumuz böyle bir sistem Gerçek Zamanlı İşletim Sistemidir veya sadece “RTOS” olarak adlandırılmaktadır. RTOS, gerçek zamanlı uygulamalar için kullanılan ve belirli bir zaman kısıtlaması dahilinde verileri işleyen uygulamalar anlamına gelen bir işletim sistemidir. QNX ve VxWorks, büyük ölçüde endüstriyel ve akademik ortamlarda kullanılan iki farklı gerçek zamanlı işletim sistemidir. Makalenin amacı, ikisi arasında tarafsız bir karşılaştırma yapmaktır.
QNX, başlangıçta gömülü sistemler için geliştirilmiş ve ilk olarak 1980'lerin başlarında Quantum Yazılım Sistemleri tarafından geliştirilen ticari bir gerçek zamanlı işletim sistemidir. Kanada merkezli şirket daha sonra QNX Yazılım Sistemleri olarak yeniden adlandırıldı ve nihayetinde Research in Motion (RIM) tarafından BlackBerry 10 OS ve daha sonra popüler BlackBerry Playbook'larının temeli olarak kullanılmak üzere satın alındı. Başucu Kitabı'nda kullanılan işletim sisteminin sürümü, gerçek bir mikro çekirdek mimarisi üzerine kurulmuş olan QNX Neutrino idi. QNX, ticari olarak başarılı ilk mikro çekirdek tabanlı işletim sistemiydi. QNX temel olarak, gerçek bir mikro çekirdek tasarımına ve işletim sisteminin öğelerinin Kaynak Yöneticileri olarak bilinen görevler olarak çalıştığı, geliştiricilerin düşünmedikleri herhangi bir işlevi kapatmasına izin verecek şekilde çalışan, Unix benzeri bir işletim sistemidir. özel sistemde artık gerekli. QNX ile ilgili en iyi şey, mesaj tabanlı süreçler arası iletişime dayalı olmasıdır.
VxWorks, gömülü sistemlerle gerçek zamanlı uygulamalar için dağıtılmış bilgi işlem için özel olarak tasarlanmış gerçek zamanlı bir işletim sistemidir. Akıllı bağlantılı sistemler için gömülü yazılım geliştirme konusunda uzmanlaşmış, Kaliforniya merkezli bir şirket olan Wind River Systems tarafından geliştirilen tescilli gerçek zamanlı bir işletim sistemidir. VxWorks, otuz yılı aşkın süredir gömülü sistemler ve cihazlar inşa eden endüstri lideri RTOS'tur. Geniş süreçler arası iletişim ve senkronizasyon işlevlerine sahip monolitik bir çekirdek. VxWorks'ün her bir yapısı, tüm işletim sisteminin çekirdek alanında çalıştığı mimarisi nedeniyle benzersizdir, yani tüm çekirdek hizmetleri ve kullanıcı hizmetleri, işletim sisteminin daha hızlı yürütülmesini sağlayan aynı adres alanında bulunur. Sistem çağrıları aracılığıyla hata ayıklama işlevleri, performans izleme, bellek yönetimi, CPU zamanlama ve diğer işletim sistemi işlevleri sağlar.
Her ikisi de, her biri farklı işlevlere sahip farklı bileşenlerin yüklü olduğu gömülü sistemlerle gerçek zamanlı uygulamalar için özel olarak tasarlanmış çok özel gerçek zamanlı işletim sistemleridir. Her iki sistem de büyük endüstriyel ve akademik ortamlarda yaygın olarak kullanılmaktadır ve onlarca yıldır faaliyet göstermektedir. QNX, 1980'lerin başında Kanada merkezli Quantum Software Systems tarafından geliştirilen ve daha sonra 2010 yılında RIM tarafından satın alınan ticari bir RTOS'dur. VxWorks, gömülü yazılım oluşturmada sektör lideri olan California merkezli Wind River Systems tarafından geliştirilen tescilli bir yazılımdır. akıllı bağlantılı ürünler ve sistemler için.
Her iki işletim sistemi de, verileri işleyen kritik öneme sahip uygulamalar için gerçek zamanlı çekirdeği kullanır; yani sistem, önceden tanımlanmış zaman kısıtlamaları içinde, aksi takdirde 'son tarihler' olarak bilinen, garantili gerçek zamanlı bir kısıtlamaya tabidir. Ana fark mimaride yatmaktadır - QNX bir mesaj iletme mimarisine dayanırken, VxWorks kendini paylaşılan bellek mimarisine borçludur. İleti iletme, sistemin bir görevden diğerine veya sistemdeki birkaç kişiye bilgi aktarmasına olanak tanıyan çekirdek tasarımı için temeldir. Paylaşılan bellek mimarisi, fiziksel olarak dağıtılmış anılar için kendi özel adres alanına sahip bir sistemi ifade eder.
İki gerçek zamanlı işletim sistemi arasındaki temel farklardan biri, QNX'in mikro çekirdekli bir işletim sistemi olması ve VxWorks'ün monolitik bir çekirdek olmasıdır. Mikro çekirdek, adres alanı yönetimi, iş parçacığı yönetimi ve süreçler arası iletişim gibi temel hizmetleri yönetmek için sistem çağrılarından yararlanan küçük bir işletim sistemi gibidir. Bir işletim sistemi uygulamak için sınırlı sayıda ilkel ve minimum yazılım bağımlılığı gerektiren bir sistemi ifade eder. Monolitik bir çekirdek ise, korumalı bir çekirdek alanında süreçler arası iletişim de dahil olmak üzere tüm temel hizmetleri ve kullanıcı tanımlı hizmetleri yönetir. Monolitik bir çekirdek olarak VxWorks bağımsızdır.
Her iş parçacığının veya sürecin QNX'te kendi önceliği vardır. QNX altında, tüm işlemler önceliğe dayalı önleyici bir temelde çalışır, yani en yüksek önceliğe sahip işlem ilk olarak CPU'ya erişir ve öncelikler 0 ila 31 arasında değişir. Zamanlama gerçek zamanlı olarak gerçekleşir ve her iş parçacığı üst öğenin önceliğini devralır varsayılan olarak. İki iş parçacığı aynı önceliği paylaştığında, QNX tarafından FIFO, Round-Robin ve Sporadik Zamanlama gibi diğer zamanlama yöntemleri kullanılır. Diğer yandan VxWorks, öncelikli önceliğe dayalı ve Round-Robin zamanlaması olmak üzere yalnızca iki tür zamanlama algoritması kullanır. Birlikte verimli zamanlama için kullanıcılara daha fazla kontrol sağlar.
Her ikisi de, görevlerin önceden tanımlanmış bir zaman kısıtlaması içinde geldiklerinde işlenmesini ve tamamlanmasını gerektiren gerçek zamanlı uygulamalar için tasarlanmış çekirdek tabanlı gerçek zamanlı işletim sistemleridir; Her ikisi de 25 yılı aşkın bir süredir faaliyet göstermektedir ve gömülü ürünler ve sistemler geliştirme konusunda uzmandır, ancak tüm benzerlikler burada biter. QNX, güvenilir dağıtılmış sistemler yapmak için ideal olan mesaj geçiş tabanlı mimarisi sayesinde kendi başına oldukça etkileyici olan mikro çekirdekli, gerçek zamanlı bir işletim sistemidir. VxWorks, otomotiv sistemleri, aviyonik, tüketici elektroniği, vb.Gibi büyük endüstriyel ortamlar için ideal hale getiren, paylaşılan bellek mimarisine dayanan monolitik bir çekirdektir..