IRIS: Trình giả lập máy trạm SGI Indy viết bằng Rust với sự hỗ trợ của AI

28 tháng 4, 2026·3 phút đọc

Một nhà phát triển cùng với các trợ lý AI Claude và Gemini đã tạo ra IRIS, một trình giả lập máy trạm SGI Indy viết bằng ngôn ngữ Rust. Dự án này có khả năng khởi chạy hệ điều hành IRIX 6.5 và 5.3, hỗ trợ mạng, đồ họa X11 và sử dụng trình biên dịch JIT để tối ưu hiệu suất.

IRIS: Trình giả lập máy trạm SGI Indy viết bằng Rust với sự hỗ trợ của AI

IRIS: Trình giả lập máy trạm SGI Indy viết bằng Rust với sự hỗ trợ của AI

Một nhà phát triển cùng với các trợ lý AI Claude và Gemini đã tạo ra IRIS, một trình giả lập máy trạm SGI Indy viết bằng ngôn ngữ Rust. Dự án này có khả năng khởi chạy hệ điều hành IRIX 6.5 và 5.3, hỗ trợ mạng, đồ họa X11 và sử dụng trình biên dịch JIT để tối ưu hiệu suất.

Dominik Behr và các "người bạn" AI của mình (Claude và Gemini) đã giới thiệu IRIS (viết tắt của Irresponsible Rust IRIX Simulator). Đây là một dự án trình giả lập máy trạm SGI Indy huyền thoại, được xây dựng hoàn toàn bằng ngôn ngữ lập trình Rust.

Màn hình trình giả lập IRIS chạy IRIXMàn hình trình giả lập IRIS chạy IRIX

IRIS là gì?

IRIS là một trình giả lập cho máy trạm SGI Indy (sử dụng bộ vi xử lý MIPS R4400). Dự án này giả lập đủ phần cứng để hệ điều hành IRIX có thể khởi động thành công một hệ thống có thể sử dụng được, bao gồm shell, mạng, và môi trường đồ họa X11.

Tại sao lại là Rust và AI?

Tác giả chia sẻ rằng ông muốn xem "vibe coding" (lập trình theo cảm hứng) có thể đi được bao xa và muốn học Rust trong quá trình này. Các mô hình ngôn ngữ lớn (LLM) như Claude và Gemini đã đóng góp rất nhiều vào các phần khó khăn của mã nguồn.

Các tính năng nổi bật

  • Khởi động đa hệ điều hành: Hỗ trợ IRIX 6.5 (chế độ đa người dùng) và IRIX 5.3.
  • Đồ họa và Mạng: Hoạt động tốt với X11 / Newport (REX3), hỗ trợ chuột và bàn phím. Mạng hoạt động với các lệnh ping, telnet, ftp.
  • Trình biên dịch JIT: Sử dụng Cranelift để biên dịch mã MIPS sang x86_64, giúp tăng tốc độ đáng kể.
  • Bảo vệ ổ đĩa: Tính năng Copy-on-write (COW) cho phép ghi đè lên ổ đĩa mà không làm hỏng ảnh gốc, rất hữu ích cho việc thử nghiệm và phát triển.

Cách thức hoạt động của JIT

IRIS cung cấp trình biên dịch JIT dựa trên Cranelift để biên dịch các khối mã MIPS cơ bản sang mã gốc x86_64. Nó hoạt động theo ba tầng (tiers): bắt đầu với ALU-only, sau đó nâng cấp lên Loads (đọc bộ nhớ) và cuối cùng là Full (ghi bộ nhớ) dựa trên sự ổn định khi thực thi.

Ngoài ra, còn có JIT riêng cho đồ họa REX3, biên dịch các "shader" chuyên biệt cho từng cặp chế độ vẽ, giúp tối ưu hóa pipeline đồ họa.

Bắt đầu với IRIS

Để chạy IRIS, người dùng cần file ảnh đĩa cứng raw chứa IRIX 6.5.22 cho Indy và file ảnh PROM (tùy chọn). Dự án cung cấp nhiều tùy chọn build để tối ưu hóa hiệu suất, bao gồm bật JIT, REX3 JIT và các bản đồ TLB.

Dự án được cấp phép theo BSD 3-Clause và hoan nghênh các đóng góp từ cộng đồng cũng như các báo cáo lỗi.

Bài viết được tổng hợp và biên soạn bằng AI từ các nguồn tin tức công nghệ. Nội dung mang tính tham khảo. Xem bài gốc ↗