Phát hành nhân Asterinas 0.19, được viết bằng Rust và tương thích với... Linux

Dự án Asterinas đã phát hành phiên bản 0.19, một nhân hệ điều hành được viết bằng Rust và được thiết kế để sử dụng trong các hệ điều hành đa năng. Nhân hệ điều hành này cung cấp một ABI (Giao diện nhị phân ứng dụng) tương thích với nhân hệ điều hành. Linux và có thể được sử dụng thay thế. Bản phân phối Asterinas NixOS, kết hợp nhân Asterinas với môi trường hệ thống NixOS, đang được phát triển song song. Mã nguồn của dự án đã được phát triển từ năm 2022 và được phân phối theo giấy phép MPL (Giấy phép Công cộng Mozilla).

Hiện tại, có hơn 240 lệnh gọi hệ thống được triển khai trong nhân hệ điều hành. LinuxBản phân phối Asterinas NixOS đã được kiểm chứng là hoạt động trên nhân Asterinas với hơn 100 gói NixOS. Các gói được hỗ trợ bao gồm: Xfce, Firefox, bash, systemd, Podman, QEMU, rsync, Apache httpd, nginx, SQLite, Redis, Clang, GCC, Go, Lua, Node.js, OpenJDK, Perl, PHP, Python, Ruby, Rust, Git, FFmpeg, PyTorch, TensorFlow, Ollama và Codex.

Nhân hệ điều hành hỗ trợ đầy đủ kiến ​​trúc x86-64, hỗ trợ một phần cho ARM64, RISC-V 64 và x86-64 với khả năng cách ly dựa trên Intel TDX, cũng như hỗ trợ ban đầu cho kiến ​​trúc LoongArch 64. 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 thiểu khả năng xảy ra lỗi bộ nhớ, nguồn gốc chính của các lỗ hổng nguy hiểm nhất, Asterinas sử dụng ngôn ngữ Rust và hạn chế sử dụng các khối unsafe. Nhân hệ điều hành được xây dựng bằng kiến ​​trúc framekernel, nhằm kết hợp khả năng cách ly của microkernel với hiệu quả của các nhân hệ điều hành nguyên khối.

Các thành phần nhân hệ điều hành trong Asterinas được đặt trong không gian địa chỉ dùng chung, và bảo mật được đảm bảo thông qua việc tách biệt logic giữa mã an toàn và mã có khả năng dễ bị tấn công. Nhân hệ điều hành được chia thành hai phần, cả hai đều được viết bằng Rust: Khung hệ điều hành (OS Framework) và Dịch vụ hệ điều hành (OS Services). Dịch vụ hệ điều hành cấm sử dụng các khối không an toàn (unsafe blocks), và tất cả các thao tác cấp thấp yêu cầu thực thi mã trong các khối không an toàn đều được chuyển sang Khung hệ điều hành và chỉ có thể truy cập 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 được phép bao gồm các khối không an toàn.

Để phát triển các dịch vụ hệ thống và mô-đun hạt nhân, bộ công cụ phát triển hệ điều hành (OSDK) được cung cấp, bao gồm tiện ích cargo-osdk để tạo, biên dịch, kiểm thử và chạy các thành phần hệ điều hành. Các nhà phát triển cũng có thể truy cập vào bộ thư viện chuẩn hệ điều hành (OSTD), bao gồm một phiên bản của các thư viện chuẩn Rust (crate std) được điều chỉnh để sử dụng trong các thành phần hệ điều hành.

Trong số những thay đổi của Asterinas 0.19:

  • Hệ thống con DRM (Direct Rendering Manager), thiết bị /dev/dri, giao diện KMS (kernel mode setting) và trình điều khiển "modesetting" đã được triển khai, cho phép khởi chạy ngăn xếp đồ họa tiêu chuẩn dựa trên X.Org Server và Mesa, thay vì trình điều khiển fbdev được sử dụng trước đây, vốn sử dụng framebuffer.


  • Hỗ trợ cho kiến ​​trúc AArch64 (ARM64) đã được bổ sung, hiện đang đóng vai trò là kiến ​​trúc phát triển chính cùng với x86-64. Một cấp độ hỗ trợ thứ hai đã được triển khai cho AArch64, đảm bảo các chức năng cơ bản, kiểm thử tích hợp liên tục và phạm vi kiểm thử một phần.
  • Công việc tiếp tục được tiến hành để điều chỉnh Asterinas cho việc chạy như một hệ thống khách trong Kata Containers và Confidential Containers. Một triển khai Overlayfs mới đã được đề xuất và đã vượt qua thành công các bộ kiểm thử hệ thống tệp hạt nhân tiêu chuẩn. Linux và xfstests. Một API gắn kết mới đã được triển khai. Mã virtio-fs đã được ổn định. Hỗ trợ giao thức đã được thêm vào.
    Khởi động trực tiếp, được sử dụng trong QEMU, Cloud Hypervisor và Firecracker. Thời gian khởi động đã được tăng tốc. máy ảoBộ nhớ của nó được mã hóa bằng công nghệ Intel TDX.
  • Khung OSTD (Operating System Standard Library) triển khai một API cơ bản để tạo ra các hypervisor tối giản dựa trên Intel VMX.
  • Đã thêm hỗ trợ cho mô hình phát triển trình điều khiển Rust. Một thành phần aster-device với chức năng tương tự như các thành phần nhân hệ điều hành đã được thêm vào. Linux Với các thành phần cơ bản và các khái niệm trừu tượng cần thiết cho việc phát triển trình điều khiển, nhưng được viết bằng Rust mà không sử dụng mã không an toàn.
  • Việc tự lưu trữ giờ đây đã khả thi - bạn có thể biên dịch nhân Asterinas từ một môi trường đã có sẵn nhân Asterinas và các gói NixOS.

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