- Hệ điều hành thử nghiệm tuân thủ nghiêm ngặt triết lý “everything is a file” của Plan9
- Được viết lại hoàn toàn mới bằng C và assembly để phát triển OS cho mục đích giáo dục và thử nghiệm
- Cấu trúc kernel hoàn toàn tiền nhiệm và không dùng tick dựa trên bộ lập lịch EEVDF. Hỗ trợ SMP, đa luồng và điều khiển khóa chi tiết
- Cung cấp hệ thống IPC dựa trên tệp: gồm pipe, bộ nhớ dùng chung, socket và hệ thống notes kiểu Plan9
signals
- Lớp trừu tượng hóa thiết bị dựa trên tệp để quản lý thống nhất framebuffer, thiết bị đầu vào, v.v.
- Hỗ trợ các primitive đồng bộ hóa như mutex, rwlock, futex
- Thiết kế kernel mô-đun, có thể nạp/gỡ mô-đun trong thời gian chạy
- Hệ thống tệp có cấu trúc VFS kiểu Unix. Hỗ trợ mount point, hard link và namespace theo từng tiến trình
- Không gian người dùng gồm thư viện chuẩn C riêng và thư viện hệ thống riêng
- Cung cấp môi trường desktop mô-đun dựa trên bộ nhớ dùng chung
- Những khác biệt chính với POSIX
- Dùng
spawn() thay cho fork(), exec()
- Loại bỏ khái niệm người dùng, sử dụng thư viện chuẩn phi POSIX
- Kiểm soát truy cập bằng cờ tệp thay vì chế độ tệp
- Các hạn chế hiện tại
- Chỉ hỗ trợ RAM disk, chỉ dành cho x86_64
- Kế hoạch sắp tới
- Port LUA và cấu hình hệ thống động
- I/O và syscall bất đồng bộ (đang cân nhắc io_uring)
- Sẽ bổ sung hỗ trợ USB
- Tiện ích shell được thiết kế lại để phù hợp với hệ thống cờ tệp
- Cung cấp giao diện tương tự các tiện ích POSIX như
touch, cat, echo, ls, rm
- Môi trường build: cần Linux, GCC, NASM, mtools, QEMU
- Cung cấp tài liệu dựa trên Doxygen, bao gồm chú thích mã và tài liệu tham khảo
- Được thiết kế như một OS trung gian phục vụ giáo dục nằm giữa xv6 và Linux
Chưa có bình luận nào.