├── images ├── src ├── heads ├── images │ ├── p0.jpg │ ├── p101.jpg │ ├── p103.jpg │ ├── p107.jpg │ ├── p11.jpg │ ├── p114.jpg │ ├── p123.jpg │ ├── p126.jpg │ ├── p127.jpg │ ├── p129.jpg │ ├── p13.jpg │ ├── p131.jpg │ ├── p136.jpg │ ├── p13s.jpg │ ├── p144.jpg │ ├── p147.jpg │ ├── p15.jpg │ ├── p151.jpg │ ├── p155.jpg │ ├── p158.jpg │ ├── p16.jpg │ ├── p160.jpg │ ├── p165.jpg │ ├── p16s.jpg │ ├── p173.jpg │ ├── p18.jpg │ ├── p181.jpg │ ├── p187.jpg │ ├── p188.jpg │ ├── p191.jpg │ ├── p193.jpg │ ├── p195.jpg │ ├── p196.jpg │ ├── p199.jpg │ ├── p200.jpg │ ├── p210.jpg │ ├── p213.jpg │ ├── p215.jpg │ ├── p216.jpg │ ├── p217.jpg │ ├── p219.jpg │ ├── p22.jpg │ ├── p229.jpg │ ├── p22s.jpg │ ├── p23.jpg │ ├── p234.jpg │ ├── p235.jpg │ ├── p23s.jpg │ ├── p249.jpg │ ├── p256.jpg │ ├── p262.jpg │ ├── p266.jpg │ ├── p268.jpg │ ├── p279.jpg │ ├── p281.jpg │ ├── p284.jpg │ ├── p286.jpg │ ├── p287.jpg │ ├── p289.jpg │ ├── p290.jpg │ ├── p291.jpg │ ├── p293.jpg │ ├── p295.jpg │ ├── p296.jpg │ ├── p297.jpg │ ├── p39.jpg │ ├── p395.jpg │ ├── p396.jpg │ ├── p397.jpg │ ├── p400.jpg │ ├── p401.jpg │ ├── p404.jpg │ ├── p54.jpg │ ├── p56.jpg │ ├── p57.jpg │ ├── p67.jpg │ ├── p70.jpg │ ├── p70s.jpg │ ├── p71.jpg │ ├── p71s.jpg │ ├── p75.jpg │ ├── p75s.jpg │ ├── p80.jpg │ ├── p87.jpg │ ├── p94.jpg │ ├── p94s.jpg │ ├── p103s.jpg │ ├── p107s.jpg │ ├── p114s.jpg │ ├── p127s.jpg │ ├── p147s.jpg │ ├── p151s.jpg │ ├── p158s.jpg │ ├── p163a.jpg │ ├── p163b.jpg │ ├── p165s.jpg │ ├── p196s.jpg │ ├── p215s.jpg │ ├── p216s.jpg │ ├── p217s.jpg │ ├── p229s.jpg │ ├── p235s.jpg │ ├── p266s.jpg │ ├── p274a.jpg │ ├── p274b.jpg │ └── p281s.jpg ├── Ch5-7.md ├── Part1-intro.md ├── Ch4-9.md ├── Foreword.md ├── Ch9-1.md ├── Ch3-6.md ├── Ch6-4.md ├── Ch2-9.md ├── Part3-intro.md ├── Ch3-4.md ├── Ch2-2.md ├── Ch1-5.md ├── Ch2-3.md ├── Appendix-IV.md ├── Source3.md ├── Acknow.md ├── Ch4-1.md ├── Ch5-1.md ├── Ch8-1.md ├── Ch6-1.md ├── Ch4-8.md ├── Part2-intro.md ├── Ch2-1.md ├── Ch3-5.md └── Ch5-4.md ├── heads ├── Main.md ├── Sources.md ├── Ch3.md ├── Ch8.md ├── Ch2.md ├── Ch7.md ├── Ch4.md ├── Part1.md ├── Ch6.md ├── Reset.md ├── Part2.md ├── Part3.md ├── Largepart.md ├── Ch1.md ├── Smallpart.md ├── Ch5.md ├── Ch9.md └── FigA.md ├── history.nasa.gov ├── p0.jpg ├── p101.jpg ├── p103.jpg ├── p107.jpg ├── p11.jpg ├── p114.jpg ├── p123.jpg ├── p126.jpg ├── p127.jpg ├── p129.jpg ├── p13.jpg ├── p131.jpg ├── p136.jpg ├── p13s.jpg ├── p144.jpg ├── p147.jpg ├── p15.jpg ├── p151.jpg ├── p155.jpg ├── p158.jpg ├── p16.jpg ├── p160.jpg ├── p165.jpg ├── p16s.jpg ├── p173.jpg ├── p18.jpg ├── p181.jpg ├── p187.jpg ├── p188.jpg ├── p191.jpg ├── p193.jpg ├── p195.jpg ├── p196.jpg ├── p199.jpg ├── p200.jpg ├── p210.jpg ├── p213.jpg ├── p215.jpg ├── p216.jpg ├── p217.jpg ├── p219.jpg ├── p22.jpg ├── p229.jpg ├── p22s.jpg ├── p23.jpg ├── p234.jpg ├── p235.jpg ├── p23s.jpg ├── p249.jpg ├── p256.jpg ├── p262.jpg ├── p266.jpg ├── p268.jpg ├── p279.jpg ├── p281.jpg ├── p284.jpg ├── p286.jpg ├── p287.jpg ├── p289.jpg ├── p290.jpg ├── p291.jpg ├── p293.jpg ├── p295.jpg ├── p296.jpg ├── p297.jpg ├── p39.jpg ├── p395.jpg ├── p396.jpg ├── p397.jpg ├── p400.jpg ├── p401.jpg ├── p404.jpg ├── p54.jpg ├── p56.jpg ├── p57.jpg ├── p67.jpg ├── p70.jpg ├── p70s.jpg ├── p71.jpg ├── p71s.jpg ├── p75.jpg ├── p75s.jpg ├── p80.jpg ├── p87.jpg ├── p94.jpg ├── p94s.jpg ├── p103s.jpg ├── p107s.jpg ├── p114s.jpg ├── p127s.jpg ├── p147s.jpg ├── p151s.jpg ├── p158s.jpg ├── p163a.jpg ├── p163b.jpg ├── p165s.jpg ├── p196s.jpg ├── p215s.jpg ├── p216s.jpg ├── p217s.jpg ├── p229s.jpg ├── p235s.jpg ├── p266s.jpg ├── p274a.jpg ├── p274b.jpg ├── p281s.jpg ├── Index.gif ├── Next.gif ├── Hsearch.gif ├── NASAlogo.GIF ├── Previous.gif ├── histhome.gif ├── p70.htm ├── p13.htm ├── p235.htm ├── p229.htm ├── p103.htm ├── p281.htm ├── p22.htm ├── p23.htm ├── p266.htm ├── p216.htm ├── p147.htm ├── p127.htm ├── p16.htm ├── p75.htm ├── p196.htm ├── p114.htm ├── p151.htm ├── p215.htm ├── p94.htm ├── p107.htm ├── p217.htm ├── p71.htm ├── p165.htm ├── p158.htm ├── Appendix-IV.html ├── Sources.html ├── Ch5-7.html ├── Part1-intro.html ├── foreword.html ├── Compspace.html ├── Ch4-9.html ├── Part2.html ├── Ch3-6.html ├── Ch9-1.html ├── Part3.html ├── Ch6-4.html ├── Part3-intro.html ├── Ch2-9.html ├── Ch2-3.html └── Ch2-2.html ├── style.css ├── prologue.tex ├── latex.yaml ├── all.py ├── allfigure.py ├── unnumbered.py ├── figure.py ├── meta.yaml ├── pandoc_latex_environment.py ├── listing.py ├── README.md ├── pfcompat.py └── header.tex /images: -------------------------------------------------------------------------------- 1 | src/images/ -------------------------------------------------------------------------------- /src/heads: -------------------------------------------------------------------------------- 1 | ../heads -------------------------------------------------------------------------------- /heads/Main.md: -------------------------------------------------------------------------------- 1 | \mainmatter 2 | -------------------------------------------------------------------------------- /heads/Sources.md: -------------------------------------------------------------------------------- 1 | # Source Notes {-} 2 | -------------------------------------------------------------------------------- /history.nasa.gov/p0.jpg: -------------------------------------------------------------------------------- 1 | ../src/images/p0.jpg -------------------------------------------------------------------------------- /heads/Ch3.md: -------------------------------------------------------------------------------- 1 | ## The Skylab Computer System 2 | -------------------------------------------------------------------------------- /heads/Ch8.md: -------------------------------------------------------------------------------- 1 | ## Computers in Mission Control 2 | -------------------------------------------------------------------------------- /history.nasa.gov/p101.jpg: -------------------------------------------------------------------------------- 1 | ../src/images/p101.jpg -------------------------------------------------------------------------------- /history.nasa.gov/p103.jpg: -------------------------------------------------------------------------------- 1 | ../src/images/p103.jpg -------------------------------------------------------------------------------- /history.nasa.gov/p107.jpg: -------------------------------------------------------------------------------- 1 | ../src/images/p107.jpg -------------------------------------------------------------------------------- /history.nasa.gov/p11.jpg: -------------------------------------------------------------------------------- 1 | ../src/images/p11.jpg -------------------------------------------------------------------------------- /history.nasa.gov/p114.jpg: -------------------------------------------------------------------------------- 1 | ../src/images/p114.jpg -------------------------------------------------------------------------------- /history.nasa.gov/p123.jpg: -------------------------------------------------------------------------------- 1 | ../src/images/p123.jpg -------------------------------------------------------------------------------- /history.nasa.gov/p126.jpg: -------------------------------------------------------------------------------- 1 | ../src/images/p126.jpg -------------------------------------------------------------------------------- /history.nasa.gov/p127.jpg: -------------------------------------------------------------------------------- 1 | ../src/images/p127.jpg -------------------------------------------------------------------------------- /history.nasa.gov/p129.jpg: -------------------------------------------------------------------------------- 1 | ../src/images/p129.jpg -------------------------------------------------------------------------------- /history.nasa.gov/p13.jpg: -------------------------------------------------------------------------------- 1 | ../src/images/p13.jpg -------------------------------------------------------------------------------- /history.nasa.gov/p131.jpg: -------------------------------------------------------------------------------- 1 | ../src/images/p131.jpg -------------------------------------------------------------------------------- /history.nasa.gov/p136.jpg: -------------------------------------------------------------------------------- 1 | ../src/images/p136.jpg -------------------------------------------------------------------------------- /history.nasa.gov/p13s.jpg: -------------------------------------------------------------------------------- 1 | ../src/images/p13s.jpg -------------------------------------------------------------------------------- /history.nasa.gov/p144.jpg: -------------------------------------------------------------------------------- 1 | ../src/images/p144.jpg -------------------------------------------------------------------------------- /history.nasa.gov/p147.jpg: -------------------------------------------------------------------------------- 1 | ../src/images/p147.jpg -------------------------------------------------------------------------------- /history.nasa.gov/p15.jpg: -------------------------------------------------------------------------------- 1 | ../src/images/p15.jpg -------------------------------------------------------------------------------- /history.nasa.gov/p151.jpg: -------------------------------------------------------------------------------- 1 | ../src/images/p151.jpg -------------------------------------------------------------------------------- /history.nasa.gov/p155.jpg: -------------------------------------------------------------------------------- 1 | ../src/images/p155.jpg -------------------------------------------------------------------------------- /history.nasa.gov/p158.jpg: -------------------------------------------------------------------------------- 1 | ../src/images/p158.jpg -------------------------------------------------------------------------------- /history.nasa.gov/p16.jpg: -------------------------------------------------------------------------------- 1 | ../src/images/p16.jpg -------------------------------------------------------------------------------- /history.nasa.gov/p160.jpg: -------------------------------------------------------------------------------- 1 | ../src/images/p160.jpg -------------------------------------------------------------------------------- /history.nasa.gov/p165.jpg: -------------------------------------------------------------------------------- 1 | ../src/images/p165.jpg -------------------------------------------------------------------------------- /history.nasa.gov/p16s.jpg: -------------------------------------------------------------------------------- 1 | ../src/images/p16s.jpg -------------------------------------------------------------------------------- /history.nasa.gov/p173.jpg: -------------------------------------------------------------------------------- 1 | ../src/images/p173.jpg -------------------------------------------------------------------------------- /history.nasa.gov/p18.jpg: -------------------------------------------------------------------------------- 1 | ../src/images/p18.jpg -------------------------------------------------------------------------------- /history.nasa.gov/p181.jpg: -------------------------------------------------------------------------------- 1 | ../src/images/p181.jpg -------------------------------------------------------------------------------- /history.nasa.gov/p187.jpg: -------------------------------------------------------------------------------- 1 | ../src/images/p187.jpg -------------------------------------------------------------------------------- /history.nasa.gov/p188.jpg: -------------------------------------------------------------------------------- 1 | ../src/images/p188.jpg -------------------------------------------------------------------------------- /history.nasa.gov/p191.jpg: -------------------------------------------------------------------------------- 1 | ../src/images/p191.jpg -------------------------------------------------------------------------------- /history.nasa.gov/p193.jpg: -------------------------------------------------------------------------------- 1 | ../src/images/p193.jpg -------------------------------------------------------------------------------- /history.nasa.gov/p195.jpg: -------------------------------------------------------------------------------- 1 | ../src/images/p195.jpg -------------------------------------------------------------------------------- /history.nasa.gov/p196.jpg: -------------------------------------------------------------------------------- 1 | ../src/images/p196.jpg -------------------------------------------------------------------------------- /history.nasa.gov/p199.jpg: -------------------------------------------------------------------------------- 1 | ../src/images/p199.jpg -------------------------------------------------------------------------------- /history.nasa.gov/p200.jpg: -------------------------------------------------------------------------------- 1 | ../src/images/p200.jpg -------------------------------------------------------------------------------- /history.nasa.gov/p210.jpg: -------------------------------------------------------------------------------- 1 | ../src/images/p210.jpg -------------------------------------------------------------------------------- /history.nasa.gov/p213.jpg: -------------------------------------------------------------------------------- 1 | ../src/images/p213.jpg -------------------------------------------------------------------------------- /history.nasa.gov/p215.jpg: -------------------------------------------------------------------------------- 1 | ../src/images/p215.jpg -------------------------------------------------------------------------------- /history.nasa.gov/p216.jpg: -------------------------------------------------------------------------------- 1 | ../src/images/p216.jpg -------------------------------------------------------------------------------- /history.nasa.gov/p217.jpg: -------------------------------------------------------------------------------- 1 | ../src/images/p217.jpg -------------------------------------------------------------------------------- /history.nasa.gov/p219.jpg: -------------------------------------------------------------------------------- 1 | ../src/images/p219.jpg -------------------------------------------------------------------------------- /history.nasa.gov/p22.jpg: -------------------------------------------------------------------------------- 1 | ../src/images/p22.jpg -------------------------------------------------------------------------------- /history.nasa.gov/p229.jpg: -------------------------------------------------------------------------------- 1 | ../src/images/p229.jpg -------------------------------------------------------------------------------- /history.nasa.gov/p22s.jpg: -------------------------------------------------------------------------------- 1 | ../src/images/p22s.jpg -------------------------------------------------------------------------------- /history.nasa.gov/p23.jpg: -------------------------------------------------------------------------------- 1 | ../src/images/p23.jpg -------------------------------------------------------------------------------- /history.nasa.gov/p234.jpg: -------------------------------------------------------------------------------- 1 | ../src/images/p234.jpg -------------------------------------------------------------------------------- /history.nasa.gov/p235.jpg: -------------------------------------------------------------------------------- 1 | ../src/images/p235.jpg -------------------------------------------------------------------------------- /history.nasa.gov/p23s.jpg: -------------------------------------------------------------------------------- 1 | ../src/images/p23s.jpg -------------------------------------------------------------------------------- /history.nasa.gov/p249.jpg: -------------------------------------------------------------------------------- 1 | ../src/images/p249.jpg -------------------------------------------------------------------------------- /history.nasa.gov/p256.jpg: -------------------------------------------------------------------------------- 1 | ../src/images/p256.jpg -------------------------------------------------------------------------------- /history.nasa.gov/p262.jpg: -------------------------------------------------------------------------------- 1 | ../src/images/p262.jpg -------------------------------------------------------------------------------- /history.nasa.gov/p266.jpg: -------------------------------------------------------------------------------- 1 | ../src/images/p266.jpg -------------------------------------------------------------------------------- /history.nasa.gov/p268.jpg: -------------------------------------------------------------------------------- 1 | ../src/images/p268.jpg -------------------------------------------------------------------------------- /history.nasa.gov/p279.jpg: -------------------------------------------------------------------------------- 1 | ../src/images/p279.jpg -------------------------------------------------------------------------------- /history.nasa.gov/p281.jpg: -------------------------------------------------------------------------------- 1 | ../src/images/p281.jpg -------------------------------------------------------------------------------- /history.nasa.gov/p284.jpg: -------------------------------------------------------------------------------- 1 | ../src/images/p284.jpg -------------------------------------------------------------------------------- /history.nasa.gov/p286.jpg: -------------------------------------------------------------------------------- 1 | ../src/images/p286.jpg -------------------------------------------------------------------------------- /history.nasa.gov/p287.jpg: -------------------------------------------------------------------------------- 1 | ../src/images/p287.jpg -------------------------------------------------------------------------------- /history.nasa.gov/p289.jpg: -------------------------------------------------------------------------------- 1 | ../src/images/p289.jpg -------------------------------------------------------------------------------- /history.nasa.gov/p290.jpg: -------------------------------------------------------------------------------- 1 | ../src/images/p290.jpg -------------------------------------------------------------------------------- /history.nasa.gov/p291.jpg: -------------------------------------------------------------------------------- 1 | ../src/images/p291.jpg -------------------------------------------------------------------------------- /history.nasa.gov/p293.jpg: -------------------------------------------------------------------------------- 1 | ../src/images/p293.jpg -------------------------------------------------------------------------------- /history.nasa.gov/p295.jpg: -------------------------------------------------------------------------------- 1 | ../src/images/p295.jpg -------------------------------------------------------------------------------- /history.nasa.gov/p296.jpg: -------------------------------------------------------------------------------- 1 | ../src/images/p296.jpg -------------------------------------------------------------------------------- /history.nasa.gov/p297.jpg: -------------------------------------------------------------------------------- 1 | ../src/images/p297.jpg -------------------------------------------------------------------------------- /history.nasa.gov/p39.jpg: -------------------------------------------------------------------------------- 1 | ../src/images/p39.jpg -------------------------------------------------------------------------------- /history.nasa.gov/p395.jpg: -------------------------------------------------------------------------------- 1 | ../src/images/p395.jpg -------------------------------------------------------------------------------- /history.nasa.gov/p396.jpg: -------------------------------------------------------------------------------- 1 | ../src/images/p396.jpg -------------------------------------------------------------------------------- /history.nasa.gov/p397.jpg: -------------------------------------------------------------------------------- 1 | ../src/images/p397.jpg -------------------------------------------------------------------------------- /history.nasa.gov/p400.jpg: -------------------------------------------------------------------------------- 1 | ../src/images/p400.jpg -------------------------------------------------------------------------------- /history.nasa.gov/p401.jpg: -------------------------------------------------------------------------------- 1 | ../src/images/p401.jpg -------------------------------------------------------------------------------- /history.nasa.gov/p404.jpg: -------------------------------------------------------------------------------- 1 | ../src/images/p404.jpg -------------------------------------------------------------------------------- /history.nasa.gov/p54.jpg: -------------------------------------------------------------------------------- 1 | ../src/images/p54.jpg -------------------------------------------------------------------------------- /history.nasa.gov/p56.jpg: -------------------------------------------------------------------------------- 1 | ../src/images/p56.jpg -------------------------------------------------------------------------------- /history.nasa.gov/p57.jpg: -------------------------------------------------------------------------------- 1 | ../src/images/p57.jpg -------------------------------------------------------------------------------- /history.nasa.gov/p67.jpg: -------------------------------------------------------------------------------- 1 | ../src/images/p67.jpg -------------------------------------------------------------------------------- /history.nasa.gov/p70.jpg: -------------------------------------------------------------------------------- 1 | ../src/images/p70.jpg -------------------------------------------------------------------------------- /history.nasa.gov/p70s.jpg: -------------------------------------------------------------------------------- 1 | ../src/images/p70s.jpg -------------------------------------------------------------------------------- /history.nasa.gov/p71.jpg: -------------------------------------------------------------------------------- 1 | ../src/images/p71.jpg -------------------------------------------------------------------------------- /history.nasa.gov/p71s.jpg: -------------------------------------------------------------------------------- 1 | ../src/images/p71s.jpg -------------------------------------------------------------------------------- /history.nasa.gov/p75.jpg: -------------------------------------------------------------------------------- 1 | ../src/images/p75.jpg -------------------------------------------------------------------------------- /history.nasa.gov/p75s.jpg: -------------------------------------------------------------------------------- 1 | ../src/images/p75s.jpg -------------------------------------------------------------------------------- /history.nasa.gov/p80.jpg: -------------------------------------------------------------------------------- 1 | ../src/images/p80.jpg -------------------------------------------------------------------------------- /history.nasa.gov/p87.jpg: -------------------------------------------------------------------------------- 1 | ../src/images/p87.jpg -------------------------------------------------------------------------------- /history.nasa.gov/p94.jpg: -------------------------------------------------------------------------------- 1 | ../src/images/p94.jpg -------------------------------------------------------------------------------- /history.nasa.gov/p94s.jpg: -------------------------------------------------------------------------------- 1 | ../src/images/p94s.jpg -------------------------------------------------------------------------------- /history.nasa.gov/p103s.jpg: -------------------------------------------------------------------------------- 1 | ../src/images/p103s.jpg -------------------------------------------------------------------------------- /history.nasa.gov/p107s.jpg: -------------------------------------------------------------------------------- 1 | ../src/images/p107s.jpg -------------------------------------------------------------------------------- /history.nasa.gov/p114s.jpg: -------------------------------------------------------------------------------- 1 | ../src/images/p114s.jpg -------------------------------------------------------------------------------- /history.nasa.gov/p127s.jpg: -------------------------------------------------------------------------------- 1 | ../src/images/p127s.jpg -------------------------------------------------------------------------------- /history.nasa.gov/p147s.jpg: -------------------------------------------------------------------------------- 1 | ../src/images/p147s.jpg -------------------------------------------------------------------------------- /history.nasa.gov/p151s.jpg: -------------------------------------------------------------------------------- 1 | ../src/images/p151s.jpg -------------------------------------------------------------------------------- /history.nasa.gov/p158s.jpg: -------------------------------------------------------------------------------- 1 | ../src/images/p158s.jpg -------------------------------------------------------------------------------- /history.nasa.gov/p163a.jpg: -------------------------------------------------------------------------------- 1 | ../src/images/p163a.jpg -------------------------------------------------------------------------------- /history.nasa.gov/p163b.jpg: -------------------------------------------------------------------------------- 1 | ../src/images/p163b.jpg -------------------------------------------------------------------------------- /history.nasa.gov/p165s.jpg: -------------------------------------------------------------------------------- 1 | ../src/images/p165s.jpg -------------------------------------------------------------------------------- /history.nasa.gov/p196s.jpg: -------------------------------------------------------------------------------- 1 | ../src/images/p196s.jpg -------------------------------------------------------------------------------- /history.nasa.gov/p215s.jpg: -------------------------------------------------------------------------------- 1 | ../src/images/p215s.jpg -------------------------------------------------------------------------------- /history.nasa.gov/p216s.jpg: -------------------------------------------------------------------------------- 1 | ../src/images/p216s.jpg -------------------------------------------------------------------------------- /history.nasa.gov/p217s.jpg: -------------------------------------------------------------------------------- 1 | ../src/images/p217s.jpg -------------------------------------------------------------------------------- /history.nasa.gov/p229s.jpg: -------------------------------------------------------------------------------- 1 | ../src/images/p229s.jpg -------------------------------------------------------------------------------- /history.nasa.gov/p235s.jpg: -------------------------------------------------------------------------------- 1 | ../src/images/p235s.jpg -------------------------------------------------------------------------------- /history.nasa.gov/p266s.jpg: -------------------------------------------------------------------------------- 1 | ../src/images/p266s.jpg -------------------------------------------------------------------------------- /history.nasa.gov/p274a.jpg: -------------------------------------------------------------------------------- 1 | ../src/images/p274a.jpg -------------------------------------------------------------------------------- /history.nasa.gov/p274b.jpg: -------------------------------------------------------------------------------- 1 | ../src/images/p274b.jpg -------------------------------------------------------------------------------- /history.nasa.gov/p281s.jpg: -------------------------------------------------------------------------------- 1 | ../src/images/p281s.jpg -------------------------------------------------------------------------------- /heads/Ch2.md: -------------------------------------------------------------------------------- 1 | ## Computers on Board the\ Apollo\ Spacecraft 2 | -------------------------------------------------------------------------------- /heads/Ch7.md: -------------------------------------------------------------------------------- 1 | ## The Evolution of Automated\ Launch\ Processing 2 | -------------------------------------------------------------------------------- /heads/Ch4.md: -------------------------------------------------------------------------------- 1 | ## Computers in the Space\ Shuttle\ Avionics\ System 2 | -------------------------------------------------------------------------------- /heads/Part1.md: -------------------------------------------------------------------------------- 1 | \newpageon{7} 2 | 3 | # Manned\ Spacecraft\ Computers 4 | -------------------------------------------------------------------------------- /heads/Ch6.md: -------------------------------------------------------------------------------- 1 | ## Distributed Computing On\ Board\ Voyager\ and\ Galileo 2 | -------------------------------------------------------------------------------- /heads/Reset.md: -------------------------------------------------------------------------------- 1 | \bookmarksetup{startatroot} 2 | \addtocontents{toc}{\bigskip} 3 | -------------------------------------------------------------------------------- /heads/Part2.md: -------------------------------------------------------------------------------- 1 | \newpageon{135} 2 | 3 | # Computers On\ Board\ Unmanned\ Spacecraft 4 | -------------------------------------------------------------------------------- /style.css: -------------------------------------------------------------------------------- 1 | .inbox { 2 | border: 1px solid black; 3 | font-size: smaller; 4 | } 5 | -------------------------------------------------------------------------------- /heads/Part3.md: -------------------------------------------------------------------------------- 1 | \newpageon{205} 2 | 3 | # Ground-Based\ Computers For\ Spaceflight\ Operations 4 | -------------------------------------------------------------------------------- /src/images/p0.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/01mf02/computers-spaceflight/HEAD/src/images/p0.jpg -------------------------------------------------------------------------------- /src/images/p101.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/01mf02/computers-spaceflight/HEAD/src/images/p101.jpg -------------------------------------------------------------------------------- /src/images/p103.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/01mf02/computers-spaceflight/HEAD/src/images/p103.jpg -------------------------------------------------------------------------------- /src/images/p107.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/01mf02/computers-spaceflight/HEAD/src/images/p107.jpg -------------------------------------------------------------------------------- /src/images/p11.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/01mf02/computers-spaceflight/HEAD/src/images/p11.jpg -------------------------------------------------------------------------------- /src/images/p114.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/01mf02/computers-spaceflight/HEAD/src/images/p114.jpg -------------------------------------------------------------------------------- /src/images/p123.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/01mf02/computers-spaceflight/HEAD/src/images/p123.jpg -------------------------------------------------------------------------------- /src/images/p126.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/01mf02/computers-spaceflight/HEAD/src/images/p126.jpg -------------------------------------------------------------------------------- /src/images/p127.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/01mf02/computers-spaceflight/HEAD/src/images/p127.jpg -------------------------------------------------------------------------------- /src/images/p129.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/01mf02/computers-spaceflight/HEAD/src/images/p129.jpg -------------------------------------------------------------------------------- /src/images/p13.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/01mf02/computers-spaceflight/HEAD/src/images/p13.jpg -------------------------------------------------------------------------------- /src/images/p131.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/01mf02/computers-spaceflight/HEAD/src/images/p131.jpg -------------------------------------------------------------------------------- /src/images/p136.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/01mf02/computers-spaceflight/HEAD/src/images/p136.jpg -------------------------------------------------------------------------------- /src/images/p13s.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/01mf02/computers-spaceflight/HEAD/src/images/p13s.jpg -------------------------------------------------------------------------------- /src/images/p144.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/01mf02/computers-spaceflight/HEAD/src/images/p144.jpg -------------------------------------------------------------------------------- /src/images/p147.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/01mf02/computers-spaceflight/HEAD/src/images/p147.jpg -------------------------------------------------------------------------------- /src/images/p15.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/01mf02/computers-spaceflight/HEAD/src/images/p15.jpg -------------------------------------------------------------------------------- /src/images/p151.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/01mf02/computers-spaceflight/HEAD/src/images/p151.jpg -------------------------------------------------------------------------------- /src/images/p155.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/01mf02/computers-spaceflight/HEAD/src/images/p155.jpg -------------------------------------------------------------------------------- /src/images/p158.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/01mf02/computers-spaceflight/HEAD/src/images/p158.jpg -------------------------------------------------------------------------------- /src/images/p16.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/01mf02/computers-spaceflight/HEAD/src/images/p16.jpg -------------------------------------------------------------------------------- /src/images/p160.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/01mf02/computers-spaceflight/HEAD/src/images/p160.jpg -------------------------------------------------------------------------------- /src/images/p165.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/01mf02/computers-spaceflight/HEAD/src/images/p165.jpg -------------------------------------------------------------------------------- /src/images/p16s.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/01mf02/computers-spaceflight/HEAD/src/images/p16s.jpg -------------------------------------------------------------------------------- /src/images/p173.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/01mf02/computers-spaceflight/HEAD/src/images/p173.jpg -------------------------------------------------------------------------------- /src/images/p18.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/01mf02/computers-spaceflight/HEAD/src/images/p18.jpg -------------------------------------------------------------------------------- /src/images/p181.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/01mf02/computers-spaceflight/HEAD/src/images/p181.jpg -------------------------------------------------------------------------------- /src/images/p187.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/01mf02/computers-spaceflight/HEAD/src/images/p187.jpg -------------------------------------------------------------------------------- /src/images/p188.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/01mf02/computers-spaceflight/HEAD/src/images/p188.jpg -------------------------------------------------------------------------------- /src/images/p191.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/01mf02/computers-spaceflight/HEAD/src/images/p191.jpg -------------------------------------------------------------------------------- /src/images/p193.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/01mf02/computers-spaceflight/HEAD/src/images/p193.jpg -------------------------------------------------------------------------------- /src/images/p195.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/01mf02/computers-spaceflight/HEAD/src/images/p195.jpg -------------------------------------------------------------------------------- /src/images/p196.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/01mf02/computers-spaceflight/HEAD/src/images/p196.jpg -------------------------------------------------------------------------------- /src/images/p199.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/01mf02/computers-spaceflight/HEAD/src/images/p199.jpg -------------------------------------------------------------------------------- /src/images/p200.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/01mf02/computers-spaceflight/HEAD/src/images/p200.jpg -------------------------------------------------------------------------------- /src/images/p210.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/01mf02/computers-spaceflight/HEAD/src/images/p210.jpg -------------------------------------------------------------------------------- /src/images/p213.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/01mf02/computers-spaceflight/HEAD/src/images/p213.jpg -------------------------------------------------------------------------------- /src/images/p215.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/01mf02/computers-spaceflight/HEAD/src/images/p215.jpg -------------------------------------------------------------------------------- /src/images/p216.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/01mf02/computers-spaceflight/HEAD/src/images/p216.jpg -------------------------------------------------------------------------------- /src/images/p217.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/01mf02/computers-spaceflight/HEAD/src/images/p217.jpg -------------------------------------------------------------------------------- /src/images/p219.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/01mf02/computers-spaceflight/HEAD/src/images/p219.jpg -------------------------------------------------------------------------------- /src/images/p22.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/01mf02/computers-spaceflight/HEAD/src/images/p22.jpg -------------------------------------------------------------------------------- /src/images/p229.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/01mf02/computers-spaceflight/HEAD/src/images/p229.jpg -------------------------------------------------------------------------------- /src/images/p22s.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/01mf02/computers-spaceflight/HEAD/src/images/p22s.jpg -------------------------------------------------------------------------------- /src/images/p23.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/01mf02/computers-spaceflight/HEAD/src/images/p23.jpg -------------------------------------------------------------------------------- /src/images/p234.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/01mf02/computers-spaceflight/HEAD/src/images/p234.jpg -------------------------------------------------------------------------------- /src/images/p235.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/01mf02/computers-spaceflight/HEAD/src/images/p235.jpg -------------------------------------------------------------------------------- /src/images/p23s.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/01mf02/computers-spaceflight/HEAD/src/images/p23s.jpg -------------------------------------------------------------------------------- /src/images/p249.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/01mf02/computers-spaceflight/HEAD/src/images/p249.jpg -------------------------------------------------------------------------------- /src/images/p256.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/01mf02/computers-spaceflight/HEAD/src/images/p256.jpg -------------------------------------------------------------------------------- /src/images/p262.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/01mf02/computers-spaceflight/HEAD/src/images/p262.jpg -------------------------------------------------------------------------------- /src/images/p266.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/01mf02/computers-spaceflight/HEAD/src/images/p266.jpg -------------------------------------------------------------------------------- /src/images/p268.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/01mf02/computers-spaceflight/HEAD/src/images/p268.jpg -------------------------------------------------------------------------------- /src/images/p279.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/01mf02/computers-spaceflight/HEAD/src/images/p279.jpg -------------------------------------------------------------------------------- /src/images/p281.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/01mf02/computers-spaceflight/HEAD/src/images/p281.jpg -------------------------------------------------------------------------------- /src/images/p284.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/01mf02/computers-spaceflight/HEAD/src/images/p284.jpg -------------------------------------------------------------------------------- /src/images/p286.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/01mf02/computers-spaceflight/HEAD/src/images/p286.jpg -------------------------------------------------------------------------------- /src/images/p287.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/01mf02/computers-spaceflight/HEAD/src/images/p287.jpg -------------------------------------------------------------------------------- /src/images/p289.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/01mf02/computers-spaceflight/HEAD/src/images/p289.jpg -------------------------------------------------------------------------------- /src/images/p290.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/01mf02/computers-spaceflight/HEAD/src/images/p290.jpg -------------------------------------------------------------------------------- /src/images/p291.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/01mf02/computers-spaceflight/HEAD/src/images/p291.jpg -------------------------------------------------------------------------------- /src/images/p293.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/01mf02/computers-spaceflight/HEAD/src/images/p293.jpg -------------------------------------------------------------------------------- /src/images/p295.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/01mf02/computers-spaceflight/HEAD/src/images/p295.jpg -------------------------------------------------------------------------------- /src/images/p296.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/01mf02/computers-spaceflight/HEAD/src/images/p296.jpg -------------------------------------------------------------------------------- /src/images/p297.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/01mf02/computers-spaceflight/HEAD/src/images/p297.jpg -------------------------------------------------------------------------------- /src/images/p39.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/01mf02/computers-spaceflight/HEAD/src/images/p39.jpg -------------------------------------------------------------------------------- /src/images/p395.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/01mf02/computers-spaceflight/HEAD/src/images/p395.jpg -------------------------------------------------------------------------------- /src/images/p396.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/01mf02/computers-spaceflight/HEAD/src/images/p396.jpg -------------------------------------------------------------------------------- /src/images/p397.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/01mf02/computers-spaceflight/HEAD/src/images/p397.jpg -------------------------------------------------------------------------------- /src/images/p400.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/01mf02/computers-spaceflight/HEAD/src/images/p400.jpg -------------------------------------------------------------------------------- /src/images/p401.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/01mf02/computers-spaceflight/HEAD/src/images/p401.jpg -------------------------------------------------------------------------------- /src/images/p404.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/01mf02/computers-spaceflight/HEAD/src/images/p404.jpg -------------------------------------------------------------------------------- /src/images/p54.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/01mf02/computers-spaceflight/HEAD/src/images/p54.jpg -------------------------------------------------------------------------------- /src/images/p56.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/01mf02/computers-spaceflight/HEAD/src/images/p56.jpg -------------------------------------------------------------------------------- /src/images/p57.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/01mf02/computers-spaceflight/HEAD/src/images/p57.jpg -------------------------------------------------------------------------------- /src/images/p67.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/01mf02/computers-spaceflight/HEAD/src/images/p67.jpg -------------------------------------------------------------------------------- /src/images/p70.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/01mf02/computers-spaceflight/HEAD/src/images/p70.jpg -------------------------------------------------------------------------------- /src/images/p70s.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/01mf02/computers-spaceflight/HEAD/src/images/p70s.jpg -------------------------------------------------------------------------------- /src/images/p71.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/01mf02/computers-spaceflight/HEAD/src/images/p71.jpg -------------------------------------------------------------------------------- /src/images/p71s.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/01mf02/computers-spaceflight/HEAD/src/images/p71s.jpg -------------------------------------------------------------------------------- /src/images/p75.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/01mf02/computers-spaceflight/HEAD/src/images/p75.jpg -------------------------------------------------------------------------------- /src/images/p75s.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/01mf02/computers-spaceflight/HEAD/src/images/p75s.jpg -------------------------------------------------------------------------------- /src/images/p80.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/01mf02/computers-spaceflight/HEAD/src/images/p80.jpg -------------------------------------------------------------------------------- /src/images/p87.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/01mf02/computers-spaceflight/HEAD/src/images/p87.jpg -------------------------------------------------------------------------------- /src/images/p94.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/01mf02/computers-spaceflight/HEAD/src/images/p94.jpg -------------------------------------------------------------------------------- /src/images/p94s.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/01mf02/computers-spaceflight/HEAD/src/images/p94s.jpg -------------------------------------------------------------------------------- /src/images/p103s.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/01mf02/computers-spaceflight/HEAD/src/images/p103s.jpg -------------------------------------------------------------------------------- /src/images/p107s.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/01mf02/computers-spaceflight/HEAD/src/images/p107s.jpg -------------------------------------------------------------------------------- /src/images/p114s.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/01mf02/computers-spaceflight/HEAD/src/images/p114s.jpg -------------------------------------------------------------------------------- /src/images/p127s.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/01mf02/computers-spaceflight/HEAD/src/images/p127s.jpg -------------------------------------------------------------------------------- /src/images/p147s.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/01mf02/computers-spaceflight/HEAD/src/images/p147s.jpg -------------------------------------------------------------------------------- /src/images/p151s.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/01mf02/computers-spaceflight/HEAD/src/images/p151s.jpg -------------------------------------------------------------------------------- /src/images/p158s.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/01mf02/computers-spaceflight/HEAD/src/images/p158s.jpg -------------------------------------------------------------------------------- /src/images/p163a.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/01mf02/computers-spaceflight/HEAD/src/images/p163a.jpg -------------------------------------------------------------------------------- /src/images/p163b.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/01mf02/computers-spaceflight/HEAD/src/images/p163b.jpg -------------------------------------------------------------------------------- /src/images/p165s.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/01mf02/computers-spaceflight/HEAD/src/images/p165s.jpg -------------------------------------------------------------------------------- /src/images/p196s.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/01mf02/computers-spaceflight/HEAD/src/images/p196s.jpg -------------------------------------------------------------------------------- /src/images/p215s.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/01mf02/computers-spaceflight/HEAD/src/images/p215s.jpg -------------------------------------------------------------------------------- /src/images/p216s.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/01mf02/computers-spaceflight/HEAD/src/images/p216s.jpg -------------------------------------------------------------------------------- /src/images/p217s.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/01mf02/computers-spaceflight/HEAD/src/images/p217s.jpg -------------------------------------------------------------------------------- /src/images/p229s.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/01mf02/computers-spaceflight/HEAD/src/images/p229s.jpg -------------------------------------------------------------------------------- /src/images/p235s.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/01mf02/computers-spaceflight/HEAD/src/images/p235s.jpg -------------------------------------------------------------------------------- /src/images/p266s.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/01mf02/computers-spaceflight/HEAD/src/images/p266s.jpg -------------------------------------------------------------------------------- /src/images/p274a.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/01mf02/computers-spaceflight/HEAD/src/images/p274a.jpg -------------------------------------------------------------------------------- /src/images/p274b.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/01mf02/computers-spaceflight/HEAD/src/images/p274b.jpg -------------------------------------------------------------------------------- /src/images/p281s.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/01mf02/computers-spaceflight/HEAD/src/images/p281s.jpg -------------------------------------------------------------------------------- /heads/Largepart.md: -------------------------------------------------------------------------------- 1 | \setkomafont{part}{\normalfont\huge} 2 | \RedeclareSectionCommand[afterskip=1.5em]{part} 3 | -------------------------------------------------------------------------------- /heads/Ch1.md: -------------------------------------------------------------------------------- 1 | ## The Gemini Computer: First\ Machine\ in\ Space 2 | 3 | \chaptermark{The Gemini Digital Computer} 4 | -------------------------------------------------------------------------------- /history.nasa.gov/Index.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/01mf02/computers-spaceflight/HEAD/history.nasa.gov/Index.gif -------------------------------------------------------------------------------- /history.nasa.gov/Next.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/01mf02/computers-spaceflight/HEAD/history.nasa.gov/Next.gif -------------------------------------------------------------------------------- /heads/Smallpart.md: -------------------------------------------------------------------------------- 1 | \setkomafont{part}{\normalfont\Large\bfseries} 2 | \RedeclareSectionCommand[afterskip=1em]{part} 3 | -------------------------------------------------------------------------------- /history.nasa.gov/Hsearch.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/01mf02/computers-spaceflight/HEAD/history.nasa.gov/Hsearch.gif -------------------------------------------------------------------------------- /history.nasa.gov/NASAlogo.GIF: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/01mf02/computers-spaceflight/HEAD/history.nasa.gov/NASAlogo.GIF -------------------------------------------------------------------------------- /history.nasa.gov/Previous.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/01mf02/computers-spaceflight/HEAD/history.nasa.gov/Previous.gif -------------------------------------------------------------------------------- /history.nasa.gov/histhome.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/01mf02/computers-spaceflight/HEAD/history.nasa.gov/histhome.gif -------------------------------------------------------------------------------- /heads/Ch5.md: -------------------------------------------------------------------------------- 1 | ## From Sequencers to Computers: Exploring\ the\ Moon and\ the\ Inner\ Planets 2 | 3 | \chaptermark{From Sequencers to Computers} 4 | -------------------------------------------------------------------------------- /heads/Ch9.md: -------------------------------------------------------------------------------- 1 | ## Making New Reality: Computers\ in\ Simulations and\ Image\ Processing 2 | 3 | \chaptermark{Computers in Simulations and Image Processing} 4 | -------------------------------------------------------------------------------- /prologue.tex: -------------------------------------------------------------------------------- 1 | \frontmatter 2 | 3 | % set inter-word space, see: 4 | % https://tex.stackexchange.com/questions/23921/how-to-shorten-shrink-spaces-between-words 5 | \fontdimen2\font=0.35em 6 | -------------------------------------------------------------------------------- /latex.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | documentclass: scrbook 3 | fontsize: 15pt 4 | classoption: chapterprefix=true 5 | geometry: top=2.5cm, bottom=1in, inner=2cm, outer=4cm 6 | indent: true 7 | subparagraph: true 8 | fontfamily: newtxtext,newtxmath 9 | --- 10 | -------------------------------------------------------------------------------- /all.py: -------------------------------------------------------------------------------- 1 | from pfcompat import toJSONFilters 2 | from pandoc_latex_environment import environment 3 | from figure import figure 4 | from unnumbered import unnumbered 5 | from listing import listing 6 | 7 | if __name__ == "__main__": 8 | toJSONFilters([environment, figure, unnumbered, listing]) 9 | -------------------------------------------------------------------------------- /heads/FigA.md: -------------------------------------------------------------------------------- 1 | \newpageon{6} 2 | 3 | ![**Figure A**: The first manned spaceflight program to use computers continuously in all mission phases was Apollo. Here mission controllers watch computer-driven displays while astronauts explore the lunar surface after a computer-controlled descent.](images/p0.jpg) 4 | -------------------------------------------------------------------------------- /allfigure.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python 2 | 3 | # debugging 4 | from __future__ import print_function 5 | import sys 6 | def eprint(*args, **kwargs): 7 | print(*args, file=sys.stderr, **kwargs) 8 | 9 | from pandocfilters import toJSONFilter, Para 10 | 11 | def add_elem(acc, x): 12 | if x['t'] == 'Image': 13 | acc.append([x]) 14 | acc.append([]) 15 | else: 16 | acc[-1].append(x) 17 | 18 | return acc 19 | 20 | def all_figure(key, value, format, meta): 21 | if key == 'Para': 22 | l = reduce(add_elem, value, [[]]) 23 | return [Para(x) for x in l if x != []] 24 | if key == 'Image': 25 | value[2][1] = "fig:" 26 | 27 | if __name__ == "__main__": 28 | toJSONFilter(all_figure) 29 | -------------------------------------------------------------------------------- /unnumbered.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python 2 | 3 | # debugging 4 | from __future__ import print_function 5 | import sys 6 | def eprint(*args, **kwargs): 7 | print(*args, file=sys.stderr, **kwargs) 8 | 9 | from pandocfilters import toJSONFilter, RawInline, Para 10 | from pfcompat import Image 11 | 12 | def latex(x): 13 | return RawInline('latex', x) 14 | 15 | def unnumbered(key, value, format, meta): 16 | #eprint("Key: " + key) 17 | if key == 'Header': 18 | [level, [ident, classes, kvs], inlines] = value 19 | if level <= 2 and 'unnumbered' in classes: 20 | cmd = 'addpart' if level == 1 else 'addchap' 21 | return \ 22 | Para([ latex("\\" + cmd + '{') ] + inlines + [ latex('}\n')]) 23 | 24 | if __name__ == "__main__": 25 | toJSONFilter(unnumbered) 26 | -------------------------------------------------------------------------------- /figure.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python 2 | 3 | # debugging 4 | from __future__ import print_function 5 | import sys 6 | def eprint(*args, **kwargs): 7 | print(*args, file=sys.stderr, **kwargs) 8 | 9 | from pandocfilters import toJSONFilter, RawInline 10 | from pfcompat import Image 11 | 12 | def latex(x): 13 | return RawInline('latex', x) 14 | 15 | def figure(key, value, format, meta): 16 | #eprint("Key: " + key) 17 | if key == 'Image': 18 | caption = value[1] 19 | image = Image(value[0], value[1], value[2]) 20 | 21 | return \ 22 | [ latex(r'\begin{figure}' + '\n') \ 23 | , image, latex('\n') \ 24 | , latex(r'\caption{') \ 25 | ] + caption + \ 26 | [ latex('}' + '\n') \ 27 | , latex(r'\end{figure}') \ 28 | ] 29 | 30 | if __name__ == "__main__": 31 | toJSONFilter(figure) 32 | -------------------------------------------------------------------------------- /src/Ch5-7.md: -------------------------------------------------------------------------------- 1 | ### On to the outer planets 2 | 3 | Experience and the appreciation of the flexibility of 4 | computer processors are the legacy of the computer systems development 5 | for the inner planet probes. Consistent and detailed documentation, 6 | simple, reliable, and reusable hardware designs, and the practice of 7 | many missions contributed to the later and continuing success of 8 | Voyager. Just as management experience gained during Apollo applied to 9 | the shuttle, JPL's success with Viking made the concurrent development 10 | of Voyager and Galileo easier. People like Samuel Deese, who gained 11 | practical experience in the 1960s, led subsystem management in the 12 | 1970s. Viking's Wayne Kohl went on to Galileo after the Mars landings in 13 | a position similar to the one he held on the former project. Both 14 | Voyager and Galileo are better projects because of the continuity of 15 | techniques and personnel. 16 | -------------------------------------------------------------------------------- /history.nasa.gov/p70.htm: -------------------------------------------------------------------------------- 1 | p70 2 |


