פורסמה המהדורה המשמעותית הראשונה של פרויקט 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 KB (115 KB עם גרסה מצומצמת יותר) בהשוואה ל-4 MB עבור qemu-x86_64, ובכמה בדיקות, כמו הפעלה באמולטור GCC וביצוע פעולות מתמטיות, הוא עולה על ביצועי QEMU פי שניים בערך.
כדי להבטיח ביצועים גבוהים, נעשה שימוש בקומפיילר JIT, הממיר הוראות מקור תוך כדי תנועה לקוד מכונה עבור פלטפורמת היעד. ביצוע ישיר באמולטור נתמך עבור קבצי הרצה בפורמטים ELF, PE (Portable Executables) ו-bin (Flat executable), שעברו קומפילציה עם ספריות C סטנדרטיות Cosmopolitan, Glibc ו-Musl. תמיכה מובנית עבור 180 קריאות מערכת מיושמת. Linux ואמולציה של כ-600 הוראות מעבד x86, המכסות את מערכי ההוראות i8086, i386, SSE2, x86_64, SSE3, SSSE3, CLMUL, POPCNT, ADX, BMI2 (MULX, PDEP, PEXT), X87, RDRND, RDSEED ו-RDTSCP.
בנוסף, כלי השירות blinkenlights מפותח על בסיס Blink, ומספק ממשק להמחשת ביצוע תוכנית וניתוח תוכן זיכרון. ניתן להשתמש בכלי השירות כמנפה באגים, התומך בניפוי באגים הפוך ומאפשר לנווט אחורה בהיסטוריית הביצוע ולחזור לנקודה שבוצעה בעבר. הפרויקט מפותח על ידי מחבר פיתוחים כגון ספריית Cosmopolitan C, פורט של מנגנון בידוד pledge עבור Linux ומערכת ההפעלה האוניברסלית של Redbean.

מקור: OpenNet.ru
