Giới thiệu về Motūrus OS
- Dự án Motūrus đang phát triển MotūrusOS, một hệ điều hành đơn giản, nhanh và an toàn cho đám mây.
- Motūrus OS là một hệ điều hành mới nhắm tới các workload chạy trên máy ảo, được dùng cho web server, serverless, edge caching và nhiều trường hợp tương tự.
Vì sao là Motūrus OS?
- Hiện nay, phần lớn workload production đã được ảo hóa đang chạy trên Linux.
- Linux có nhiều tính năng cao cấp, nhưng cũng mang theo một số độ phức tạp không lý tưởng cho workload ảo hóa:
- Linux được tối ưu cho bare metal, nên kém hiệu quả khi dùng bên trong VM.
- Linux khó sử dụng.
- Về mặt lịch sử, Linux vốn không thực sự an toàn.
- Một hệ điều hành mới tập trung vào workload ảo hóa có thể được xây dựng đơn giản và an toàn hơn nhiều so với Linux, đồng thời có thể ngang bằng hoặc vượt Linux về hiệu năng và hiệu suất.
Motūrus OS là gì?
- Motūrus OS là một hệ điều hành dựa trên microkernel, được xây dựng bằng ngôn ngữ Rust và chỉ nhắm tới các workload ảo hóa.
- Hiện tại hệ điều hành này hỗ trợ máy ảo x64 dựa trên KVM và có thể chạy trên Qemu hoặc Cloud Hypervisor.
- Rust là ngôn ngữ cốt lõi của Motūrus OS; không chỉ phần triển khai mà cả ABI cũng được cung cấp bằng Rust.
Những gì đang hoạt động
- Hiện tại phần lớn các subsystem vẫn đang ở giai đoạn POC/MVP, nhưng đã có thể chạy các tác vụ như web server.
- Cụ thể, các tính năng sau đang hoạt động:
- Khởi động trong khoảng 200ms thông qua MBR(Qemu) hoặc PVH(Cloud Hypervisor).
- Microkernel himem.
- Scheduling: round robin đa bộ xử lý (SMP) đơn giản, kernel scheduling là cooperative.
- Quản lý bộ nhớ: hiện chỉ hỗ trợ trang 4K, stack được bảo vệ, page fault trong user space được xử lý đúng cách.
- Subsystem I/O (trong user space): driver VirtIO-BLK và VirtIO-NET, hai file system đơn giản, networking dựa trên smoltcp (chỉ hỗ trợ TCP).
- User space: đa tiến trình, preemption, thread, TLS, phần lớn thư viện chuẩn Rust đã được port.
- Cung cấp một shell kiểu Unix đơn giản.
Những gì chưa hoạt động
- Phần lớn các thành phần vẫn chưa sẵn sàng cho môi trường production.
- Chưa được kiểm toán bảo mật.
- Có thể dễ dàng gặp panic "chưa được triển khai" trong sys-io (subsystem I/O ở user space).
- Cụ thể, các tính năng sau chưa hoạt động:
- File system: phần lớn API Rust
std::fs đã được triển khai ở mức POC, nhưng cần được viết lại bằng I/O bất đồng bộ.
- Networking:
std::net::TcpStream phần lớn đã được triển khai, nhưng các giao thức khác vẫn chưa có.
- Hệ sinh thái ngoài thư viện chuẩn Rust: một số crate có thể biên dịch và sử dụng với vài điều chỉnh nhỏ, nhưng các crate phụ thuộc vào async runtime như Tokio hiện chưa biên dịch được.
Làm thế nào để build/chạy Motūrus OS?
- Tham khảo tài liệu
docs/build.md.
Lời cảm ơn
- Xin gửi lời cảm ơn đặc biệt tới Philipp Oppermann, người đã viết loạt blog về cách viết OS bằng Rust. Loạt bài đó đã truyền cảm hứng cho rất nhiều người thử nghiệm trong lĩnh vực này.
Ý kiến của GN⁺
- Cách tiếp cận đổi mới: Motūrus OS là một hệ điều hành mới chuyên biệt cho môi trường ảo hóa, nhằm giải quyết sự phức tạp và kém hiệu quả của Linux.
- Ứng dụng ngôn ngữ Rust: Rust là ngôn ngữ đề cao an toàn bộ nhớ và hiệu năng, hứa hẹn đóng góp vào tính an toàn và hiệu quả của Motūrus OS.
- Đóng góp cho cộng đồng nhà phát triển: Dự án này có thể giúp các lập trình viên quan tâm đến phát triển hệ điều hành khám phá những khả năng mới và vượt qua các giới hạn hiện có.
3 bình luận
Tôi cũng đang theo dõi blog
writing an os in rust, nhưng có vẻ đã bắt đầu có chuyển động rồi nhỉ!Có vẻ là một bài viết hay.
Ý kiến trên Hacker News
Ý kiến từ nhà phát triển/tác giả dự án:
Giải thích về cách tiếp cận "Rust-first":
Thắc mắc vì sao một kernel nhỏ lại mất 200ms trên máy tính hiện đại:
Ý kiến muốn thấy một kernel ưu tiên bất đồng bộ được viết bằng Rust:
Ý kiến gợi nhớ phát biểu trong quá khứ của Linus Torvalds về sự cạnh tranh với Linux:
Ý kiến bày tỏ sự hứng thú với các dự án như Motor OS và mong nó tiếp tục được phát triển:
Ý kiến cho rằng Docker, Nix OS và "serverless" tồn tại vì sự phức tạp của Linux:
Ý kiến cho biết ban đầu có thái độ hoài nghi với công nghệ mới, nhưng nghĩ lại thì hiệu quả và cải thiện bảo mật nhờ loại bỏ các lớp không cần thiết là điều hấp dẫn:
Ý kiến cho rằng Motor OS trông như đang cạnh tranh với Docker và các công nghệ tương tự:
Ý kiến cho rằng bắt đầu một hệ điều hành mới không khó, nhưng hỗ trợ nó trong 50 năm tiếp theo mới thực sự rất khó:
Mục "Những tính năng không hoạt động" đúng là rất buồn cười. Dự án đồ chơi