Computers in Spaceflight: The NASA Experience

Figure 3-2.

 

Figure 3-2. The concept of Triple Modular Redundancy.

-
Back -
 
-------------------------------------------------------------------------------- /history.nasa.gov/p13.htm: -------------------------------------------------------------------------------- 1 | p13 2 |


Computers in Spaceflight: The NASA Experience

Figure 1-2.

 

Figure 1-2. Locations of key components of the Gemini Guidance System. (From McDonnell Corp., Gemini Familiarization Manual)
-
Back -
 
-------------------------------------------------------------------------------- /history.nasa.gov/p235.htm: -------------------------------------------------------------------------------- 1 | p235 2 |


Computers in Spaceflight: The NASA Experience

Figure 7-9.

 

Figure 7-9. Hard copy of a display from one of the firing room consoles.

-
Back -
 
-------------------------------------------------------------------------------- /history.nasa.gov/p229.htm: -------------------------------------------------------------------------------- 1 | p229 2 |


Computers in Spaceflight: The NASA Experience

Figure 7-7.

 

Figure 7-7. Shuttle Launch Processing System hardware structure. (Courtesy IBM)

-
Back -
 
-------------------------------------------------------------------------------- /history.nasa.gov/p103.htm: -------------------------------------------------------------------------------- 1 | p103 2 |


