การเปิดตัวครั้งแรกของ Blink ซึ่งเป็นโปรแกรมจำลอง x86-64 ประสิทธิภาพสูง

รุ่นสำคัญครั้งแรกของโครงการ Blink ได้รับการเผยแพร่โดยพัฒนาโปรแกรมจำลองโปรเซสเซอร์ x86-64 ที่ช่วยให้คุณสามารถเรียกใช้แอปพลิเคชัน Linux ที่สร้างขึ้นแบบคงที่และไดนามิกในเครื่องเสมือนพร้อมโปรเซสเซอร์จำลอง ด้วย Blink โปรแกรม Linux ที่คอมไพล์สำหรับสถาปัตยกรรม x86-64 สามารถทำงานบนระบบปฏิบัติการที่รองรับ POSIX อื่นๆ (macOS, FreeBSD, NetBSD, OpenBSD, Cygwin) และบนอุปกรณ์ที่มีสถาปัตยกรรมฮาร์ดแวร์อื่นๆ (x86, ARM, RISC-V, MIPS , พาวเวอร์พีซี, s390x) รหัสโครงการเขียนด้วยภาษา C (ANSI C11) และเผยแพร่ภายใต้ใบอนุญาต ISC จากการขึ้นต่อกัน ต้องใช้เฉพาะ libc (POSIX.1-2017)

ในแง่ของฟังก์ชันการทำงาน Blink นั้นคล้ายกับคำสั่ง qemu-x86_64 แต่แตกต่างจาก QEMU ในด้านการออกแบบที่กะทัดรัดกว่าและประสิทธิภาพที่เพิ่มขึ้นอย่างมาก ตัวอย่างเช่น ไฟล์ปฏิบัติการ Blink ใช้พื้นที่เพียง 221 KB (พร้อมบิลด์แบบแยกส่วน - 115 KB) แทนที่จะเป็น 4 MB สำหรับ qemu-x86_64 และในการทดสอบบางอย่าง เช่น การรันในโปรแกรมจำลอง GCC และการดำเนินการทางคณิตศาสตร์ มันมีประสิทธิภาพเหนือกว่า QEMU ประมาณสองครั้ง

เพื่อให้มั่นใจถึงประสิทธิภาพที่สูง จึงมีการใช้คอมไพเลอร์ JIT ซึ่งจะแปลงคำสั่งต้นทางทันทีเป็นรหัสเครื่องสำหรับแพลตฟอร์มเป้าหมาย โปรแกรมจำลองรองรับการเรียกใช้ไฟล์ปฏิบัติการได้โดยตรงในรูปแบบ ELF, PE (Portable Executables) และ bin (Flat executable) ซึ่งคอมไพล์ด้วยไลบรารี C มาตรฐาน Cosmopolitan, Glibc และ Musl รองรับการเรียกและการจำลองระบบ Linux 180 ครั้งสำหรับคำสั่งโปรเซสเซอร์ 600 x86 ที่ครอบคลุม i8086, i386, SSE2, x86_64, SSE3, SSSE3, CLMUL, POPCNT, ADX, BMI2 (MULX, PDEP, PEXT), X87, RDRND, RDSEED ชุดคำสั่งและ RDTSCP

นอกจากนี้ บนพื้นฐานของ Blink ยูทิลิตี้ไฟกะพริบกำลังได้รับการพัฒนาซึ่งมีอินเทอร์เฟซสำหรับแสดงภาพความคืบหน้าของการทำงานของโปรแกรมและวิเคราะห์เนื้อหาของหน่วยความจำ ยูทิลิตี้นี้สามารถใช้เป็นดีบักเกอร์ที่รองรับโหมดการดีบักแบบย้อนกลับ และช่วยให้คุณสามารถย้อนกลับไปในประวัติการดำเนินการและกลับไปยังจุดที่ดำเนินการก่อนหน้านี้ โครงการนี้ได้รับการพัฒนาโดยผู้เขียนการพัฒนาเช่นไลบรารี Cosmopolitan C ซึ่งเป็นพอร์ตของกลไกการแยกคำมั่นสัญญาสำหรับ Linux และระบบไฟล์ปฏิบัติการสากล Redbean

การเปิดตัวครั้งแรกของ Blink ซึ่งเป็นโปรแกรมจำลอง x86-64 ประสิทธิภาพสูง


ที่มา: opennet.ru

เพิ่มความคิดเห็น