စွမ်းဆောင်ရည်မြင့် x86-64 emulator Blink ၏ပထမဆုံးထွက်ရှိခြင်း။

Blink ပရောဂျက်၏ ပထမဆုံးသော သိသာထင်ရှားသော ဖြန့်ချိမှုကို ထုတ်ဝေခဲ့ပြီး၊ အတုယူလုပ်ဆောင်သည့် ပရိုဆက်ဆာနှင့်အတူ virtual machine တစ်ခုတွင် တည်ငြိမ်ပြီး ဒိုင်နမစ်ဖြင့် တည်ဆောက်ထားသော Linux အပလီကေးရှင်းများကို လုပ်ဆောင်နိုင်စေမည့် x86-64 ပရိုဆက်ဆာများ၏ emulator တစ်ခုကို တီထွင်ထုတ်လုပ်ထားသည်။ Blink ဖြင့်၊ x86-64 ဗိသုကာအတွက် စုစည်းထားသော Linux ပရိုဂရမ်များသည် အခြားသော POSIX-သဟဇာတလည်ပတ်မှုစနစ်များ (macOS၊ FreeBSD၊ NetBSD၊ OpenBSD၊ Cygwin) နှင့် အခြားသော ဟာ့ဒ်ဝဲဗိသုကာများ (x86၊ ARM၊ RISC-V၊ MIPS) ပေါ်တွင် လုပ်ဆောင်နိုင်သည် , s390x ) ကိုနိပ်ပါ။ ပရောဂျက်ကုဒ်ကို C ဘာသာစကား (ANSI C11) ဖြင့် ရေးသားထားပြီး ISC လိုင်စင်အောက်တွင် ဖြန့်ဝေထားသည်။ မှီခိုမှုများအနက် libc (POSIX.1-2017) သာ လိုအပ်သည်။

လုပ်ဆောင်နိုင်စွမ်းအရ၊ Blink သည် qemu-x86_64 command နှင့်ဆင်တူသော်လည်း ၎င်း၏ပိုမိုကျစ်လျစ်သောဒီဇိုင်းနှင့် သိသာထင်ရှားသောစွမ်းဆောင်ရည်တိုးမြှင့်မှုတွင် QEMU နှင့်ကွာခြားသည်။ ဥပမာအားဖြင့်၊ Blink executable file သည် qemu-x221_115 အတွက် 4 MB အစား 86 KB (ဖယ်ထုတ်ထားသောတည်ဆောက်မှုနှင့်အတူ 64 KB) သာယူနိုင်ပြီး၊ အချို့သောစမ်းသပ်မှုများတွင်၊ GCC emulator တွင်လည်ပတ်ပြီးသင်္ချာဆိုင်ရာလုပ်ဆောင်မှုများလုပ်ဆောင်ခြင်းကဲ့သို့သောစမ်းသပ်မှုများ၊ QEMU ထက် နှစ်ဆခန့် စွမ်းဆောင်ရည် မြင့်မားသည်။

မြင့်မားသောစွမ်းဆောင်ရည်သေချာစေရန်၊ ပစ်မှတ်ပလက်ဖောင်းအတွက် ပျံသန်းသည့်ရင်းမြစ်ညွှန်ကြားချက်များကို စက်ကုဒ်အဖြစ်သို့ ပြောင်းလဲပေးသည့် JIT စုစည်းမှုကို အသုံးပြုထားသည်။ Emulator သည် ELF၊ PE (Portable Executables) နှင့် bin (Flat executable) ဖော်မတ်များတွင် executable files များကို တိုက်ရိုက်လွှင့်တင်ခြင်းကို ပံ့ပိုးပေးသည်၊ စံ C libraries Cosmopolitan, Glibc နှင့် Musl တို့ဖြင့် စုစည်းထားသည်။ 180 Linux စနစ်ခေါ်ဆိုမှုများနှင့် i600၊ i86၊ SSE8086၊ x386_2၊ SSE86၊ SSSE64၊ CLMUL၊ POPCNT၊ ADX၊ BMI3 (MULX, PDEP, PEXT), X3၊ RDRED၊ X2၊ RDRED၊ ညွှန်ကြားချက်အစုံနှင့် RDTSCP။

ထို့အပြင်၊ Blink ကိုအခြေခံ၍ blinkenlights utility ကို တီထွင်ထုတ်လုပ်ထားပြီး၊ ပရိုဂရမ်လုပ်ဆောင်မှု၏တိုးတက်မှုကိုမြင်ယောင်လာပြီး memory ၏အကြောင်းအရာများကိုခွဲခြမ်းစိတ်ဖြာရန်အတွက်အင်တာဖေ့စ်ကိုပံ့ပိုးပေးသည့် blinkenlights utility ကိုတီထွင်လျက်ရှိသည်။ အဆိုပါ utility ကို reverse-debugging mode ကို ပံ့ပိုးပေးသည့် debugger အဖြစ်အသုံးပြုနိုင်ပြီး execution history တွင် ပြန်ရွှေ့ကာ ယခင်လုပ်ဆောင်ခဲ့သည့် နေရာကို ပြန်သွားရန် ခွင့်ပြုသည်။ ဤပရောဂျက်ကို Cosmopolitan C စာကြည့်တိုက်၊ Linux နှင့် Redbean universal executable file system အတွက် ကတိကဝတ် သီးခြားခွဲထုတ်ခြင်း ယန္တရား၏ ဆိပ်ကမ်းတစ်ခုဖြစ်သည့် Cosmopolitan C စာကြည့်တိုက်ကဲ့သို့သော တိုးတက်မှုများကို ရေးသားသူမှ တီထွင်ထားခြင်း ဖြစ်သည်။

စွမ်းဆောင်ရည်မြင့် x86-64 emulator Blink ၏ပထမဆုံးထွက်ရှိခြင်း။


source: opennet.ru

မှတ်ချက် Add