Phát hành hệ điều hành Redox OS 0.7 được viết bằng Rust

Sau một năm rưỡi phát triển, việc phát hành hệ điều hành Redox 0.7, được phát triển bằng ngôn ngữ Rust và khái niệm vi nhân, đã được xuất bản. Sự phát triển của dự án được phân phối theo giấy phép MIT miễn phí. Để thử nghiệm Redox OS, cài đặt và hình ảnh Live có kích thước 75 MB được cung cấp. Các tập hợp được tạo cho kiến ​​trúc x86_64 và có sẵn cho các hệ thống có UEFI và BIOS.

Khi chuẩn bị bản phát hành mới, trọng tâm chính là đảm bảo nó hoạt động trên phần cứng thực. Những đổi mới chính:

  • Bootloader đã được viết lại hoàn toàn, trong đó mã khởi động trên hệ thống có BIOS và UEFI được hợp nhất và chủ yếu được viết bằng Rust. Việc thay đổi bộ nạp khởi động đã mở rộng đáng kể phạm vi phần cứng được hỗ trợ.
  • Ngoài việc sửa lỗi, công việc đã được thực hiện trong kernel để cải thiện hiệu suất và mở rộng hỗ trợ phần cứng. Các biến dành riêng cho CPU đã được chuyển đổi để sử dụng thanh ghi GS. Sự phản ánh (ánh xạ) của tất cả bộ nhớ vật lý được cung cấp, việc sử dụng các trang bộ nhớ đệ quy bị dừng lại. Mã hợp ngữ trong các phần chèn nội tuyến đã được viết lại để cải thiện khả năng tương thích với các bản phát hành trình biên dịch trong tương lai.
  • Đã thêm hỗ trợ ban đầu cho kiến ​​trúc AArch64.
  • Quá trình chuyển đổi đã được thực hiện để xử lý tất cả các đường dẫn tệp ở dạng mã hóa UTF-8.
  • Mã để làm việc với Đặc tả ACPI AML (Ngôn ngữ máy ACPI) - uefi.org đã được chuyển từ kernel sang quy trình nền acpid chạy trong không gian người dùng.
  • Nội dung initfs đã được chuyển sang một tệp mới, giúp việc tạo gói dễ dàng hơn.
  • Hệ thống tệp RedoxFS đã được viết lại và chuyển sang sử dụng cơ chế CoW (Copy-on-Write), trong đó các thay đổi không ghi đè lên thông tin mà được lưu vào một vị trí mới, giúp cải thiện đáng kể độ tin cậy. Các tính năng mới của RedoxFS bao gồm hỗ trợ cập nhật giao dịch, mã hóa dữ liệu bằng thuật toán AES, cũng như xác thực dữ liệu và siêu dữ liệu bằng chữ ký số. Việc chia sẻ mã FS trong hệ thống và bộ nạp khởi động được đảm bảo.
  • Việc cải tiến thư viện C tiêu chuẩn Relibc do dự án phát triển, có khả năng hoạt động không chỉ trong Redox mà còn trong các bản phân phối dựa trên nhân Linux, vẫn tiếp tục. Những thay đổi giúp chuyển các chương trình khác nhau sang Redox dễ dàng hơn và giải quyết các vấn đề với nhiều chương trình và thư viện được viết bằng C.
  • Một phiên bản của trình biên dịch Rustc đã được chuẩn bị để có thể chạy trong Redox. Các nhiệm vụ còn lại bao gồm tối ưu hóa hiệu suất và điều chỉnh trình quản lý gói hàng để hoạt động trong môi trường Redox.

Phát hành hệ điều hành Redox OS 0.7 được viết bằng Rust

Hệ điều hành được phát triển theo triết lý Unix và vay mượn một số ý tưởng từ SeL4, Minix và Plan 9. Redox sử dụng khái niệm vi hạt nhân, trong đó chỉ có sự tương tác giữa các quy trình và quản lý tài nguyên được cung cấp ở cấp hạt nhân, còn tất cả những thứ khác được cung cấp chức năng được đặt trong các thư viện có thể được sử dụng cả ứng dụng kernel và ứng dụng người dùng. Tất cả các trình điều khiển chạy trong không gian người dùng trong môi trường hộp cát biệt lập. Để tương thích với các ứng dụng hiện có, một lớp POSIX đặc biệt được cung cấp, cho phép bạn chạy nhiều chương trình mà không cần chuyển.

Hệ thống sử dụng nguyên tắc “mọi thứ đều là URL”. Ví dụ: URL “log://” có thể được sử dụng để ghi nhật ký, “bus://” để tương tác giữa các tiến trình, “tcp://” để tương tác mạng, v.v. Các mô-đun, có thể được triển khai dưới dạng trình điều khiển, phần mở rộng hạt nhân và ứng dụng người dùng, có thể đăng ký trình xử lý URL của riêng chúng, ví dụ: bạn có thể viết mô-đun truy cập cổng I/O và liên kết nó với URL "port_io:// ", sau đó bạn có thể sử dụng nó để truy cập cổng 60 bằng cách mở URL “port_io://60”.

Môi trường người dùng trong Redox được xây dựng trên cơ sở vỏ đồ họa của Orbital (đừng nhầm với vỏ Orbital khác sử dụng Qt và Wayland) và bộ công cụ OrbTk, cung cấp API tương tự như Flutter, React và Redux. Netsurf được sử dụng làm trình duyệt web. Dự án cũng đang phát triển trình quản lý gói của riêng mình, một bộ tiện ích tiêu chuẩn (binutils, coreutils, netutils, extrautils), shell lệnh ion, thư viện C tiêu chuẩn relibc, trình soạn thảo văn bản giống vim, ngăn xếp mạng và một tệp hệ thống. Cấu hình được đặt bằng ngôn ngữ Toml.

Nguồn: opennet.ru

Thêm một lời nhận xét