Yazılı sohbetAna sohbet odası — üye olmadan da gir Sesli ve görüntülüKonuşarak sohbet et, istersen kameranı aç Canlı yayınlarYayındakileri izle

Margaret Hamilton ve 1202 alarmı: Ay'a inişi kurtaran tasarım fikri

Apollo 11 Ay'a inerken bilgisayar beş kez alarm verdi ve Houston yine de devam dedi. Margaret Hamilton'ın ekibinin yazdığı yazılımda aşırı yüklenme bir arıza değil, önceden hesaplanmış bir davranıştı.

Margaret Hamilton ve 1202 alarmı: Ay'a inişi kurtaran tasarım fikri
Teknoloji 8 Ekim 2026 6 dk okuma 4 okunma

20 Temmuz 1969, Ay yüzeyine inişin bitmek üzere olan son evresi. Eagle adlı iniş aracı süzülürken Neil Armstrong'un sesi kesik kesik geliyor. Apollo 11 iniş dökümünün NASA'da yayımlanan metnine göre, geçen uçuş süresi 102:38:26'da Armstrong "Program Alarm" diyor; birkaç saniye sonra ekliyor: "It's a 1202." Kokpitteki küçük yeşil göstergede, DSKY'de bir sayı yanıp sönüyor.

Armstrong 102:38:42'de Houston'a dönüyor: "Give us a reading on the 1202 Program Alarm." On bir saniye sonra Charlie Duke'ün karşılığı geliyor: "Roger. We got you... We're Go on that alarm." Dört dakika sonra bu kez Buzz Aldrin bir 1201 okuyor; Duke yine aynı şeyi söylüyor: "Roger. 1201 alarm. We're Go. Same type. We're Go."

O "Go" kararının arkasında bir sezgi değil, yıllar önce verilmiş bir tasarım kararı vardı. Bilgisayar bozulmamıştı; aşırı yüklendiğinde ne yapacağı önceden yazılmış olduğu için ayakta kalmıştı. O yazılımı üreten MIT ekibinin başındaki kişi Margaret Hamilton'dı. MIT'nin 7 Ekim'de yayımladığı duyuruya göre Hamilton 30 Eylül'de 90 yaşında öldü; kottke.org'un aktardığı New York Times ölüm yazısına göre Cambridge, Massachusetts'te. Geride bıraktığı asıl miras tek bir kahramanlık anı değil, bir tasarım anlayışı ve bir sözcük.

1202 tam olarak ne demekti

Apollo Güdüm Bilgisayarı'nın (AGC) içinde, aynı anda yürüyen işleri izlemek için sınırlı sayıda yer vardı. Don Eyles'ın iniş yazılımı üzerine yazdığı teknik anlatıda bu yerler sayılıyor: on ikişer yazmaçlık sekiz "core set" ve kırk üçer yazmaçlık beş "VAC area". Yeni bir iş sıraya girmek istediğinde boş yer kalmamışsa, Yürütücü (Executive) alarm yoluna sapıyordu. Boş core set yoksa 1202, boş VAC area yoksa 1201.

Apollo Güdüm Bilgisayarı ve üzerindeki DSKY tuş-gösterge birimi, Computer History Museum'da sergileniyor
Apollo Güdüm Bilgisayarı ve üzerindeki DSKY tuş-gösterge birimi, Computer History Museum'da sergileniyor — ArnoldReinhold, CC BY-SA 3.0 (Wikimedia Commons)

Peki yerler neden doldu? MIT Instrumentation Lab'den Peter Adler'in NASA'da yayımlanan açıklamasına göre, buluşma radarının (rendezvous radar) anahtarları yanlış konumda kaldığı için bilgisayar, gerçekte var olmayan radar verisini işlemek üzere durmadan yeni iş planladı; core set'ler böyle doldu ve 1202 üretildi. Eyles'ın raporuna göre radarın sayaçları en hızlı çalıştığı durumda mevcut hesaplama zamanının yaklaşık yüzde 15'ini tüketiyordu; ekip o sırada ihtiyatlı davranıp bu kaybı yüzde 13 varsaymış ve ona TLOSS adını vermişti. İnişte toplam beş alarm düştü: P63 aşamasında iki 1202, ardından P64'te bir 1201 ve iki 1202 daha.

