Perkara pertama yang kami fikir apabila kami mendengar perkataan sistem operasi ialah program perisian yang digunakan dalam komputer meja dan komputer riba kami seperti Microsoft Windows, Linux, Ubuntu, dll, dan Android untuk telefon pintar. Sebenarnya, sebahagian besar peranti elektronik digital menjalankan beberapa jenis sistem operasi di dalamnya yang dibangunkan oleh program mikrokontroler. Evolusi mikrokontroler telah membuka jalan bagi banyak aplikasi sistem tertanam yang memainkan peranan penting dalam kehidupan sehari-hari kita dengan cara lain.
Satu sistem sedemikian yang telah kita dengar tentang kebelakangan ini ialah Sistem Operasi Masa Nyata, atau hanya dirujuk sebagai "RTOS". RTOS adalah sistem pengendalian yang digunakan untuk aplikasi masa nyata yang bermaksud aplikasi yang memproses data seperti yang terdapat dalam kekangan waktu tertentu. QNX dan VxWorks adalah dua sistem operasi masa nyata yang berbeza, yang kebanyakannya digunakan dalam persekitaran industri dan akademik. Tujuan dari artikel ini adalah untuk melakukan perbandingan yang tidak berat sebelah antara keduanya.
QNX adalah sistem operasi masa nyata komersial yang mula-mula dibangunkan untuk sistem terbenam dan pada asalnya dibangunkan oleh Sistem Perisian Kuantum pada awal tahun 1980-an. Syarikat yang berpangkalan di Kanada kemudiannya dinamakan Sistem Perisian QNX dan akhirnya diperoleh oleh Research in Motion (RIM) untuk digunakan sebagai asas untuk BlackBerry 10 OS mereka dan BlackBerry Playbook yang popular. Versi OS yang digunakan dalam Playbook ialah QNX Neutrino yang dibina di atas seni bina mikrokernel yang benar. QNX adalah sistem pengendalian berasaskan mikrokernel yang berjaya secara komersil pertama. QNX pada dasarnya adalah sistem operasi seperti Unix berdasarkan reka bentuk microkernel sebenar dan seni bina modular di mana unsur-unsur sistem operasi berjalan sebagai tugas, dikenali sebagai Pengurus Sumber, yang akan membolehkan pemaju mematikan sebarang fungsi yang mereka fikir tidak diperlukan lagi dalam sistem tertentu. Perkara terbaik mengenai QNX adalah berdasarkan komunikasi interprocess berasaskan mesej.
VxWorks adalah sistem operasi masa nyata yang direka khusus untuk pengkomputeran yang diedarkan untuk aplikasi masa nyata dengan sistem tertanam. Ia merupakan sistem operasi masa nyata proprietari yang dibangunkan oleh Wind River Systems, sebuah syarikat yang berpangkalan di California khusus dalam membangunkan perisian terbenam untuk sistem yang berkaitan dengan pintar. VxWorks adalah RTOS yang terkemuka di industri yang telah membina sistem dan peranti terbenam selama lebih dari tiga dekad. Ia adalah kernel monolitik dengan komunikasi antara proses dan fungsi penyegerakan yang luas. Setiap pembentukan VxWorks adalah unik kerana senibina di mana seluruh sistem operasi berfungsi dalam ruang kernel yang bermaksud semua perkhidmatan kernel dan perkhidmatan pengguna wujud di ruang alamat yang sama yang membuat pelaksanaan sistem operasi lebih cepat. Ia menyediakan fungsi debug, pemantauan prestasi, pengurusan memori, penjadualan CPU, dan fungsi sistem operasi lain melalui panggilan sistem.
Kedua-duanya adalah sistem operasi masa nyata yang sangat khusus yang ditujukan untuk aplikasi masa nyata dengan sistem terbenam, masing-masing dengan banyak komponen yang berbeza dengan fungsi yang berbeza. Kedua-dua sistem ini digunakan secara meluas dalam persekitaran industri dan akademik yang besar dan telah berniaga selama lebih dari satu dekad. QNX adalah RTOS komersil yang dibangunkan oleh Sistem Perisian Kuantum yang berpangkalan di Kanada pada awal tahun 1980an, yang kemudiannya diperoleh oleh RIM pada tahun 2010. VxWorks adalah perisian proprietari yang dibangunkan oleh Wind River Systems yang berpangkalan di California, pemimpin industri khusus dalam membina perisian tertanam untuk produk dan sistem berkaitan pintar.
Kedua-dua sistem operasi menggunakan kernel masa nyata untuk aplikasi misi kritikal yang memproses data kerana ia bermakna makna subjek sistem kepada kekangan masa sebenar yang menjamin tindak balas dalam kekangan masa yang ditetapkan sebelum ini, atau dikenali sebagai 'tarikh akhir'. Perbezaan utama terletak pada seni bina - sementara QNX didasarkan pada sebuah arkitektur yang lewat, VxWorks memberi pinjaman kepada seni bina memori. Lulus mesej adalah asas kepada reka bentuk kernel yang membolehkan sistem untuk menyampaikan maklumat dari satu tugas ke yang lain atau kepada beberapa orang lain dalam sistem. Seni bina memori bersama merujuk kepada sistem yang mempunyai ruang alamat peribadi tersendiri untuk ingatan yang diedarkan secara fizikal.
Salah satu perbezaan utama antara dua sistem operasi masa nyata ialah QNX adalah OS berasaskan mikrokernel manakala VxWorks adalah kernel monolitik. Microkernel adalah seperti sistem operasi kecil yang memanfaatkan panggilan sistem untuk mengurus perkhidmatan asas seperti pengurusan ruang alamat, pengurusan thread, dan komunikasi antara proses. Ia merujuk kepada sistem yang memerlukan satu set primitif terhad dan kebergantungan perisian minimum untuk melaksanakan OS. Satu kernel monolitik, sebaliknya, menguruskan semua perkhidmatan asas dan perkhidmatan yang ditentukan pengguna termasuk komunikasi antara proses dalam ruang kernel yang dilindungi. Sebagai kernel monolitik, VxWorks bersifat mandiri.
Setiap benang atau proses mempunyai keutamaan sendiri dalam QNX. Di bawah QNX, semua proses dijalankan pada asas preemptive yang didorong oleh keutamaan yang bermaksud proses dengan keutamaan tertinggi mendapat akses CPU pertama dan keutamaannya berkisar antara 0 hingga 31. Penjadualan berlaku dalam masa nyata dan setiap benang mewarisi keutamaan ibu bapa secara lalai. Apabila dua benang berkongsi keutamaan yang sama, kaedah penjadualan lain digunakan oleh QNX seperti FIFO, Round-Robin, dan Penjadualan Sporadik. VxWorks, sebaliknya, hanya menggunakan dua jenis algoritma penjadualan, preemptive priority-based dan penjadualan Round-Robin. Bersama-sama mereka memberikan lebih banyak kawalan kepada pengguna untuk penjadualan yang cekap.
Kedua-duanya adalah sistem operasi masa nyata berasaskan kernel yang ditujukan untuk aplikasi masa nyata yang memerlukan tugas-tugas untuk diproses dan diselesaikan ketika mereka berada dalam kekangan masa yang telah ditentukan sebelumnya, jika tidak disebut sebagai tarikh akhir. Kedua-duanya berada dalam perniagaan selama lebih dari 25 tahun dan khusus dalam mengembangkan produk dan sistem tertanam, tetapi ini adalah kesemua kesamaan berakhir. QNX adalah sistem operasi masa nyata berasaskan mikrokernel yang agak menarik dengan sendiri, terima kasih kepada arus perbarisan berdasarkan mesejnya yang sesuai untuk membuat sistem diedarkan yang boleh dipercayai. VxWorks adalah kernel monolitik berdasarkan seni bina memori bersama yang menjadikannya sesuai untuk persekitaran industri yang besar seperti sistem automotif, avionik, elektronik pengguna, dan sebagainya..