Computers in Spaceflight: The NASA Experience

Figure 4-4.

 

Figure 4-4. The intercommunication system used in the F-8 triplex computer system.

-
Back -
 
-------------------------------------------------------------------------------- /history.nasa.gov/p281.htm: -------------------------------------------------------------------------------- 1 | p281 2 |


Computers in Spaceflight: The NASA Experience

Figure 9-3.

 

Figure 9-3. One of the instructional screens of the Regency system used in training.

-
Back -
 
-------------------------------------------------------------------------------- /history.nasa.gov/p22.htm: -------------------------------------------------------------------------------- 1 | p22 2 |


Computers in Spaceflight: The NASA Experience

Figure 1-6.

 

Figure 1-6. Manual Data Insertion Unit. (From McDonnell Corp., Gemini Familiarization Manual)

-
Back -
 
-------------------------------------------------------------------------------- /history.nasa.gov/p23.htm: -------------------------------------------------------------------------------- 1 | p23 2 |


Computers in Spaceflight: The NASA Experience

Figure 1-7.

 

Figure 1-7. Incremental Velocity Indicator. (From McDonnell Corp., Gemini Familiarization Manual)

-
Back -
 
-------------------------------------------------------------------------------- /history.nasa.gov/p266.htm: -------------------------------------------------------------------------------- 1 | p266 2 |


Computers in Spaceflight: The NASA Experience

Figure 8-4.

 

Figure 8-4. A schematic of the components of the Space Flight Operations Facility. (JPL 333-660)

-
Back -
 
-------------------------------------------------------------------------------- /history.nasa.gov/p216.htm: -------------------------------------------------------------------------------- 1 | p216 2 |


Computers in Spaceflight: The NASA Experience

FIGURE 7-4.

 

FIGURE 7-4. A block diagram of the Saturn Operational Display System. (from IBM, SLCC Programming System)

-
Back -
 
-------------------------------------------------------------------------------- /history.nasa.gov/p147.htm: -------------------------------------------------------------------------------- 1 | p147 2 |


Computers in Spaceflight: The NASA Experience

Figure 5-2.

 

Figure 5-2. Mariner Venus/Mercury 1973 made the most use of the programmable sequencers. (JPL photo 251-135AC)

-
Back -
 
-------------------------------------------------------------------------------- /meta.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | title: | 3 | Computers in Spaceflight 4 | *The NASA Experience* 5 | title-meta: "Computers in Spaceflight: The NASA Experience" 6 | author: | 7 | James E. Tomayko 8 | *Wichita State University* 9 | *Wichita, Kansas* 10 | author-meta: James E. Tomayko 11 | date: March 1988 12 | abstract: 13 | This book examines the computer systems used in actual spaceflight or in 14 | close support of it. Computer systems used in administration and in 15 | aeronautical and other research not directly related to spaceflight are 16 | ignored. Each chapter deals with either a specific program, such as 17 | Gemini or Apollo onboard computers, or a closely related set of systems, 18 | such as launch processing or mission control. A glossary of computer terms 19 | is included. 20 | keywords: 21 | - assembly language 22 | - core memory 23 | - core rope 24 | - image processing 25 | - bubble memory 26 | - modularization 27 | - virtual memory 28 | - time-slice method 29 | --- 30 | -------------------------------------------------------------------------------- /history.nasa.gov/p127.htm: -------------------------------------------------------------------------------- 1 | p127 2 |


Computers in Spaceflight: The NASA Experience

Figure 4-9.

 

Figure 4-9. A typical display of the Primary Avionics Software System. (From NASA, Data Processing System Workbook)

-
Back -
 
-------------------------------------------------------------------------------- /history.nasa.gov/p16.htm: -------------------------------------------------------------------------------- 1 | p16 2 |


Computers in Spaceflight: The NASA Experience

Figure 1-4.

 

Figure 1-4. Layout of the Gemini Digital Computer core memory. (From McDonnell Corp., Gemini Familiarization Manual)

-
Back -
 
-------------------------------------------------------------------------------- /history.nasa.gov/p75.htm: -------------------------------------------------------------------------------- 1 | p75 2 |


Computers in Spaceflight: The NASA Experience

Figure 3-4.

 

Figure 3-4. The real-time cycle of the Skylab 16K flight program. (From IBM, Skylab Operation Assessment, ATMDC, 1974)

-
Back -
 
-------------------------------------------------------------------------------- /history.nasa.gov/p196.htm: -------------------------------------------------------------------------------- 1 | p196 2 |


Computers in Spaceflight: The NASA Experience

FIGURE 6-8.

 

FIGURE 6-8. The software architecture of the Galileo Command and Data Subsystem High Level Modules. (From JPL, 625-340-006000)

-
Back -
 
-------------------------------------------------------------------------------- /history.nasa.gov/p114.htm: -------------------------------------------------------------------------------- 1 | p114 2 |


Computers in Spaceflight: The NASA Experience

Figure 4-6.

 

Figure 4-6. A block diagram of the Shuttle flight computer software architecture. (From NASA, Data Processing System Workbook)

-
Back -
 
-------------------------------------------------------------------------------- /history.nasa.gov/p151.htm: -------------------------------------------------------------------------------- 1 | p151 2 |


Computers in Spaceflight: The NASA Experience

Figure 5-3.

 

Figure 5-3. The STAR computer configuration. (From Avizienis, "Design Methods for Fault-Tolerant Navigation Computers" JPL TR-32-1409)

-
Back -
 
-------------------------------------------------------------------------------- /history.nasa.gov/p215.htm: -------------------------------------------------------------------------------- 1 | p215 2 |


Computers in Spaceflight: The NASA Experience

FIGURE 7-3.

 

FIGURE 7-3. A block diagram of the automated preflight checkout hardware for the Saturn launch vehicle. (From IBM, SLCC Programming System)

-
Back -
 
-------------------------------------------------------------------------------- /history.nasa.gov/p94.htm: -------------------------------------------------------------------------------- 1 | p94 2 |


Computers in Spaceflight: The NASA Experience

Figure 4-2.

 

Figure 4-2. A block diagram of the hardware that makes up the Shuttle Data Processing System. The fifth computer is the Backup Flight System computer.

-
Back -
 
-------------------------------------------------------------------------------- /history.nasa.gov/p107.htm: -------------------------------------------------------------------------------- 1 | p107 2 |


Computers in Spaceflight: The NASA Experience

Figure 4-5.

 

Figure 4-5. The various computer configurations used during a Shuttle mission. The names of the operational sequences loaded into the machines are shown.

-
Back -
 
-------------------------------------------------------------------------------- /pandoc_latex_environment.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python 2 | 3 | """ 4 | Pandoc filter for converting divs to LaTeX environments 5 | """ 6 | 7 | from pandocfilters import toJSONFilter, RawBlock, stringify 8 | 9 | import re 10 | 11 | def environment(key, value, format, meta): 12 | if key == 'Div' and format in ['latex', 'beamer']: 13 | 14 | [[id, classes, properties], content] = value 15 | 16 | if len(classes) == 1: 17 | klass = classes[0] 18 | 19 | if id != '': 20 | label = ' \\label{' + id + '}' 21 | else: 22 | label = '' 23 | 24 | #currentProperties = dict(properties) 25 | #if 'title' in currentProperties: 26 | # title = '[' + currentProperties['title'] + ']' 27 | #else: 28 | # title = '' 29 | title = '' 30 | 31 | value[1] = [RawBlock('tex', '\\begin{' + klass + '}' + title + label)] + content + [RawBlock('tex', '\\end{' + klass + '}')] 32 | 33 | if __name__ == '__main__': 34 | toJSONFilter(environment) 35 | -------------------------------------------------------------------------------- /history.nasa.gov/p217.htm: -------------------------------------------------------------------------------- 1 | p217 2 |


Computers in Spaceflight: The NASA Experience

FIGURE 7-5.

 

FIGURE 7-5. Typical firing room layout during the Saturn era. Nearly 250 engineers would crowd this area during a countdown. (From IBM, SLCC Programming System)

-
Back -
 
-------------------------------------------------------------------------------- /history.nasa.gov/p71.htm: -------------------------------------------------------------------------------- 1 | p71 2 |


Computers in Spaceflight: The NASA Experience

Figure 3-3.

 

Figure 3-3. A block diagram of the Skylab Computer System with the dual ATMDCs, tape memory, and common section shown. (From IBM, Skylab Operation Assessment, ATMDC, 1974)

-
Back -
 
-------------------------------------------------------------------------------- /history.nasa.gov/p165.htm: -------------------------------------------------------------------------------- 1 | p165 2 |


Computers in Spaceflight: The NASA Experience

FIGURE 5-9.

 

FIGURE 5-9. A block diagram of the Viking Orbiter software. This same software structure was used for the Voyager Command Computer Subsystem software (From Kohl, Viking Orbiter Computer Command Subsystem Software)

-
Back -
 
-------------------------------------------------------------------------------- /history.nasa.gov/p158.htm: -------------------------------------------------------------------------------- 1 | p158 2 |


Computers in Spaceflight: The NASA Experience

Figure 5-5.

 

Figure 5-5. A block diagram of the Viking Orbiter Command Computer Subsystem hardware. This basic dual computer configuration was used for both Viking computers and all three Voyager computer systems. (From Kohl, Viking Orbiter Computer Command Subsystem Hardware)

-
Back -
 