Önemli nokta şu: her alarmda yazılım kendini yeniden başlatıyor, önemsiz işleri elinden bırakıyor ve kritik işleri kaldıkları ara noktaya yakın bir yerden devam ettiriyordu. Adler'in anlatımıyla yazılım bilgisayarı yeniden başlatıp ilklendiriyor, sonra seçtiği programları akışta bıraktıkları yere yakın bir noktadan tekrar çalıştırıyordu. Yani göstergede arıza gibi görünen şey, tasarımın çalıştığının kanıtıydı.

Apollo Flight Journal kanalının yayımladığı yukarıdaki görüntüde 1201 alarmının düştüğü anın ses kaydı, uçuş kontrol ekranıyla birlikte izlenebiliyor.

Fikir kimin: dürüst bir dipnot

Popüler anlatıda öncelikli yürütücü doğrudan Hamilton'a yazılır. Eyles'ın kendi metni daha ayrıntılı: Yürütücü ve Waitlist düzeneğinin tasarımı Hal Laning'e ait ve Eyles o metinde Hamilton'ı bu iki düzenek bağlamında anmıyor. Hamilton'ın payı, bunun üzerine kurulan şeydi: uçuş yazılımının bütünü, yeniden başlatma koruması ve düzeneğin gerçek bir inişte güvenilir biçimde davranması. Adler, Houston'daki ekibin alarmı görünce durmamasını tek bir nedene bağlıyor: MIT yeniden başlatma yeteneğini uzun uzun denemişti, bu yüzden görevin sürebileceği biliniyordu.

2016'daki Başkanlık Özgürlük Madalyası gerekçesi de Hamilton'ın katkısını tek bir işe indirmiyor. MIT'nin aktardığı metne göre ödül, "asenkron yazılım, öncelikli iş sıralaması ve öncelikli göstergeler ile insanın karar döngüsünde kalması" kavramlarına katkısı için verildi; gerekçe bunların modern, çok güvenilir yazılım tasarımının temelini kurduğunu söylüyor. Törenin tarihi 22 Kasım 2016.

Hafıza dokunuyordu, bu yüzden hata affetmiyordu

Smithsonian Ulusal Hava ve Uzay Müzesi'nin Hamilton dosyasına göre AGC'nin salt okunur hafızası gerçekten dokunuyordu: mıknatıslanmış, simit biçimli çekirdeklerin arasından tel geçiriliyordu. Tel çekirdeğin içinden geçtiyse ikili bir, dışından dolandıysa sıfır. Her bilgisayarda 4 kilobayt yazılabilir, 72 kilobayt salt okunur hafıza vardı. Bu dokuma işini yapan kadınlara laboratuvarda "LOL" (little old ladies) deniyordu; küçük kusurlara "FLT", kod listelerini bilgisayarın yerine geçerek okuma yöntemine ise "Auge Kugel" adı takılmıştı. Hamilton'ın takma adı "halat anası"ydı.

Burada teknik bir ayrıntıdan fazlası var: bir kez dokunmuş hafızaya yama geçilemez. Aynı müzenin anlatımıyla 1969-1972 arasındaki altı yolculukta uçan kod, kalkıştan önce doğru olmak zorundaydı. Düzeltme şansın yoksa tek yol, hatanın oluşmasını baştan imkânsız kılmaktır; Hamilton'ın kariyerini şekillendiren ısrar buradan besleniyor.

P01: "astronotlar böyle bir hata yapmaz"

MIT'nin aktardığı hikâye şöyle: Hamilton'ın o sırada dört yaşında olan kızı Lauren, laboratuvardaki komuta modülü benzetmecisiyle oynarken, araç uçuş halindeyken kalkış öncesi programı P01'i bir şekilde çalıştırdı ve benzetmeci tümden çöktü. Hamilton teknik belgelere uçuş sırasında P01'i çalıştırmama uyarısı ekledi; ayrıca aynı hatanın gerçek bir görevde yaşanmasını engelleyecek bir yazılım düzeltmesi önerdi. Öneri geri çevrildi; gerekçe, iyi eğitilmiş astronotların böyle bir hatayı asla yapmayacağıydı.

1968'deki Apollo 8 görevinde tam olarak o oldu. MIT'ye göre Jim Lovell uçuş sırasında istemeden P01'i çalıştırdı ve uçuş içi seyir verisi kayboldu. Hamilton ve ekibi çağrıldı, hata giderildi ve sonrasında onun önerdiği değişiklikler programa girdi. Bu, yazılım tarihinin en pahalı "kullanıcı bu hatayı yapmaz" varsayımlarından biri. Hamilton'ın 1976'da kurduğu Higher Order Software'in temeli de aynı yaklaşım, yani hata önleme ve hataya dayanıklılık oldu; sonraki şirketi Hamilton Technologies'de Universal Systems Language adlı dili geliştirdi.

