- Maestro là một nhân và hệ điều hành kiểu Unix được viết lại từ đầu bằng ngôn ngữ Rust.
- Ban đầu dự án được triển khai bằng ngôn ngữ C, nhưng khi việc giữ cho codebase sạch sẽ trở nên khó khăn, dự án đã chuyển sang Rust.
- Rust giúp khởi động lại dự án từ đầu theo hướng đổi mới hơn so với việc viết một nhân tương tự Linux bằng C, đồng thời tận dụng tính an toàn của Rust để giảm bớt độ khó của lập trình nhân.
Trạng thái hiện tại của dự án
- Maestro hiện là một nhân monolithic chỉ hỗ trợ kiến trúc x86 (32-bit).
- Tại thời điểm viết bài, khoảng 135 system call đã được triển khai ở mức tương đối, tương ứng với khoảng 31% system call của Linux.
- Ngoài nhân, hệ điều hành còn có các thành phần như hệ thống khởi động và trình quản lý daemon Solfège, bộ lệnh tiện ích hệ thống
maestro-utils, và trình quản lý gói blimp.
- Phần mềm bên thứ ba như musl (thư viện chuẩn C), bash, một số lệnh GNU coreutils, và neofetch (phiên bản đã vá) đã được kiểm thử là hoạt động trên hệ điều hành này.
Hãy tự mình thử nghiệm!
- Hệ điều hành vẫn đang ở giai đoạn phát triển rất sớm và rất không ổn định, vì vậy không nên cài đặt trên máy có dữ liệu quan trọng.
- Hệ điều hành chủ yếu được kiểm thử trên QEMU, VMWare và VirtualBox.
- Có hai cách để cài đặt hệ điều hành: tải tệp
.iso dựng sẵn hoặc tự build ISO.
- Các gói đã cài đặt được lưu trong RAM (
initramsfs) thay vì trên đĩa, vì vậy cần có đủ RAM (từ 1GB trở lên).
Về blog này
- Mục đích của blog này không phải là viết hướng dẫn về cách tạo một hệ điều hành, mà là khám phá các chủ đề nâng cao hơn, chia sẻ cách giải quyết vấn đề, và tìm hiểu cách máy tính, hệ điều hành, Internet hoạt động.
- Đặc biệt khuyến nghị osdev.org và blog của Philipp Oppermann.
Những gì sẽ đến tiếp theo
- Codebase cần được dọn dẹp và tối ưu hiệu năng.
- Việc sửa memory leak và tối ưu hiệu năng có thể sẽ là chủ đề của các bài blog tiếp theo.
- Mục tiêu tiếp theo là làm cho trình quản lý gói hoạt động hoàn chỉnh trên hệ điều hành.
- Cần bổ sung hỗ trợ mạng và hỗ trợ thư viện dùng chung.
Cách hỗ trợ
- Bạn có thể giữ liên lạc bằng cách gắn sao cho kho lưu trữ Github, đăng ký nhận bản tin, theo dõi RSS feed và tham gia Discord.
Ý kiến của GN⁺
- Dự án Maestro là một hệ điều hành kiểu Unix được viết bằng Rust, đáng chú ý ở chỗ theo đuổi tính an toàn và sự đổi mới trong phát triển nhân.
- Dự án này mang lại cơ hội thú vị cho các nhà phát triển muốn đóng góp cho cộng đồng mã nguồn mở, đồng thời có thể giúp hiểu rõ hơn về sự tương tác giữa phần cứng và phần mềm thực tế.
- Đây có thể là tài liệu học tập hữu ích cho các kỹ sư phần mềm mới vào nghề muốn trực tiếp trải nghiệm ưu điểm và giới hạn của lập trình hệ thống bằng Rust.
1 bình luận
Ý kiến trên Hacker News
Cảm ơn sự ủng hộ dành cho dự án
Ý kiến về một dự án nhỏ rất ấn tượng
Ý kiến về bảo mật/kiểm thử xâm nhập
Nhắc đến dự án Kerla
Ý kiến về nhược điểm của việc dùng ngôn ngữ C và độ khó của phát triển OS
Nhắc đến việc dự án Kerla đã dừng lại
Ý kiến về độ phức tạp của máy tính
Lời khuyên về việc trả nợ kỹ thuật
Sự quan tâm đến Gource
Sự quan tâm đến việc xây dựng kernel