Vaka Çalışması: Uydu Sistemi için Özel Bir İşletim Sistemi Oluşturma
Table of Contents
Bir UzayGrade İşletim Sistemi inşa etmek: Uydu Geliştirmeden Dersler
Her uydu, bir beyin taşır - bir özel işletim sistemi (OS) bu tür bir sistem, mevcut olan en zorlu yazılım mühendisliği zorluklarından biri olan.Bu durumda, bir dizüstü bilgisayardaki OS'nin mükemmel bir şekilde çalışmasını ve test etmek için bir sistem oluşturmasını sağlar.
Taahhütler, önceden belirlenmiş ve beklenmedik koşullarda milyonlarca dolar kazandırdıktan sonra tek bir yazılım hatasına ek olarak, Avrupa Uzay Ajansı (ESA) notları, yazılım hataları hesabı, büyük bir oranda in-orbit anomalileri için hesap verir. Bu nedenle, bir uydu OS'deki her kod haklı, doğrulanabilir ve beklenmeyen koşullara karşı sertleşmiştir.
Uydular için özel bir işletim sistemi neden?
VxWorks, RTEMS ve FreeRTOS gibi ticari gerçek zamanlı işletim sistemleri (RTOS) gömülü havacılık uygulamalarında yaygın olarak kullanılmaktadır. Ancak, birçok uydu programı - özellikle de görev gereksinimleri olan - kaynak kullanımı, güvenlik ve hata kurtarma için özel bir OS inşa etmek için.
- [FONT:0)Deterministic Scheduling[[Dönetici: Uydu görevleri, ateş iterleri veya görüntü yakalama gibi, genel amaçlı bir OS garanti edemeyeceğini tahmin etmek gerekir.
- [FONT=0)Minimal Footprint[[Dönetici: Her bir bellekte her kilo yükleme kapasitesi veya maliyet artışları azalır. Özel bir OS, gereksiz hizmetleri şeritleyebilir, çekirdeği yalın tut.
- [FONT=0]Fault Containment[[DÜT:1): Uzay sistemleri tek başına bir yol göstericiye (SEUs) ve donanım aksaklıkları hayatta kalmalı ve özel bir OS, domain özel bir saatdog mekanizmaları ve en iyi ürünlerde bulunmayan redüpsiyon mekanizmaları uygulayabilir.
- [FONT=0) Tasarım[Döneticiler: Uydular siber saldırılar için giderek daha fazla hedeftir. Özel bir OS, komut, telemetri ve üçüncü taraf yamalara güvenmeksizin verileri zorlayabilir.
- [FONT:0]Uzun süreli Destek[[[Dönetici: 1): Misyonlar 10-15 yıl sürebilir. Özel bir OS, bu tür genişletilmiş zamanlar üzerinde özel yazılımları etkileyebilecek özel bir sistemden kaçınır.
Aşama 1: Uydu Sistemi Gereksinimleri Tanımlamak
Herhangi bir uydu OS'nin temeli titiz bir gereklilik analizi ile başlar. Mühendisler her bir sonraki tasarım kararı kullanan somut teknik özelliklere görev hedeflerini tercüme etmelidirler.
Gerçek Zamanlı Veri İşleme
Uydular katı zaman çizelgesi üzerinde çalışır. Attitude control loops genellikle sensör okumalarını ve eylemci komutlarını 10 Hz'nin 100 Hz'ye kadar, mikrosaniyede ölçen jitter ile birlikte kontrol altına almak için zaman çizelgesi ve kesme işlemi gerektirir. Örneğin, 5 ms geç gelen bir yıldız takip cihazı güncellemesi, antenini yanlış anlamasına neden olabilir.
Yanlış Hoşgörü ve Autonomy
Jeok yörüngede bir uydu, yaklaşık 500 ms'ın bir yuvarlak-dönüşümlü iletişim gecikmesini deneyimliyor. Zaman zemin kontrolü bir hata tespit ederse, uydu zaten kritik bir durumda olabilir. OS bu nedenle tespit etmeli, izole etmeli ve donanım ve yazılım başarısızlıklarından kurtarılmalıdır. Bu, bellek yerlerine, sağlık görev monitörlerine ve görev verileri kaybetmeden bir alt sistemi yeniden başlatma yeteneği içeriyor.
Güç ve Termal Kıtlar
Her CPU döngüsü güç tüketiyor ve aşırı hesaplama, uzayın vakumuna dağıtılması gereken ısıyı üretiyor. OS dinamik gerilim ve frekans ölçeklendirme (DVFS), boş periferileri düşüren ve pillerin tek güç kaynağı olduğunda enerji tüketimini en aza indirmek için algoritmaları ayarlar.
Güvenli Komut ve Telemetri
Uydu komutunu, izinsiz erişimin önlenmesi için kimlik doğrulamalı ve şifreli olmalıdır. OS, uygulamadan önce her komut paketin kriptografik doğrulamasını uygulamalı, eavesdroplamaya karşı dirençli olan kablosuz ağ bağlantıları.This requiresComplinging Hardware security Module (HSMs) and managing kriptografik anahtarları multi-year misyonu üzerinde yönetmeli.
Harsh Ortamlarında Uzun Süreli Yenidenlik
Uzay düşmanca bir ortamdır. Radyasyon, tek bir yol açıcısına (bitkiler) ve latch-uplara karşı AG, termal sensörleri yönetmek ve güvenli çalışma sınırları içinde kalmak için saat hızlarını ayarlayabilir.
2. Aşama: Özel OS Mimarisini Tasarlamak
Eldeki gereksinimlerle, ekip mimari tasarıma taşınır. Hedef modüler, doğrulanabilir ve farklı uydu otobüslerine adapte edilebilir bir sistem yaratmaktır.
Anahtarlama ve Gerçek Zaman Çizelgesi
Sistem için, mühendisler genellikle iki aileden birini seçerler: küçük bir mikroker veya gerçek zamanlı yönetici. Microkernels, açık kaynak RTEMS, etkin bir işlem iletişimi ve hafıza koruması sağlarken, özel bir yönetici neredeyse her zaman sabit bir önceliktir.
Uygulamada, görev öncelikleri, fonksiyonun eleştirelliğine dayanmaktadır. Attitude kontrol görevleri en yüksek önceliği alır, termal yönetim, ücret işlemleri ve telemetri. Bir öncelik invers problemi - daha düşük öncelikli bir görevin bloke edilmesi - önceliklendirme protokolleri kullanılarak engellenir.
Memory Management
Uydu OS tasarımları genellikle sanal hafızadan kaçınır çünkü sayfa masalarının ve TLB'nin ayrılması, öngörülemeyen görevleri yerine getirir, her görevin önyükleme zamanında sabit bir fiziksel hafıza havuzu verildiği yerde bulunur.Bu yaklaşım, WCET analizlerini ortadan kaldırır ve WCET analizlerini mümkün kılar.
Hata Tespiti ve Kurtarma Mekanizmaları
Uydu için özel bir OS, birden çok savunma katmanı içerir:
- [FONT:0)Sağlık İzlemeleri[Döneticiler: Elektronik seviye görevler periyodik olarak uygulama çalışmalarını yürütme ilerlemelerini izleyerek kontrol eder. Cevap verme işlemine başarısız olan bir görev yeniden başlatılır ve olay giriş yapılır.
- [FONT=0]Watchdog Timers[Dönetici: Bir Donanım Saatçisi, OS'nin tanımlanmış bir aralıkta hizmet etmediği takdirde tüm işlemciyi sıfırlar.Bu, sonsuz döngüler ve çekirdek tezgahları yakalar.
- [FONT:0)Memory ECC ve Sovma[DÜT:1): OS periyodik olarak hafıza bölgeleri okur ve tek bir hata, birden fazla hataya yol açan hataların birikimini engeller.
- [FONT:0)Triple-Modular Redcy (TMR))[Könetici için, OS, üç aynı koherasyon parçacığı yönetebilir ve bir rol seçmeye karar verir.If one thread agrees, it is reset and restore to a known state.
modülerlik ve Updateability
Uydu misyonları son yıllarda bulunabilir ve yazılım kusurları başlatıldıktan sonra keşfedildi. OS, otomatik olarak genişletilebilir ve yazılımların kırmızı kopyalarına uygulanır, böylece başarısız bir güncelleme asla değişmez, bir çekirdektir.
3. Aşama: Uygulama ve Rigorous Test
Bir uydu OS'nin uygulanması, MISRA-C veya DO-178C gibi, güvenlik-kritik sistemler için programlama hatalarının en aza indirgenmesi için katı kodlama standartlarını takip eder ve kod birden fazla mühendisler tarafından incelenir.Test süreci tipik sistemlerde gömülü geliştirmeden çok daha kapsamlı.
Simated Environment Testi
OS'nin gerçek donanıma dokunmadan önce, uydunun sensörlerini modelleyen bir yazılım simülasyonunda çalışır, eylemciler ve yörünge dinamikleri. Bu çevre, geliştiricilerin laboratuvarda yeniden üretebilmeleri için doğru bir şekilde senaryoda bulunmalarını sağlar - kritik bir yan veya aniden güç kaybı sırasındaki başarısızlık gibi. Binlerce saat simülatörün görevinin nominal ve kapalı görüntüleri doğru bir şekilde idare ettiğini doğrulamasına olanak sağlar.
Donanım-Loop Test
OS simülasyonda stabil olduğunda, gerçek uçuş donanımına yükleniyor - LEON3, RAD750 veya bir Cortex-R serisi mikro kontroller ile bu cihazları kontrol altına alınabileceğini göstermelidir. Donanım-in-the-loop (HIL) testleri, uçuş bilgisayarı gerçek veya emated periferilere bağlar: inanılmaz ölçüm birimleri, yıldız pistleri, tepki tekerlekleri ve iletişim radyoları. OS, gerekli zaman ve doğrulukla kontrol edebilir. HIL testleri de kontrol eder.
Radyasyon ve Çevre Testi
Uçuş donanımı, özel OS'yi çalıştırın, örneğin, NASA'nın Jet Propulsion Laboratory veya ESA'nın Avrupa Uzay Araştırma ve Teknoloji Merkezi gibi test tesislerine maruz kalma konusunda termal vakum bisikleti, titreşim ve radyasyon maruz kalmalarına maruz kalıyor. Bu testler, bu stres testlerini geçmek için çok uzun süre harcıyor.
Entegrasyon ve Sistemler Test
Son aşama, OS'yi tüm uydu sistemi ile entegre eder ve tüm komut sıralarına doğru cevap verir. Bu, enerji yönetimi ünitesini, termal kontrol sistemini ve ödeme yükleme aletlerini içerir. OS, başlangıç sırasını orkestraya, güvenli tutma modları ile geçiş ve tüm komut dizilerine doğru cevap vermelidir.
Aşama 4: Overcoming Key Challenges
Her uydu OS projesi, bilinen bir meydan okuma seti ile karşı karşıya. İşte beton mühendisliği çözümleriyle nasıl ele alınırlar.
Kaynak Kıtlamaları: CPU, Memory ve Power
Uzaylı işlemciler genellikle performanstaki en kötü davaları ölçmek için 10-20 yıl geride kalıyor. Örneğin, NASA'nın RAD750, PowerPC 750'ye dayanarak, 256 MB RAM yönetimi ile 200 MHz'de çalışır. Her CPU döngüsü, zamanlayıcı görevleri arasında statik analiz araçları kullanarak, görev döngüsüne göre en kötü şekilde performansa uygun olarak statik analiz araçları kullanmalıdır.
Donanımsız Radyasyon Sertleşme
Donanım radyasyonu pahalı ve bazen kullanılamazken, özel bir OS, hataların bulunduğu takdirde yazılım bazlı bir masyon uygulayabilir.Tek-event üzgünler, tüm kritik veriler üzerinde parite çekleri veya ECC çalıştırarak tespit edilir. OS zamanlamalayıcı periyodik olarak kontrol bloklarının kontrollerini yeniden hesaplayabilir ve geri yüklemeleri mümkün kılar.
İletişim Latency ve Güvenlik
Komut ve kontrol bağlantıları doğal gecikmelere sahiptir ( milisaniyelerden birkaç saniyeye kadar). OS, görev süresine karşı onları doğrulamalı ve onları CCSDS Space Data Link Security (SDLS) gibi hassas veri protokollerinin izinsiz zemin istasyonları tarafından ele alınmasına engel olmak için şifreli.
Multi-Yıl Misyonları Üzerinde Bağımlılık
10 yıl boyunca sıfırsız çalışan bir OS olağanüstü sağlamlığı gerektirir. Geliştirme ekibi, "watchdog redcy" sistemini sisteme dönüştürür: birincil sağlık monitörü görevi başarısız olursa, ikincil bağımsız bir sağlık monitörü sona erer. OS kontrolleri de, görevin yeniden inşa edilmesinden sonra sistemi yeniden inşa edebilir.
Gerçek Bir Dünya Perspektifi: Proven Desenler Üzerinde Yapı
Her uydu OS benzersiz olsa da, Ay Reconnaissance Orbiter ve Mars Bilim Laboratuvarı da dahil olmak üzere birçok görevde kullanılan bir çerçeve sağlar. Benzer şekilde, Avrupa Uzay Ajansı birkaç Dünya gözlemleme ve bilim misyonu için RTEMS'de standartlaşmıştır. Böyle bir çerçeve kullanarak, özelleştirmeyi önlemez - bu görev için sağlam, iyi test edilen temel sağlar.
Buna karşılık, aşırı güç verimliliği veya güvenliği gerektiren bir program minimum çekirdekten başlayabilir - FreeRTOS veya özel bir programcıdan elde edilen ve temel hizmetler için tekerleği yeniden icat etmek (örneğin, kesintiye veya görev yönetimi gibi) ve uydunun OS'den ayırt edilen bağımsız özellikler.
Daha fazla araştırmak isteyenler için, aşağıdaki dış kaynaklar ayrıntılı teknik arka plan sunar:
- [FONTA'nın temel Uçuş Sistemi (cFS))[değiştir | kaynağı değiştir], temel Uçuş Yönetici ve OSAL dahil uzay görevleri için yeniden kullanılabilir bir yazılım çerçevesi.
- [FONT:0)RTEMS: Multiprocessor Systems için Gerçek Zaman Yöneticisi), uzay uygulamalarında yaygın olarak kullanılan açık kaynak RTOS.
- [FONTA Onboard Software Development[[Dönetici:0] – Avrupa Uzay Ajansının uzay aracı yazılımları için rehberlik ve standartlar.
Sonuç Sonuç Sonuç Sonuç Sonuç Sonuç Sonuç Sonuç
Uydu sistemi için özel bir işletim sistemi aşırı mühendislikte bir egzersizdir. Gerçek zamanlı sistemlerde derin uzmanlık gerektirir, hata toleransı, güç yönetimi ve güvenlik, tüm varlıklarda en sert fiziksel koşullar altında çalışırken. Süreç - gereksinimlerinin tanımına göre, çok aşamalı bir test ile - doğru bir OS gerektirir, deterministic ve insan müdahalesi olmadan yıllar boyunca otonom olarak çalışmak için yeterince esnektir.
Ödeme görevi yerine getirebilen bir uydudur, bu da görüntüleme Dünya, iletişim kurmak veya uzak gezegenleri keşfetmenin anlamına geliyor. OS, her başarılı alanın sessiz omurgasıdır ve tüm endüstride yazılım mühendisliği standartlarını yükseltmek için gerekli olan disiplindir. mühendisler ve proje yöneticileri için bu meydan okumayı taahhüt eder, test etmeye yatırım yapmak ve asla iyi tasarlanmış bir hata mekanizmasının değerini küçümsemek.