-------------------------------------------------------------------------------- /listing.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python 2 | 3 | # Wrap code blocks in listing environment with caption 4 | 5 | # By default, Pandoc adds captions to code blocks only 6 | # when using the `--listings` option. 7 | # However, the output of the `listings` is 8 | # not as aesthetically pleasing as the one from Pandoc. 9 | # I therefore add caption support to Pandoc without `--listings`. 10 | 11 | # debugging 12 | from __future__ import print_function 13 | import sys 14 | def eprint(*args, **kwargs): 15 | print(*args, file=sys.stderr, **kwargs) 16 | 17 | from pandocfilters import toJSONFilter, RawInline, Plain, CodeBlock 18 | from pfcompat import get_value 19 | 20 | def latex(x): 21 | return RawInline('latex', x) 22 | 23 | def listing(key, value, format, meta): 24 | #eprint("Key: " + key) 25 | if key == 'CodeBlock': 26 | (caption, _) = get_value(value[0][2], 'caption') 27 | 28 | block = CodeBlock(value[0], value[1]) 29 | 30 | # we only need to add the caption, label is handled by Pandoc 31 | return \ 32 | [ Plain([latex(r'\begin{figure}' + '\n' + \ 33 | r'\caption{' + caption + '}')]) \ 34 | , block \ 35 | , Plain([latex(r'\end{figure}')]) \ 36 | ] 37 | 38 | if __name__ == "__main__": 39 | toJSONFilter(listing) 40 | -------------------------------------------------------------------------------- /src/Part1-intro.md: -------------------------------------------------------------------------------- 1 | In the first 25 years of its existence, NASA conducted five 2 | manned spaceflight programs: Mercury, Gemini, Apollo, Skylab, and 3 | Shuttle. The latter four programs produced spacecraft that had on-board 4 | digital computers. The Gemini computer was a single unit dedicated to 5 | guidance and navigation functions. Apollo used computers in the command 6 | module and lunar excursion module, again primarily for guidance and 7 | navigation. Skylab had a dual computer system for attitude control of 8 | the laboratory and pointing of the solar telescope. NASA's Space Shuttle 9 | is the most computerized spacecraft built to date, with five 10 | general-purpose computers as the heart of the avionics system and twin 11 | computers on each of the main engines. The Shuttle computers dominate 12 | all checkout, guidance, navigation, systems management, payload, and 13 | powered flight functions. 14 | 15 | NASA's manned spacecraft computers are characterized by increasing power 16 | and complexity. Without them, the rendezvous techniques developed in the 17 | Gemini program, the complex mission profiles followed in Apollo, the 18 | survival of the damaged Skylab, and the reliability of the Shuttle 19 | avionics system would not have been possible. 20 | 21 | When NASA began to develop systems for manned spacecraft, 22 | general-purpose computers small and powerful enough to meet the 23 | requirements did not exist. Their development involved both commercial 24 | and academic organizations in repackaging computer technology for 25 | spaceflight. 26 | -------------------------------------------------------------------------------- /src/Ch4-9.md: -------------------------------------------------------------------------------- 1 | ### Conclusion 2 | 3 | The DPS on the Shuttle orbiter reflects the state of 4 | software engineering in the 1970s. Even though the software was 5 | admittedly the key component of the spacecraft, NASA chose the hardware 6 | before the first software requirement was written. This is typical of 7 | practice in 1972, but less so now. NASA managers knew that time and 8 | money spent on detailed software requirements specification and the 9 | corresponding development of a test and verification program would save 10 | millions of dollars and much effort later. The establishment of a 11 | dedicated facility for development was an innovative idea and helped 12 | keep costs down by centralization and standardization. A combination of 13 | complete requirements, an aggressive test plan, a decent development 14 | facility, and the experience of NASA, Rockwell, Draper, and IBM 15 | engineers in real-time systems was enough to create a successful Shuttle 16 | DPS. 17 | 18 | Even as the system took shape, NASA managers looked to the future of 19 | manned spacecraft software. Increased automation of code and test case 20 | generation, automated change insertion and verification, and perhaps 21 | automated requirements development are all considered future necessities 22 | if development costs are to be kept down and reliability increased. In 23 | the 1980s, a new opportunity for software development and hardware 24 | selection presents itself with NASA's long-awaited Space Station. NASA 25 | has another chance to adopt updated software engineering techniques and, 26 | perhaps, to develop others. Success in space is increasingly tied to 27 | success in the software factory. 28 | -------------------------------------------------------------------------------- /src/Foreword.md: -------------------------------------------------------------------------------- 1 | \newpageon{vii} 2 | 3 | # Foreword {-} 4 | 5 | The Editors have taken the unusual step of devoting an 6 | entire Supplement volume of the Encyclopedia to a single topic: 7 | "Computers in Spaceflight: the NASA Experience." The reason will 8 | hopefully become apparent upon reading this volume. NASA's use of 9 | computer technology has encompassed a long period starting in 1958. 10 | During this period, hardware and software developments in the computer 11 | field were progressing through successive generations. A review of 12 | spaceflight applications of these developments offers a panoramic 13 | insight into almost two decades of change in the computer industry and 14 | into NASA's role. 15 | 16 | NASA's role is summarized at the conclusion of this volume: 17 | 18 | > "NASA never asked for anything that could not be done with the current 19 | > technology. But in response, the computer industry sometimes pushed 20 | > itself just a little in a number of areas. Just a little better software 21 | > development practices made onboard software safe, just a little better 22 | > networking made the Launch Processing System more efficient, just a 23 | > little better operating system made mission control easier, just a 24 | > little better chip makes image processing faster. NASA did not push the 25 | > state of the art, but nudged it enough times to make a difference." 26 | 27 | This report could not be compressed to typical article size without 28 | destroying its usefulness and interest. We trust that the readers will 29 | find this work to be as fascinating as did the editors. 30 | 31 | \vspace{1em} 32 | 33 | \hfill Allen Kent 34 | 35 | \hfill James G. Williams 36 | -------------------------------------------------------------------------------- /src/Ch9-1.md: -------------------------------------------------------------------------------- 1 | \pagebreakon{270} 2 | 3 | The computers discussed so far actually flew in space or 4 | worked in direct support of launches and missions. Yet NASA found 5 | numerous uses for computers in areas somewhat removed from flight 6 | operations. Chief among these are simulations and image processing, 7 | which made the training of crews, development of launchers and 8 | spacecraft, and analysis of image data possible. 9 | 10 | Simulations are used in hundreds of ways in the space program. 11 | Simulation programs and hardware test the workings of vehicles and 12 | spacecraft, determine the accuracy of flight paths, train controllers, 13 | check out designs, and actively contribute to the software development 14 | process. Simulations help NASA find out whether its programs and 15 | projects will work as planned, lessening the risks for crews and 16 | equipment. Especially important are simulations used in crew training 17 | and simulations used to test hardware. Both provide models by which to 18 | judge the extent and efficacy of NASA's dependence on simulations and to 19 | demonstrate the dependency of such simulations on computers. 20 | 21 | Image processing was developed to make the analysis of digital images 22 | transmitted by unmanned deep space craft more consistent and fruitful. 23 | At first largely driven by the needs of the Jet Propulsion Laboratory's 24 | (JPL) scientific community, imaging spread quickly with applications 25 | such as Landsat and the Shuttle's imaging radar. From spectacular images 26 | of distant worlds to detailed pictures of the neighbor's farm, imaging 27 | technology has contributed to the quality of life on earth. Without the 28 | use of high-speed computers, the analysis and use of the billions of 29 | bits of imaging data would be impossible. 30 | -------------------------------------------------------------------------------- /src/Ch3-6.md: -------------------------------------------------------------------------------- 1 | ### Conclusions 2 | 3 | The Skylab program demonstrated that careful management of 4 | software development, including strict control of changes, extensive and 5 | preplanned verification, and the use of adequate development tools, 6 | results in quality software with high reliability. Attention to piece 7 | part quality in hardware development and the use of redundancy resulted 8 | in reliable computers. However, it must be stressed that part of the 9 | success of the software management and the hardware development was due 10 | to the small size of both. Few programmers were involved in initial 11 | program design and writing. This meant that communications between 12 | programmers and teams were relatively minimal. The fact that IBM 13 | produced just 10 computers and really needed to ensure the success of 14 | just 2 of those helped in focusing the quality assurance effort expended 15 | on the hardware. 16 | 17 | \pagebreakon{83} What happened after the manned Skylab program demonstrated 18 | the need for foresight and proper attention to storage of 19 | mission-critical materials until any possibility of their use had gone 20 | away. The dispersal of the verification hardware is understandable, as 21 | it is expensive to maintain. However, some provision should have been 22 | made for retaining mission-unique capabilities such as actual flight 23 | hardware. The destruction of the flight tapes and source code for the 24 | software by unknown parties was inexcusable. A single high-density disk 25 | pack could have held all relevant material. 26 | 27 | Skylab marked the beginning of redundant computer hardware on manned 28 | spacecraft. It was also the first project that developed software with 29 | awareness of proper engineering principles. The Shuttle continued both 30 | these concepts but on a much larger and more complex scale. 31 | -------------------------------------------------------------------------------- /history.nasa.gov/Appendix-IV.html: -------------------------------------------------------------------------------- 1 | Appendix-IV 2 |


Computers in Spaceflight: The NASA Experience

 

[404] Appendix IV - Mariner Mars 1969 Flight Program

 
Figure IV-1
 
This segment of a Mariner programmable sequencer flight program is given as an example of the sort of flexibility gained by adding a memory to the system. The first segment, the Executive, is only seven lines, yet it essentially controlled the software. The remaining code demonstrates a typical subroutine. The entire length of this program was 128 lines.
 

Figure IV-1

 

link to previous pagelink to index

-------------------------------------------------------------------------------- /src/Ch6-4.md: -------------------------------------------------------------------------------- 1 | ### Future unmanned spacecraft computers 2 | 3 | Distribution of computers aboard spacecraft has now been 4 | done several times. Both Voyager spacecraft inherited command computers 5 | from the Viking project. Computers for specific functions such as 6 | attitude control and data formatting were added in response to increased 7 | requirements. The result was a functionally distributed system of 8 | processors. Galileo's project managers also adopted the concept of 9 | functional distribution, assigning microprocessors to control attitude 10 | and, in the lower-level modules of the Command and Data Subsystem, to 11 | connect to engineering and other instruments, including the scientific 12 | experiments. Additional innovations on the Galileo spacecraft centered 13 | on the development of virtual machine software, which distributes 14 | functions over several processors. 15 | 16 | Advancing microprocessor technology makes the continuation of the 17 | concept of single function computers more attractive. At JPL, plans are 18 | currently under way for the Mariner Mark II, which will be the deep 19 | space version of the Multimission Modular Spacecraft developed by 20 | Goddard Space Flight Center for earth orbital operations. Using the same 21 | concepts of a standard bus and modular equipment, JPL hopes to reduce 22 | mission costs to \$400 million each, about half the price of 23 | Galileo^[147](#source6)^. The staff is exploring the use of the 24 | C programming language, a very powerful tool, for the new spacecraft. 25 | Future missions seem certain to use multicomputers, with internal 26 | networks similar to Galileo's. In the 15 years since the first primitive 27 | programmable sequencers flew with 128 word memories, JPL spacecraft have 28 | grown to carry *2,500 times* more memory. Progressing from simple counting 29 | to complex coordinate transformations in such a short time is 30 | remarkable, and the application of computer power to each spacecraft 31 | function will make for ever more remarkable gains. 32 | -------------------------------------------------------------------------------- /history.nasa.gov/Sources.html: -------------------------------------------------------------------------------- 1 | Sources 2 |


Computers in Spaceflight: The NASA Experience

Source Notes

 


 

link to previous pagelink to indexlink to next page

-------------------------------------------------------------------------------- /history.nasa.gov/Ch5-7.html: -------------------------------------------------------------------------------- 1 | Ch5-7 2 |

Computers in Spaceflight: The NASA Experience
 
- Chapter Five -
- From Sequencers to Computers: Exploring the Moon and the Inner Planets -
 
On to the outer planets
 
 
[170] Experience and the appreciation of the flexibility of computer processors are the legacy of the computer systems development for the inner planet probes. Consistent and detailed documentation, simple, reliable, and reusable hardware designs, and the practice of many missions contributed to the later and continuing success of Voyager. Just as management experience gained during Apollo applied to the shuttle, JPL's success with Viking made the concurrent development of Voyager and Galileo easier. People like Samuel Deese, who gained practical experience in the 1960s, led subsystem management in the 1970s. Viking's Wayne Kohl went on to Galileo after the Mars landings in a position similar to the one he held on the former project. Both Voyager and Galileo are better projects because of the continuity of techniques and personnel.


link to previous pagelink to indexlink to next page

 

-------------------------------------------------------------------------------- /src/Ch2-9.md: -------------------------------------------------------------------------------- 1 | ### Lessons 2 | 3 | What did NASA learn from its experiences with the Apollo 4 | computer system? At the management level, NASA learned to assign 5 | experienced personnel to a project early, rather than using the start of 6 | a project for training inexperienced personnel; many NASA managers of 7 | software and hardware were learning on the job while in key positions. 8 | Also, more participation by management in the early phases of software 9 | design is necessary so that costs can be more effectively estimated and 10 | controlled. 11 | 12 | From the standpoint of development, NASA learned that a more thorough, 13 | early effort at total systems engineering must be made so that 14 | specifications can be adequately set. NASA contractors in the Apollo 15 | program faced changing specifications long after final requirements 16 | should have been fixed. This was expensive and caused such problems as 17 | Raytheon's retooling, memory shortages, and design insufficiencies. 18 | 19 | The realization that software is more difficult to develop than hardware 20 | is one of the most important lessons of the Apollo program. So the 21 | choice of memory should be software driven, and designers should develop 22 | software needed for manned spaceflight near the Manned Spacecraft 23 | Center. The arrangement with MIT reduced overall quality and efficiency 24 | due to lack of communication. Also, more modularization of the software 25 | was needed^[180](#source2)^. 26 | 27 | The AGC system served well on the earth-orbital missions, the six lunar 28 | landing missions, the three Skylab missions, and the *Apollo-Soyuz* test 29 | project. Even though plans existed to expand the computer to 16K of 30 | erasable memory and 65K of fixed memory, including making direct memory 31 | addressing possible for the erasable portion, no expansion 32 | occurred^[181](#source2)^. The Apollo computer did fly on 33 | missions other than Apollo. An F-8 research aircraft used a lunar module 34 | computer as part of a "fly-by-wire" system, in which control 35 | \pagebreakon{63} surfaces moved by servos at the direction of electronic 36 | signals instead of traditional cables and hydraulics. In that way, the 37 | Apollo system made a direct research contribution to the Shuttle, which 38 | is completely a fly-by-wire craft. The most important legacy of the AGC, 39 | however, was in the way NASA applied the lessons it was beginning to 40 | learn in developing ground software to the management of flight 41 | software. 42 | -------------------------------------------------------------------------------- /src/Part3-intro.md: -------------------------------------------------------------------------------- 1 | NASA's ground computer systems are characterized by large 2 | size, by the implementation of real-time programming, and by the use of 3 | many computers connected together. The need for these three attributes 4 | has caused NASA and its contractors to devise new techniques for 5 | computer applications, such as operating systems for mainframe computers 6 | capable of handling real-time processing and sophisticated networking. 7 | Through these developments NASA has had its largest impact on computing 8 | in the commercial world. 9 | 10 | Differences between ground-based computers and on-board computers center 11 | on the relative ease of hardware procurement with the continued 12 | difficulty of software development. On-board computers evolved from 13 | custom-made systems to the largely off-the-shelf Skylab and Shuttle 14 | computers. Ground computers followed a more conventional line, as they 15 | could be, from the beginning, commercially available systems, though 16 | applied to noncommercial tasks. NASA examined many existing computer 17 | systems each time it needed a machine. In fact, the government's bidding 18 | process gave NASA a larger mix of different vendors' equipment than most 19 | commercial enterprises, causing occasional difficulties in connecting 20 | computers together. This problem and that of adapting business machines 21 | to real-time processing were largely solved by software. Contractors 22 | received invaluable experience in large systems development and 23 | networking in the process of achieving NASA's goals. 24 | 25 | Ground-based computer systems are used for preflight checkout and the 26 | launching of space vehicles, controlling both unmanned and manned 27 | missions, creating simulations of rocket flight for vehicle development 28 | and of space flight for crew training, processing telemetry data from 29 | launch vehicles and space probes, and in basic research. In the 30 | following chapters these functions are grouped into launch processing, 31 | mission control, and support tasks. Chapter 7 develops the concept of 32 | launch processing from the manual era to the fully automated Shuttle 33 | flight preparation. The chief result from this effort was a large 34 | integrated network of computers that proved to be highly innovative. 35 | Chapter 8 presents computer systems in both the manned Mission Control 36 | Center in Houston and the unmanned control \pagebreakon{206} centers at the Jet 37 | Propulsion Laboratory (JPL) and Goddard Space Flight Center. In Chapter 38 | 9, the uses of computers in simulations and data reduction are 39 | discussed. 40 | -------------------------------------------------------------------------------- /src/Ch3-4.md: -------------------------------------------------------------------------------- 1 | ### User Interfaces 2 | 3 | NASA and IBM designed the computer system to operate 4 | autonomously. One crewman reported "not much interaction" with the 5 | system at all^[62](#source3)^, but the capability was present 6 | for significant activity if needed^[63](#source3)^. The crew 7 | could enter data and actually make changes in the software through a 8 | keyboard located in the DAS on the ATM Control and Display Console. 9 | 10 | The DAS had only 10 keys and a three-position switch. The keys were the 11 | digits 0--7 (all entries were in octal), a clear key, and an enter key. 12 | The switch could select either power bus one or two, or be off. Above 13 | the DAS was an "Orbit Phase" panel containing a digital readout of 14 | minutes and seconds to the next orbital benchmark. When the first 15 | keystroke of a five-digit command was made, the uplink DCS commands were 16 | inhibited, and the time remaining clock inputs were inhibited, so that 17 | the clock digits could be used for displaying the keystrokes. In that 18 | mode, five digits would be lit instead of four. The remaining four 19 | keystrokes were the data/command inputs^[64](#source3)^. The 20 | display of the keystrokes represented an echo. If the sequence was 21 | correct, the astronaut pressed the enter key, or else he would restart 22 | the input process. Pressing the clear key brought back the digital 23 | clock. The rather limited nature of this command system indicates that 24 | it was intended for sparing use. 25 | 26 | Besides the DAS, one other switch on the control panel related to the 27 | computer system. In the "Attitude Control" area of the panel was a 28 | three-position switch that controlled which computer was in actual use. 29 | It could be set for automatic (and usually was), in which case the 30 | redundancy management software would take care of matters. Alternately, 31 | the crew could purposely select either the primary or secondary 32 | computer. If either of these was selected, then automatic changeover was 33 | inhibited^[65](#source3)^. The switch gave the crew protection 34 | from\pagebreakon{80} 35 | ![**Figure 3--5**. Dr. Edward Gibson at the Apollo Telescope Mount Control 36 | console. The interface to the digital computer is at lower left, on the 37 | panel immediately above the coil of cable. (NASA photo 38 | 4-60352)](images/p80.jpg) 39 | \pagebreakon{81} failure of the redundancy management software. 40 | Incidentally, the switch was not a common three-position toggle switch 41 | but, instead, required the crew to pull out and rotate the post. This 42 | protected the crew from accidental switching. 43 | -------------------------------------------------------------------------------- /src/Ch2-2.md: -------------------------------------------------------------------------------- 1 | ### MIT chosen as hardware and\ software\ contractor 2 | 3 | On August 9, 1961, NASA contracted with the MIT 4 | Instrumentation Lab for the design, development, and construction of the 5 | Apollo guidance and navigation system, including software. The project 6 | manager for this effort was Milton Trageser, and David Hoag was the 7 | technical director^[11](#source2)^. MIT personnel generally 8 | agree that they were chosen because their work on Polaris proved that 9 | they could handle time, weight, and performance restrictions and because 10 | of their previous work in space navigation^[12](#source2)^. In 11 | fact, the Polaris team was moved almost intact to 12 | Apollo^[13](#source2)^. Despite their experience with aerospace 13 | computers, the Apollo project turned out to be a genuine challenge for 14 | them. As there were no fixed specifications when the contract was 15 | signed, not until late 1962 did MIT have a good idea of Apollo's 16 | requirements^[14](#source2)^. One of the MIT people later 17 | recalled that 18 | 19 | > If the designers had known then \[1961\] what they learned later, or had 20 | > a complete set of specifications been available...they would probably 21 | > have concluded that there was no solution with the technology of the 22 | > early 1960s^[15](#source2)^. 23 | 24 | Fortunately, the technology improved, and the concepts of computer 25 | science applied to the problem also advanced as MIT developed the 26 | system. 27 | 28 | \pagebreakon{30} NASA's relationship with MIT also proved to be educational. 29 | The Apollo computer system was one of NASA's first real-time, large 30 | scale software application contracts^[16](#source2)^. Managing 31 | such a project was completely outside the NASA experience. A short time 32 | after making the Apollo guidance contract, NASA became involved in 33 | developing the on-board software for Gemini (a much smaller and more 34 | controllable enterprise) and the software for the Integrated Mission 35 | Control Center. Different teams that started within the Space Task 36 | Group, later as part of the Manned Spacecraft Center in Houston, managed 37 | these projects with little interaction until the mid-1960s, when the two 38 | Gemini systems approached successful completion and serious problems 39 | remained with the Apollo software. Designers borrowed some concepts to 40 | assist the Apollo project. In general, NASA personnel involved with 41 | developing the Apollo software were in the same virgin territory as were 42 | MIT designers. They were to learn together the principles of software 43 | engineering as applied to real-time problems. 44 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # Computers in Spaceflight: The NASA Experience 2 | 3 | **Summary**: Get the book [here](https://github.com/01mf02/computers-spaceflight/releases/download/v1.0/cisf-20181105.pdf). 4 | 5 | This is a cleaned version of the book 6 | "Computers in Spaceflight: The NASA Experience" by James E. Tomayko, 7 | available as PDF from 8 | 9 | and as HTML from 10 | . 11 | 12 | The original PDF version is several hundreds of megabytes large, 13 | making it hard to print and to navigate. 14 | On the other hand, the original HTML version is not available on a single page, 15 | making it also hard to print. 16 | 17 | This project has created a representation of the book 18 | that can be used to yield both HTML and PDF versions. 19 | These versions are smaller (in file size) than their originals, 20 | easy to navigate (containing a hyperlinked index), 21 | can be easily printed, and 22 | fix several mistakes. 23 | In addition, the PDF reproduces the page numbers 24 | (until the "source notes" on page 303) and layout of the original book, 25 | so references to pages of the original book remain valid. 26 | 27 | The format of choice to represent the book is *Markdown*. 28 | I use the flavour of the *Pandoc* document converter, 29 | which allows conversion of Markdown to several formats such as 30 | HTML, PDF, ePub and so on. 31 | 32 | To generate a PDF/HTML, you need Pandoc with pandocfilters. 33 | I use the version 1.19.2.4, which is shipped with Ubuntu 18.04 LTS. 34 | It can be installed via `sudo apt install pandoc python-pandocfilters`. 35 | For PDF generation, you need a TeX distribution, such as TeX Live. 36 | 37 | Generation of PDF is just a `make` away. 38 | For HTML, run `make book.html`. 39 | 40 | 41 | ## Remaking Of 42 | 43 | 44 | My motivation and the "remaking of" this book is further detailed in 45 | [a blog post of mine](http://gedenkt.at/blog/computers-spaceflight/). 46 | 47 | 48 | ## TODO 49 | 50 | This is work in progress. Help with the following points is welcome. 51 | Just compare the output of the original PDF with the generated PDF. 52 | KOMA-Script experience is particularly helpful. 53 | 54 | * Show code figure captions in HTML (e.g. in Appendix II). 55 | * Make page breaks absolute. 56 | * Increase line spacing for headlines (but not always, see p. 258 in Ch8-3). 57 | * Increase paragraph spacing for boxes. 58 | * Do not break paragraphs after boxes that are in-between text 59 | (for example Box 4-6 in Ch4-7) 60 | * Indent first paragraph of a section/subsection. 61 | * Fix figure placement (see for example p. 196 in Ch6-3). 62 | * Center box headlines and make them bold. 63 | -------------------------------------------------------------------------------- /history.nasa.gov/Part1-intro.html: -------------------------------------------------------------------------------- 1 | Part1-intro 2 |


