Apollo 11 görevini Ay’a ulaştıran uçuş yazılımının orijinal kaynak kodu GitHub’da herkese açık. NASA’dan Chris Garry’nin paylaştığı depo kamu malı statüsünde ve yazılımcılara, meraklılara serbestçe indirme, inceleme ve hatta emülasyon ortamında çalıştırma imkânı veriyor.
Depoda iki ayrı program bulunuyor: Komuta Modülü için Comanche055’in, Ay Modülü içinse Luminary099’ın kaynakları. Bu yazılımlar Apollo Guidance Computer (AGC) üzerinde çalışıyordu. AGC’nin donanımı bugünün ölçülerine göre son derece sınırlıydı: yalnızca birkaç kilobayt RAM, çekirdek ip bellek (core rope) üzerinde on binlerce baytlık kalıcı depolama ve saniyede on binlerce komutluk işlem gücü. Tüm görev, bu kısıtlar altında milimetrik hassasiyetle yürütüldü.
Kodların bugüne taşınması, yıllardır Apollo bilgisayarlarını belgeleyen Virtual AGC topluluğu ile MIT Museum’un birlikte yürüttüğü dijitalleştirme çalışmaları sayesinde mümkün oldu. Kâğıt listeler tek tek taranıp düzeltilmiş, ardından GitHub’a aktarılarak herkesin erişimine açılmış durumda. İsteyenler Virtual AGC araçlarını kullanarak bu kaynakları derleyip simülasyonda çalıştırabiliyor.
Kodun içinden neler öğreniyoruz?
- Comanche055, Colossus 2A olarak da biliniyor ve 1 Nisan 1969 tarihli derleme revizyonunu temel alıyor.
- Luminary099, Ay Modülü’nün iniş ve yükseliş gibi kritik manevralarına odaklanan Luminary 1A kolunun ilk revizyonu; 14 Temmuz 1969 tarihli.
- Kaynak dosyalardaki yorumlar, hata/alarm yönetimi gibi yaşamsal mantıkların nasıl kurulduğunu açıkça gösteriyor. Örneğin ALARM_AND_ABORT.agc, kritik uyarıların kaydı ve görevi iptale götürebilecek eşiklerin kontrolünü anlatıyor.
Bu depo, bir dönemin mühendislik anlayışını satır satır gözler önüne seriyor. Aşırı kısıtlı donanımda, misyon güvenliğini önceleyen yalın ama zekice çözümlerin nasıl üretildiğini görmek isteyen herkes için bulunmaz bir arşiv.
Kaynak: www.techspot.com