At roughly 4pm on July 20, 1969, mankind was just minutes away from landing on the surface of the moon. But before the astronauts began their final descent, an emergency alarm lit up. Something was overloading the computer, and threatened to abort the landing.
Vào khoảng 4 giờ chiều ngày 20, tháng 7, năm 1969, chỉ còn cách vài phút bay nữa chúng ta sẽ hạ cánh lên Mặt Trăng. Nhưng trước khi bắt đầu lần hạ độ cao cuối, đèn báo động khẩn cấp đã sáng lên. Có thứ gì đó làm quá tải máy tính, và đe dọa hủy bỏ việc hạ cánh.
Back on Earth, Margaret Hamilton held her breath. She'd led the team developing the pioneering in-flight software, so she knew this mission had no room for error. But the nature of this last-second emergency would soon prove her software was working exactly as planned.
Ở Trái Đất, Margaret Hamilton cũng nín thở. Cô đã dẫn dắt nhóm phát triển phần mềm bay đầu tiên này, và cô hiểu sứ mệnh Apollo không được phép xảy ra lỗi Nhưng sự cố báo động này sẽ chỉ ra phần mềm của cô đã hoạt động chính xác.
Born 33 years earlier in Paoli, Indiana, Hamilton had always been inquisitive. In college, she studied mathematics and philosophy, before taking a research position at the Massachusetts Institute of Technology to pay for grad school. Here, she encountered her first computer while developing software to support research into the new field of chaos theory.
Sinh ra ở Paoli, Indiana, 33 năm trước đó, Hamilton là người luôn tò mò. Ở trường đại học, cô theo học ngành toán và triết học, trước đó cô tham gia nghiên cứu ở Viện Công Nghệ Massachusetts để kiếm tiền trả học phí. Ở đó, cô lần đầu tiếp xúc máy tính khi phát triển phần mềm hỗ trợ nghiên cứu về Thuyết Hỗn Mang.
Next at MIT's Lincoln Laboratory, Hamilton developed software for America’s first air defense system to search for enemy aircraft. But when she heard that renowned engineer Charles Draper was looking for help sending mankind to the moon, she immediately joined his team.
Sau đó tại Phòng Lab Lincoln tại MIT, Hamilton đã phát triển phần mềm cho hệ thống phòng không đầu tiên ở Mỹ nhằm phát hiện máy bay của kẻ thù. Khi biết kĩ sư nổi tiếng Charles Draper đang cần sự trợ giúp để đưa người lên Mặt Trăng. Ngay lập tức cô đã tham gia.
NASA looked to Draper and his group of over 400 engineers to invent the first compact digital flight computer, the Apollo Guidance Computer. Using input from astronauts, this device would be responsible for guiding, navigating and controlling the spacecraft. At a time when unreliable computers filled entire rooms, the AGC needed to operate without any errors, and fit in one cubic foot of space.
NASA trông mong Draper và nhóm của ông với hơn 400 kỹ sư phát triển máy tính điều khiển bay thu nhỏ đầu tiên, Máy Tính Điều Khiển Apollo (AGC). Các phi hành gia sẽ nhập thông tin, và thiết bị này sẽ giúp hướng dẫn, điều hướng cũng như kiểm soát tàu vũ trụ. Giữa một đống máy tính chất đầy trong các căn phòng lúc đó, thì AGC cần vận hành thật hoàn hảo, mà với kích thước chỉ bằng 0.028 mét khối.
Draper divided the lab into two teams, one for designing hardware and one for developing software. Hamilton led the team that built the on-board flight software for both the Command and Lunar Modules. This work, for which she coined the term “software engineering," was incredibly high stakes. Human lives were on the line, so every program had to be perfect. Margaret’s software needed to quickly detect unexpected errors and recover from them in real time.
Draper đã chia nhân sự thành hai nhóm, nhóm thiết kế phần cứng, và nhóm còn lại phát triển phần mềm. Hamilton chỉ dẫn nhóm phát triển phần mềm cho hai mô-đun Chỉ Huy và Mặt Trăng. Từ đó, cô đã đưa ra khái niệm “Kỹ Thuật Phần Mềm,” với rủi ro khá lớn. Sinh mạng của tổ lái đặt cược vào thiết bị liên lạc, vì thế mà chương trình phải chạy thật hoàn hảo. Phần mềm của Margaret cần nhanh chóng phát hiện những sự cố phát sinh và khắc phục ngay tức thì.
But this kind of adaptable program was difficult to build, since early software could only process jobs in a predetermined order. To solve this problem, Margaret designed her program to be “asynchronous,” meaning the software's more important jobs would interrupt less important ones. Her team assigned every task a unique priority to ensure that each job occurred in the correct order and at the right time— regardless of any surprises.
Nhưng rất khó phát triển kiểu phần mềm linh hoạt, vì phần mềm chỉ có thể xử lý tác vụ được cho trước. Và để giải quyết, Margaret đã thiết kế ra kỹ thuật “bất đồng bộ” cho phần mềm, có nghĩa là phần mềm sẽ luôn ưu tiên xử lý các tác vụ quan trọng. Nhóm phát triển đã gán cho mỗi tác vụ một thứ tự ưu tiên duy nhất để đảm bảo thứ tự ưu tiên hợp lý ở mỗi thời điểm— kể cả các trường hợp bất ngờ.
After this breakthrough, Margaret realized her software could help the astronauts work in an asynchronous environment as well. She designed Priority Displays that would interrupt astronaut’s regularly scheduled tasks to warn them of emergencies. The astronaut could then communicate with Mission Control to determine the best path forward. This marked the first time flight software communicated directly— and asynchronously— with a pilot.
Sau đột phá này, Margaret nhận ra nó cũng có thể giúp tổ lái hoạt động ở một môi trường phi trật tự. Cô thiết kế viết phần mềm Hiển Thị Độ Ưu Tiên bỏ qua lịch trình bay thông thường để cảnh báo khẩn cấp khi có sự cố. Từ đó tổ lái sẽ liên lạc với Trung Tâm Kiểm Soát để xác định quỹ đạo phù hợp. Đó là lần đầu tiên phần mềm bay tương tác trực tiếp— theo phương thức phi trật tự— với phi công.
It was these fail safes that triggered the alarms just before the lunar landing. Buzz Aldrin quickly realized his mistake— he’d inadvertently flipped the rendezvous radar switch. This radar would be essential on their journey home, but here it was using up vital computational resources. Fortunately, the Apollo Guidance Computer was well equipped to manage this. During the overload, the software restart programs allowed only the highest priority jobs to be processed— including the programs necessary for landing. The Priority Displays gave the astronauts a choice— to land or not to land. With minutes to spare, Mission Control gave the order.
Chính các yếu tố bảo đảm này đã kích hoạt báo động trước khi hạ cánh. Buzz Aldrin đã nhanh chóng nhận ra— anh ấy đã tình cờ gạt công tắc của rada tiếp cận. Đó là rada phục vụ cho chuyến hành trình trở về, nhưng nó đã ngốn một lượng tài nguyên quan trọng của máy tính. May thay, AGC đã được trang bị để xử lý việc này. Khi quá tải, phần mềm sẽ khởi động lại và chỉ cho phép thực hiện các tác vụ có mức độ ưu tiên cao nhất— bao gồm các chương trình cần thiết cho việc hạ cánh. Chương trình Hiển Thị Độ Ưu Tiên đã đưa ra lựa chọn cho phi hành gia— hạ cánh hay trở về Trái Đất. Sau vài phút ngập ngừng, Trung Tâm Kiểm Soát đã ra lệnh hạ cánh.
The Apollo 11 landing was about the astronauts, Mission Control,
Sứ mệnh Apollo 11 là câu chuyện
software and hardware all working together as an integrated system of systems. Hamilton’s contributions were essential to the work of engineers and scientists inspired by President John F. Kennedy’s goal to reach the Moon. And her life-saving work went far beyond Apollo 11— no bugs were ever found in the in-flight software for any crewed Apollo missions.
về các phi hành gia, Trung Tâm Kiểm Soát phần mềm, phần cứng, mọi thứ cùng hoạt động như một hệ thống tích hợp liền mạch. Đóng góp của Hamilton rất quan trọng đối với các kỹ sư, các nhà khoa học được truyền cảm hứng bởi mục tiêu vươn tới Mặt Trăng của tổng thống John F. Kennedy. Đóng góp của cô không chỉ ở sứ mệnh Apollo 11— Trên các hành trình Apollo về sau, phần mềm bay không hề phát sinh thêm bug.
After her work on Apollo, Hamilton founded a company that uses its unique universal systems language to create breakthroughs for systems and software. In 2003, NASA honored her achievements with the largest financial award they’d ever given to an individual. And 47 years after her software first guided astronauts to the moon, Hamilton was awarded the Presidential Medal of Freedom for changing the way we think about technology.
Sau sứ mệnh Apollo, cô đã thành lập công ty tự phát triển và sử dụng ngôn ngữ lập trình Mô Hình Hóa Hệ Thống để thiết kế các hệ thống phần mềm đột phá. Năm 2003, NASA đã vinh danh những thành tựu của cô với giải thưởng tài chính to lớn nhất dành cho các cá nhân. Sau 47 năm kể từ khi phần mềm bay cùng các phi hành gia hạ cánh lên Mặt Trăng, Hamilton đã được trao tặng Huân Chương Tự Do Tổng Thống vì đã khiến mọi người thay đổi suy nghĩ về công nghệ.