Skip to content
Pirmasis žmogaus nusileidimas Mėnulyje: kodėl „Apollo 11“ kompiuteris buvo silpnesnis už šiuolaikinę buitinę techniką?

Neil took this picture of Buzz during their initial inspection of the LM.

Pirmasis žmogaus nusileidimas Mėnulyje: kodėl „Apollo 11“ kompiuteris buvo silpnesnis už šiuolaikinę buitinę techniką?

1969 metų liepą „Apollo 11“ astronautai nusileido Mėnulyje naudodami kompiuterinę sistemą, kurios atminties kiekis šių dienų masteliais atrodo neįtikėtinai mažas. NASA istoriniame aprašyme paaiškina „Apollo Guidance Computer“ vaidmenį erdvėlaivio navigacijoje. Įspūdingiausia šios sistemos savybė buvo ne žali skaičiavimo resursai, o itin aiškiai apibrėžtas užduočių vykdymas.

REKLAMA

„Apollo“ kompiuteris turėjo maždaug 2 kilobaitus darbinės ir apie 36 kilobaitus pastoviosios atminties. Šie skaičiai kartais lyginami su šiuolaikiniais telefonais, tačiau paprastas palyginimas slepia esminę detalę: nusileidimui nereikėjo naršyklės, spalvoto ekrano ar dešimčių programėlių vienu metu. Reikėjo laiku apdoroti konkrečius jutiklių duomenis ir vykdyti navigacijos skaičiavimus.

Misijos metu pasirodė garsieji 1201 ir 1202 pavojaus kodai. Jie rodė, kad sistema patiria didesnę apkrovą, tačiau programinė įranga galėjo atmesti mažesnio prioriteto darbus ir tęsti svarbiausius. Šis sprendimas laikomas vienu svarbių realaus laiko operacinių sistemų inžinerijos pavyzdžių. Kompiuterio ribotumas savaime nereiškė, kad misija buvo valdoma neatsakingai.

REKLAMA

Technologinė sėkmė prasidėjo nuo prioritetų

Inžinieriai kūrė aparatinę ir programinę įrangą kaip vientisą sistemą, kurios kiekvienas komponentas turėjo konkrečią paskirtį. Patikimumas buvo didinamas kruopščiais bandymais ir kontrolės procedūromis. Tai skiriasi nuo šiandienos bendrosios paskirties kompiuterių, kurie turi palaikyti daugybę programų ir nuolat keičiamas funkcijas.

Archyvinė tikra NASA fotografija primena, kad skaičiavimo technologijos buvo tik viena milžiniškos misijos dalis: reikėjo raketos, navigacijos, ryšio, gyvybės palaikymo ir astronautų darbo. Atskirų komponentų palyginimai su šiandienos buitine įranga yra įdomūs, bet jie neturėtų menkinti bendro inžinerinio pasiekimo.

„Apollo“ navigacijos kompiuteris (AGC) buvo kuriamas ne asmeniniams darbams, o skrydžio valdymui. Jam reikėjo nuolat apdoroti jutiklių informaciją, orientacijos duomenis ir astronautų įvedamas komandas, o svarbiausias skaičiavimas privalėjo būti atliekamas laiku. Todėl procesoriaus dažnį ar atminties apimtį lyginti su šiuolaikiniu telefonu galima tik kaip istorinio mastelio iliustraciją. Tai nėra matas, pagal kurį tiesiogiai nustatomas erdvėlaivio saugumas ar misijos galimybės.

REKLAMA

AGC programinė įranga naudojo prioritetais grindžiamą užduočių valdymą. Jei vienu metu atsirasdavo daugiau darbų, nei kompiuteris galėjo apdoroti, ne visos užduotys turėjo vienodą svarbą. Ši architektūra padėjo išsaugoti navigacijai kritines funkcijas, nors kai kurios mažesnio prioriteto operacijos galėjo būti atidėtos. Toks principas tebenaudojamas realaus laiko sistemose, nuo aviacijos įrangos iki medicinos prietaisų.

1969 metų nusileidimo metu astronautai susidūrė su kompiuterio perspėjimais „1201“ ir „1202“. Jie rodė apdorojimo apkrovos problemą, bet nesudarė automatinio įrodymo, kad kompiuteris sugedo. Misijos valdymo centre dirbę specialistai įvertino įspėjimus ir leido tęsti nusileidimą, nes kritinės programos išliko veikiančios. Šis epizodas parodo, kokią reikšmę turėjo aiškūs diagnostiniai kodai, paruošti veiksmų scenarijai ir žmonių gebėjimas interpretuoti techninius pranešimus.

Ne mažiau svarbūs buvo programinės įrangos kūrėjai. Margaret Hamilton ir MIT Instrumentation Laboratory komanda vystė procesus, kuriuose klaidų scenarijai, sistemos veikimo prioritetai ir testavimo disciplinos turėjo esminę reikšmę. TechNaujienos.lt yra publikavusios atskirą pasakojimą apie „Apollo 11“ programinės įrangos svarbą. Techninė sėkmė čia priklausė nuo kelių inžinerijos disciplinų bendradarbiavimo, o ne vien vieno programuotojo ar procesoriaus.

REKLAMA

AGC atmintyje dalis programos instrukcijų buvo įrašyta specialioje pastoviojoje atmintyje, vadinamojoje „rope memory“, o kitą dalį sudarė riboto dydžio darbinė atmintis. Šiandien tokia architektūra gali atrodyti neįprasta, tačiau ji atitiko to meto reikalavimą užtikrinti stabilumą esant ribotiems ištekliams. Dabartinė „Artemis“ programa naudoja nepalyginamai galingesnes sistemas, tačiau skrydžių programinės įrangos patikimumo ir prioritetų valdymo uždaviniai niekur nedingo.

„Apollo Guidance Computer“ buvo sukurtas ne universaliam darbui, o itin konkrečioms navigacijos, orientacijos ir variklių valdymo užduotims. Jis naudojo magnetinę šerdinę operatyviąją atmintį ir specialią vielomis įaustų programų atmintį, todėl programinės įrangos pakeitimai prieš skrydį nebuvo paprastas failo perrašymas. Nusileidimo metu pasirodę 1201 ir 1202 signalai reiškė, kad kompiuteriui trūko laiko visoms užduotims. Programinė įranga sugebėjo išlaikyti kritinių funkcijų prioritetą, todėl skrydis galėjo būti tęsiamas. Šiuolaikiniai prietaisai turi daug didesnę skaičiavimo galią, tačiau tiesioginis megahercų palyginimas neatskleidžia patikimumo ir realaus laiko valdymo inžinerijos. Daugiau susijusios informacijos pateikiama straipsnyje apie „Apollo 11“ programinės įrangos inžinierių darbą.

„Apollo 11“ istorija ir šiandien svarbi kuriant aviacijos, kosmoso bei medicinos sistemas. Ji rodo, kad riboti ištekliai nėra tas pats, kas nepatikimas veikimas – jei tinkamai parenkami algoritmai, prioritetai ir atsarginės procedūros.

Kaip vertinate šį straipsnį?

NAUJIENOS IŠ INTERNETO

Trumpai, aiškiai ir be triukšmo – gaukite svarbiausias technologijų ir mokslo naujienas pirmieji.

Sekite mokslo ir technologijų tendencijas
Dalyvaukite diskusijose
Naujienas gaukite pirmieji
1 700+ narių jau seka mūsų puslapį, laukiame tavęs!
10

Taip pat skaitykite

Atrinkome panašius straipsnius, kurie gali jums patikti.