Bản phát hành đầu tiên của Blink, trình giả lập x86-64 hiệu suất cao

Bản phát hành quan trọng đầu tiên của dự án Blink đã được xuất bản, phát triển trình mô phỏng bộ xử lý x86-64 cho phép bạn chạy các ứng dụng Linux được xây dựng tĩnh và động trong máy ảo có bộ xử lý mô phỏng. Với Blink, các chương trình Linux được biên dịch cho kiến ​​trúc x86-64 có thể chạy trên các hệ điều hành tương thích POSIX khác (macOS, FreeBSD, NetBSD, OpenBSD, Cygwin) và trên thiết bị có kiến ​​trúc phần cứng khác (x86, ARM, RISC-V, MIPS , PowerPC, s390x). Mã dự án được viết bằng ngôn ngữ C (ANSI C11) và được phân phối theo giấy phép ISC. Trong số các phần phụ thuộc, chỉ yêu cầu libc (POSIX.1-2017).

Về chức năng, Blink tương tự như lệnh qemu-x86_64, nhưng khác với QEMU ở thiết kế nhỏ gọn hơn và tăng hiệu suất đáng kể. Ví dụ: tệp thực thi Blink chỉ chiếm 221 KB (với bản dựng rút gọn - 115 KB) thay vì 4 MB cho qemu-x86_64 và trong một số thử nghiệm, chẳng hạn như chạy trong trình mô phỏng GCC và thực hiện các phép toán, nó vượt trội hơn QEMU khoảng hai lần.

Để đảm bảo hiệu suất cao, trình biên dịch JIT được sử dụng để chuyển đổi nhanh chóng các hướng dẫn nguồn thành mã máy cho nền tảng đích. Trình mô phỏng hỗ trợ khởi chạy trực tiếp các tệp thực thi ở định dạng ELF, PE (Tệp thực thi di động) và bin (Tệp thực thi phẳng), được biên dịch bằng thư viện C tiêu chuẩn Cosmopolitan, Glibc và Musl. Hỗ trợ tích hợp cho 180 cuộc gọi hệ thống Linux và mô phỏng khoảng 600 lệnh xử lý x86 bao gồm i8086, i386, SSE2, x86_64, SSE3, SSSE3, CLMUL, POPCNT, ADX, BMI2 (MULX, PDEP, PEXT), X87, RDRND, RDSEED tập lệnh và RDTSCP.

Ngoài ra, một tiện ích dựa trên Blink đang được phát triển, đèn chớp, cung cấp giao diện để trực quan hóa tiến trình thực hiện chương trình và phân tích nội dung bộ nhớ. Tiện ích này có thể được sử dụng như một trình gỡ lỗi hỗ trợ chế độ gỡ lỗi ngược và cho phép bạn quay lại lịch sử thực thi và quay lại điểm đã thực hiện trước đó. Dự án được phát triển bởi tác giả của những phát triển như thư viện Cosmopolitan C, một cổng của cơ chế cách ly cam kết cho Linux và hệ thống tệp thực thi phổ quát Redbean.

Bản phát hành đầu tiên của Blink, trình giả lập x86-64 hiệu suất cao


Nguồn: opennet.ru

Thêm một lời nhận xét