Máy tính Windows 95 “đời cổ” chạy được Linux mới nhất: lập trình viên mất 6 năm để làm được điều này!
Một lập trình viên tên Hailey đã công bố trên nền tảng Codeberg một công cụ mang tên WSL9x, cho phép chạy kernel Linux hiện đại trên Windows 95 và các phiên bản Windows cũ hơn.
Đây là “Windows 9x Subsystem for Linux”, đồng thời chia sẻ trên mạng xã hội rằng đây có thể là một trong những “hack” vĩ đại nhất mà lập trình viên này từng thực hiện.
Chức năng cốt lõi của WSL9x là cho phép kernel Linux hiện đại (hiện tại là Linux kernel 6.19) chạy ở chế độ hợp tác bên trong kernel Windows 9x. Cả hai kernel cùng hoạt động ở mức quyền ring 0, cho phép người dùng sử dụng song song ứng dụng Windows 9x và Linux mà không cần khởi động lại.
Công cụ này gồm ba thành phần chính: một kernel Linux đã được chỉnh sửa, một driver VxD, và một chương trình client xử lý nhập/xuất qua console.
Khác với Windows Subsystem for Linux (WSL) chính thức của Microsoft, WSL9x không phụ thuộc vào công nghệ ảo hóa phần cứng, nên có khả năng tương thích rất cao, thậm chí hỗ trợ tối thiểu tới vi xử lý Intel 486.
Điều này đồng nghĩa với việc một chiếc máy tính cách đây 30 năm vẫn có thể chạy kernel Linux mới nhất, tận hưởng đầy đủ các tính năng như phân trang bộ nhớ, bảo vệ bộ nhớ và lập lịch ưu tiên (preemptive scheduling).
Hailey cho biết dự án này đã được ấp ủ suốt 6 năm, bắt nguồn từ dự án trước đó của cô là doslinux. Cô cũng nhấn mạnh trong phần mô tả rằng dự án được “proudly written without AI” – hoàn toàn viết tay, không sử dụng bất kỳ công cụ AI nào.
Điều thú vị là, đúng vào thời điểm WSL9x được công bố, cộng đồng phát triển Linux lại đang loại bỏ hỗ trợ cho CPU 486. Lập trình viên Ingo Molnar đã gửi bản vá để loại bỏ các tùy chọn build như CONFIG_M486SX, CONFIG_M486 và CONFIG_MELAN, dự kiến sẽ được hợp nhất trong Linux 7.1.
Trước đó, Linus Torvalds cũng từng cho rằng việc tiếp tục hỗ trợ dòng vi xử lý đã 37 năm tuổi này không còn ý nghĩa thực tế.
Bạn có thể tham khảo mã nguồn WSL9x tại đây
Một lập trình viên tên Hailey đã công bố trên nền tảng Codeberg một công cụ mang tên WSL9x, cho phép chạy kernel Linux hiện đại trên Windows 95 và các phiên bản Windows cũ hơn.
Chức năng cốt lõi của WSL9x là cho phép kernel Linux hiện đại (hiện tại là Linux kernel 6.19) chạy ở chế độ hợp tác bên trong kernel Windows 9x. Cả hai kernel cùng hoạt động ở mức quyền ring 0, cho phép người dùng sử dụng song song ứng dụng Windows 9x và Linux mà không cần khởi động lại.
Công cụ này gồm ba thành phần chính: một kernel Linux đã được chỉnh sửa, một driver VxD, và một chương trình client xử lý nhập/xuất qua console.
Khác với Windows Subsystem for Linux (WSL) chính thức của Microsoft, WSL9x không phụ thuộc vào công nghệ ảo hóa phần cứng, nên có khả năng tương thích rất cao, thậm chí hỗ trợ tối thiểu tới vi xử lý Intel 486.
Điều này đồng nghĩa với việc một chiếc máy tính cách đây 30 năm vẫn có thể chạy kernel Linux mới nhất, tận hưởng đầy đủ các tính năng như phân trang bộ nhớ, bảo vệ bộ nhớ và lập lịch ưu tiên (preemptive scheduling).
Hailey cho biết dự án này đã được ấp ủ suốt 6 năm, bắt nguồn từ dự án trước đó của cô là doslinux. Cô cũng nhấn mạnh trong phần mô tả rằng dự án được “proudly written without AI” – hoàn toàn viết tay, không sử dụng bất kỳ công cụ AI nào.
Điều thú vị là, đúng vào thời điểm WSL9x được công bố, cộng đồng phát triển Linux lại đang loại bỏ hỗ trợ cho CPU 486. Lập trình viên Ingo Molnar đã gửi bản vá để loại bỏ các tùy chọn build như CONFIG_M486SX, CONFIG_M486 và CONFIG_MELAN, dự kiến sẽ được hợp nhất trong Linux 7.1.
Trước đó, Linus Torvalds cũng từng cho rằng việc tiếp tục hỗ trợ dòng vi xử lý đã 37 năm tuổi này không còn ý nghĩa thực tế.
Bạn có thể tham khảo mã nguồn WSL9x tại đây