Dự án Asterinas phát triển một nhân hệ điều hành tương thích với Rust. Linux

Một nhóm các nhà phát triển đến từ Trung Quốc đang phát triển nhân Asterinas, được viết bằng ngôn ngữ Rust và được thiết kế để sử dụng trong các hệ điều hành đa năng. Để đơn giản hóa việc tích hợp với các thành phần hệ thống hiện có, nhân này cung cấp một giao diện nhị phân ứng dụng (ABI) tương thích với nhân. Linux và có thể được sử dụng thay thế. Mã nguồn của dự án được phân phối theo giấy phép MPL (Mozilla Public License).

Dự án đã được phát triển từ mùa thu năm 2022 và đặt mục tiêu đạt đến mức độ phù hợp để sử dụng rộng rãi trong năm nay. máy ảo Với kiến ​​trúc x86-64. Bắt đầu từ năm sau, trọng tâm dự kiến ​​sẽ chuyển sang triển khai hỗ trợ phần cứng và các kiến ​​trúc CPU khác. Các lĩnh vực ứng dụng ưu tiên bao gồm các hệ thống dựa trên... Linux Các giao diện lập trình ứng dụng (ABI), nhưng yêu cầu mức độ bảo mật cao hơn. Ví dụ, Asterinas được đề xuất sử dụng để tạo ra một môi trường hệ thống an toàn. máy ảoĐể thực hiện việc cách ly, người ta sử dụng các công nghệ như ARM CCA, AMD SEV và Intel TDX, cũng như ở phía hệ thống máy chủ, điều này đảm bảo việc khởi chạy các container.

Để giảm khả năng xảy ra lỗi khi làm việc với bộ nhớ, nguyên nhân chính gây ra các lỗ hổng nguy hiểm nhất, khi viết Asterinas, ngôn ngữ Rust và chiến thuật hạn chế sử dụng các khối không an toàn được sử dụng. Hạt nhân được xây dựng bằng kiến ​​trúc framekernel, trong đó các nhà phát triển đã cố gắng kết hợp khả năng cách ly của hạt nhân vi mô với hiệu quả của hạt nhân nguyên khối.

Các thành phần hạt nhân trong Asterinas được đặt trong một không gian địa chỉ chung và bảo mật đạt được ở mức phân tách hợp lý giữa mã an toàn và mã trong đó các vấn đề bảo mật có thể phát sinh. Phần lõi được chia thành hai phần được viết bằng Rust: OS Framework và OS Services. Việc sử dụng các khối không an toàn bị cấm trong Dịch vụ hệ điều hành và tất cả các hoạt động cấp thấp yêu cầu thực thi mã trong các khối không an toàn đều được đặt trong Khung hệ điều hành và chỉ khả dụng thông qua API cấp cao. Tất cả các lệnh gọi hệ thống, hệ thống tệp và trình điều khiển đều được triển khai ở cấp Dịch vụ hệ điều hành và không thể bao gồm các khối không an toàn.

Khi phát triển các dịch vụ hệ thống và mô-đun hạt nhân, người ta đề xuất sử dụng bộ công cụ OSDK (Bộ phát triển hệ điều hành), cung cấp tiện ích Cargo-osdk để tạo, xây dựng, thử nghiệm và khởi chạy các thành phần hệ điều hành. Một bộ thư viện OSTD (Thư viện tiêu chuẩn hệ điều hành) đã được chuẩn bị cho các nhà phát triển, đây là phiên bản của thư viện Rust tiêu chuẩn (crate std), được điều chỉnh để sử dụng trong các thành phần hệ điều hành.

Nguồn: opennet.ru

Mua dịch vụ lưu trữ đáng tin cậy cho các trang web có bảo vệ DDoS, máy chủ VPS VDS 🔥 Mua dịch vụ hosting website đáng tin cậy với bảo vệ DDoS, máy chủ VPS VDS | ProHoster