Space/Science — HabitableZone

Space/Science » in reply to Re: Lunar lander

As a software engineer who has worked on space systems

I can state that you're mistaken. The lunar lander computer was very limited, so yes, the programmers did have to employ a lot of optimizations. However, people who have not worked on space systems tend not to know about things like Single Event Upsets (SEUs) and the terrible effects they have on computer systems. SEUs are random bit errors caused by gamma and cosmic rays. Random bit errors can be a real bummer if they cause your computer to crash during a critical operation, such as a launch or lunar landing. That's why the main computers on the Shuttle used ferrite memory until 1991 and even the current computers are little more powerful than a Motorola 68000 CPU.

The higher background radiation level in space, especially cosmic and gamma rays, plays havoc with densely packed semiconductors. As the circuits become more tightly packed, they also become more vulnerable. Satellites with on-board processors like the old DSCS-III (my bird) or MilStar have to use very expensive radiation hardened chips to survive in space. They also use things like error detection and correction protocols throughout the system to detect and respond correctly to SEUs. Few terrestrial applications demand that level of protection.

Likewise, people who have not worked on mission critical realtime software tend to underestimate the difficulty in developing it. A BSOD takes on a whole new meaning when you're talking about life critical systems and an hourglass can get you killed in a realtime system.

The initial Shuttle code, following extensive reviews and development, ended up costing an estimated $1000 per line. However, when you consider that the lives of the crew and over billion dollars of hardware are at stake, it was money well spent.

Despite employing top notch programmers, the Apollo 11 mission almost failed due to computer problems during the landing phase. If you read the transcripts of the descent, you'll see references to "1201 alarms" where the system was overloaded. They came very close to having to abort. So did Apollo 14 due to computer problems.

Even with all of the reviews and expense, the Shuttle software wasn't error free when they started flying missions. I remember hearing a news report around 1982 or 83 where an engineer was running a software simulation. He found that under certain circumstances, the software would lock up and prevent the ET from being jettisoned. If that happened in flight, the Shuttle would've failed to achieve orbit and would've probably been destroyed on reentry. The Shuttle had already flown several missions before this error was discovered.

Here's a link to a NASA document about computers in space.

Most modern computer hardware would be a flaky mass of failures in the space environment. Most computer software would crash, as would the space systems that depended on it.

Log in or register to post.

The whole thread (15 posts)