Bilim · Yazılım yazıları e-postana gelsin mi?
Haftada bir, böyle yazıları tek e-postada gönderiyoruz. Reklam yok, istediğin an tek tıkla ayrılırsın.

MIT, 7 Ekim 2026'da Margaret Hamilton'ın 30 Eylül'de 90 yaşında öldüğünü duyurdu.1 Hamilton 1965'te MIT Enstrümantasyon Laboratuvarı'nın Apollo projesine alınan ilk programcıydı. 1968'de komuta modülü yazılım ekibinin başındaydı ve o yıl Apollo'nun uçuş yazılımında 400'ü aşkın kişi çalışıyordu. Adı en çok, 20 Temmuz 1969 akşamı Ay'a inen Eagle modülünün bilgisayarında geçen dört buçuk dakikayla birlikte anılıyor.

O dakikaların kaydı bugün herkese açık. Alarm kodları, saniyeleri ve sebebi, Grumman'ın ve MIT'nin 1969 yazında yazdığı iç notlarda duruyor.

Bu yazıda neler var?

Beş alarm, dört buçuk dakika

Alçalma motoru görev saatine göre 102:33:05'te ateşlendi. Beş dakika kadar sonra iniş radarı yüzeyi yakaladı ve Buzz Aldrin, radarın ölçtüğü irtifayla bilgisayarın hesapladığı irtifa arasındaki farkı görmek için klavyeden bir izleme ekranı istedi. On iki saniye sonra kokpitteki PROG lambası yandı, ekranda 1202 kodu belirdi.2 Neil Armstrong'un sesi gerildi: "1202 program alarmı hakkında bize bilgi verin."3

Houston'da kararı 26 yaşındaki rehberlik görevlisi Steve Bales verecekti. Kısa süre önce yapılan bir alarm gözden geçirmesinde 1202'nin, sık tekrarlanmadıkça ve yörünge bozulmadıkça inişi durdurmayı gerektirmediğine karar verilmişti. Arka odadaki NASA mühendisi Jack Garman "devam" dedi, Bales de aynısını söyledi. Alarmla Houston'ın onayı arasında yarım dakika geçti.3 Kırk saniye sonra ikinci 1202 geldi. Yaklaşma evresinde bunları bir 1201 ve iki 1202 daha izledi; sonuncusunda modül yüzeyden yaklaşık 235 metre yüksekteydi. Eagle 102:45:40'ta Sükûnet Denizi'ne indi.23

Apollo 11 inişinde motor ateşlemesinden inişe kadar geçen 12 dakika 35 saniye içinde çıkan iki 1202, bir 1201 ve iki 1202 alarmını, iniş evrelerini ve radarın çaldığı yüzde 13'lük işlemci zamanını gösteren zaman çizelgesi
İlk iki alarm, Aldrin izleme ekranını açtıktan tam 12 saniye sonra geldi. Son üçü sırasında mürettebat klavyeye dokunmuyordu. Saatler Grumman'ın 31 Temmuz 1969 tarihli notundan, yüzdeler Eyles'tan. Damga: kafa1milyon.com

Bilgisayarın zamanını çalan şalter

Bilgisayarın neye yetişemediğini görmek için iç düzenine bakmak gerekiyor. Ay modülündeki Apollo Rehberlik Bilgisayarı yaklaşık 32 kilo ağırlığındaydı ve 55 vat çekiyordu. Yaptığı her işin bir önceliği vardı; işletim sistemi her an kuyruktaki en yüksek öncelikli işi çalıştırıyor, düşük öncelikli olanı bekletiyordu. Bekleyen her iş, durumunu saklamak için küçük bir bellek alanı tutuyordu. Bu alanlardan sekiz tane vardı, vektör hesabı yapan işler için ayrıca beş tane.3 Dokuzuncu iş istendiğinde 1202, altıncı vektör alanı istendiğinde 1201 alarmı çıkıyordu.2

