Nhà phát triển tạo ra hệ điều hành giống DOS dựa trên Rust với ngăn xếp mạng hiện đại

Nhóm Cộng đồng BigGo
Nhà phát triển tạo ra hệ điều hành giống DOS dựa trên Rust với ngăn xếp mạng hiện đại

Một nhà phát triển đã phát hành rou2exOS Rusted Edition , phiên bản thứ hai của hệ điều hành sở thích kết hợp sự đơn giản của máy tính thời kỳ DOS với các thực hành lập trình hiện đại. Dự án này đại diện cho việc viết lại hoàn toàn từ C sang Rust của RoureXOS gốc, duy trì giao diện chế độ văn bản hoài cổ đồng thời thêm các tính năng đương đại như mạng TCP/IP .

Hệ điều hành khởi động từ CD hoặc USB và chạy trên hệ thống x86_64 , cung cấp môi trường dòng lệnh quen thuộc gợi nhớ đến MS-DOS . Khác với phiên bản tiền nhiệm, phiên bản Rust này tích hợp các tính năng an toàn bộ nhớ đồng thời bảo tồn trải nghiệm đơn giản, một người dùng đã định hình nên máy tính cá nhân thời kỳ đầu.

Yêu cầu hệ thống:

  • Kiến trúc: x86_64 (hỗ trợ ARM đang được lên kế hoạch)
  • Phương thức khởi động: CD/USB thông qua GRUB multiboot
  • Hiển thị: chế độ văn bản VGA (độ phân giải 80x25)
  • Hệ thống tập tin: FAT12 (FAT32 đang được lên kế hoạch)
  • Bộ nhớ: tính năng an toàn bộ nhớ của Rust với các khối assembly không an toàn

Mạng hiện đại kết hợp với máy tính retro

Một trong những khía cạnh thú vị nhất của rou2exOS là việc triển khai mạng sử dụng SLIP ( Serial Line Internet Protocol ) qua kết nối nối tiếp ảo. Cách tiếp cận này cho phép hệ điều hành giao tiếp với các mạng TCP/IP hiện đại đồng thời duy trì triết lý thiết kế tối giản. Hệ thống có thể xử lý các gói ICMP và cung cấp chức năng mạng cơ bản thông qua một giải pháp thanh lịch đáng ngạc nhiên kết nối với hệ thống máy chủ qua giao diện pseudo-terminal .

SLIP là một giao thức mạng cũ đóng gói các gói IP qua kết nối nối tiếp, thường được sử dụng trước khi Ethernet trở nên phổ biến.

Cấu hình Mạng:

  • Giao thức: SLIP qua kết nối serial
  • Tốc độ: Tốc độ baud 115200
  • Địa chỉ IP: Điểm-tới-điểm (192.168.3.1 ↔ 192.168.3.2)
  • Giao diện: sl0 (giao diện SLIP trên hệ thống máy chủ)

Cộng đồng tranh luận về khả năng tương thích DOS

Dự án đã khơi dậy các cuộc thảo luận về điều gì thực sự làm cho một hệ điều hành giống DOS . Trong khi rou2exOS có những điểm tương đồng về mặt hình ảnh và các lệnh cơ bản như 'dir' và 'cls' với MS-DOS , nó khác biệt đáng kể về kiến trúc và khả năng. Cộng đồng đã lưu ý rằng khả năng tương thích DOS thực sự sẽ yêu cầu chạy phần mềm cổ điển như Doom , cần xử lý ngắt và giao diện phần cứng cụ thể mà việc triển khai hiện đại này không cung cấp.

Một số nhà phát triển đã đề xuất các tên lệnh thay thế hài hước sẽ làm cho hệ thống trực quan hơn, chẳng hạn như sử dụng 'RM' cho Relocate me thay vì xóa tệp, làm nổi bật bản chất đôi khi tùy ý của giao diện dòng lệnh.

Triển khai kỹ thuật và kế hoạch tương lai

Hệ thống hiện tại hỗ trợ hệ thống tệp FAT12 và cung cấp các thao tác tệp cơ bản thông qua giao diện bộ đệm văn bản VGA . Nhà phát triển đã chỉ ra kế hoạch mở rộng hỗ trợ hệ thống tệp sang FAT32 và thêm khả năng tương thích kiến trúc ARM . Dự án vừa là bài tập học tập về lập trình Rust cấp thấp vừa là minh chứng thực tế về cách các ngôn ngữ an toàn bộ nhớ có thể được áp dụng cho lập trình hệ thống.

Mục đích là thử nghiệm với môi trường Rust no_std+no_main đồng thời cố gắng tự giáo dục bản thân về cách mọi thứ hoạt động bên dưới.

Hệ điều hành đại diện cho một cầu nối thú vị giữa thẩm mỹ máy tính retro và các thực hành phát triển hiện đại, cho thấy cách các công cụ đương đại có thể được sử dụng để tái tạo sự đơn giản của thời đại máy tính trước đây đồng thời thêm các cải tiến về an toàn và độ tin cậy.

Tham khảo: rou2exOS Rusted Edition