اولین نسخه قابل توجه از پروژه Blink منتشر شده است. این پروژه در حال توسعه یک شبیهساز پردازندههای x86-64 است که به شما امکان میدهد برنامههای کامپایل شده به صورت ایستا و پویا را اجرا کنید. Linux- برنامههای کاربردی در یک ماشین مجازی با پردازنده شبیهسازی شده. ساخته شده برای معماری x86-64 با استفاده از Blink Linux- برنامهها میتوانند روی سایر سیستم عاملهای سازگار با POSIX اجرا شوند (macOS، FreeBSD، NetBSD، OpenBSD، Cygwin) و روی سختافزارهایی با معماریهای دیگر (x86، ARM، RISC-V، MIPS، PowerPC، s390x). کد پروژه به زبان C (ANSI C11) نوشته شده و تحت مجوز ISC توزیع شده است. تنها وابستگی مورد نیاز libc (POSIX.1-2017) است.
از نظر عملکرد، Blink شبیه دستور qemu-x86_64 است، اما در طراحی فشرده تر و افزایش عملکرد قابل توجه با QEMU تفاوت دارد. به عنوان مثال، فایل اجرایی Blink به جای 221 مگابایت برای qemu-x115_4، تنها 86 کیلوبایت (با ساخت کوتاه - 64 کیلوبایت) مصرف می کند و از نظر عملکرد در برخی تست ها، مانند اجرای در شبیه ساز GCC و انجام عملیات ریاضی، حدود دو برابر از QEMU پیشی می گیرد.
برای اطمینان از کارایی بالا، از یک کامپایلر JIT استفاده میشود که دستورالعملهای منبع را درجا به کد ماشین برای پلتفرم هدف تبدیل میکند. اجرای مستقیم در شبیهساز برای فایلهای اجرایی در قالبهای ELF، PE (فایلهای اجرایی قابل حمل) و bin (فایلهای اجرایی تخت) که با کتابخانههای استاندارد C یعنی Cosmopolitan، Glibc و Musl کامپایل شدهاند، پشتیبانی میشود. پشتیبانی داخلی از ۱۸۰ فراخوانی سیستمی پیادهسازی شده است. Linux و شبیهسازی حدود ۶۰۰ دستورالعمل پردازنده x86، شامل مجموعه دستورالعملهای i8086، i386، SSE2، x86_64، SSE3، SSSE3، CLMUL، POPCNT، ADX، BMI2 (MULX، PDEP، PEXT)، X87، RDRND، RDSEED و RDTSCP.
علاوه بر این، ابزار blinkenlights بر اساس Blink در حال توسعه است و رابطی برای تجسم اجرای برنامه و تجزیه و تحلیل محتوای حافظه ارائه میدهد. این ابزار میتواند به عنوان یک اشکالزدا استفاده شود، از اشکالزدایی معکوس پشتیبانی میکند و به فرد اجازه میدهد در تاریخچه اجرا به عقب برگردد و به نقطهای که قبلاً اجرا شده است بازگردد. این پروژه توسط نویسندهی توسعههایی مانند کتابخانه Cosmopolitan C، که پورتی از مکانیسم جداسازی تعهد برای ... است، در حال توسعه است. Linux و سیستم اجرایی جهانی Redbean.

منبع: opennet.ru
