- JSLinux, công cụ có thể chạy trực tiếp Linux và các hệ điều hành khác trong trình duyệt web, nay đã hỗ trợ thêm kiến trúc x86_64
- Mới bổ sung hỗ trợ AVX2, AVX-512 và APX, trở thành trình giả lập toàn hệ thống x86 công khai duy nhất hiện hỗ trợ APX
- Dựa trên Alpine Linux 3.23.2, đồng thời bao gồm các phần mở rộng lệnh AVX-512 và Intel APX
- Ngoài các hệ thống hiện có dựa trên x86, RISC-V, giờ đây còn có thể chạy trong môi trường 64-bit
- Mỗi hệ thống cung cấp giao diện console hoặc X Window, và một số hệ thống hỗ trợ truy cập tệp qua VFsync
- Nhờ sự phát triển của công nghệ ảo hóa dựa trên trình duyệt, việc thử nghiệm hệ điều hành và xây dựng môi trường kiểm thử trở nên thuận tiện hơn nhiều
Tổng quan về JSLinux
- JSLinux là trình giả lập nền web cho phép chạy Linux hoặc các hệ điều hành khác ngay trong trình duyệt
- Người dùng có thể chạy máy ảo trực tiếp trên trang web mà không cần cài đặt riêng
- Có thể chọn nhiều kiến trúc CPU và cấu hình hệ điều hành khác nhau
Danh sách hệ thống được hỗ trợ
- x86_64: cung cấp phiên bản console của Alpine Linux 3.23.2
- x86: hỗ trợ nhiều hệ thống như Alpine Linux 3.12.0, Windows 2000, FreeDOS
- riscv64: hỗ trợ Buildroot Linux và Fedora 33
- Mỗi hệ thống cung cấp liên kết khởi động và có thể được cấu hình thông qua tệp cấu hình TEMU
- Một số hệ thống có thể liên kết với hệ thống tệp bên ngoài qua VFsync
- Tất cả cấu hình đều do Fabrice Bellard phát triển và duy trì
3 bình luận
Mỗi khi có bài liên quan đến tác giả Fabrice Bellard thì phải khen ngợi ông ấy (sinh năm 72)
Năm 1987, khi 15 tuổi, ông phát triển trình nén thực thi LZEXE bằng assembly
Năm 2000, phát triển FFmpeg, và cùng năm đó tạo ra trình biên dịch C nhỏ hơn 4KB để giành chiến thắng tại IOCCC
Năm 2005, công bố QEMU
Năm 2011, công khai JSLinux và phát triển nó cho đến tận bây giờ
"Kiếm thật nhiều tiền rồi nghỉ hưu đi"
Hỗ trợ x86 64-bit đã được công bố vào tháng 1, và bản cập nhật lần này bổ sung hỗ trợ AVX2, AVX-512 và APX.
Ý kiến trên Hacker News
Điều tôi muốn làm nhất là dùng engine WASM Linux để tự chạy một OS ảo ngay trong trình duyệt và chạy một coding agent
Nếu kết nối với một agent biết dùng Bash và các công cụ Linux như Claude Code hay Codex CLI thì sẽ cực kỳ thú vị
Tôi nghĩ trình duyệt là môi trường sandbox tốt nhất. Nếu có thể chạy vòng lặp agent trên WebAssembly Linux thì đó sẽ là một mẹo rất hay
Trước đây tôi từng thử nghiệm với bản demo v86, nhưng vẫn chưa đi tới bước kết nối agent. Có thể gửi lệnh Linux qua ô nhập văn bản
Chỉ là hiệu năng còn hơi thiếu nên tôi chưa đào sâu thêm
Demo full-stack có tại vitedemo.browserpod.io, còn công việc trước đây có thể xem ở webvm.io
Thấy thú vị nên tôi thử chạy benchmark Primes trên Chrome của M1 Mac Mini cho từng môi trường x86_64, x86, riscv64
RISC-V cho hiệu quả mô phỏng tốt hơn x86 rất nhiều — build nhanh hơn, mã nhỏ hơn và chạy cũng nhanh hơn
Tuy vậy, vì phiên bản gcc của từng môi trường khác nhau (15.2.0 vs 9.3.0 vs 7.3.0) nên đây không phải phép so sánh hoàn toàn công bằng
Mã tham khảo
Hơi lạc đề, nhưng nhìn lại giao diện Windows 2000 thấy thân thuộc quá. Tôi cảm giác UI ngày nay thật sự rất tệ
Tiếc là mã nguồn lớp mô phỏng x86 64-bit hay cấu hình build vẫn chưa được công khai
Nếu muốn một phiên bản open source hơn thì có thể tham khảo container2wasm
Tôi tò mò không biết JSLinux vẫn là interpreter, hay giờ đã có biên dịch JIT rồi
Hoặc cũng có thể JIT của JS engine đã tốt đến mức phân biệt đó không còn nhiều ý nghĩa nữa
Có vẻ DNS đang gặp vấn đề. Không biết có phải tôi đã bỏ lỡ điều gì không
Hỗ trợ tới AVX512 thật đáng ngạc nhiên. Tôi rất muốn thử thêm nó vào QEMU
Nhân tiện, patch liên quan tới APX có ở đây
Công việc của Fabrice Bellard lúc nào cũng đáng kinh ngạc
Nhờ hỗ trợ x86_64, khả năng chạy các bản phân phối Linux hiện đại trong trình duyệt giờ đã mở ra
Tháng trước tôi đã chỉnh sửa để có thể chạy TempleOS trên JSLinux x86_64 — ring0.holyc.xyz
Nó chạy nhanh hơn cả bản demo của tôi. Không có JIT mà vẫn như phép màu
Tôi đã dùng image Alpine JSLinux x86_64 trên Chrome suốt 4 giờ
Tôi clone code bằng git, build các gói lớn rồi chạy cả test, và nó hoàn toàn ổn định
Chậm hơn native 50 lần, nhưng việc một VM vững chắc như vậy chạy được trong trình duyệt thật sự rất đáng kinh ngạc