Kuyruğu dolduran, Ay'dan kalkıştan sonra komuta modülüyle buluşmak için kullanılacak radardı. Kontrol listesi bu radarın şalterini iniş boyunca otomatik izleme konumunda tutturuyordu. O konumda radarın açı ölçerleri bilgisayara anlamsız ve çok hızlı sayaç sinyalleri yolladı. Grumman'ın uçuştan sonraki testleri bu sinyallerin işlemci zamanının yüzde 13,36'sına kadarını yiyebildiğini gösterdi. Yazılımcılar bilinmeyen bir kayba karşı pay bırakmıştı, ama irtifa ekranı açıkken bu pay yüzde 10'a ya da altına iniyordu.3 MIT'nin anlatımına göre bu bağlantının işlemci zamanının yüzde 15'ine kadarını çalabileceğini ilk hatırlayan, inişi evinde televizyondan izleyen donanım uzmanı George Silver oldu.5 Silver bulgusunu Houston'daki MIT temsilcilerine 21 Temmuz sabahı, Ay'dan kalkışa bir saatten az kala ulaştırabildi.3

Hamilton bu ayrımı 1971'de Datamation dergisine yazdığı mektupta açıkça yaptı. Dergide bir yazar, Apollo 11'in bilgisayarını inişi neredeyse iptal ettiren bir bilgisayar arızası örneği diye anmıştı. Hamilton'a göre hata kontrol listesindeydi: "Bilgisayarı suçlamak, yangını görüp itfaiyeyi arayan kişiyi suçlamaya benzer."6

Apollo rehberlik bilgisayarının ekran ve klavye birimi DSKY; solda PROG ve RESTART dahil uyarı lambaları, sağda sayı ekranı, altta VERB, NOUN ve rakam tuşları
Astronotlar bilgisayarla bu ekran ve klavye birimi üzerinden konuşuyordu. Alarmda soldaki PROG lambası yandı; Aldrin kodu VERB 5 NOUN 9 komutuyla ekrana çağırdı. Bilgisayar Tarihi Müzesi'ndeki örnek. Fotoğraf: Arnold Reinhold, Wikimedia Commons, CC BY-SA 4.0

Yük artınca ilk kapanan ekran oldu

1202 gelince bilgisayar bütün işleri durdurdu ve yalnızca iniş için zorunlu sayılanları yeniden kurdu. Ekip bu yeniden başlatma korumasını uçuştan yaklaşık bir yıl önce, elektrik dalgalanması gibi donanım aksaklıklarına karşı yazmıştı. Amaç, bilgisayar kapanıp açılsa bile inişin kaldığı yerden sürmesiydi.3

Apollo 11'de aynı mekanizma yükü boşalttı. Birikmiş yarım hesaplar silindi, korumaya alınmamış izleme ekranı kapandı ve Aldrin'in ekranı kendiliğinden normal iniş göstergesine döndü.24 Aldrin ikinci alarmdan sonra bunu sezdi, alarmın izleme ekranını açtığında geldiğini telsizden söyledi. Yaklaşma evresinde yük zorunlu işlerin kendisinden geliyordu ve yeniden başlatma onu azaltamadı. Armstrong otomatik pilotu kapatıp yarı elle alçalmaya geçince bilgisayarın yükü hafifledi. İnişten önceki son 2 dakika 20 saniyede hiç alarm çıkmadı.3

Öncelik sırasıyla çalışan iş düzenini 1960'ların ortasında MIT'den Hal Laning tasarlamıştı. Hamilton'ın ekibi bunun üstüne hata yakalama ve kurtarma katmanını kurdu. Hamilton 2018'de IEEE Software'de yayımlanan yazısında en çok "öncelikli ekranları" anlatır. Bu rutinler acil bir durumda astronotun normal ekranını keserek alarmı öne çıkarıyor, mürettebata ve Houston'a devam ya da iptal kararı için gereken bilgiyi veriyordu.7 Eyles'a göre Laning'in iş düzeni, uzay araçlarının gerçek zamanlı rehberlik bilgisayarlarında bugün de geçerli bir tasarım.3

Margaret Hamilton 1969'da MIT'de, kendi boyuna ulaşan üst üste yığılmış uçuş yazılımı çıktılarının yanında gülümserken
Hamilton 1969'da, Ay modülü ve komuta modülü yazılım ekiplerinin ürettiği kod çıktılarının yanında. Bu iki ekibi o yönetiyordu. Fotoğraf: Draper Laboratuvarı, kamu malı; onarım Adam Cuerden, Wikimedia Commons

