Trong một năm thảm họa, vẫn có những khoảng khắc tuyệt vời. Ngày 30 tháng Năm vừa qua đã đánh dấu một cột mốc mới cho ngành hàng không vũ trụ Mỹ khi Crew Dragon, tàu vũ trụ tư nhân đầu tiên đưa thành công các phi hành gia Mỹ lên trạm vũ trụ ISS. Con tàu vũ trụ này được đưa ra ngoài không gian bằng tên lửa tái sử dụng Falcon 9 của SpaceX.
Vậy điều gì giúp Falcon 9 làm được điều này? Nói theo một cách nào đó, nhờ vào oxy lỏng, nhiên liệu dễ cháy và Linux – hệ điều hành nền tảng cho các siêu máy tính, thiết bị IoT, và vô số thiết bị quan trọng khác – và ba CPU loại cũ.
Tên lửa Falcon 9 được phóng lên, đưa tàu vũ trụ Crew Dragon vào không gian
Các CPU cũ kỹ
Khác với tưởng tượng mọi người về một thứ tưởng chừng tân tiến như tên lửa Falcon 9, hệ điều hành của nó thực ra là một phiên bản rút gọn của Linux chạy trên 3 bộ xử lý x86 dual-core cũ kỹ. Phần mềm điều khiển hoạt động bay của nó chạy trên một bộ xử lý riêng biệt và được viết bằng C/C++.
Cũ kỹ và tầm thường? Đúng vậy. Các CPU cho tàu vũ trụ lại không phải là các bộ xử lý mới nhất hay mạnh nhất. Chúng được phát triển cho tàu vũ trụ - những phương tiện mất đến hàng năm trời, thậm chí vài chục năm trời, để đi từ bản thiết kế nháp thành một tên lửa trên bệ phóng. Vì vậy, chúng thường khá cũ kỹ - nếu không muốn nói là cổ lỗ so với các thiết bị điện tử tiêu dùng.
Ví dụ, trạm không gian vũ trụ ISS hiện vẫn đang dùng các CPU Intel 80368SX 20 MHz được phát triển từ năm 1988. Tuy nhiên chúng ta không biết chính xác Falcon 9 sử dụng bộ xử lý gì. Nhưng gần như chắc chắn rằng thiết kế của chúng đã cũ hơn cả thập kỷ so với các máy tính đang bán trong siêu thị điện máy.
Tất nhiên, ngoại trừ việc thực hiện các câu lệnh điều khiển trên các mạch ghép kênh và mạch giải ghép kênh (multiplexer-demultiplexer hay MDM), các con chip cũ kỹ này chẳng làm được việc gì khác. Còn đối với công việc hàng ngày, các phi hành gia sẽ sử dụng chiếc HP Zbook 15s chạy Debian Linux, Scientific Linux, và Windows 10. Trong khi các hệ điều hành Linux hoạt động như terminal điều khiển từ xa để ra lệnh tới các mạch MDM, hệ điều hành Windows được sử dụng cho email, web và giải trí.
Cho dù cũ kỹ như vậy, các con chip được sử dụng ngoài không gian cũng không phải loại bình thường. Chúng phải trải qua quá trình tôi luyện riêng để chống bức xạ. Nếu không, chúng sẽ nhanh hỏng dưới ảnh hưởng của bức xạ ion hóa và các tia vũ trụ.
Vì vậy những con chip này sẽ mất nhiều năm thiết kế và nhiều năm nữa để thử nghiệm trước khi chúng được chứng nhận có thể hoạt động trong môi trường không gian. Ví dụ, NASA dự kiến các chip đa dụng, thế hệ tiếp theo của họ, bộ xử lý ARM A53 – được sử dụng trên bo mạch Raspberry Pi 3 ra mắt từ năm 2016 – sẽ sẵn sàng hoạt động vào năm 2021. Trong khi đó, tầng thứ nhất của tên lửa Falcon 9 sẽ quay về Trái Đất để tái sử dụng nên nó không cần trải qua quá trình tôi luyện trên.
Được thu hồi sau khi phóng, con chip điều khiển trên tên lửa Falcon 9 không cần phải tôi luyện trong quá trình chống bức xạ.
Đảm bảo an toàn bằng phương pháp "nhắc tôi 3 lần"
Nhưng tại sao lại cần 3 bộ xử lý? Theo lý giải trên diễn đàn StackExchange Space Exploration, SpaceX sử dụng mô hình Actor-Judge để mang lại sự an toàn thông qua thiết kế dư thừa.
Theo mô hình này, mỗi khi một quyết định được đưa ra, nó được so sánh với kết quả từ các nhân xử lý khác. Nếu có bất kỳ bất đồng nào, quyết định sẽ được thu hồi và quá trình này sẽ được bắt đầu lại. Chỉ khi mọi bộ xử lý đều đưa ra cùng một câu trả lời thì câu lệnh mới được gửi tới cho các bộ vi điều khiển PowerPC.
Các bộ điều khiển này, có vai trò ra lệnh đánh lửa khởi động động cơ tên lửa, sẽ nhận lệnh từ mỗi bộ xử lý x86 trên. Nếu chuỗi 3 câu lệnh này giống hệt nhau, bộ vi điều khiển của động cơ sẽ thực hiện câu lệnh, nhưng nếu chỉ một trong 3 câu lệnh bị hỏng, bộ điều khiển sẽ thực hiện theo trình tự đúng trước đó. Còn nếu mọi thứ trở nên xấu hơn, Falcon 9 sẽ bỏ qua tất cả các câu lệnh không phù hợp của con chip.
Dù giao diện điều khiển bằng màn hình cảm ứng rất thuận tiện, các nút bấm vẫn được dự phòng trong trường hợp cảm ứng gặp trục trặc.
Điểm đặc biệt của quá trình "nhắc tôi 3 lần" tưởng như dư thừa này là mang lại khả năng tránh lỗi mà không phải trả tiền cho các con chip đắt tiền dành riêng cho nhiệm vụ không gian. Các máy bay hiện đại ngày nay, như các máy bay Airbus mới, cũng sử dụng cách tiếp cận tương tự đối với hệ thống điều khiển bay của họ.
Không chỉ tên lửa Falcon 9, bản thân tàu vũ trụ Crew Dragon cũng sử dụng Linux với phần mềm bay được viết bằng C++. Giao diện màn hình cảm ứng của con tàu được kiết xuất bằng Chromium và JavaScript. Do vậy, nếu có vấn đề trục trặc với màn hình cảm ứng, các phi hành gia vẫn có các nút bấm vật lý để điều khiển tàu vũ trụ.
Một lần nữa cảm ơn Linux, người hùng thầm lặng của thế giới, nền tảng vận hành cho những hệ thống bên dưới vô số hoạt động quan trọng ngày nay.
Tham khảo ZDNet