Apollo mission astronauts could be the first victims of a software error
On July 20, 1969, when the Apollo 11 moon landing module began the approach, the on-board computer indicated errors number 1201 and 1202, then rebooted itself.
Today, even on our home computers, viewing obscure and mysterious error codes is stressful. However, for astronauts in a small can in cold space, the error code meant life threatening. No wonder they asked the base in Houston for clarification.
Mysterious error 1201
If something happened to Neil Armstrong and his colleagues, they would become the first victims of a software error, they would be the first to be killed by the "bug" in the software. Fortunately, it ended well - Neil Armstrong took over the helm and landed alone - without computer support.
After a successful landing, the authors of the software began to look for the source of errors 1201 and 1202. It turned out that the on-board radar activated at the wrong moment and covered the computer with data. One of the procedures in the system assumed a reconstruction of the memory state (what can be called a "restart"), in conditions of data overloading. It just happened just before landing.
The activation of the radar finally was also able to be explained - one of the astronauts moved his switch at the wrong time and activated it when it should not be used.
74 kilobytes should be enough for everyone
The Apollo on-board computers were officially named Apollo Guidance Computer . During the flight to the moon, two devices were used: one on the command module and the other on the lunar module board. In their time, they were the latest acquisition of information technology thanks to very strong miniaturization. While a typical computer occupied the entire room, the AGC computer weighed only 32 kg and had sizes 61 by 32 by 17 centimeters. The power they took was 55 W - in space flight conditions it was necessary to take into account any energy expenditure.
These computers did not have any mass storage media known to us today. However, they used a ferrite core, woven by hand from ferrite rings threaded on threads. The storage capacity was 74 kilobytes, which served to store the navigation program and other subprograms needed during the flight and landing.
Apollo Guidance Computer was the first portable (!), Multitasking, programmable, interactive computers. They were also the first computers with these features that were of general use - they were not intended for a specific type of calculation or type of data being processed.
Can you trust zeros and ones
During the Apollo missions, for the first time, humanity entrusted software, not hardware. For the first time not only began to build new functions using software, but also decided to entrust him with the life and health of astronauts. Certainly they had to have doubts about this approach - the age of ubiquitous software has not come yet.
David C. Brock, director of the software department at the Computer History Museum, comments this way :
The computer was placed at the center of a very ambitious project. It was a real test for technology and related human beliefs and aspirations.
The code, which was run on both computers (they were practically identical but had other software), can now be viewed and analyzed on the popular GitHub . There are both modules - both the main unit and the lander. The whole takes about 145 thousand lines of code. Let's compare this for example to Facebook, whose source code today has about 62 million lines of code, and in a higher-level language than the assembler used in the Apollo Guidance Computer.
By browsing its code, you can find both interesting names and comments. For example, the procedure for starting engine ignition is called BURN_BABY_BURN
. In turn, check whether the position of the antenna, set manually by the astronaut, should be commented on: SEE IF HE'S NOT LYING
(see if it's a lie).
Since the mission, during which astronauts received errors 1201 and 1202, it is just 50 years. It is not only half a century of space exploration development, but also half a century of software engineering development.
Apollo mission astronauts could be the first victims of a software error
Comments
Post a Comment