Saya bertanya-tanya apakah ada yang tahu apa sistem operasi yang digunakan dalam pesawat komersial (katakanlah Boeing atau Airbus).
Juga, apa bahasa pemrograman waktu-nyata (lebih disukai)? Saya mendengar bahwa Ada digunakan di Boeing, jadi pertanyaan saya adalah - mengapa Ada? apa kriteria Boeing-guys harus memilih bahasa ini? (Saya kira Java tidak akan menjadi pilihan yang bagus jika benar-benar mengangkat kolektor sampah).
Jawaban:
Avionik
Untuk sistem kontrol pesawat, kami tidak berbicara tentang sistem operasi tetapi tentang avionik , avionik terintegrasi atau sistem udara komputer pada umumnya. Dan mereka sebenarnya adalah kombinasi dari banyak sistem independen atau saling bergantung, untuk fungsi yang berbeda ( kontrol penerbangan , penghindaran tabrakan , cuaca, komunikasi, kotak hitam ...).
Setiap controller biasanya merupakan modul independen (perangkat keras dan perangkat lunak) untuk alasan keamanan dan keselamatan yang jelas: mereka adalah sistem kontrol dan pemantauan yang kritis dan jika salah satu dari mereka gagal atau rusak, itu adalah "ketidaknyamanan" yang agak besar bagi orang-orang yang tergantung pada pesawat. Ketergantungan mengambil semua artinya ketika Anda berada di mesin terbang. Jadi biasanya itu
Ini bukan komputer besar yang menjalankan semuanya. Jika Anda memikirkannya dari sudut pandang pesawat militer dan bukan pesawat komersial (meskipun dalam hal ini serupa, gambar mungkin membantu): jika suatu bagian ditembak, Anda lebih suka setidaknya memiliki beberapa bagian lain yang dapat untuk terus berjalan (bagian yang mengendalikan sistem komunikasi dan keselamatan mungkin menarik untuk tetap hidup ...). Karenanya juga banyak tombol yang Anda lihat di pesawat jet, untuk melacak status berbagai sistem.
Mereka biasanya dibangun sebagai komponen khusus yang mengoperasikan sistem mereka sendiri, atau mereka dijalankan dan dijadwalkan oleh mikro-kernel (dalam kebanyakan kasus, dengan dukungan untuk kemampuan real-time ).
Ini tergantung pada vendor dan negara, tentu saja, tetapi mereka biasanya setidaknya harus mengikuti serangkaian peraturan, persyaratan desain, dan spesifik protokol yang agak ketat, yang memungkinkan untuk:
Upaya Standardisasi
The DO-178B (revisi tahun 1992) dan penggantinya DO-178C (revisi 2012) (dan sekelompok dokumen terkait) adalah contoh dari sertifikasi referensi untuk tingkat kepatuhan tersebut, dan diakui oleh FAA (AS), EASA (UE), dan Transport Canada, antara lain. Beberapa organisasi lain terlibat dalam pembuatan dokumen semacam itu, seperti EUROCAE .
Sistem udara seperti itu biasanya perangkat lunak yang dipesan lebih dahulu, tetapi sistem berikut diketahui digunakan di beberapa pesawat:
Untuk memberi Anda gagasan samar-samar tentang unsur-unsur yang dibangun dalam sistem avionik, daftar akronim avionik ini menunjukkan beberapa di antaranya (dengan beberapa tumpang tindih).
Bahasa yang terkenal digunakan dalam Komersial dan Militer Avionik
Terlepas dari para tersangka yang biasa kita kenal di dunia pemrograman "arus utama", Anda akan menemukan beberapa nama yang sering dirujuk seperti Ada , dan beberapa bahasa yang kurang dikenal seperti (tanggal dan sekarang "pensiun" sejak 2010) JOVIAL .
Pertanyaan terkait StackExchange:
sumber
Sebagian besar pesawat modern menggunakan RTOS tujuan umum (sistem operasi realtime) cukup banyak hal yang sama yang digunakan dalam otomatisasi pabrik, pembangkit listrik, kapal dll
Airbus menggunakan beberapa, termasuk INTEGRITAS dari Northrop-grumman dan memprogramnya dalam C / C ++, Boeing menggunakan VxWorks antara lain
sumber
Untuk apa nilainya: Untuk pesawat ruang angkasa (satelit dan antarplanet) C dan C ++ masih dominan (dan dengan kepatuhan yang sangat ketat terhadap standar ISO), umumnya menjalankan VxWorks. Labs umumnya akan tetap dengan C atau C ++ berdasarkan pada keakraban pengembang, kepercayaan pada compchain toolchain, dan standar pengkodean internal. Ada alasan kuat untuk kedua bahasa untuk perangkat lunak penerbangan waktu-nyata, tetapi masing-masing organisasi cenderung tetap dengan satu atau yang lain. Instrumen tambahan, di sisi lain, umumnya diprogram dalam Forth, C, dan bahasa skrip yang semakin modern seperti Lua.
sumber
Juga perlu dicatat bahwa sistem kontrol sering dikembangkan menggunakan desain berbasis model menggunakan Simulink. Desain kemudian dikonversi menjadi kode C secara otomatis. Manusia masih membaca dan memvalidasi kode.
sumber