Vinix – Hệ điều hành hiện đại viết bằng ngôn ngữ V, chạy được trên Mac Apple Silicon
Vinix là hệ điều hành Unix-like được viết từ đầu bằng ngôn ngữ V, chỉ dùng khoảng 100 MB RAM khi khởi động và 1 GB dung lượng ổ đĩa. Dự án gây chú ý khi hỗ trợ chính thức Mac Apple Silicon, chạy được binary của Alpine Linux và đang phát triển driver GPU cho dòng chip M1–M5.

Trong khi hầu hết các hệ điều hành mới đều được xây dựng dựa trên nền tảng Linux, một dự án mang tên Vinix đang đi theo con đường hoàn toàn khác: tự viết nhân (kernel) từ đầu bằng ngôn ngữ V và hướng tới mục tiêu trở thành hệ điều hành nhẹ, nhanh và tối giản dành riêng cho máy Mac dùng chip Apple Silicon.
Vinix là gì?
Vinix là một hệ điều hành kiểu Unix độc lập, không phải một bản phân phối Linux. Toàn bộ nhân, trình điều khiển, mô hình tiến trình, lớp hệ thống tập tin và các system call đều được viết mới. Hệ điều hành này nhắm tới hai kiến trúc x86-64 và ARM64.
Điểm đáng chú ý nhất là các con số tài nguyên cực kỳ khiêm tốn:
- RAM khi khởi động: khoảng 100 MB
- Dung lượng ổ đĩa sau khi cài: khoảng 1 GB
- Thời gian khởi động tới màn hình desktop: vài giây
- Không có GC, không có systemd, không thu thập dữ liệu người dùng
Đây là toàn bộ hệ thống, không phải một chế độ rút gọn mà bạn phải bật lên.
Giao diện desktop Vinix trên máy Mac
Chạy ứng dụng Linux mà không cần máy ảo
Điểm gây ấn tượng nhất của Vinix nằm ở khả năng tương thích. Dù không phải Linux, hệ điều hành này vẫn chạy được các gói Alpine Linux aarch64 ở dạng nguyên bản.
Cách tiếp cận khá thông minh: một chương trình Linux thực chất không "nói chuyện" với Linux, mà giao tiếp qua một giao diện cố định gồm các system call như openat, mmap, clone, futex... Vinix hiện thực hóa chính giao diện đó, kèm theo định dạng ELF và hành vi của musl mà các chương trình này mong đợi.
Kết quả là:
- Không máy ảo Linux
- Không container tương thích
- Không giả lập CPU
Binary chạy trực tiếp trên CPU thật, các system call đổ thẳng vào nhân Vinix. Nhờ vậy, hàng loạt ứng dụng phổ biến đã chạy được, bao gồm Chromium, GIMP, Blender, Sublime Text, Gnumeric và Wine.
Chromium chạy trên Vinix
Đáng chú ý, bài viết còn minh họa Microsoft Office – một ứng dụng Windows x64 – chạy qua Wine (bản thân Wine là binary Alpine Linux) trên phần cứng ARM64. Đây là minh chứng cho thấy chuỗi tương thích nhiều lớp đang hoạt động.
Ứng dụng Wine và Microsoft Office trên Vinix
Trình quản lý gói và hệ sinh thái phần mềm
Vinix đi kèm công cụ dòng lệnh pkg, cho phép cài đặt phần mềm trực tiếp từ kho Alpine Linux aarch64. Người dùng có thể dùng các lệnh quen thuộc:
pkg updateđể làm mới chỉ mụcpkg searchđể tìm góipkg installđể cài đặt kèm phụ thuộcpkg remove,pkg upgrade,pkg list,pkg info
Hiện Vinix bám theo nhánh Alpine 3.21 cho aarch64. Nhờ đó hệ điều hành non trẻ này có thể tận dụng hàng nghìn gói có sẵn thay vì phải chuyển cổng thủ công từng phần mềm một. Tuy nhiên, chưa có cửa hàng ứng dụng đồ họa – pkg hiện vẫn là công cụ terminal.
Driver GPU Apple M1 – bài toán khó nhất
Apple không công bố tài liệu hay driver cho GPU của mình ngoài macOS, nên bất kỳ hệ điều hành nào muốn tăng tốc phần cứng trên máy Mac đều phải tự viết driver. Vinix đang làm đúng như vậy, bắt đầu từ M1.
Trên M1, dự án cần hai driver:
- AGX – driver cho chính GPU
- DCP – driver cho bộ điều khiển màn hình
Cả hai đều là coprocessor, giao tiếp qua các giao diện mailbox và RTKit của Apple, với DART IOMMU đảm bảo tách biệt vùng nhớ giữa GPU và nhân. Phía trên là một hệ thống DRM tối giản với các đối tượng đệm GEM, kết hợp Mesa và OpenGL để ứng dụng nhận được tăng tốc thật thay vì render bằng phần mềm.
Đây là phần việc đang được triển khai và nhiều thứ khác phụ thuộc vào nó: desktop tăng tốc phần cứng, video mượt mà, và cuối cùng là chơi game qua Wine. Các dòng M2 đến M5 sẽ được hỗ trợ sau khi hoàn tất M1, vì GPU của chúng có kiến trúc gần giống nhau.
Nhân monolithic nhưng nhỏ gọn
Vinix chọn kiến trúc monolithic – bộ lập lịch, quản lý bộ nhớ vật lý và ảo, hệ thống tập tin ảo, driver thiết bị và ngăn xếp mạng đều nằm trong một ảnh nhân duy nhất, chạy ở chế độ đặc quyền trong một không gian địa chỉ.
Lựa chọn này mang tính thực dụng: không mất thêm vòng giao tiếp IPC cho mỗi lần đọc đĩa hay mỗi gói tin mạng, đồng thời giữ hành vi tương thích Linux ở mức đơn giản. Nhưng monolithic không có nghĩa là cồng kềnh – nhân Vinix đủ nhỏ để một người có thể đọc hết.
Một số đặc điểm kỹ thuật đáng chú ý:
- Nhân higher-half, được nạp bởi bootloader Limine
- Có preemptive scheduling và hỗ trợ SMP
- Trạng thái riêng theo từng CPU, khóa chi tiết (fine-grained locking)
- Nhận biết NUMA và cấu trúc bộ nhớ đa socket
- Không có module nhân nạp động – driver được biên dịch thẳng vào ảnh nhân
Việc không có module nạp động không phải hạn chế lớn, bởi V biên dịch cực nhanh: toàn bộ nhân có thể build lại trong vài giây, nên chu trình sửa – build – khởi động lại diễn ra rất nhanh.
Tính ổn định và khả năng tái lập
Vinix không phải hệ điều hành thời gian thực và không đưa ra bất kỳ đảm bảo độ trễ nào. Bộ lập lịch có đúng một chính sách: mỗi luồng nhận một khoảng thời gian tỉ lệ với giá trị nice của nó. Yêu cầu SCHED_FIFO hay SCHED_RR sẽ trả về lỗi EINVAL thay vì được chấp nhận rồi lặng lẽ lập lịch như mọi thứ khác.
Điểm đáng chú ý về mặt dự đoán được: nhân không có garbage collector, được build với cờ -gc none và quản lý bộ nhớ thủ công. Nhờ vậy không có lượt thu gom rác nào có thể chặn một system call, một trình xử lý ngắt hay compositor vào thời điểm do chính nó chọn. Mức sử dụng bộ nhớ giữ phẳng thay vì dao động răng cưa.
Các hệ thống con của nhân cũng được kiểm thử bằng chuỗi giả ngẫu nhiên có hạt giống cố định thay vì ngẫu nhiên thật, giúp lỗi tái hiện chính xác thay vì chỉ thỉnh thoảng mới xuất hiện.
Lộ trình và những gì đã có
Những thành phần đã sẵn sàng trong phiên bản hiện tại:
- mlibc, bash, GCC/G++, V và nano
- Driver lưu trữ cùng hệ thống tập tin ext2
- Networking
- V-UI – giao diện người dùng gốc
- X.org và một trình quản lý cửa sổ X
- Wayland với Hyprland trên aarch64
- Hypervisor Intel VT-x
Những mục đang trong tầm ngắm:
- Driver đồ họa Intel HD
- Driver GPU M1–M5
Lưu ý quan trọng cho người dùng Việt Nam
Vinix hiện là phần mềm alpha, đang trong quá trình phát triển tích cực và chưa phù hợp để dùng hàng ngày hay trong môi trường sản xuất. Nhóm phát triển cũng thừa nhận còn nhiều khoảng trống về tính năng nhân Linux chưa được hiện thực, và chúng sẽ được bổ sung dần khi phát hiện.
Đối với người dùng tại Việt Nam đang sở hữu MacBook chip M1 cũ, Vinix có thể là một lựa chọn đáng theo dõi nếu bạn muốn một hệ điều hành nhẹ, mã nguồn mở và không phụ thuộc vào tài khoản trực tuyến. Tuy nhiên, hiện tại cách hợp lý nhất để trải nghiệm là chạy thử trong QEMU hoặc trên máy ảo, chứ chưa nên cài trực tiếp lên máy chính.
Dự án cũng đang tìm kiếm nhà tài trợ qua GitHub để có thêm thời gian và nguồn lực phát triển.