Computers in Spaceflight: The NASA Experience

Part One: Manned Spacecraft Computers

Introduction

 

[7] In the first 25 years of its existence, NASA conducted five manned spaceflight programs: Mercury, Gemini, Apollo, Skylab, and Shuttle. The latter four programs produced spacecraft that had on-board digital computers. The Gemini computer was a single unit dedicated to guidance and navigation functions. Apollo used computers in the command module and lunar excursion module, again primarily for guidance and navigation. Skylab had a dual computer system for attitude control of the laboratory and pointing of the solar telescope. NASA's Space Shuttle is the most computerized spacecraft built to date, with five general-purpose computers as the heart of the avionics system and twin computers on each of the main engines. The Shuttle computers dominate all checkout, guidance, navigation, systems management, payload, and powered flight functions.
 
NASA's manned spacecraft computers are characterized by increasing power and complexity. Without them, the rendezvous techniques developed in the Gemini program, the complex mission profiles followed in Apollo, the survival of the damaged Skylab, and the reliability of the Shuttle avionics system would not have been possible.
 
When NASA began to develop systems for manned spacecraft, general-purpose computers small and powerful enough to meet the requirements did not exist. Their development involved both commercial and academic organizations in repackaging computer technology for spaceflight.


link to indexlink to next page

 

-------------------------------------------------------------------------------- /src/Ch1-5.md: -------------------------------------------------------------------------------- 1 | ### The impact of the Gemini digital computer 2 | 3 | The Gemini Digital Computer was a transitional machine. Dale 4 | F. Bachman of IBM characterized it as the "last of a dying breed. It was 5 | an airborne computer, ruggedized, special purpose, and 6 | slow"^[47](#source1)^. Nonetheless, its designers claim an 7 | impressive list of firsts: 8 | 9 | - The first digital computer on a manned spacecraft. 10 | 11 | - The first use of core memory with nondestructive readout. The 12 | machine was designed in an era of rotating drum memories, its 13 | designers considered it a step forward^[48](#source1)^. 14 | 15 | - IBM's first completely silicon semiconductor 16 | computer^[49](#source1)^. 17 | 18 | - The first to use glass delay lines as 19 | registers^[50](#source1)^. 20 | 21 | - Technologically advanced in the area of packaging 22 | density^[51](#source1)^. 23 | 24 | - The first airborne or spaceborne computer to use an auxiliary 25 | memory^[52](#source1)^. 26 | 27 | Development of the Gemini computer helped IBM in significant ways. It 28 | contributed more than anything else to the hardware and software of the 29 | 4Pi series of computers^[53](#source1)^. This series eventually 30 | produced the computer used on Skylab and the AP101 used in the Shuttle. 31 | It also helped to develop IBM's reputation for delivering reliable and 32 | durable spaceborne hardware and software^[54](#source1)^. One 33 | Gemini computer restarted successfully after being soaked in salt water 34 | for 2 \pagebreakon{26} weeks. Another used system went on to NASA's 35 | Electronics Research Laboratory in Boston for use on vertical and short 36 | takeoff and landing projects^[55](#source1)^. Coupled with IBM's 37 | involvement in the real-time computing centers used to monitor Mercury 38 | and Gemini missions, the company established itself as a major 39 | contributor to America's space program as it had been to the military 40 | research and development effort. Out of early military work came 41 | computer systems such as the Harvard Mark I, the 701, and SAGE computers 42 | used in air defense. However, even though identification with the space 43 | program has been maintained through several high-visibility projects, no 44 | significant commercial hardware products resulted as spinoffs. 45 | 46 | For NASA, Gemini and its on-board computer proved that a reliable 47 | guidance and navigation system could be based on digital computers. It 48 | was a valuable test bed for Apollo techniques, especially in rendezvous. 49 | However, the Gemini digital computer itself was totally unlike the 50 | machines used in Apollo. With its Auxiliary Tape Memory and core memory, 51 | the Gemini computer was more like the Skylab and Shuttle general purpose 52 | computers. It is in those systems where its impact is most apparent. 53 | -------------------------------------------------------------------------------- /pfcompat.py: -------------------------------------------------------------------------------- 1 | # Functions added to pandocfilters since version 1.2.2 2 | 3 | import codecs 4 | import io 5 | import json 6 | import sys 7 | 8 | from pandocfilters import walk, elt 9 | 10 | def get_value(kv, key, value = None): 11 | """get value from the keyvalues (options)""" 12 | res = [] 13 | for k, v in kv: 14 | if k == key: 15 | value = v 16 | else: 17 | res.append([k, v]) 18 | return value, res 19 | 20 | def toJSONFilters(actions): 21 | """Generate a JSON-to-JSON filter from stdin to stdout 22 | The filter: 23 | * reads a JSON-formatted pandoc document from stdin 24 | * transforms it by walking the tree and performing the actions 25 | * returns a new JSON-formatted pandoc document to stdout 26 | The argument `actions` is a list of functions of the form 27 | `action(key, value, format, meta)`, as described in more 28 | detail under `walk`. 29 | This function calls `applyJSONFilters`, with the `format` 30 | argument provided by the first command-line argument, 31 | if present. (Pandoc sets this by default when calling 32 | filters.) 33 | """ 34 | try: 35 | input_stream = io.TextIOWrapper(sys.stdin.buffer, encoding='utf-8') 36 | except AttributeError: 37 | # Python 2 does not have sys.stdin.buffer. 38 | # REF: https://stackoverflow.com/questions/2467928/python-unicodeencode 39 | input_stream = codecs.getreader("utf-8")(sys.stdin) 40 | 41 | source = input_stream.read() 42 | if len(sys.argv) > 1: 43 | format = sys.argv[1] 44 | else: 45 | format = "" 46 | 47 | sys.stdout.write(applyJSONFilters(actions, source, format)) 48 | 49 | def applyJSONFilters(actions, source, format=""): 50 | """Walk through JSON structure and apply filters 51 | This: 52 | * reads a JSON-formatted pandoc document from a source string 53 | * transforms it by walking the tree and performing the actions 54 | * returns a new JSON-formatted pandoc document as a string 55 | The `actions` argument is a list of functions (see `walk` 56 | for a full description). 57 | The argument `source` is a string encoded JSON object. 58 | The argument `format` is a string describing the output format. 59 | Returns a the new JSON-formatted pandoc document. 60 | """ 61 | 62 | doc = json.loads(source) 63 | 64 | if 'meta' in doc: 65 | meta = doc['meta'] 66 | elif doc[0]: # old API 67 | meta = doc[0]['unMeta'] 68 | else: 69 | meta = {} 70 | altered = doc 71 | for action in actions: 72 | altered = walk(altered, action, format, meta) 73 | 74 | return json.dumps(altered) 75 | 76 | # the version of pandocfilters defines Image to have only two arguments, 77 | # whereas Pandoc gives it three 78 | Image = elt('Image', 3) 79 | -------------------------------------------------------------------------------- /src/Ch2-3.md: -------------------------------------------------------------------------------- 1 | ### The Apollo computer systems 2 | 3 | The mission profile used in sending a man to the moon went 4 | through several iterations in the early 1960s. For a number of reasons, 5 | planners rejected the direct flight method of launching from the earth, 6 | flying straight to the moon, and landing directly on the surface. 7 | Besides the need for an extremely large booster, it would require 8 | flawless guidance to land in the selected spot on a moving target a 9 | quarter of a million miles away. A spacecraft with a separate lander 10 | would segment the guidance problem into manageable portions. First, the 11 | entire translunar spacecraft would be placed in earth orbit for a 12 | revolution or two to properly prepare to enter an intercept orbit with 13 | the moon. Upon arriving near the moon, the spacecraft would enter a 14 | lunar orbit. It was easier to target a lunar orbit window than a point 15 | on the surface. The lander would then detach and descend to the surface, 16 | needing only to guide itself for a relatively short time. After 17 | completion of the lunar exploration, a part of the lander would return 18 | to the spacecraft still in orbit and transfer crew and surface samples, 19 | after which the command module (CM) would leave for earth. 20 | 21 | With a lunar orbit rendezvous mission, more than one computer would be 22 | required, since both the CM and the lunar excursion module (LEM) needed 23 | on-board computers for the guidance and navigation function. The CM's 24 | computer would handle the translunar and transearth navigation and the 25 | LEM's would provide for autonomous landing, ascent, and rendezvous 26 | guidance. 27 | 28 | NASA referred to this system with its two computers, identical in design 29 | but with different software, as the Primary Guidance, 30 | \pagebreakon{31} Navigation, and Control System (PGNCS, pronounced "pings"). 31 | The LEM had an additional computer as part of the Abort Guidance System 32 | (AGS), according to the NASA requirement that a first failure should not 33 | jeopardize the crew. Ground systems backed up the CM computer and its 34 | associated guidance system so that if the CM system failed, the 35 | spacecraft could be guided manually based on data transmitted from the 36 | ground. If contact with the ground were lost, the CM system had 37 | autonomous return capability. Since the lunar landing did not allow the 38 | ground to act as an effective backup, the LEM had the AGS to provide 39 | backup ascent and rendezvous guidance. If the PGNCS failed during 40 | descent, the AGS would abort to lunar orbit and assist in rendezvous 41 | with the CM. It would not be capable of providing landing assistance 42 | except to monitor the performance of the PGNCS. Therefore the computer 43 | systems on the Apollo spacecraft consisted of three processors, two as 44 | part of the PGNCS and one as part of the AGS. 45 | -------------------------------------------------------------------------------- /history.nasa.gov/foreword.html: -------------------------------------------------------------------------------- 1 | foreword 2 |


Computers in Spaceflight:The NASA Experience

Foreword

 

[vii] The Editors have taken the unusual step of devoting an entire Supplement volume of the Encyclopedia to a single topic: "Computers in Spaceflight: the NASA Experience." The reason will hopefully become apparent upon reading this volume. NASA's use of computer technology has encompassed a long period starting in 1958. During this period, hardware and software developments in the computer field were progressing through successive generations. A review of spaceflight applications of these developments offers a panoramic insight into almost two decades of change in the computer industry and into NASA's role.

NASA's role is summarized at the conclusion of this volume:

 

"NASA never asked for anything that could not be done with the current technology. But in response, the computer industry sometimes pushed itself just a little in a number of areas. Just a little better software development practices made onboard software safe, just a little better networking made the Launch Processing System more efficient, just a little better operating system made mission control easier, just a little better chip makes image processing faster. NASA did not push the state of the art, but nudged it enough times to make a difference."

 

This report could not be compressed to typical article size without destroying its usefulness and interest. We trust that the readers will find this work to be as fascinating as did the editors.

 

 

Allen Kent
James G. Williams


link to previous pagelink to indexlink to next page

 

-------------------------------------------------------------------------------- /history.nasa.gov/Compspace.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | Compspace.html 4 | 5 | 6 | 7 | 8 | 9 |

10 |
11 | nasa logo

13 | 14 |

National Aeronautics and Space 15 | Administration

16 | 17 |

NASA History Office 18 |

19 | 20 |

21 |


22 |

23 | 24 |

NASA Contractor Report 182505 25 |

26 | 27 |

  28 |

29 | 30 |

Computers in 31 | Spaceflight

32 | 33 |

The NASA 34 | Experience

35 | 36 |

 

37 | 38 |
39 |
James E. Tomayko
40 | 41 |
Wichita State University 42 |
43 | 44 |
Wichita, Kansas
45 | 46 |
  47 | 48 |
  49 | 50 |
CONTRACT NASW-3714 51 | 52 |
March 1988 53 |
54 | 55 |

 

56 | 57 |

Table of 58 | Contents

59 | 60 |

61 |


62 |

63 | 64 |

link to nasa history homepagesearch nasa nasa history link

71 | 72 |

 

73 | 74 |

Updated: July 15, 2005.

75 | 76 | 77 | 78 |

Steve Garber, NASA History Web 79 | Curator

80 | 81 |

For further information 82 | E-mail: histinfo@hq.nasa.gov 84 |

85 | 86 |
87 |
HTML work: Chris 88 | Gamble. 89 |
90 | 91 |

 

92 | 93 | 94 | -------------------------------------------------------------------------------- /src/Appendix-IV.md: -------------------------------------------------------------------------------- 1 | \newpageon{404} 2 | 3 | # Appendix IV: Mariner Mars 1969 Flight Program {-} 4 | 5 | \verbatimfont{\tiny\ttfamily} 6 | 7 | ~~~ {caption="Figure IV-1"} 8 | LOC OPC A/TIME B/EVENT SYMB OPC A/TIME B/EVENT 9 | 10 | *COM EXECUTIVE ROUTINE ( 7 WORDS) 11 | *COM 12 | 0 CLJ 35 102 EXC0 CLJ 36 REQM ABORT+EXTRA FE+NAA TESTS, SLEWS 13 | 1 DSJ 126 104 EXC1 DSJ OV ROJ1 OV,M/C,OPT FE TEST,TV PIC CTR 14 | 2 DHJ 125 31 EXC2 DHJ LCH1 CR01 CRUISE AND POST ENCOUNTER EVENTS 15 | 3 DHJ 11 8 EXC3 DHJ CY04 CY01 Y1 CYCLIC GENERATOR 16 | 4 CLJ 256 12 EXC4 CLJ 256 RT01 READOUT TEXT,NF NON SLEW EVENTS 17 | 5 CLJ 2 18 EXC5 CLJ 2 RDIN TEST FOR EVENT ADDRESS READIN 18 | 6 HLT 368 489 EXC6 HLT 368 489 END OF SCAN 19 | *COM 20 | *COM END OF CRUISE CHAIN 21 | *COM 22 | 7 ROJ 2 3 ENDC ROJ EXC2 EXC3 END CRUISE SEQUENCE 23 | *COM 24 | *COM CYCLIC SUBROUTINE FOR Y1 EVENTS 25 | *COM 26 | 8 TAB 10 11 CY01 TAB CY03 CY04 ENTRY----RELOAD CYCLIC TIME 27 | 9 UNJ 0 4 CY02 UNJ 0 FXC4 RETURN TO EXECUTIVE PROGRAM 28 | 10 DATA **** 288 CY03 DATA FILL 0024 CYCLIC TIME STORAGE 29 | 11 DATA **** 288 CY04 DATA FILL 0024 COUNTING LOCATION FOR Q1 ENENLK 30 | *COM 31 | *COM ENABLE FAR ENCOUNTER*ENTRY PT. IS CYEO ( 11 WORDS) 32 | *COM 33 | 20 ADD 48 112 OFE0 ADD OFE4 CZ11 ADD 5HRS TO TIME OF N1(2) 34 | 21 ADD 27 109 OFE1 ADD OFE3 CZ14 ADD F3 EVENT TO CZ14 EVENT TIME 35 | 22 TAB 29 79 TAB OFE5 CGC6 MOD CYCLE GEN FOR OPT FE(CTR) 36 | 23 TAB 30 84 TAB OFE6 CGD4 MOD CYCLE GEN FOR OPT FE(EVENT) 37 | 24 CLJ 16 20 CYE0 CLJ 16 OFE0 TEST FOR OPTIONAL FE(DC-32) 38 | 25 DAJ 71 26 CYE2 DAJ CTR4 CYE3 UPDATE CYCLE GENERATOR (EVENT) 39 | 26 DAJ 69 68 CYE3 DAJ CTR2 CTR1 UPDATE CYCLE GENERATOR (COUNTER) 40 | 27 DATA 0 8 OFE3 DATA 0 0200 STORAGE FOR F3 EVENT (OPTION) 41 | 28 DATA 5 0 OFE4 DATA 5 0000 TIME STORAGE FOR OPTIONAL FE SHFT 42 | 29 CTJ **** 43 OFE5 CTJ FILL ROJ0 COUNT FOR OPTIONAL FE PICTURES 43 | 30 DATA **** 451 OFE6 DATA FILL 3007 DATA FOR OPTIONAL FE PICTURES 44 | *COM 45 | ~~~ 46 | 47 | 50 | 51 | This segment of a Mariner programmable sequencer flight program is given 52 | as an example of the sort of flexibility gained by adding a memory to 53 | the system. The first segment, the Executive, is only seven lines, yet 54 | it essentially controlled the software. The remaining code demonstrates 55 | a typical subroutine. The entire length of this program was 128 lines. 56 | -------------------------------------------------------------------------------- /history.nasa.gov/Ch4-9.html: -------------------------------------------------------------------------------- 1 | Ch4-9 2 |

Computers in Spaceflight: The NASA Experience
 
- Chapter Four -
- Computers in the Space Shuttle Avionics System -
 
Conclusion
 
 
[133] The DPS on the Shuttle orbiter reflects the state of software engineering in the 1970s. Even though the software was admittedly the key component of the spacecraft, NASA chose the hardware before the first software requirement was written. This is typical of practice in 1972, but less so now. NASA managers knew that time and money spent on detailed software requirements specification and the corresponding development of a test and verification program would save millions of dollars and much effort later. The establishment of a dedicated facility for development was an innovative idea and helped keep costs down by centralization and standardization. A combination of complete requirements, an aggressive test plan, a decent development facility, and the experience of NASA, Rockwell, Draper, and IBM engineers in real-time systems was enough to create a successful Shuttle DPS.
 
Even as the system took shape, NASA managers looked to the future of manned spacecraft software. Increased automation of code and test case generation, automated change insertion and verification, and perhaps automated requirements development are all considered future necessities if development costs are to be kept down and reliability increased. In the 1980s, a new opportunity for software development and hardware selection presents itself with NASA's long-awaited Space Station. NASA has another chance to adopt updated software engineering techniques and, perhaps, to develop others. Success in space is increasingly tied to success in the software factory.


link to previous pagelink to indexlink to next page

