Kategoriler
UYGULAMALAR
İstanbul
İnsanlığın Ay’a ilk adımını attığı Apollo 11 görevinin uçuş yazılımı, yıllar sonra dijital dünyada erişime açıldı. NASA tarafından geliştirilen ve görev sırasında aktif olarak kullanılan bu kodlar, artık GitHub üzerinden kamuya açık şekilde incelenebiliyor.
Bu gelişme, sadece uzay meraklıları için değil, bilgisayar tarihine ilgi duyanlar için de oldukça dikkat çekici. Çünkü ortada yalnızca eski bir yazılım yok; sınırlı donanımla nelerin başarılabildiğini gösteren çok özel bir mühendislik mirası var.
Paylaşılan depo içinde Apollo görev mimarisinin iki temel yazılımı bulunuyor. Bunlardan Comanche055, Komuta Modülü’nün operasyonlarını yönetmek için kullanıldı. Luminary099 ise Ay Modülü’nün uçuş kontrol yazılımı olarak görev yaptı.
Her iki sistem de, dönemin efsanevi bilgisayarlarından biri sayılan Apollo Guidance Computer (AGC) üzerinde çalışacak şekilde tasarlanmıştı.
AGC’nin teknik kapasitesi, bugünün cihazlarıyla kıyaslandığında gerçekten hayli mütevazıydı. Sistem yalnızca 3.840 byte RAM ve 69.120 byte depolama alanına sahipti. İşlem gücü de saniyede yaklaşık 85.000 komut çalıştırma seviyesindeydi.
Ama işin çarpıcı yanı da burada başlıyor. Böylesine sınırlı bir yapı, insanlığın Ay’a inişini yönlendirecek kadar güvenilir ve hassas bir yazılım altyapısına ev sahipliği yaptı.
Donanımın fiziksel boyutları da dikkat çekiyor. AGC yaklaşık 61,6 x 31,6 x 15,2 santimetre ölçülerindeydi ve 32 kilogramın biraz üzerinde ağırlığa sahipti. Astronotların doğrudan kullandığı DSKY kontrol birimleri ise yaklaşık 8,2 kilogram ağırlığındaydı. Bu birimler hem Komuta Modülü’nde hem de Ay Modülü’nde yer alıyordu.
Bellek ve işlem gücünün bu kadar sınırlı olması, yazılımın olağanüstü ölçüde optimize edilmesini zorunlu kıldı. Bu yüzden Apollo yazılımı, günümüz standartlarına göre oldukça kompakt bir yapıya sahip olsa da kritik görevler açısından son derece işlevseldi.
Kodlar içinde öne çıkan bölümlerden biri ALARM_AND_ABORT.agc dosyası. Bu bölüm, uçuş sırasında yaşanabilecek kritik arızaları tespit ediyor, uyarı sistemlerini devreye alıyor ve gerektiğinde görevin sonlandırılıp sonlandırılmayacağına ilişkin mantığı işletiyordu. Basit gibi görünüyor belki ama görev güvenliği açısından rolü oldukça büyüktü.
Bir başka dikkat çekici bölüm ise navigasyon hesaplamalarının yapıldığı yaklaşık 30 satırlık matematiksel çekirdek. Bu kısa kod parçası, uzay aracının yörünge hesaplarını ve yönlendirme işlemlerini yürütüyordu. Yani gök mekaniğinin temel hesapları, AGC’nin sınırlı kapasitesine sığdırılmıştı.
Apollo yazılımlarının yeniden gün yüzüne çıkması, Virtual AGC adlı koruma projesi ile MIT Müzesinin ortak çalışması sayesinde mümkün oldu. Müzede saklanan orijinal kâğıt dökümler tek tek tarandı ve satır satır doğrulandı.
Üstelik yayımlanan bu yazılım yalnızca incelenmekle kalmıyor. Virtual AGC araç seti kullanılarak çalıştırılabiliyor da. Linux, macOS, Windows’un eski sürümleri ve FreeBSD gibi farklı sistemlerde simülasyon kurulabiliyor.