Lauren'ın simülatördeki hatası

Hamilton'ın hataya karşı önceden önlem alan programlama ısrarının en bilinen hikâyesi laboratuvardaki bir simülatörde başlıyor. Küçük kızı Lauren komuta modülü simülatöründe oynarken, uçuş sürerken fırlatma öncesi programı P01'i çalıştırdı ve simülasyon çöktü. Hamilton bunu engelleyen bir yazılım düzeltmesi önerdi. Öneri reddedildi; iyi eğitilmiş astronotların böyle bir hata yapmayacağı düşünülüyordu. Aralık 1968'deki Apollo 8 uçuşunda Jim Lovell yanlışlıkla P01'i çalıştırdı ve bilgisayardaki seyir verisi silindi. Hamilton'ın ekibi sorunu çözmek için çağrıldı, önerdiği değişiklik de bundan sonra yazılıma girdi.1

Şaka sanılan bir meslek adı

Hamilton 1960'larda yazılımın donanım kadar ciddiye alınmadığını, bu yüzden yaptıkları işe "yazılım mühendisliği" demeye başladığını anlatırdı. 2018'de El País'e verdiği röportajda bu adı ilk kullandığında uzun süre şakayla karşılandığını, radikal fikirleriyle dalga geçildiğini söyledi.1 MIT'den 1970'lerin ortasında ayrıldı; 1976'da Higher Order Software'i, on yıl sonra Hamilton Technologies'i kurdu. 2016'da ABD'nin sivillere verdiği en yüksek nişan olan Başkanlık Özgürlük Madalyası'nı Barack Obama'nın elinden aldı.

Apollo 11'den sonra iniş kontrol listesi değiştirildi ve yazılıma, buluşma radarının şalteri yanlış konumdaysa sayaçları sıfırlayan bir denetim eklendi.3 Apollo 12'den Apollo 17'ye kadar beş iniş daha yapıldı. Hamilton için anma töreni 2027 baharında Cambridge'de düzenlenecek.1

Dipnotlar ve Kaynaklar

  1. Janine Liberty, MIT News (7 Ekim 2026). "Margaret Hamilton, computing pioneer who led software development for the Apollo program, dies at 90". Ölüm tarihi, 400 kişilik yazılım kadrosu, Lauren hatası, El País röportajı ve anma töreni. news.mit.edu ↩
  2. Grumman Aircraft Engineering Corporation, iç not LAV-500-940 (31 Temmuz 1969). "Program Alarms in Powered Descent - Apollo 11". Alarm saatleri, 8 iş alanı ve 5 vektör alanı, izleme ekranının kapanması. ibiblio.org ↩
  3. Don Eyles (2004). "Tales From The Lunar Module Guidance Computer". 27. Yıllık AAS Rehberlik ve Kontrol Konferansı, Breckenridge. İş düzeni, bellek alanları, yüzde 13,36'lık zaman kaybı, yeniden başlatma koruması ve George Silver. doneyles.com ↩
  4. George W. Cherry, MIT Enstrümantasyon Laboratuvarı (1969). "Exegesis of the 1201 and 1202 Alarms Which Occurred During the Mission G Lunar Landing". ibiblio.org ↩
  5. Don Eyles, MIT News (17 Temmuz 2009). "Landing Apollo via Cambridge". George Silver ve yüzde 15 tahmini. news.mit.edu ↩
  6. Margaret H. Hamilton (1 Mart 1971). "Computer Got Loaded", okur mektubu. Datamation. bitsavers.org ↩
  7. Margaret H. Hamilton (2018). "What the Errors Tell Us". IEEE Software 35(5), 32-37. Öncelikli ekranlar ve hata kurtarma. wehackthemoon.com ↩
Kategoriler ve Etiketler
Teknoloji apollo 11 yazılım yazılım mühendisliği margaret hamilton ay uzay
Bu yazıyı paylaş
Kerem

Kerem

İstanbul'da yaşıyor. Teknoloji yazıyor.