-------------------------------------------------------------------------------- /header.tex: -------------------------------------------------------------------------------- 1 | % boxes 2 | \usepackage{mdframed} 3 | \newenvironment{inbox}{\begin{mdframed}\small\setlength{\parskip}{1ex}}{\end{mdframed}} 4 | \newcommand{\newpageon}[1]{\newpage} 5 | \newcommand{\pagebreakon}[1]{\pagebreak} 6 | 7 | % make an environment called "abstract" that ignores its contents, 8 | % because the book class does not provide an "abstract" environment 9 | \usepackage{comment} 10 | \excludecomment{abstract} 11 | 12 | % do not show leading "Figure n" or "Table n" 13 | \usepackage{caption} 14 | \captionsetup[figure]{labelformat=empty,font=small} 15 | \captionsetup[table]{labelformat=empty} 16 | 17 | % to adapt list appearance in "Bibliographic Note" 18 | \usepackage{enumitem} 19 | 20 | % set default figure placement to !htbp 21 | \makeatletter 22 | \def\fps@figure{!htbp} 23 | \makeatother 24 | 25 | % footnotes with stars 26 | \usepackage{alphalph} 27 | \makeatletter 28 | \newcommand*{\fnsymbolsingle}[1]{\ensuremath{\ifcase#1\or *\else\@ctrerr\fi}} 29 | \makeatother 30 | \newalphalph{\fnsymbolmult}[mult]{\fnsymbolsingle}{} 31 | \renewcommand*{\thefootnote}{\fnsymbolmult{\value{footnote}}} 32 | 33 | % reset footnotes after starting a new part (important on page 136) 34 | \makeatletter 35 | \@addtoreset{footnote}{part} 36 | \makeatother 37 | 38 | % set font of verbatim environments 39 | % https://tex.stackexchange.com/questions/120633/change-typeface-of-verbatim-environment/120694#120694 40 | \makeatletter 41 | \newcommand{\verbatimfont}[1]{\def\verbatim@font{#1}}% 42 | \makeatother 43 | \verbatimfont{\scriptsize\ttfamily} 44 | 45 | % to reset chapters to root (startatroot) 46 | \usepackage{bookmark} 47 | 48 | % headers 49 | \usepackage{scrlayer-scrpage} 50 | \clearpairofpagestyles 51 | \lehead{\thepage\ \MakeUppercase{Computers in Spaceflight: The NASA Experience}} 52 | \rohead{\MakeUppercase{\leftmark}\ \thepage} 53 | \setkomafont{pagehead}{\normalfont \scriptsize \bfseries} 54 | %% omit "chapter n: " prefix in front of chapter name in header 55 | %% https://tex.stackexchange.com/questions/228362/get-sectionmark-in-fancyhdr-without-chapter-number/228363#228363 56 | \renewcommand{\chaptermark}[1]{\markboth{#1}{}} 57 | \renewcommand{\partmark}[1]{\markboth{#1}{}} 58 | 59 | % indentation of new paragraphs 60 | \setlength{\parindent}{2em} 61 | % space between lines 62 | \linespread{0.8} 63 | % do not "stretch" page content to fill page 64 | \raggedbottom 65 | 66 | % for Numberstring 67 | \usepackage{fmtcount} 68 | 69 | \RedeclareSectionCommand[ 70 | beforeskip=0em 71 | ]{part} 72 | \renewcommand*{\partformat}{\partname~\Numberstring{part}:} 73 | \renewcommand*\raggedpart{\raggedright} 74 | \addtokomafont{partnumber}{\normalfont} 75 | \makeatletter 76 | \renewcommand*{\partheadmidvskip}{ } 77 | \renewcommand{\partheadendvskip}{\vskip\@tempskipa\hrule\vspace{1.5em}} 78 | \makeatother 79 | \renewcommand{\partheademptypage}{} 80 | 81 | \RedeclareSectionCommand[ 82 | innerskip=1em 83 | ]{chapter} 84 | \renewcommand*{\chapterformat}{\quad \thechapter} 85 | \addtokomafont{chapter}{\normalfont} 86 | \makeatletter 87 | \renewcommand*{\chapterheadendvskip}{\vskip\@tempskipa\newpage} 88 | \makeatother 89 | 90 | \setkomafont{section}{\normalfont\normalsize\bfseries\MakeUppercase} 91 | \setkomafont{subsection}{\normalfont\normalsize\bfseries} 92 | \setkomafont{subsubsection}{\normalfont\bfseries\centering} 93 | -------------------------------------------------------------------------------- /history.nasa.gov/Part2.html: -------------------------------------------------------------------------------- 1 | Part2 2 |


Computers in Spaceflight: The NASA Experience


Part II : Computers On Board Unmanned Spacecraft


- Chapter Five -
- From Sequencers to Computers: Exploring the Moon and the Inner Planets -

 
- Chapter Six -
- Distributed Computing On Board Voyager and Galileo -
 
 

link to previous pagelink to indexlink to next page

 

-------------------------------------------------------------------------------- /history.nasa.gov/Ch3-6.html: -------------------------------------------------------------------------------- 1 | Ch3-6 2 |


Computers in Spaceflight: The NASA Experience

- Chapter Three -
- The Skylab Computer System -
 
Conclusions
 
 
[82] The Skylab program demonstrated that careful management of software development, including strict control of changes, extensive and preplanned verification, and the use of adequate development tools, results in quality software with high reliability. Attention to piece part quality in hardware development and the use of redundancy resulted in reliable computers. However, it must be stressed that part of the success of the software management and the hardware development was due to the small size of both. Few programmers were involved in initial program design and writing. This meant that communications between programmers and teams were relatively minimal. The fact that IBM produced just 10 computers and really needed to ensure the success of just 2 of those helped in focusing the quality assurance effort expended on the hardware.
 
[83] What happened after the manned Skylab program demonstrated the need for foresight and proper attention to storage of mission-critical materials until any possibility of their use had gone away. The dispersal of the verification hardware is understandable, as it is expensive to maintain. However, some provision should have been made for retaining mission-unique capabilities such as actual flight hardware. The destruction of the flight tapes and source code for the software by unknown parties was inexcusable. A single high-density disk pack could have held all relevant material.
 
Skylab marked the beginning of redundant computer hardware on manned spacecraft. It was also the first project that developed software with awareness of proper engineering principles. The Shuttle continued both these concepts but on a much larger and more complex scale.


link to previous pagelink to indexlink to next page

 

-------------------------------------------------------------------------------- /history.nasa.gov/Ch9-1.html: -------------------------------------------------------------------------------- 1 | Ch9-1 2 |


Computers in Spaceflight: The NASA Experience

- Chapter Nine -
 
Making New Reality: Computers in Simulations and Image Processing
 
 
[270] The computers discussed so far actually flew in space or worked in direct support of launches and missions. Yet NASA found numerous uses for computers in areas somewhat removed from flight operations. Chief among these are simulations and image processing, which made the training of crews, development of launchers and spacecraft, and analysis of image data possible.
 
Simulations are used in hundreds of ways in the space program. Simulation programs and hardware test the workings of vehicles and spacecraft, determine the accuracy of flight paths, train controllers, check out designs, and actively contribute to the software development process. Simulations help NASA find out whether its programs and projects will work as planned, lessening the risks for crews and equipment. Especially important are simulations used in crew training and simulations used to test hardware. Both provide models by which to judge the extent and efficacy of NASA's dependence on simulations and to demonstrate the dependency of such simulations on computers.
 
Image processing was developed to make the analysis of digital images transmitted by unmanned deep space craft more consistent and fruitful. At first largely driven by the needs of the Jet Propulsion Laboratory's (JPL) scientific community, imaging spread quickly with applications such as Landsat and the Shuttle's imaging radar. From spectacular images of distant worlds to detailed pictures of the neighbor's farm, imaging technology has contributed to the quality of life on earth. Without the use of high-speed computers, the analysis and use of the billions of bits of imaging data would be impossible.
 

 

link to previous pagelink to indexlink to next page

-------------------------------------------------------------------------------- /history.nasa.gov/Part3.html: -------------------------------------------------------------------------------- 1 | Part3 2 |


Computers in Spaceflight: The NASA Experience


Part III : Ground Based Computers for Space Flight Operations

 


- Chapter Seven -
- The Evolution of Automated Launch Processing -
 

 


 
- Chapter Eight -
- Computers in Mission Control -
 

 


 
- Chapter Nine -
- Making New Reality: Computers in Simulations and Image Processing -
 
 
 

link to previous pagelink to indexlink to next page

 

-------------------------------------------------------------------------------- /history.nasa.gov/Ch6-4.html: -------------------------------------------------------------------------------- 1 | Ch6-4 2 |

Computers in Spaceflight: The NASA Experience
 
- Chapter Six -
- Distributed Computing On Board Voyager and Galileo -
 
Future unmanned spacecraft computers
 
 
[203] Distribution of computers aboard spacecraft has now been done several times. Both Voyager spacecraft inherited command computers from the Viking project. Computers for specific functions such as attitude control and data formatting were added in response to increased requirements. The result was a functionally distributed system of processors. Galileo's project managers also adopted the concept of functional distribution, assigning microprocessors to control attitude and, in the lower-level modules of the Command and Data Subsystem, to connect to engineering and other instruments, including the scientific experiments. Additional innovations on the Galileo spacecraft centered on the development of virtual machine software, which distributes functions over several processors.
 
Advancing microprocessor technology makes the continuation of the concept of single function computers more attractive. At JPL, plans are currently under way for the Mariner Mark II, which will be the deep space version of the Multimission Modular Spacecraft developed by Goddard Space Flight Center for earth orbital operations. Using the same concepts of a standard bus and modular equipment, JPL hopes to reduce mission costs to $400 million each, about half the price of Galileo147. The staff is exploring the use of the C programming language, a very powerful tool, for the new spacecraft. Future missions seem certain to use multicomputers, with internal networks similar to Galileo's. In the 15 years since the first primitive programmable sequencers flew with 128 word memories, JPL spacecraft have grown to carry 2,500 times more memory. Progressing from simple counting to complex coordinate transformations in such a short time is remarkable, and the application of computer power to each spacecraft function will make for ever more remarkable gains.


link to previous pagelink to indexlink to next page

-------------------------------------------------------------------------------- /src/Source3.md: -------------------------------------------------------------------------------- 1 | #### Chapter Three {#source3} 2 | 3 | 1. Bill Chubb interview, Marshall Space Center, Huntsville, AL, June 22, 1983. 4 | 2. Steve Bales interview, Johnson Space Center, Houston, TX, May 31, 1983. 5 | 3. IBM, *Skylab Reactivation Mission*, IBM Federal Systems Division, Huntsville, AL, September 12, 1979, p. 1.2. 6 | 4. See Charles D. Benson and W. David Compton, [*Living and Working in Space: A History of Skylab*](http://history.nasa.gov/SP-4208/sp4208.htm), NASA SP-4208, Washington, D.C., 1983. 7 | 5. IBM, *Design and Operation Assessment of Skylab ATMDC/WCIU Flight Hardware and Software*, IBM Federal Systems Division Electronics System Center, Huntsville, AL, May 9, 1974, p. 1.1.3. 8 | 6. IBM, *Skylab Reactivation Mission*, p. 1.1. 9 | 7. IBM, *Design and Operation Assessment*, p. 1.1.1. 10 | 8. James McMillion interview, Marshall Space Center, Huntsville, AL, June 22, 1983. 11 | 9. Charles Swearingen interview, Huntsville, AL, June 21, 1983. 12 | 10. IBM, *Design and Operation Assessment*, p. 1.1.14. 13 | 11. Martin Marietta Corporation, *Skylab Data Handbook*, Marshall Space Center, Huntsville, AL, n.d., p. 4.13. 14 | 12. IBM, *Design and Operation Assessment*, p. 1.1.3. 15 | 13. John Copeland interview, IBM at Marshall Space Center, June 23, 1983. 16 | 14. IBM, *Design and Operation Assessment*, p. 1.1.22. 17 | 15. Ibid., p. 1.1.1. 18 | 16. Copeland interview. 19 | 17. IBM, *Design and Operation Assessment*, p. 1.1.12. 20 | 18. Ibid., p. 1.1.1. 21 | 19. Ibid., p. 1.1.28. 22 | 20. Ibid., p. 1.1.11. 23 | 21. Ibid., p. 1.1.5. 24 | 22. Ibid., pp. 1.1.7, 1.1.15, 1.1.18. 25 | 23. Ibid., p. 1.1.12. 26 | 24. Ibid., p. 1.1.11. 27 | 25. For a complete discussion of these problems, see Ibid., pp. 1.1.18--1.1.22. 28 | 26. IBM, *Design and Operation Assessment*, p. 1.1.24. 29 | 27. Ibid., p. 1.1.3. 30 | 28. For the complete story, see Frederick P. Brooks, *The Mythical Man--Month*, Addison-Wesley, Reading, MA, 1975, Harlan D. Mills, *Software Productivity*, Little, Brown, and Co., Boston, MA, 1983. 31 | 29. Madeline S. Johnson, *MIT's Role in Project Apollo: The Software Effort*, Charles Stark Draper Laboratory, Cambridge, MA, 1971, vol. 5, p. 18. 32 | 30. Copeland interview. 33 | 31. IBM, *Design and Operation Assessment*, p. 1.2.8. 34 | 32. Ibid., p. 1.2.9. 35 | 33. Ibid., pp. 1.2.33--1.2.34. 36 | 34. Ibid., p. 1.2.28. 37 | 35. Ibid. 38 | 36. Ibid., pp. 1.2.28--1.2.29. 39 | 37. Ibid., p. 1.2.29. 40 | 38. Ibid., p. 1.2.54. 41 | 39. Ibid., p. 1.2.29. 42 | 40. Ibid., p. 1.2.30. 43 | 41. Ibid., pp. 1.2.36--1.2.37. 44 | 42. Ibid., p. 1.2.36. 45 | 43. Ibid., p. 1.2.47. 46 | 44. Ibid., pp. 1.2.36--1.2.37. 47 | 45. IBM, *NASA Skylab A: Apollo Telescope Mount Digital Computer Program Definition Document*, Electronic Systems Center, 1972, p. I.5.1. 48 | 46. IBM, *Design and Operation Assessment*, p. 1.2.48. 49 | 47. Ibid., p. 1.2.31. 50 | 48. Ibid., p. 1.2.64. 51 | 49. Ibid., p. 1.2.16. 52 | 50. IBM, *NASA Skylab A*, p. I.7.8. 53 | 51. Ibid., p. I.1.11. 54 | 52. Ibid., p. I.1.10. 55 | 53. Copeland interview. 56 | 54. IBM, *Design and Operation Assessment*, p. 1.1.6. 57 | 55. IBM, *NASA Skylab A*, p. I.7.3. 58 | 56. IBM, *Skylab Reactivation Mission*, p. 3.16. 59 | 57. Ibid., pp. 3.17--3.18. 60 | 58. IBM, *Design and Operation Assessment*, pp. 1.2.38--1.2.39, 1.2.51--1.2.52. 61 | 59. Ibid., pp. 1.2.1--1.2.3, 1.2.6. 62 | 60. Ibid., p. 1.2.67; IBM, *Skylab Reactivation Mission*, p. 3.25. 63 | 61. Copeland Interview. 64 | 62. Jack Lousma, telephone interview from Houston, July 5, 1983. 65 | 63. Copeland interview. 66 | 64. IBM, *NASA Skylab A*, p. 1.5.3. 67 | 65. Ibid., p. I.7.2. 68 | 66. IBM, *Skylab Reactivation Mission*, pp. 1.3, 2.1--2.2, 2.4. 69 | 67. Ibid., pp. 1.2, 5.3. 70 | 68. Ibid., pp. 3.19--3.20. 71 | 69. Ibid., pp. 3.3--3.4, 3.9. 72 | 70. Ibid., pp. 3.10--11, 3.20, 3.22. 73 | 71. Ibid., pp. 3.30, 3.33. 74 | -------------------------------------------------------------------------------- /src/Acknow.md: -------------------------------------------------------------------------------- 1 | \newpageon{xi} 2 | 3 | # Acknowledgements {-} 4 | 5 | No author can fool himself into thinking that his work is 6 | entirely of his own making. In a project of this size and length, many 7 | people, both within NASA and outside it, contributed mightily or it 8 | would never have been either finished or of its present quality. 9 | 10 | In the NASA History Office, Sylvia D. Fries as Director was a great help 11 | not only in accommodating several schedule changes but in actively 12 | critiquing early chapters. Her best management decision was assigning 13 | Michal McMahon as the editor. He treated the volume as his own and spent 14 | many hours turning turgidity into something resembling smooth text. 15 | Monte Wright, former Director, is to be thanked for granting the 16 | contract in the first place, and Edward C. Ezell, for his help in 17 | Houston during the proposal phase when he was head of the History Office 18 | at the Johnson Space Center. 19 | 20 | At The Wichita State University, my department chair, Mary Edgington, 21 | tried to keep excessive demands from overwhelming me during the 3 years 22 | I was funded under the contract. Lawrence Smith of the research office 23 | took care of the paperwork. Five assistants helped at one time or 24 | another in the research or writing phase. Dana Hamit acted as keeper of 25 | the bibliography for a year, and created the initial data bases I used 26 | while writing. Kim Allen took over from her and prepared the final 27 | version of the notes from the first three chapters, as well as acting as 28 | first editor. Linda Manfull brought the bibliographic data base into 29 | final shape and did the notes for Chapter Four. Maria Dreisziger helped 30 | with the notes for Chapters Five and Six, and identified terms for the 31 | glossary. Tamera Klausmeyer typed the notes for Chapters Seven through 32 | Nine, as well as finishing identifying terms for the glossary. 33 | 34 | In my travels during the research phase I was privileged to meet and 35 | work with a large number of NASA and contractor personnel. Those listed 36 | in the bibliographic note as granting interviews usually shared rare 37 | materials from their files as well. Some were asked to do technical 38 | reviews of individual chapters or sections of chapters to help eliminate 39 | as many errors of fact and interpretation as possible. Those who did 40 | this double duty included Bill Bailey, Ed Blizzard, Frank Byrne, Bill 41 | Chubb, Sam Deese, Dwain Deets, Bob Ernull, Jack Garman, Ray Hartenstein, 42 | Helmut Hoelzer, Carl Johnson, Ted Kopf, Ken Mansfield, Russ Mattox, Ann 43 | Merwarth, Bob Nathan, Henry Paul, Dick Rice, Bill Stewart, Tom Taylor, 44 | Bill Tindall, Chuck Trevathan, Paul Westmoreland, John Wooddell, and 45 | John Young. 46 | 47 | At each site individuals opened doors for me and found office space 48 | where none was available. I want to especially thank Wanda Thrower of 49 | Johnson Space Center, Bob Sheppard of Marshall Space \pagebreakon{xii} 50 | Flight Center, Harriet Brown and Mike Konjevich of Kennedy Space Center, and 51 | Andrew Danni of the Jet Propulsion Laboratory for their hospitality. 52 | Frank Penovich of Kennedy was especially helpful in obtaining a tour of 53 | the Shuttle facilities. 54 | 55 | After the termination of the actual contract, I spent a year and a half 56 | at the Software Engineering Institute (SKI) located at Carnegie Mellon 57 | University. The SKI was kind enough to permit use of their equipment to 58 | assist in preparing the final drafts of the manuscript. My assistants 59 | Katherine Harvey and Suzanne Woolf did yeoman work editing and 60 | formatting the text for laser printing. 61 | 62 | My thanks also goes to my wife, who lovingly never let me give up. 63 | 64 | A final, required, word from our sponsor: This work was mostly done 65 | under NASA Contract NASW-3714. 66 | -------------------------------------------------------------------------------- /src/Ch4-1.md: -------------------------------------------------------------------------------- 1 | \pagebreakon{86} 2 | 3 | Computers are used more extensively on the Space 4 | Transportation System (STS) than on any previous aircraft or spacecraft. 5 | In conventional aircraft, mechanical linkages and cables connect pilot 6 | controls, such as the rudder pedals and stick, to hydraulic actuators at 7 | the control surfaces. However, the Shuttle contains a fully digital 8 | fly-by-wire avionics system. All connections are electrical and are 9 | routed through computers. To give the spacecraft more autonomy, system 10 | management functions (fuel levels, life support, etc.), handled on the 11 | ground during previous flight programs, are monitored on board. Software 12 | can be adjusted to suit increasingly complex and varied payloads. 13 | Subsystems, like the main engines, that had no computer assistance 14 | before use them for performance improvement. And, as in Gemini and 15 | Apollo, guidance and navigation tasks are accomplished on the Shuttle 16 | with computers. All these functions, especially flight control, are 17 | critical to mission success; therefore, the computers performing the 18 | tasks must be made fail-safe by using redundancy. Meeting these 19 | requirements has resulted in one of the most complex software systems 20 | ever produced and a computer network within the spacecraft with more 21 | powerful hardware than many ground-based computer centers in the 22 | mid-1960s. 23 | 24 | The major differences between the Shuttle computer system and the 25 | systems used on Gemini and Apollo were the choice of an "off-the-shelf" 26 | main computer instead of a custom-made machine and the pervasiveness of 27 | the system within the spacecraft, since the main computers are the heart 28 | of any true avionics system. Avionics (*avi*ation plus electr*onics*) grew 29 | in the 1950s and 1960s as electronic devices, especially digital 30 | devices, replaced mechanical or analog equipment in aircraft. These 31 | digital devices were combined into a coherent system, rather than 32 | isolated in function and location within the aircraft. Several modern 33 | military airplanes have applied this concept to varying degrees. The 34 | FB-111, an Air Force tactical bomber, has a complex avionics system that 35 | Rockwell International built just before it was awarded the Shuttle 36 | contract^[1](#source4)^; the F-15 fighter used an AP-1 computer 37 | in its system. A repackaged version of the F-15's computer became the 38 | AP-101 used in the shuttle^[2](#source4)^. However, in no 39 | aircraft has the Shuttle's avionics system been matched as yet. For 40 | instance, its main computers have to interconnect with other computers 41 | in subsystems, such as the controllers on each main engine, whereas most 42 | aircraft systems are centered on a single set of machines. 43 | 44 | Since the Shuttle is completely dependent on the success of its avionics 45 | system, each component must be made failure proof. The method chosen to 46 | ensure this is absolute redundancy, often to a depth of four duplicate 47 | devices. Managing this level of redundancy became a large problem in 48 | itself. 49 | 50 | Another result of the pervasive avionics system is that the frequency 51 | and sophistication of the crew interaction with the computers exceeds 52 | any previous manned space program. A large portion of the\pagebreakon{87} 53 | ![**Figure 4--1**. The first launch of the Shuttle *Challenger*, one of a fleet 54 | of the most computationally intensive spacecraft ever built. (NASA 55 | photo)](images/p87.jpg) 56 | \pagebreakon{88} software is directed at easing the necessary commanding 57 | of the computers. In general, software development for the Shuttle has 58 | far outstripped any previous NASA ground or flight system in effort and 59 | cost. The combination of requirements forced the Agency to pioneer 60 | techniques in digital avionics, redundancy management, computer 61 | interconnection, and real-time software development. 62 | -------------------------------------------------------------------------------- /history.nasa.gov/Part3-intro.html: -------------------------------------------------------------------------------- 1 | Part3-intro 2 |


Computers in Spaceflight: The NASA Experience

 
 
Part III: Ground-Based Computers For Spaceflight Operations
 
Introduction
 
 
[205] NASA's ground computer systems are characterized by large size, by the implementation of real-time programming, and by the use of may computers connected together. The need for these three attributes has caused NASA and its contractors to devise new techniques for computer applications, such as operating systems for mainframe computers capable of handling real-time processing and sophisticated networking. Through these developments NASA has had its largest impact on computing in the commercial world.
 
Differences between ground-based computers and on-board computers center on the relative ease of hardware procurement with the continued difficulty of software development. On-board computers evolved from custom-made systems to the largely off-the-shelf Skylab and Shuttle computers. Ground computers followed a more conventional line, as they could be, from the beginning, commercially available systems, though applied to noncommercial tasks. NASA examined many existing computer systems each time it needed a machine. In fact, the government's bidding process gave NASA a larger mix of different vendors' equipment than most commercial enterprises, causing occasional difficulties in connecting computers together. This problem and that of adapting business machines to real-time processing were largely solved by software. Contractors received invaluable experience in large systems development and networking in the process of achieving NASA's goals.
 
Ground-based computer systems are used for preflight checkout and the launching of space vehicles, controlling both unmanned and manned missions, creating simulations of rocket flight for vehicle development and of space flight for crew training, processing telemetry data from launch vehicles and space probes, and in basic research. In the following chapters these functions are grouped into launch processing, mission control, and support tasks. Chapter 7 develops the concept of launch processing from the manual era to the fully automated Shuttle flight preparation. The chief result from this effort was a large integrated network of computers that proved to be highly innovative. Chapter 8 presents computer systems in both the manned Mission Control Center in Houston and the unmanned control [206] centers at the Jet Propulsion Laboratory (JPL) and Goddard Space Flight Center. In Chapter 9, the uses of computers in simulations and data reduction are discussed.


link to indexlink to next page

 

 

-------------------------------------------------------------------------------- /src/Ch5-1.md: -------------------------------------------------------------------------------- 1 | \pagebreakon{140} 2 | 3 | One organization more than any other has dominated the 4 | exploration of deep space: the Jet Propulsion Laboratory (JPL) of the 5 | California Institute of Technology. JPL was responsible for the Ranger 6 | and Surveyor series of lunar exploration spacecraft, the Mariner and 7 | Viking Orbiter explorers of Mercury, Venus, and Mars, and the Voyager 8 | and Galileo probes of the outer planets. As a result, the evolution of 9 | on-board computers for deep space operations took place at JPL. 10 | 11 | JPL's chief contribution to computing on unmanned spacecraft was in 12 | leading progress from hard-wired sequencers to programmable sequencers 13 | to digital computers. The Pioneer spacecraft developed mostly at NASA's 14 | Ames Research Center and the Lunar Orbiters used to map the moon in the 15 | 1960s did not carry on-board computers. Like their earth-orbiting 16 | cousins and the first JPL probes, they used sequencing devices to 17 | activate and command experiments. Later the Mariner spacecraft acquired 18 | more autonomy and flexibility by using machines that stored command 19 | sequences in changeable software. Finally, sophisticated spacecraft flew 20 | with special-purpose digital computers. 21 | 22 | Unique in its relationship to NASA, JPL is *not* solely a government 23 | installation in the same way as, for example, the Johnson or Marshall 24 | Space Flight Centers. JPL's personnel receive their pay-checks from Cal 25 | Tech, yet almost every piece of equipment on the site has a NASA 26 | property tag, since, for over a quarter of a century, Cal Tech has 27 | administered contracts that have paid for all research and development 28 | of the many spacecraft originated at JPL. 29 | 30 | Another way in which JPL is unique is its products. Whereas thousands of 31 | earth-orbiting satellites have been launched, less than a dozen each of 32 | Rangers, Surveyors, and Mariners were constructed, and just two Vikings 33 | and Voyagers and one Galileo were sent into space. Not only were few 34 | spacecraft built, but the interplanetary launches were separated by 35 | years and had to be on strict deadlines due to the realities of 36 | celestial mechanics. This created a completely different development 37 | environment than that at other NASA centers. The emphasis on basic 38 | research at JPL has perhaps been stronger than at any other NASA 39 | installation. This orientation and its application in spacecraft forms a 40 | special part of the story of JPL. 41 | 42 | JPL's computer development activities were shaped by its organizational 43 | structures. When a project is started at the Laboratory, an office is 44 | established to house the project manager, key systems managers, and 45 | staff. Offices have come and gone with the projects themselves. The 46 | Ranger office, for example, has been closed for nearly 20 years, whereas 47 | the Voyager office is likely to be open for as long as that. Most 48 | personnel are housed in divisions and sections relating to specific 49 | discipline or system functions, as, in 1984, the "Technical Divisions" 50 | contained sections on "Guidance and Control" and "Spacecraft Data 51 | Systems." When a project office needs a component or service, it 52 | "subcontracts" it to the appropriate technical \pagebreakon{141} sections. For 53 | instance, Spacecraft Data Systems supplies on-board computers, whereas 54 | the Navigation Systems Section does the trajectory calculations needed 55 | for a specific mission. In this way, specialists can be kept busy on a 56 | series of projects over a period of years without depending on a 57 | specific project for their jobs. Competition between sections to develop 58 | related components can also exist, as on the Voyager project, when the 59 | attitude control staff wanted to make their own computer for their 60 | system while the data systems people claimed sole domain over computer 61 | development. Within this setting, JPL has produced high quality on-board 62 | computers that have demonstrated outstanding reliability[^5-1a]. 63 | 64 | [^5-1a]: JPL's roots and its role in NASA receive excellent treatment in 65 | Clayton Koppes' *The Jet Propulsion Lab and the American Space Program*, 66 | Yale University Press, 1982. 67 | -------------------------------------------------------------------------------- /history.nasa.gov/Ch2-9.html: -------------------------------------------------------------------------------- 1 | Ch2-9 2 |


Computers in Spaceflight: The NASA Experience

- Chapter Two -
- Computers On Board The Apollo Spacecraft -

 

Lessons

 
 
[62] What did NASA learn from its experiences with the Apollo computer system? At the management level, NASA learned to assign experienced personnel to a project early, rather than using the start of a project for training inexperienced personnel; many NASA managers of software and hardware were learning on the job while in key positions. Also, more participation by management in the early phases of software design is necessary so that costs can be more effectively estimated and controlled.
 
From the standpoint of development, NASA learned that a more thorough, early effort at total systems engineering must be made so that specifications can be adequately set. NASA contractors in the Apollo program faced changing specifications long after final requirements should have been fixed. This was expensive and caused such problems as Raytheon's retooling, memory shortages, and design insufficiencies.
 
The realization that software is more difficult to develop than hardware is one of the most important lessons of the Apollo program. So the choice of memory should be software driven, and designers should develop software needed for manned spaceflight near the Manned Spacecraft Center. The arrangement with MIT reduced overall quality and efficiency due to lack of communication. Also, more modularization of the software was needed 180.
 
The AGC system served well on the earth-orbital missions, the six lunar landing missions, the three Skylab missions, and the Apollo-Soyuz test project. Even though plans existed to expand the computer to 16K of erasable memory and 65K of fixed memory, including making direct memory addressing possible for the erasable portion, no expansion occurred181. The Apollo computer did fly on missions other than Apollo. An F-8 research aircraft used a lunar module computer as part of a "fly-by-wire" system, in which control [63] surfaces moved by servos at the direction of electronic signals instead of traditional cables and hydraulics. In that way, the Apollo system made a direct research contribution to the Shuttle, which is completely a fly-by-wire craft. The most important legacy of the AGC, however, was in the way NASA applied the lessons it was beginning to learn in developing ground software to the management of flight software.


link to previous pagelink to indexlink to next page

-------------------------------------------------------------------------------- /src/Ch8-1.md: -------------------------------------------------------------------------------- 1 | \pagebreakon{242} 2 | 3 | Mission control begins when launch processing ends. At the 4 | point a missile is committed to flight---as when the Shuttle solid rockets 5 | are fired or a liquid-fueled booster rises an inch off the 6 | pad---responsibility for monitoring and control of the spacecraft shifts 7 | from the launch director and his crew to the flight director's team. 8 | Three major tasks occupy the flight controllers: sampling the telemetry 9 | stream to make certain everything is going well and to collect science 10 | data, doing navigation calculations, and sending commands. Manned and 11 | unmanned spacecraft require this support, with manned spacecraft having 12 | the advantage of carrying observers and decision makers to supplement 13 | what can be done from the ground. To successfully support both types of 14 | missions, digital computers must operate on massive amounts of data in 15 | real time. Mission control tasks are beyond the abilities of humans 16 | alone. 17 | 18 | Mission control centers and their equipment are located far from the 19 | launch site. NASA's manned mission control began in 1961 with Project 20 | Mercury at the Cape Canaveral launch area, but its computers were at 21 | Goddard Space Flight Center near Washington, D.C. Since 1964, early in 22 | the Gemini program, both computers and controllers have been housed in 23 | Building 30 at the Johnson Space Center in Houston. NASA's unmanned 24 | near-earth missions are controlled mostly from Goddard, with most deep 25 | space missions handled through the Jet Propulsion Laboratory's (JPL) 26 | Spaceflight Operations Facility in Pasadena, California. 27 | 28 | In addition to control centers, mission support requires numerous 29 | tracking stations to collect and format telemetry and radar data to help 30 | in monitoring and navigation and to transmit commands. These widely 31 | scattered stations and the control centers are linked together by the 32 | NASA Communications Network (NASCOM), headquartered at Goddard. The 33 | Space Tracking and Data Acquisition Network (STADAN), used to specialize 34 | in unmanned spacecraft but, having combined with the Manned Spaceflight 35 | Network (MSFN) in 1972, has become the general network. When all the 36 | specified Tracking and Data Relay Satellites are in place, they will 37 | take over much of the manned flight communications, yet tracking is 38 | still a STADAN responsibility. Lunar and planetary probes are the venue 39 | of the Deep Space Network, which operates three main stations at 40 | Goldstone, California, Madrid, Spain, and Canberra, Australia, each with 41 | a variety of antennas ranging up to 64 meters in diameter. The Deep 42 | Space Network helped with manned lunar missions when the Apollo 43 | spacecraft \pagebreakon{243} passed a distance of 10,000 miles from 44 | earth[^8-1a]. 45 | 46 | In contrast with on-board computers, computer systems used in control 47 | centers and tracking stations have primarily consisted of off-the-shelf 48 | equipment. NASA could take this approach to procurement because, so far, 49 | adequate processing power to achieve mission objectives has been 50 | available in commercial systems. When mission control began in the late 51 | 1950s and early 1960s, software technology had not reached the necessary 52 | level of sophistication. The prime contractor had to develop completely 53 | new operating system software for the Vanguard, Mercury, and Gemini 54 | programs, but was able to incorporate large chunks of existing operating 55 | systems into those used for Apollo and Shuttle, as well as some later 56 | deep space missions. This was possible in part because experience and 57 | techniques learned from designing the original operating systems were 58 | used in new commercial products. 59 | 60 | [^8-1a]: For the story of the tracking and communication 61 | networks, see William R. Corliss, *Histories of the Space Tracking and 62 | Data Acquisition Network (STADAN), the Manned Space Flight Network 63 | (MSFN), and the NASA Communications Network (NASCOM)*, NASA CR-140390, 64 | June, 1974, and N.A. Renzetti, ed., *A History of the Deep Space Network 65 | From Inception to January 1, 1969*, Jet Propulsion Laboratory TR 32-1533, 66 | September 1, 1971. Each has considerable detail about the technical 67 | developments involved, including the decision to use computers at 68 | stations. 69 | -------------------------------------------------------------------------------- /src/Ch6-1.md: -------------------------------------------------------------------------------- 1 | \pagebreakon{172} 2 | 3 | Voyager and Galileo are two outer planetary spacecraft that 4 | carry extensive computing capability. In spectacular encounters with 5 | Jupiter and Saturn, Voyagers 1 and 2 returned science data and imaging 6 | that far exceeded results of previous planetary flybys. Uranus was the 7 | successful 1986 objective of Voyager 2, nearly 10 years after launch. 8 | Galileo is designed for a Jupiter orbiter and probe 9 | mission[^6-1a]. Both types of spacecraft carry multiple 10 | computer systems, distributing functions among several machines, rather 11 | than using one central computer system as on the Viking Orbiter and 12 | Lander. 13 | 14 | Distributed computing on large unmanned spacecraft developed 15 | conceptually from several sources. In 1967, Marshall Space Flight Center 16 | commissioned a study by General Electric Corporation's Missile and Space 17 | Division in Philadelphia as part of preparation for a huge "Voyager" 18 | Mars lander to be launched on a Saturn V booster in the early 1970s. 19 | Marshall asked GE to compare the advantages of a central computer 20 | configuration versus separate computers for different subsystems. 21 | General Electric used a highly mathematical approach to develop power, 22 | size, and weight comparisons of the different proposals in light of 23 | reliability considerations. Computer physical limits were set as high as 24 | 100 pounds and 300 watts due to the large size of the booster. This 25 | would allow computers such as the IBM 4Pi series, Autonetics D26J, and 26 | IBM's Saturn Launch Vehicle Digital Computer (LVDC) to be considered. 27 | Planners expected that the functions that later showed up on advanced 28 | Mariners---such as accelerometers, programmable sequencers with 512 words 29 | of memory, and telemetry registers---would be part of the proposed 30 | computer's capabilities and responsibilities. However, GE found that 31 | economies gained by a central system were outweighed by reliability 32 | advantages intrinsic to a distributed system^[1](#source6)^. 33 | 34 | Another approach came from Edward Greenberg, a Jet Propulsion Laboratory 35 | (JPL) engineer who programmed for the Mariner VI and VII Central 36 | Computer and Sequencer and contributed to the Viking Command Computer 37 | Subsystem (CCS) design. In December, 1972, he proposed that the Viking 38 | computer be standardized as a multimission 39 | processor^[2](#source6)^. His intent was to reuse hardware and 40 | software development tools such as assemblers and simulators. Since one 41 | Viking computer could never handle all the functions needed on Voyager, 42 | several computers, each with a limited domain of functions, were needed. 43 | 44 | Aside from the GE study and Greenberg's proposal, JPL 45 | \pagebreakon{173} developed an additional argument for distributed computing. 46 | Edward H. Kopf, Jr., a JPL engineer specializing in attitude control, 47 | pointed out that different sections of the Laboratory needed computers 48 | to perform their assignments on Voyager and Galileo. Each group wanted 49 | its "own" computer, so that it would not be constantly competing for 50 | resources with other groups^[3](#source6)^. Therefore, a 51 | distributed system would help keep the peace. 52 | 53 | The attractions of distributing computing, reliability, potential 54 | reusability, and separation of tasks, proved true in the development of 55 | the Voyager and Galileo spacecraft. Each has a functionally distributed 56 | set of computers. Voyager makes use of two of the Viking machines and a 57 | third, custom-built, computer. Each concentrates on processing different 58 | functions, such as attitude control, data formatting, and commanding. 59 | Galileo has dual processors for attitude control and six in a network 60 | for command and data handling. Both spacecraft were designed for 61 | long-duration, autonomous flight, a goal difficult to attain without the 62 | use of distribution. 63 | 64 | ![**Figure 6--1**. The Voyager spacecraft with the radioisotope generators on 65 | the left boom and the scan platform on the right boom. (JPL photo 66 | P10727B)](images/p173.jpg) 67 | 68 | [^6-1a]: Originally set for launch in the early 1980s, the 69 | mission slipped to May of 1986, but the grounding of the Shuttle fleet 70 | and cancellation of the Shuttle Centaur upper stage program in early 71 | 1986 led to an indefinite postponement and probably a change of launch 72 | vehicle. 73 | -------------------------------------------------------------------------------- /src/Ch4-8.md: -------------------------------------------------------------------------------- 1 | ### The future of the Shuttle's computers 2 | 3 | The computers in the Shuttle were candidates for change due 4 | to the rapid progress of technology coupled with the long life of each 5 | Shuttle vehicle. First to be replaced were the engine controllers. 6 | By\pagebreakon{131} 7 | ![**Figure 4--11**. A Shuttle main engine in a ground test. The Controller 8 | can be seen mounted on the left side of the combustion chamber. (NASA 9 | photo 885338)](images/p131.jpg) 10 | \pagebreakon{132} the early 1980s, Marshall Space Flight Center began 11 | studying a Block II controller design because it was becoming impossible 12 | to find parts and programmers for the late 1960s components of the Block 13 | I^[183](#source4)^. The revised computer uses a Motorola 68000 14 | 32-bit microprocessor. When selected, it was clearly the state of the 15 | art. Instead of plated wire, a CMOS-type semiconductor random-access 16 | memory is used. Finally, the software is written in the high-level 17 | programming language, C. Such a computer reflects the current design and 18 | components of a ground-based, powerful digital control system. The C 19 | language is also known as an excellent tool for software systems 20 | development. In fact, the UNIX operating system is coded in it. 21 | 22 | Aside from the processor change, the Block II's memory was increased to 23 | 64K words. Therefore, the entire controller software, including 24 | preflight routines, can be loaded at one time. Semiconductor memories 25 | have the advantages of high speed, lower power consumption, and higher 26 | density than core, but lack core memory's ability to retain data when 27 | power is shut off. Reliability of the memory in the Block II computer 28 | was assured by replicating the 64K and providing a three-tier power 29 | supply^[184](#source4)^. Both Channel A and Channel B have two 30 | sets of 64K memories, each loaded with identical software. Failure in 31 | one causes a switch-over to the other. This protects against hardware 32 | failures in the memory chips. The three tiers of power protect against 33 | losing memory. The first level of power is the standard 115-volt primary 34 | supply. If it fails, a pair of 28-volt backup supplies, one for each 35 | channel, is available from other components of the system. Last, a 36 | battery backup, standard on most earth-based computer systems, can 37 | preserve memory but not run the processor. 38 | 39 | The significance of the evolution to Block II engine controllers is that 40 | they represent the first use of semiconductor memories and 41 | microprocessors in a life-critical component of a manned spacecraft. 42 | Honeywell scheduled delivery of a breadboard version suitable for 43 | testing in mid-1985. The new controller is physically the same length 44 | and width, so it fits the old mounting. The depth is expected to be 45 | somewhat less. When the first of these computers flies on a Shuttle, 46 | NASA will have skipped from 1968 computer technology to 1982 technology 47 | in one leap. 48 | 49 | IBM's new version of the AP-101 (the F) incorporates some of the same 50 | advantages gained by the new technology of the engine controllers. 51 | Increasing the memory to 256K words means that the ascent, on-orbit, and 52 | descent software can be fitted into the memory all at once. (This is not 53 | likely to happen, however, because of the pressing need to improve the 54 | crew interfaces and expand existing functions.) Higher component density 55 | allows the CPU and IOP to be fitted into one box roughly the size and 56 | weight of either of their predecessors. Execution speed is now 57 | accelerated to nearly 1 million operations per second, twice the 58 | original value. In essence, NASA has finally acquired the power and 59 | capability it wanted in 1972, before the software requirements showed 60 | the inadequacy of the original AP-101. 61 | 62 | \pagebreakon{133} As in the engine controllers, the memory in the AP-101F is 63 | made of semiconductors. Power can be applied to the memory even when the 64 | central processor is shut down so as to keep the stored programs from 65 | disappearing. A commercially available error detection and correcting 66 | chip is included to constantly scan the memory and correct single bit 67 | errors. These precautions help eliminate the disadvantage of volatility 68 | while still preserving the size, power, and weight advantages of using 69 | semiconductors over core memories^[185](#source4)^. 70 | -------------------------------------------------------------------------------- /src/Part2-intro.md: -------------------------------------------------------------------------------- 1 | Unmanned spacecraft computers differ from manned spacecraft 2 | computers in that they are designed to work much longer and use much 3 | less spacecraft resources. A typical manned mission lasts a week or 4 | less; the exception was Skylab, whose computers operated for 9 months 5 | straight and again later during its reactivation mission. Unmanned 6 | missions in earth orbit or to the outer planets can last a decade or 7 | longer. Manned spacecraft usually carry large auxiliary power units 8 | based on fuel cell technology, as power requirements for life support, 9 | experiments, and computers are high. Spacecraft in earth orbit are often 10 | dependent on solar cell arrays, which are by nature low-power 11 | generators. Interplanetary probes use either solar cells or small 12 | radioisotope generators. Clearly, these circumstances cause different 13 | requirements for computers. 14 | 15 | Of the two types of unmanned spacecraft, one is designed for earth orbit 16 | operations and the other flies to the moon, planets, or deep space. 17 | Earth orbiters usually need no navigation after achieving orbit; space 18 | probes, however, are critically dependent on proper guidance. Earth 19 | orbiters can be commanded nearly instantaneously from the ground during 20 | the roughly 10% of the time they are "visible" to ground stations. 21 | Interplanetary probes need to be autonomous, at least capable of 22 | independent routine operation, due to speed of light delays in 23 | communication and longer periods out of earth control. Multiple missions 24 | and simple geography prevent interplanetary probes from being in 25 | constant contact with the three Deep Space Network stations. Therefore, 26 | the basis of fault handling on an interplanetary probe is failure 27 | detection and repair, whereas earth orbiters concentrate on "safing" the 28 | spacecraft until the ground stations can help out. For these reasons, 29 | computers became more sophisticated on spacecraft designed to leave the 30 | gravity pull of the earth. 31 | 32 | Moreover, the different computers have distinct origins. Many near earth 33 | spacecraft used a variant of a single machine developed at the Goddard 34 | Space Flight Center, whereas the Jet Propulsion Laboratory (JPL) of the 35 | California Institute of Technology, a long time NASA contractor, has 36 | dominated computer construction for deep space flight, designing and 37 | building an evolving series of computers for the Agency's interplanetary 38 | probes. These two lines of development represent the most fruitful of 39 | NASA's forays into computer \pagebreakon{136} research. Computers on manned 40 | spacecraft were generally developed from other computers (Apollo from 41 | Polaris; 4Pi from the System 360). Computers in ground operations were 42 | adapted from commercial machines. However, computers on unmanned 43 | spacecraft were custom designed. In these cases, NASA was not only a 44 | contract monitor but was actively involved in development. 45 | 46 | The making of the first NASA Standard Spacecraft Computer, which has 47 | controlled a number of earth-orbiting missions, has been described 48 | elsewhere[^2-intro.a]. As can be inferred by its name, 49 | NASA designed this computer to fly on multiple, varying missions, which 50 | it has done to good effect. For example, both the Solar Maximum Mission 51 | and the Hubble Space telescope used the computer. Goddard Space Flight 52 | Center led development of the device over a 10-year period from the late 53 | 1960s to the late 1970s. 54 | 55 | ![Figure B: The NASA Standard Spacecraft Computer I in its packaging. 56 | (NASA photo)](images/p136.jpg) 57 | 58 | In contrast, machines built at JPL have had a longer and more related 59 | history. Although some reuse has occurred, the various space probes 60 | built at JPL carried mission-unique computers of increasing \pagebreakon{137} 61 | power and complexity, paralleling the development of computers for 62 | manned spacecraft. Unlike the manned programs, however, JPL sponsored 63 | fundamental research into spacecraft computing, which was then 64 | translated into concepts that guided the development of flight systems. 65 | The result was a series of innovative and flexible on-board computers. 66 | 67 | [^2-intro.a]: See Raymond G. Hartenstein, Ann C. 68 | Merwarth, William N. Stewart, Thomas D. Taylor, and Charles E. 69 | Trevathan, "Development and Application of NASA's First Standard 70 | Spacecraft Computer," *Commun. ACM*, 27(9), 902--913 (September 1984.) 71 | -------------------------------------------------------------------------------- /history.nasa.gov/Ch2-3.html: -------------------------------------------------------------------------------- 1 | Ch2-3 2 |

Computers in Spaceflight: The NASA Experience
 
- Chapter Two -
- Computers On Board The Apollo Spacecraft -
 
 
The Apollo computer systems
 
 
[30] The mission profile used in sending a man to the moon went through several iterations in the early 1960s. For a number of reasons, planners rejected the direct flight method of launching from the earth, flying straight to the moon, and landing directly on the surface. Besides the need for an extremely large booster, it would require flawless guidance to land in the selected spot on a moving target a quarter of a million miles away. A spacecraft with a separate lander would segment the guidance problem into manageable portions. First, the entire translunar spacecraft would be placed in earth orbit for a revolution or two to properly prepare to enter an intercept orbit with the moon. Upon arriving near the moon, the spacecraft would enter a lunar orbit. It was easier to target a lunar orbit window than a point on the surface. The lander would then detach and descend to the surface, needing only to guide itself for a relatively short time. Alter completion of the lunar exploration, a part of the lander would return to the spacecraft still in orbit and transfer crew and surface samples, after which the command module (CM) would leave for earth.
 
With a lunar orbit rendezvous mission, more than one computer would be required, since both the CM and the lunar excursion module (LEM) needed on-board computers for the guidance and navigation function. The CM's computer would handle the translunar and transearth navigation and the LEM's would provide for autonomous landing, ascent, and rendezvous guidance.
 
NASA referred to this system with its two computers, identical in design but with different software, as the Primary Guidance, [31] Navigation, and Control System (PGNCS pronounced "pings"). The LEM had an additional computer as part of the Abort Guidance System (AGS), according to the NASA requirement that a first failure should not jeopardize the crew. Ground systems backed up the CM computer and its associated guidance system so that if the CM system failed, the spacecraft could be guided manually based on data transmitted from the ground. If contact with the ground were lost, the CM system had autonomous return capability. Since the lunar landing did not allow the ground to act as an effective backup, the LEM had the AGS to provide backup ascent and rendezvous guidance. If the PGNCS failed during descent, the AGS would abort to lunar orbit and assist in rendezvous with the CM. It would not be capable of providing landing assistance except to monitor the performance of the PGNCS. Therefore the computer systems on the Apollo spacecraft consisted of three processors, two as part of the PGNCS and one as part of the AGS.


link to previous pagelink to indexlink to next page

 

-------------------------------------------------------------------------------- /src/Ch2-1.md: -------------------------------------------------------------------------------- 1 | \pagebreakon{28} 2 | 3 | ### The need for an on-board computer 4 | 5 | The Apollo lunar landing program presented a tremendous 6 | managerial and technical challenge to NASA. Navigating from the earth to 7 | the moon and the need for a certain amount of spacecraft autonomy 8 | dictated the use of a computer to assist in solving the navigation, 9 | guidance, and flight control problems inherent in such missions. Before 10 | President John F. Kennedy publicly committed the United States to a 11 | "national goal" of landing a man on the moon, it was necessary to 12 | determine the feasibility of guiding a spacecraft to a landing from a 13 | quarter of a million miles away. The availability of a capable computer 14 | was a key factor in making that determination. 15 | 16 | The Instrumentation Laboratory of the Massachusetts Institute of 17 | Technology (MIT) had been working on small computers for aerospace use 18 | since the late 1950s. Dr. Raymond Alonso designed such a device in 19 | 1958--1959^[1](#source2)^. Soon after, Eldon Hall designed a 20 | computer for an unmanned mission to photograph Mars and 21 | return^[2](#source2)^. That computer could be interfaced with 22 | both inertial and optical sensors. In addition, MIT was gaining 23 | practical experience as the prime contractor for the guidance system of 24 | the Polaris missile. In early 1961, Robert G. Chilton at NASA--Langley 25 | Space Center and Milton Trageser at MIT set the basic configuration for 26 | the Apollo guidance system^[3](#source2)^. An on-board digital 27 | computer was part of the design. The existence of these preliminary 28 | studies and the confidence of C. Stark Draper, then director of the 29 | Instrumentation Lab that now bears his name, contributed to NASA's 30 | belief that the lunar landing program was possible from the guidance 31 | standpoint. 32 | 33 | The presence of a computer in the Apollo spacecraft was justified for 34 | several reasons. Three were given early in the program: *(a)* to avoid 35 | hostile jamming, *(b)* to prepare for later long-duration (planetary) 36 | manned missions, and *(c)* to prevent saturation of ground stations in the 37 | event of multiple missions in space 38 | simultaneously^[4](#source2)^. Yet none of these became a 39 | primary justification. Rather, it was the reality of physics expressed 40 | in the 1.5-second time delay in a signal path from the earth to the moon 41 | and back that provided the motivation for a computer in the lunar 42 | landing vehicle. With the dangerous landing conditions that were 43 | expected, which would require quick decision making and feedback, NASA 44 | wanted less reliance on ground-based computing^[5](#source2)^. 45 | The choice, later in the program, of the lunar orbit rendezvous method 46 | over direct flight to the moon, further justified an on-board computer 47 | since the lunar orbit insertion would take place on the far side of the 48 | moon, out of contact with the earth^[6](#source2)^. These 49 | considerations and the consensus among MIT people that autonomy was 50 | desirable ensured the place of a computer in the Apollo vehicle. 51 | 52 | Despite the apparent desire for autonomy expressed early in the 53 | \pagebreakon{29} program, as the mission profile was refined and the realities 54 | of building the actual spacecraft and planning for its use became more 55 | immediate, the role of the computer changed. The ground computers became 56 | the prime determiners of the vehicle's position in three-dimensional 57 | space "at all times" (except during maneuvers) in the 58 | missions^[7](#source2)^. Planners even decided to calculate the 59 | lunar orbit insertion burn on the ground and then transmit the solution 60 | to the spacecraft computer, which somewhat negated one of the reasons 61 | for having it. Ultimately, the actual Apollo spacecraft was only 62 | autonomous in the sense it could return safely to earth without help 63 | from the ground^[8](#source2)^. 64 | 65 | Even with its autonomous role reduced, the Apollo on-board computer 66 | system was integrated so fully into the spacecraft that designers called 67 | it "the fourth crew member"^[9](#source2)^. Not only did it have 68 | navigation functions, but also system management functions governing the 69 | guidance and navigation components. It served as the primary source of 70 | timing signals for 20 spacecraft systems^[10](#source2)^. The 71 | Apollo computer system did not have as long a list of responsibilities 72 | as later spacecraft computers, but it still handled a large number of 73 | tasks and was the object of constant attention from the crew. 74 | -------------------------------------------------------------------------------- /src/Ch3-5.md: -------------------------------------------------------------------------------- 1 | ### The Reactivation Mission 2 | 3 | The Skylab Reactivation Mission represents one of the most 4 | interesting examples of the autonomy and reliability of manned 5 | spacecraft computers. The original Skylab mission lasted 272 days with 6 | long unmanned periods. The reactivation mission, flown entirely under 7 | computer control, lasted 393 days. Therefore, the bulk of the activated 8 | life of the space laboratory fully depended on the ATMDCs. 9 | 10 | When it was obvious that the Workshop was going to fall to the earth 11 | long before a rescue mission could be launched, NASA began studying 12 | methods of prolonging the orbital life of the spacecraft. Even though 13 | the atmosphere is very thin at the altitude Skylab was flying, the drag 14 | produced on the spacecraft was highly related to its attitude with 15 | respect to its direction of flight (velocity vector). During most of the 16 | manned mission periods Skylab flew in solar inertial (SI) mode, in which 17 | the lab was kept perpendicular to the sun to provide maximum exposure 18 | for the solar collectors. Momentum desaturation maneuvers were done on 19 | the dark side of the earth to compensate for bias momentum buildup 20 | resulting from noncyclic torques acting on the spacecraft. The SI mode 21 | was high drag, so engineers devised two new modes, 22 | end-on-velocity-vector (EOVV) and torque equilibrium attitude (TEA). 23 | EOVV pointed the narrow end of the lab in the direction of flight, 24 | minimizing the aerodynamic drag on the vehicle. TEA could control the 25 | re-entry, using the gravity gradient and gyroscopic torques to 26 | counterbalance the aerodynamic torque. Only in this way could the 27 | Workshop be controlled below 140 nautical miles 28 | altitude^[66](#source3)^. 29 | 30 | Use of the new modes required that they be coded and transmitted to the 31 | computers in orbit. First it was necessary to discover whether or not 32 | the computers still functioned. Since the ATMDC used destructive readout 33 | core memories, there was some concern that the software might have been 34 | destroyed during restart tests if the refreshment hardware had failed. 35 | On March 6, 1978, NASA engineers at the Bermuda tracking station ordered 36 | portions of Skylab to activate. On March 11, the ATMDC powered up for 5 37 | minutes to obtain telemetry confirmation that it was still functioning. 38 | The software resumed the program cycle where it had left off 4 years and 39 | 30 days earlier. As far as the computer was concerned, it had suffered a 40 | temporary power transient^[67](#source3)^! 41 | 42 | When IBM began to make preparations to modify the software, it 43 | discovered that there was almost nothing with which to work. The 44 | \pagebreakon{82} carefully constructed tools used in the original software 45 | effort were dispersed beyond recall, and, worse yet, the last of the 46 | source code for the flight programs had been deleted just weeks 47 | beforehand. This meant that changes to the software would have to be 48 | *hand coded* in hexadecimal, as the assembler could not be used---a risky 49 | venture in terms of ensuring accuracy. Eventually it became necessary to 50 | repunch the 2,516 cards of a listing of the most recent flight program, 51 | and IBM hired a subcontractor for the purpose^[68](#source3)^. 52 | 53 | Engineers could not test this software with the same high fidelity as 54 | during the original development. They abandoned plans for real time 55 | simulations because they could not find enough parts of any of the 56 | original simulators. Interpretive simulation could be performed because 57 | the tapes for that form of testing had been saved. However, the 58 | interpretive simulator ran 20 times slower than real time, so less 59 | testing was possible^[69](#source3)^. 60 | 61 | IBM approached the modification using the same principles as in the 62 | original production. The baseline software for the reactivation was 63 | Flight Program 80, including change request 3091, which was already in 64 | the second computer. Software changes for reactivation were simply 65 | handled as routine change requests. They placed the EOVV software in 66 | memory previously occupied by experiment calibration and other functions 67 | useless in the new mission. TEA replaced the command and display 68 | software^[70](#source3)^. 69 | 70 | When the software was ready for flight, NASA uplinked it to a reserve 71 | area of memory and then downlinked and manually verified it. If it 72 | passed the verification, engineers gave a command to activate it. The 73 | reprogramming was generally successful. The four people assigned to the 74 | software revision maintained IBM's record of quality throughout the 75 | reactivation mission^[71](#source3)^. 76 | -------------------------------------------------------------------------------- /history.nasa.gov/Ch2-2.html: -------------------------------------------------------------------------------- 1 | Ch2-2 2 |

Computers in Spaceflight: The NASA Experience
 
- Chapter Two -
- Computers On Board The Apollo Spacecraft -
 
MIT chosen as hardware and software contractor
 
 
[29] On August 9,1961, NASA contracted with the MIT Instrumentation Lab for the design, development, and construction of the Apollo guidance and navigation system, including software. The project manager for this effort was Milton Trageser, and David Hoag was the technical director11. MIT personnel generally agree that they were chosen because their work on Polaris proved that they could handle time, weight, and performance restrictions and because of their previous work in space navigation12. In fact, the Polaris team was moved almost intact to Apollo13. Despite their experience with aerospace computers, the Apollo project turned out to be a genuine challenge for them. As there were no fixed specifications when the contract was signed, not until late 1962 did MIT have a good idea of Apollo's requirements14. One of the MIT people later recalled that
 
If the designers had known then [1961] what they learned later, or had a complete set of specifications been available...they would probably have concluded that there was no solution with the technology of the early 1960s15.
 
Fortunately, the technology improved, and the concepts of computer Science applied to the problem also advanced as MIT developed the system.
 
[30] NASA's relationship with MIT also proved to be educational. The Apollo computer system was one of NASA's first real-time, large scale software application contracts16. Managing such a project was completely outside the NASA experience. A short time after making the Apollo guidance contract, NASA became involved in developing the on-board software for Gemini (a much smaller and more controllable enterprise) and the software for the Integrated Mission Control Center. Different teams that started within the Space Task Group, later as part of the Manned Spacecraft Center in Houston, managed these projects with little interaction until the mid-1960s, when the two Gemini systems approached successful completion and serious problems remained with the Apollo software. Designers borrowed some concepts to assist the Apollo project. In general, NASA personnel involved with developing the Apollo software were in the same virgin territory as were MIT designers. They were to learn together the principles of software engineering as applied to real-time problems.


link to previous pagelink to indexlink to next page

 

-------------------------------------------------------------------------------- /src/Ch5-4.md: -------------------------------------------------------------------------------- 1 | ### Expanded memory and expanded functions 2 | 3 | The new sequencer had a 9-bit address field, providing a 512 4 | address limit. Expanding the memory to 512 words did not require a 5 | change in the logic. So JPL added the extra memory for the Mariner 6 | \pagebreakon{147} Mars 1971 orbiter missions. Still, the old fixed sequencer 7 | remained in charge of the Mars orbit insertion burn. After the 8 | spacecraft established orbits, however, the ground control center used 9 | the new sequencer to control the imaging of Mars and its moons. The 10 | expanded memory proved sufficient. Preflight estimates for Mariner VIII 11 | specified 150 words of memory and 225 words for Mariner IX, yet both 12 | grew to over 400 words in flight^[30](#source5)^. 13 | 14 | The mission that used the sequencer to its limits was Mariner Venus 15 | Mercury 1973, or Mariner X. Mission profile called for the spacecraft to 16 | turn its imaging equipment on the earth as it flew toward deep space, do 17 | some studies of the moon in flyby, and then research in the area of 18 | Venus during a gravity assist maneuver that would send it toward 19 | Mercury, where JPL planned three separate encounters with the innermost 20 | planet. 21 | 22 | ![**Figure 5--2**. Mariner Venus/Mercury 1973 made the most use of the 23 | programmable sequencers. (JPL photo 251-135AC)](images/p147.jpg) 24 | 25 | \pagebreakon{148} Due to the more complex mission requirements, the design 26 | team wanted a bigger and better sequencer, but cost constraints killed 27 | any chance of building a new machine^[31](#source5)^. Adrian 28 | Hooke of JPL, one of the project's managers, decided to use planned 29 | memory updates at regular intervals. He also instituted a "suspenders 30 | and belt" approach to reliability. The sequencer would not only carry a 31 | detailed program for the next mission phase but also a constantly 32 | updated bare minimum program to complete the mission if the spacecraft 33 | lost contact with the ground. If a command was not received for a 34 | certain time, then the sequencer would follow whatever commands were in 35 | the backup program. Thus, software moved ahead in leap frog fashion. 36 | During the earth-moon phase the Venus backup was loaded, during the 37 | Venus encounter the backup Mercury encounter sequence was on board, and 38 | so on^[32](#source5)^. Software development was assigned to 39 | three programmers. Ronald Spriestersbach of JPL wrote the near-earth and 40 | post-Mercury sequences, George Elliot of the Boeing Company did the 41 | Venus encounter, and Larry Koga of JPL wrote all three Mercury 42 | encounters^[33](#source5)^. 43 | 44 | During the 1969 missions, most changes and subroutines were hand-coded 45 | and used once. By 1971, the COMGEN ground computer program that produced 46 | memory loads for the Sequencer could develop blocks of commands that 47 | functioned much like subroutines in a standard computer program or 48 | macros in an assembly language program^[34](#source5)^. In 49 | 1973, COMGEN resided in an IBM 360/75 computer that generated the 50 | commands and sent them via the NASA communications net to the 51 | appropriate Deep Space Network station for transmission. By this time, 52 | each station had a command computer, thus ending the voice/manual 53 | era^[35](#source5)^. Another improvement to the Sequencer was 54 | that engineers could do memory checks by comparing a sumword stored in 55 | location 512 to the result of summing the first 511 locations. If a 56 | miscompare occurred, *then* a location-by-location check for error could 57 | be made^[36](#source5)^. 58 | 59 | The improvements both in the Sequencer and in programming and ground 60 | control techniques were not enough to ensure its use beyond the Mariner 61 | series of spacecraft. In spite of the success of the long and 62 | complicated mission of Mariner X, JPL's Hooke complained that memory 63 | limits were too costly due to excessive need for optimization and 64 | constant relocation of subroutines^[37](#source5)^. Besides, the 65 | sequencers, regardless of their full name, were *not* computers. 66 | Spacecraft needed to do on-board computations, to have more room for 67 | software (and, thus, increased flexibility), and to use the central 68 | computer for other functions such as spacecraft health and safety 69 | monitoring done on other manned and unmanned spacecraft. Some missions 70 | intrinsically needed computers, as, for example, the Viking Mars 71 | orbiters and landers and the Voyager outer planet probes. The computer 72 | eventually designed, built, and used for the Viking Orbiter had its 73 | roots in the programmable sequencer, but it also owed some \pagebreakon{149} 74 | concepts, at least in comparison, to a computer built in the research 75 | side of JPL and aimed at the long-duration, complex missions of the 76 | future. The story of that computer research project adds a necessary 77 | perspective for understanding the direction JPL's on-board computer 78 | development took in the 1970s. 79 | --------------------------------------------------------------------------------