"Yazılım mühendisliği" sözcüğü nereden geldi

Hamilton'ın en çok anılan cümlesi, MIT'nin aktardığı biçimiyle şu: yazılıma meşruiyet kazandırmak için uğraştı, hem yazılımın hem onu üretenlerin hak ettiği saygıyı görmesini istedi ve bu yüzden "yazılım mühendisliği" terimini kullanmaya başladı. 1959'da MIT'ye geçici bir meteoroloji işiyle giren ve 1968'de 400'den fazla kişinin çalıştığı yazılım tarafında Komuta ve Servis Modülü ekibinin yardımcı direktörlüğüne gelen biri için bu, teorik bir tartışma değildi.

Yine de terimin tek bir mucidi olduğunu söylemek fazla olur. Yazılım mühendisliğinin tarihini derleyen kaynaklara göre ACM başkanı Anthony Oettinger terimi 1965'te bir mektupta kullandı, Douglas Ross 1950'lerde MIT'deki derslerinde geçirdi ve NATO Bilim Komitesi'nin Garmisch'te 1968'de, ardından 1969'da düzenlediği iki toplantı çoğu kişiye göre mesleğin resmî başlangıcı sayılıyor. Hamilton'ın yaptığı, sözcüğü yoktan var etmekten çok onu bir iddiaya dönüştürmekti: yazılım, donanımın yanında ikinci sınıf bir uğraş değil.

Kısa künye

Aşağıdaki veriler MIT'nin duyurusundan derlendi.

Doğum1936, Paoli, Indiana
ÖğrenimMichigan Üniversitesi'nde matematik (1955); Earlham College'da matematik lisansı, felsefe yan dalı (1958)
MIT1959; Apollo projesinin ilk programcısı ve projedeki ilk kadın programcı
1968Komuta ve Servis Modülü ekibinin yardımcı direktörü; Apollo yazılımında 400'den fazla kişi
Yayın130'dan fazla
ÖdüllerNASA Exceptional Space Act Award (2003); Başkanlık Özgürlük Madalyası (2016); Computer History Museum Fellow (2017); Intrepid Yaşam Boyu Başarı (2019); National Aviation Hall of Fame (2022)
Ölüm30 Eylül 2026, 90 yaşında

Geriye kalan soru

Aşırı yüklendiğinde işleri öncelik sırasına göre elden bırakan, kendini güvenli bir noktadan yeniden başlatan sistemler bugün sıradan sayılıyor. Asıl tuhaf olan, P01 tartışmasının bitmemiş olması: "Kullanıcı bu hatayı yapmaz" cümlesi hâlâ her tasarım toplantısında kuruluyor.

MIT'nin 2016'daki haberine göre Apollo güdüm yazılımının kaynak kodu GitHub'a konduğunda listelerin başında şu satırlar duruyordu: "SUBMITTED: MARGARET H. HAMILTON DATE: 28 MAR 69" ve "M.H.HAMILTON, COLOSSUS PROGRAMMING LEADER". Ay'a inen yazılım, yarım yüzyıl sonra herkesin okuyabildiği bir metin; 1202'nin niçin arıza değil tasarım olduğunu görmek isteyen oradan başlayabilir.

Fotoğraf: Adam Cuerden, Public domain, Wikimedia Commons

Haberi beğendin mi?
Paylaş WhatsApp X Facebook
Teknoloji Masası

Bu içerik, Yudum Teknoloji Masası editör ekibi tarafından derlenip yayına hazırlanmıştır. Güncel gelişmeler için haber akışını takip edebilirsiniz.

İlgili haberler

Yudum

1998'den beri, dünyanın her yerinden — sohbet, radyo, oyunlar ve daha fazlası.

Sohbete Katıl Ücretsiz üye ol

Yalnız 18 yaş ve üstü — Yudum üzerindeki canlı sohbet, sesli ve görüntülü görüşmeler yetişkinler içindir. Neden?

1998'den beri sohbetin adresi

Üye olmadan girebileceğin sohbet odaları, sesli ve görüntülü sohbet, kesintisiz canlı radyo, tarayıcıdan oynanan oyunlar ve her gün yenilenen içerik. Kurulum yok, ücret yok — tarayıcını aç ve katıl.