08/10/2026 · VietTechies · Biên tập

Tại các nhà xưởng của Raytheon trong chương trình Apollo thập niên 1960, những nữ công nhân—được gọi thân thương là "những bà cụ" (Little Old Ladies)—đã tỉ mẩn luồn từng sợi dây đồng qua các lõi từ kim loại tí hon để chế tạo bộ nhớ chuyến bay. Mỗi lõi từ lưu trữ được 64 bit dữ liệu. Việc xỏ trực tiếp một sợi dây xuyên qua lõi từ tương ứng với bit 1, trong khi quấn sợi dây quanh lõi sẽ tạo thành bit 0. Dưới sự dẫn dắt của Margaret Hamilton, người quản lý nhóm phát triển phần mềm chuyến bay cho máy tính Apollo và cũng là người đề xuất thuật ngữ kỹ thuật phần mềm (software engineering), quy trình sản xuất thủ công này đã biến các lệnh kỹ thuật số thành phần cứng hữu hình phục vụ cho các sứ mệnh thám hiểm Mặt Trăng.
Mã nguồn được dệt trong kỷ nguyên vũ trụ
Phần mềm chuyến bay cho tàu vũ trụ Apollo được viết bằng một ngôn ngữ máy tính chuyên dụng có tên là Basic, hoạt động dưới sự điều hành của một trình thông dịch và hệ thống quản trị do Hal Laning thiết kế. Hamilton cùng các lập trình viên trong đội ngũ của bà đã soạn thảo các dòng lệnh bằng cách đục lỗ trên những chiếc thẻ giấy. Những chiếc thẻ này sau đó được đưa vào máy tính trung tâm Honeywell để mô phỏng và kiểm tra quá trình thực thi phần mềm. Khi các quy trình chuyến bay đã được thử nghiệm kỹ lưỡng qua mô phỏng và xác nhận hoàn toàn ổn định, thông số phần mềm mới được gửi đến nhà máy Raytheon. Tại đây, toàn bộ mã lệnh được dệt thủ công thành bộ nhớ dây lõi từ (core rope memory).
Những tuần lễ đóng băng và bộ nhớ bất tử
Việc chuyển đổi mã nguồn thành bộ nhớ dệt thủ công đòi hỏi quy trình phát triển phần mềm cực kỳ nghiêm ngặt. Công đoạn dệt sợi vào lõi từ tại Raytheon kéo dài nhiều tuần liên tục, và trong suốt khoảng thời gian đó, mọi hành vi chỉnh sửa mã nguồn đều bị đóng băng hoàn toàn. Dù tốn thời gian, phương pháp lưu trữ vật lý này lại mang đến độ bền vững vượt trội. Bởi logic của chương trình đã được gắn cố định vào cấu trúc dây dẫn, bộ nhớ này gần như bất tử trước các tác động vật lý. Trong vụ phóng tàu Apollo 12, khi một tia sét đánh thẳng vào tàu vũ trụ, bộ nhớ dây lõi từ vẫn sống sót vẹn toàn trước dòng điện cao áp mà không làm mất hay sai lệch bất kỳ dòng lệnh chuyến bay nào.
Dự đoán yếu tố con người
Trong quá trình kiểm thử chương trình trên các mô hình mô phỏng chuyến bay, Hamilton nhận thấy rằng sai sót thao tác của con người có thể khiến hệ thống gặp sự cố ngưng hoạt động. Nhận thức được nguy cơ các phi hành gia có thể vô tình chọn sai quy trình trong lúc bay, bà đã đề xuất bổ sung các đoạn mã kiểm tra lỗi mang tính phòng ngừa. Tuy nhiên, các quan chức NASA đã bác bỏ đề xuất này vì cho rằng nó quá mức cần thiết, đồng thời khẳng định rằng quá trình huấn luyện nghiêm ngặt sẽ giúp các phi hành gia không mắc phải lỗi thao tác. Dù bị ngăn cản tích hợp logic phòng vệ vào bản dựng phần mềm, Hamilton vẫn kiên trì thêm các chú thích cảnh báo rõ ràng vào tài liệu hướng dẫn chương trình để cảnh báo phi hành đoàn và các kỹ sư điều khiển sứ mệnh về rủi ro khi thực hiện sai thứ tự thao tác.
Sự chứng minh trên quỹ đạo Mặt Trăng
Mối quan ngại của Hamilton về an toàn phần mềm đã được thực tế chứng minh trong sứ mệnh Apollo 8. Một chuỗi thao tác ngoài dự kiến của phi hành gia trong chuyến bay đã kích hoạt một lỗi nghiêm trọng, xóa sạch toàn bộ dữ liệu dẫn đường lưu trong bộ nhớ máy tính. Các kỹ sư dưới mặt đất buộc phải khôi phục và truyền lại các thông số hướng dẫn mới để tái thiết lập lộ trình bay. Sự cố trên tàu Apollo 8 đã chứng minh rằng kiến trúc hệ thống bắt buộc phải tính đến khả năng xảy ra lỗi thao tác của con người, qua đó khẳng định kỹ thuật phần mềm là một ngành thiết kế thiết yếu đối với các hệ thống máy tính phức tạp.
Ảnh minh họa do AI tạo, không phải ảnh tư liệu.
Nguồn: History of software
