# Tranquility Base

**URL:** <https://boards.straightdope.com/t/tranquility-base/780026>\
**Category:** Factual Questions\
**Created:** [February 17, 2017, 3:51am UTC](https://boards.straightdope.com/t/tranquility-base/780026 "2017-02-17T03:51:53Z")\
**Posts on this page:** 20\
**Page:** 2

<div class="post-metadata">

**Author:** ![Francis\_Vaughan](https://sea3.discourse-cdn.com/straightdope/user_avatar/boards.straightdope.com/francis_vaughan/32/3093_2.png) [@Francis\_Vaughan](https://boards.straightdope.com/u/Francis_Vaughan)\
**Post date:** [February 18, 2017, 2:09pm UTC](https://boards.straightdope.com/t/tranquility-base/780026/21 "2017-02-18T14:09:40Z")

</div>

> [@TSBG](#):
>
> **Francis Vaughan** , can you suggest a fuller account of this in book or documentary film?

My favourite book would be “[Apollo the Race for the Moon](https://www.amazon.com/Apollo-Race-Moon-Charles-Murray/dp/0671611011)” Catherine Cox, Charles Murray. It provides a good account, and focusses of technical and managerial issues, not the astronauts.

The “Moon Machines” documentary series, episode 3, had a good coverage of some aspects as well.

---

<div class="post-metadata">

**Author:** ![joema](https://avatars.discourse-cdn.com/v4/letter/j/a9adbd/32.png) [@joema](https://boards.straightdope.com/u/joema)\
**Post date:** [February 18, 2017, 2:10pm UTC](https://boards.straightdope.com/t/tranquility-base/780026/22 "2017-02-18T14:10:52Z")

</div>

[QUOTE=RedSwinglineOne]

designed to prioritize its workload and all the “important” computations were handled.

> [@dropzone](#):
>
> Computers can do that? Did you hear that, Microsoft? 😉

[/QUOTE]

Microsoft Windows has been able to do this since 2007. It is called Quota-based CPU scheduling and (if used) it prevents a runaway thread or process from monopolizing the CPU:

> **[CPU rate limits in Windows Server 2008 R2 and Windows 7](https://learn.microsoft.com/en-us/previous-versions/windows/it-pro/windows-server-2008-R2-and-2008/ff384148(v=ws.10)?redirectedfrom=MSDN)**

Windows has offered Structured Exception Handling since the mid-1990s which allows an app to keep running if a thread crashes (if the developer properly uses that feature): [https://www.microsoft.com/msj/0197/Exception/Exception.aspx](https://www.microsoft.com/msj/0197/Exception/Exception.aspx)

It’s important to understand the LM flight control computer was a real-time, life-critical embedded application. You don’t compare that to a general-purpose operating system, whether it’s Windows or IBM OS/360. General-purpose operating systems have a lot more code and are not tested to the same level as an embedded real time system. If Apple or Microsoft spent the same developer labor hours per line of code that NASA spent on the LM or Shuttle flight control computers, macOS and Windows would probably cost $1,000 per copy.

That said, there is an embedded version of Windows which is optimized for real time use: [https://www.youtube.com/watch?v=JboSR\_fn4LM](https://www.youtube.com/watch?v=JboSR_fn4LM)

But you wouldn’t use it in an aircraft flight control system. It was formerly called Windows Embedded and it’s now called Windows 10 IoT Core: [https://developer.microsoft.com/en-us/windows/iot/explore/iotcore](https://developer.microsoft.com/en-us/windows/iot/explore/iotcore)

No Apollo computer ever crashed during a mission except for the Apollo 12 ascent when the Saturn V was hit by lightning. That caused an AGC “hardware restart” and it rebooted itself. Fortunately the Saturn V computer did not crash, which would have caused a launch abort. The Apollo computers were custom made from a component level and were so expensive that it was unaffordable for the shuttle program, which used off-the-shelf IBM hardware. Several times a computer crashed during a shuttle mission but they were 4-way redundant with a 5th backup computer, so it never immediately jeopardized safety.

The Apollo LM was the first use of a digital fly-by-wire control system, and it had a separate backup computer. If both computers failed, unlike the shuttle it was capable of flying key mission segments without any computer whatsoever. It used separate, independent wiring and separate thruster control solenoids which enabled a fully manual, non-computerized contingency control pathway.

Use of any of those would be an abort case and would terminate the lunar mission, so that’s what the concern was during the Apollo 11 lunar descent. They had a backup computer but switching to that mandated an abort.

---

<div class="post-metadata">

**Author:** ![Francis\_Vaughan](https://sea3.discourse-cdn.com/straightdope/user_avatar/boards.straightdope.com/francis_vaughan/32/3093_2.png) [@Francis\_Vaughan](https://boards.straightdope.com/u/Francis_Vaughan)\
**Post date:** [February 18, 2017, 3:28pm UTC](https://boards.straightdope.com/t/tranquility-base/780026/23 "2017-02-18T15:28:54Z")

</div>

> [@joema](#):
>
> The Apollo computers were custom made from a component level and were so expensive that it was unaffordable for the shuttle program, which used off-the-shelf IBM hardware.

I think it would also be fair to say that technology had advanced so far as to have already made the Apollo computers quite obsolete by the time the shuttle design was frozen. The IBM Sysetm 4/Pi series were a major leap ahead, and represented a generational change. The Apollo computer used 3 input RTL NOR gate logic, the Pi uses 54 series TTL. That simply didn’t exist when the Apollo computer was being designed. Indeed even the RTL chips were bleeding edge, and cost $1000 each (for a single 3 input NOR gate) at the start of the project. The IBM System 4 AP 101 version was a modern microcoded design. Quite recognisable as a general purpose computer. Even Skylab used the AP 101.

To add. The Apollo computers were also totally unsuited to really any other purpose. They were hard programmed using “rope memory”. It was not possible to change the code in an Apollo computer. It was welded (actually woven in) during manufacture. By the time the Shuttle was being constructed the facility that made the rope memory had been decommissioned. Its last ever job was weaving memory containing some of the the first full fly by wire systems test code - which used a left over Apollo computer and bits mounted in a jet fighter.

---

<div class="post-metadata">

**Author:** ![joema](https://avatars.discourse-cdn.com/v4/letter/j/a9adbd/32.png) [@joema](https://boards.straightdope.com/u/joema)\
**Post date:** [February 18, 2017, 6:27pm UTC](https://boards.straightdope.com/t/tranquility-base/780026/24 "2017-02-18T18:27:01Z")

</div>

> [@Francis\_Vaughan](#):
>
> …The Apollo computers were also totally unsuited to really any other purpose. They were hard programmed using “rope memory”. It was not possible to change the code in an Apollo computer. It was welded (actually woven in) during manufacture. By the time the Shuttle was being constructed the facility that made the rope memory had been decommissioned…

To clarify, the shuttle also used magnetic core memory (though not rope-style) and continued doing this until the AP-101S retrofit in 1991. However the shuttle core memory could be loaded from tape, whereas the Apollo core memory was manufactured to hold programming specific to each mission.

The overall principal and appearance is similar, just a different level of miniaturization. They were all manufactured by hand, through the 1970s.

Apollo AGC magnetic core rope memory: [http://archive.computerhistory.org/resources/access/physical-object/2009/04/XD115-76.01.11.lg.jpg](http://archive.computerhistory.org/resources/access/physical-object/2009/04/XD115-76.01.11.lg.jpg)

Apollo AGC magnetic core “RAM” memory: [File:Apollo 1024 bit core memory module.jpg - Wikimedia Commons](https://commons.wikimedia.org/wiki/File:Apollo_1024_bit_core_memory_module.jpg)

Late 1970s magnetic core memory: [32K word magnetic core memory board - CHM Revolution](http://www.computerhistory.org/revolution/memory-storage/8/263/1090)

---

<div class="post-metadata">

**Author:** ![Weisshund](https://avatars.discourse-cdn.com/v4/letter/w/ba8739/32.png) [@Weisshund](https://boards.straightdope.com/u/Weisshund)\
**Post date:** [February 18, 2017, 7:36pm UTC](https://boards.straightdope.com/t/tranquility-base/780026/25 "2017-02-18T19:36:28Z")

</div>

It’s a good thing the computer did not have voice capabilities back then, i can hear it now

“I’m sorry Neil, i can not do that”

---

<div class="post-metadata">

**Author:** ![Musicat](https://sea3.discourse-cdn.com/straightdope/user_avatar/boards.straightdope.com/musicat/32/20189_2.png) [@Musicat](https://boards.straightdope.com/u/Musicat)\
**Post date:** [February 18, 2017, 7:58pm UTC](https://boards.straightdope.com/t/tranquility-base/780026/26 "2017-02-18T19:58:00Z")

</div>

> [@joema](#):
>
> Microsoft Windows has been able to do this since 2007. It is called Quota-based CPU scheduling and (if used) it prevents a runaway thread or process from monopolizing the CPU…

Let’s see…1969 to 2007 = 38 years to figure this out. Sounds about right for Microsoft.

---

<div class="post-metadata">

**Author:** ![Northern\_Piper](https://sea3.discourse-cdn.com/straightdope/user_avatar/boards.straightdope.com/northern_piper/32/5304_2.png) [@Northern\_Piper](https://boards.straightdope.com/u/Northern_Piper)\
**Post date:** [February 18, 2017, 8:07pm UTC](https://boards.straightdope.com/t/tranquility-base/780026/27 "2017-02-18T20:07:49Z")

</div>

Was the take-off fuel for the Lunar Module different from the landing fuel? Is that what is meant by the LM almost being out of fuel on the descent? They still had fuel to take off, obviously.

---

<div class="post-metadata">

**Author:** ![chacoguy](https://avatars.discourse-cdn.com/v4/letter/c/50afbb/32.png) [@chacoguy](https://boards.straightdope.com/u/chacoguy)\
**Post date:** [February 18, 2017, 8:12pm UTC](https://boards.straightdope.com/t/tranquility-base/780026/28 "2017-02-18T20:12:35Z")

</div>

Different Engines.

---

<div class="post-metadata">

**Author:** ![K364](https://sea3.discourse-cdn.com/straightdope/user_avatar/boards.straightdope.com/k364/32/5_2.png) [@K364](https://boards.straightdope.com/u/K364)\
**Post date:** [February 18, 2017, 8:25pm UTC](https://boards.straightdope.com/t/tranquility-base/780026/29 "2017-02-18T20:25:17Z")

</div>

> [@Northern\_Piper](#):
>
> Was the take-off fuel for the Lunar Module different from the landing fuel? Is that what is meant by the LM almost being out of fuel on the descent? They still had fuel to take off, obviously.

Two different stages each with their own tanks and rocket engines: [https://en.wikipedia.org/wiki/Apollo\_Lunar\_Module#/media/File:LM\_illustration\_02.jpg](https://en.wikipedia.org/wiki/Apollo_Lunar_Module#/media/File:LM_illustration_02.jpg)

---

<div class="post-metadata">

**Author:** ![ssgenius](https://avatars.discourse-cdn.com/v4/letter/s/b5ac83/32.png) [@ssgenius](https://boards.straightdope.com/u/ssgenius)\
**Post date:** [February 19, 2017, 12:31am UTC](https://boards.straightdope.com/t/tranquility-base/780026/30 "2017-02-19T00:31:36Z")

</div>

> [@joema](#):
>
> In this custom audio edit I did of the Apollo 11 lunar landing, you can hear the flight controllers and “back room” computer specialists working on the problem throughout the landing. A key person was 24-yr-old Jack Garman, credited with saving the mission.
> 
> 4MB .mp3: [Apollo\_11\_Landing.mp3 - Google Drive](https://docs.google.com/file/d/0B68EcQJkG9eeaDl6UnR0T3pWbGc/edit)
> 
> Rough transcript inc’l background: [Apollo 11 lunar landing audio - Flight and Guidance loops](http://forum.nasaspaceflight.com/index.php?topic=35230.msg1229852)
> 
> Garman receiving awards for his quick thinking: [https://joema.smugmug.com/Aerospace/Jack-Garman-and-Apollo-11/](https://joema.smugmug.com/Aerospace/Jack-Garman-and-Apollo-11/)

Of note, Jack Garmin, who was 24 years old at the time of the landing, passed away last year:(

---

<div class="post-metadata">

**Author:** ![joema](https://avatars.discourse-cdn.com/v4/letter/j/a9adbd/32.png) [@joema](https://boards.straightdope.com/u/joema)\
**Post date:** [February 19, 2017, 12:46am UTC](https://boards.straightdope.com/t/tranquility-base/780026/31 "2017-02-19T00:46:03Z")

</div>

> [@Musicat](#):
>
> Let’s see…1969 to 2007 = 38 years to figure this out. Sounds about right for Microsoft.

Quota-based (sometimes called class-based) scheduling has been used in general-purpose operating systems since at least the 1980s. Dave Cutler who led development of DEC’s VAX/VMS operating system also led the development of Windows NT in the early 1990s.

Dave was well aware of the pros and cons of using a quota-based thread scheduler in Windows NT, and generally felt it wasn’t worth the complexity and risk. This was a carefully-measured, informed decision based on vast experience. Some minicomputer operating systems such as Data General’s AOS/VS II had used quota-based process scheduling since the mid-1980’s, and it could easily cause problems.

The problem is the preemptive scheduler is frequently invoked – every 10 milliseconds on some machines. This is driven by a hardware interrupt from a programmable interval timer. The scheduling algorithm must be quite simple else it degrades performance. The user or administrator must define groups or classes for processes and assign CPU quotas to them. If done incorrectly it will artificially cap performance, yet the vast majority of time it’s not needed.

In operating system design there is a general tradeoff between overall throughput vs latency. Windows and most other general purpose operating systems are designed for maximum throughput not minimum latency. A real time operating system can afford to trade total throughput for reduced latency and/or better control over task scheduling.

Without classes or quotas, the typical scheduling algorithm is very simple – highest priority thread in a runnable state is dispatched to an available CPU or core. Some operating systems dynamically bump priorities up and down within a range, but the general algorithm must by necessity be quite simple.

The Apollo AGC used a highly specialized real time operating system, much like runs embedded real time control systems in aircraft and elevators. It did not have to handle thousands of threads, gigabytes of RAM, terabytes of storage, and a complex GUI as today’s computers do. On such a rudimentary single-purpose computer, it was much easier to implement an interrupt-driven arrangement of task priorities which would exhibit predictable latency and would gracefully degrade with increasing load.

---

<div class="post-metadata">

**Author:** ![Francis\_Vaughan](https://sea3.discourse-cdn.com/straightdope/user_avatar/boards.straightdope.com/francis_vaughan/32/3093_2.png) [@Francis\_Vaughan](https://boards.straightdope.com/u/Francis_Vaughan)\
**Post date:** [February 19, 2017, 6:30am UTC](https://boards.straightdope.com/t/tranquility-base/780026/32 "2017-02-19T06:30:50Z")

</div>

> [@joema](#):
>
> To clarify, the shuttle also used magnetic core memory (though not rope-style)

The difference between core and rope is the same as between RAM and ROM. The Apollo computer stored its entire program code in ROM - which was implemented as rope memory. Rope operates similarly to conventional core, but rather than the values being stored as the (changeable) magnetisation direction in a core, the values were forced into the construction of the memory by the direction the wire passed through the core. The big difference is that the rope memory cores could take up to 128 sense wires (later 192). This meant that a single core could be used to implement up to 128 bits of read only memory. Each module contained 512 cores, and thus up to 65k bits of ROM. But it was impossibly to modify the contents. Especially after the module had been potted.

The [MIT Science Reporter video](https://www.youtube.com/watch?v=ndvmFlg1WmE) on the construction of the computer shows some detail of the construction. However I think the part of the video describing the construction of the logic modules is for the Block-1 computer, as the Block-2 modules were soldered rather than welded (and used the afore mentioned dual RTL 3 input NOR gates.)

---

<div class="post-metadata">

**Author:** ![davidm](https://sea3.discourse-cdn.com/straightdope/user_avatar/boards.straightdope.com/davidm/32/225_2.png) [@davidm](https://boards.straightdope.com/u/davidm)\
**Post date:** [March 4, 2017, 5:17pm UTC](https://boards.straightdope.com/t/tranquility-base/780026/33 "2017-03-04T17:17:46Z")

</div>

Original Apollo 11 Guidance Computer (AGC) source code for the command and lunar modules.

> **[GitHub - chrislgarry/Apollo-11: Original Apollo 11 Guidance Computer (AGC)...](https://github.com/chrislgarry/Apollo-11)**
>
> Original Apollo 11 Guidance Computer (AGC) source code for the command and lunar modules. - GitHub - chrislgarry/Apollo-11: Original Apollo 11 Guidance Computer (AGC) source code for the command an...

Apollo guidance computer instruction set.

> **[1689.pdf](https://authors.library.caltech.edu/5456/1/hrst.mit.edu/hrs/apollo/public/archive/1689.pdf)**
>
> 1778.41 KB

Wikipedia entry on the Apollo guidance computer.&nbsp; (Lots of cool links)  
&nbsp;[Apollo Guidance Computer - Wikipedia](https://en.m.wikipedia.org/wiki/Apollo_Guidance_Computer)

---

<div class="post-metadata">

**Author:** ![Xema](https://avatars.discourse-cdn.com/v4/letter/x/9de053/32.png) [@Xema](https://boards.straightdope.com/u/Xema)\
**Post date:** [March 4, 2017, 6:44pm UTC](https://boards.straightdope.com/t/tranquility-base/780026/34 "2017-03-04T18:44:15Z")

</div>

> [@JKellyMap](#):
>
> NASA knew Neil was the guy for moments like this …

I know a man who knew Neil Armstrong, many of the other astronauts and plenty of folks in NASA.

His summary of the opinions of nearly all these folks: “It’s possible the US has never produced anyone cooler under pressure than Neil Armstrong.”

---

<div class="post-metadata">

**Author:** ![Weisshund](https://avatars.discourse-cdn.com/v4/letter/w/ba8739/32.png) [@Weisshund](https://boards.straightdope.com/u/Weisshund)\
**Post date:** [March 4, 2017, 6:53pm UTC](https://boards.straightdope.com/t/tranquility-base/780026/35 "2017-03-04T18:53:28Z")

</div>

> [@Mangetout](#):
>
> I think the suits were pretty absorbent.

I just wanted to interject that the absorbency might help if you piss yourself, but i’m not quite sure it’s going to help when you have now weightless turds floating around in your suit. :eek:

I’m kidding of course, the suits had to have some way of containing solid waste, but i am really scared to look up and see how

---

<div class="post-metadata">

**Author:** ![Banksiaman](https://sea3.discourse-cdn.com/straightdope/user_avatar/boards.straightdope.com/banksiaman/32/3334_2.png) [@Banksiaman](https://boards.straightdope.com/u/Banksiaman)\
**Post date:** [March 5, 2017, 12:09am UTC](https://boards.straightdope.com/t/tranquility-base/780026/36 "2017-03-05T00:09:34Z")

</div>

Thanks folks - a great collection of links and commentary that bring home just how amazing an achievement it was.

Nothing taken away from the Mercury and earlier Apollo missions that paved the way, but this does remain the greatest human event of my lifetime.

---

<div class="post-metadata">

**Author:** ![Northern\_Piper](https://sea3.discourse-cdn.com/straightdope/user_avatar/boards.straightdope.com/northern_piper/32/5304_2.png) [@Northern\_Piper](https://boards.straightdope.com/u/Northern_Piper)\
**Post date:** [March 5, 2017, 1:37am UTC](https://boards.straightdope.com/t/tranquility-base/780026/37 "2017-03-05T01:37:10Z")

</div>

> [@K364](#):
>
> > [@Northern\_Piper](#):
> >
> > Was the take-off fuel for the Lunar Module different from the landing fuel? Is that what is meant by the LM almost being out of fuel on the descent? They still had fuel to take off, obviously.
> 
> Two different stages each with their own tanks and rocket engines: [https://en.wikipedia.org/wiki/Apollo\_Lunar\_Module#/media/File:LM\_illustration\_02.jpg](https://en.wikipedia.org/wiki/Apollo_Lunar_Module#/media/File:LM_illustration_02.jpg)

Thanks for the explanation.

---

<div class="post-metadata">

**Author:** ![gaffa](https://avatars.discourse-cdn.com/v4/letter/g/e68b1a/32.png) [@gaffa](https://boards.straightdope.com/u/gaffa)\
**Post date:** [March 5, 2017, 3:05am UTC](https://boards.straightdope.com/t/tranquility-base/780026/38 "2017-03-05T03:05:03Z")

</div>

> [@JKellyMap](#):
>
> Awesome, joema (again).
> 
> NASA knew Neil was the guy for moments like this, based on the huge brass testicles he demonstrated a couple years previously, when his Gemini craft starting spinning out of control and he got it back to rights.

…or when he was testing the first Lunar Landing Research Vehicle. [From Wikipedia](https://en.wikipedia.org/wiki/Lunar_Landing_Research_Vehicle):

On May 6, 1968 Armstrong was forced to use LLRV #1’s ejection seat from about 200 feet (60 m) altitude after a control problem, and had about four seconds on his full parachute before landing on the ground unhurt. The accident investigation board found that the fuel for the vehicle’s attitude control thrusters had run out, and that high winds were a major factor. As a result, the decision was made by JSC management to terminate further LLRV flights as the first LLTV was about to be shipped from Bell to Ellington to begin ground and flight testing.

When Neil died, the world’s supply of balls dropped significantly.

---

<div class="post-metadata">

**Author:** ![chacoguy](https://avatars.discourse-cdn.com/v4/letter/c/50afbb/32.png) [@chacoguy](https://boards.straightdope.com/u/chacoguy)\
**Post date:** [March 5, 2017, 7:57am UTC](https://boards.straightdope.com/t/tranquility-base/780026/39 "2017-03-05T07:57:17Z")

</div>

[Lunar Landing Research Vehicle](https://www.youtube.com/watch?v=mBlNfFcV6ns)

[There is no possibility that he blew the line.](http://www.space.com/17307-neil-armstrong-one-small-step-quote.html)

Yeah, he came within fifteen seconds of killing himself and his friend, as well as stranding them on the Moon, and then, chokes on a line in in a High School play.

Yeah, not so much.

Oh yeah, and he requested to be buried at sea, so his grave wouldn’t become a shrine.

---

<div class="post-metadata">

**Author:** ![LSLGuy](https://sea3.discourse-cdn.com/straightdope/user_avatar/boards.straightdope.com/lslguy/32/5813_2.png) [@LSLGuy](https://boards.straightdope.com/u/LSLGuy)\
**Post date:** [March 5, 2017, 12:04pm UTC](https://boards.straightdope.com/t/tranquility-base/780026/40 "2017-03-05T12:04:57Z")

</div>

> [@gaffa](#):
>
> …or when he was testing the first Lunar Landing Research Vehicle. [From Wikipedia](https://en.wikipedia.org/wiki/Lunar_Landing_Research_Vehicle):
> 
> On May 6, 1968 Armstrong was forced to use LLRV #1’s ejection seat from about 200 feet (60 m) altitude after a control problem, and had about four seconds on his full parachute before landing on the ground unhurt. The accident investigation board found that the fuel for the vehicle’s attitude control thrusters had run out, and that high winds were a major factor. As a result, the decision was made by JSC management to terminate further LLRV flights as the first LLTV was about to be shipped from Bell to Ellington to begin ground and flight testing.
> 
> When Neil died, the world’s supply of balls dropped significantly.

And after he got on the ground he went back to the office and worked the rest of his shift doing whatever administrivia he’d planned to do before the near-fatal accident.

I’ve known some pretty cold dudes. But that takes the cake.

[Previous page](https://boards.straightdope.com/t/tranquility-base/780026.md?page=1)

[Next page](https://boards.straightdope.com/t/tranquility-base/780026.md?page=3)
