QEMU ஐ மிஞ்சும் என்று உறுதியளிக்கும் x86-64 முன்மாதிரியை சிமிட்டவும்

சிமிட்டல்-gcc

பிளிங்க் இயங்கும் ஸ்கிரீன்ஷாட்

திட்டம் என்று சமீபத்தில் செய்தி வெளியானது பிளிங்க் ஒரு புதிய முன்மாதிரியை உருவாக்குகிறது x86-64 செயலி என்று தொகுக்கப்பட்ட லினக்ஸ் பயன்பாடுகளை இயக்க உங்களை அனுமதிக்கிறது எமுலேட்டட் செயலியுடன் கூடிய மெய்நிகர் கணினியில் நிலையானது.

இ என்று குறிப்பிடப்பட்டுள்ளதுமுக்கிய நோக்கம் திட்டத்தின் மற்ற இயக்க முறைமைகளில் x86-64 கட்டமைப்பிற்காக தொகுக்கப்பட்ட லினக்ஸ் நிரல்களை இயக்கும் திறனை வழங்குவதாகும். (macOS, FreeBSD, NetBSD, OpenBSD) மற்றும் வேறுபட்ட வன்பொருள் கட்டமைப்பைக் கொண்ட கணினிகளில் (x86, ARM, RISC-V, MIPS, PowerPC, s390x).

திட்ட களஞ்சியத்தில் அவர்கள் கண் சிமிட்டுவதை பின்வருமாறு விவரிக்கிறார்கள்:

பிளிங்க் என்பது ஒரு மெய்நிகர் இயந்திரமாகும், இது வெவ்வேறு இயக்க முறைமைகள் மற்றும் வன்பொருள் கட்டமைப்புகளில் நிலையான முறையில் தொகுக்கப்பட்ட x86-64-லினக்ஸ் நிரல்களை இயக்குகிறது. qemu-x86_64 கட்டளையைப் போலவே இது வடிவமைக்கப்பட்டுள்ளது, தவிர (a) 4mb பைனரியாக இருப்பதற்குப் பதிலாக, Blink ஆனது ~160kb தடம் மட்டுமே கொண்டுள்ளது; மற்றும் (b) GCC போன்ற சில வரையறைகளில் Qemu ஐ விட பிளிங்க் 2 மடங்கு வேகமானது. பரிமாற்றம் என்னவென்றால், பிளிங்கில் Qemu போன்ற பல அம்சங்கள் இல்லை. நீங்கள் ஒரு மெய்நிகர் இயந்திரத்தை விரும்பினால், அது மிகவும் சிறியது மற்றும் இடைக்கால நிரல்களை மிக வேகமாக இயக்கும் போது பிளிங்க் சரியான பொருத்தமாகும். இந்தக் கருவிக்கான உந்துதல்கள் பற்றிய கூடுதல் விவரங்களுக்கு, https://justine.lol/ape.html ஐப் படிக்கவும்.

காஸ்மோபாலிட்டன் சி லைப்ரரி, லினக்ஸ் மற்றும் ரெட்பீன் யுனிவர்சல் எக்ஸிகியூடபிள் கோப்பு முறைமைக்கான அர்ப்பணிப்பு தனிமைப்படுத்தும் பொறிமுறையின் துறைமுகம் போன்ற மேம்பாடுகளின் ஆசிரியரால் இந்த திட்டம் உருவாக்கப்பட்டது என்பது குறிப்பிடத்தக்கது.

செயல்பாட்டின் அடிப்படையில், பிளிங்க் qemu-x86_64 கட்டளை போல் தெரிகிறது, ஆனால் QEMU இலிருந்து மிகவும் கச்சிதமான வடிவமைப்பு மற்றும் செயல்திறனில் குறிப்பிடத்தக்க அதிகரிப்பு ஆகியவற்றில் வேறுபடுகிறது. எடுத்துக்காட்டாக, qemu-x157_4 க்கு 86 MB க்கு பதிலாக Blink இயங்கக்கூடியது 64 KB மட்டுமே, மற்றும் செயல்திறன் அடிப்படையில் GCC எமுலேட்டரில் சோதனை ஓட்டத்தில், பிளிங்க் QEMU ஐ இரண்டு முறை அடிக்கிறது.

உயர் செயல்திறனை உறுதி செய்ய, ஒரு JIT கம்பைலர் பயன்படுத்தப்படுகிறது, பறக்கும்போது இலக்கு இயங்குதளத்திற்கான மூல வழிமுறைகளை இயந்திரக் குறியீடாக மாற்றுகிறது (இதுவரை x86_64 மற்றும் aarch64 மட்டுமே JITஐ ஆதரிக்கிறது).

ELF, PE (Portable Executables) மற்றும் bin (Flat Executable) வடிவங்களில் இயங்கக்கூடிய கோப்புகளின் எமுலேட்டரில் நேரடி துவக்கம், நிலையான C நூலகங்களான Cosmopolitan, Glibc மற்றும் Musl உடன் தொகுக்கப்பட்டது.

அது தவிர, இது லினக்ஸ் அமைப்பிற்கு நூற்றுக்கும் மேற்பட்ட அழைப்புகளுக்கான ஒருங்கிணைந்த ஆதரவைக் கொண்டுள்ளது என்பதும் தனித்து நிற்கிறது, ஃபோர்க்() மற்றும் குளோன்() உட்பட. i8086, i386, SSE2, x86_64, SSE3, SSSE3, CLMUL, POPCNT, ADX, BMI2 (MULX, PDEP, PEXT), X87, RDRND, RDSEED மற்றும் RDTSCP அறிவுறுத்தல் தொகுப்புகளின் எமுலேஷன் ஆதரிக்கப்படுகிறது.

கூடுதலாக, இந்த திட்டம் பிளிங்கன்லைட்ஸ் பயன்பாட்டை உருவாக்குகிறது, இது வெவ்வேறு தளங்களில் நிரல்களை பிழைத்திருத்துவதற்கும், நிரல் செயல்படுத்துதலைக் காட்சிப்படுத்துவதற்கும் மற்றும் நினைவக உள்ளடக்கங்களை பகுப்பாய்வு செய்வதற்கும் ஒரு இடைமுகத்தை வழங்குகிறது. பிழைத்திருத்தத்தின் ஒரு அம்சம் தலைகீழ் பிழைத்திருத்த பயன்முறைக்கு (தலைகீழ் பிழைத்திருத்தம்) ஆதரவாகும், இது செயல்படுத்தல் வரலாற்றில் திரும்பிச் செல்லவும், முன்பு செயல்படுத்தப்பட்ட புள்ளிக்குத் திரும்பவும் உங்களை அனுமதிக்கிறது.

blinkenlights என்பது ஒரு TUI இடைமுகமாகும், இது அனைத்து தளங்களிலும் x86_64-linux நிரல்களை பிழைத்திருத்தம் செய்ய பயன்படுகிறது. GDB போலல்லாமல், Blinkenlights நிரலை செயல்படுத்துவதைக் காட்சிப்படுத்துவதில் கவனம் செலுத்துகிறது. பைனரி மெமரி பேனல்களைக் காட்ட இது UNICODE IBM Code Page 437 எழுத்துகளைப் பயன்படுத்துகிறது, இது உங்கள் நிரலின் அசெம்பிளி குறியீட்டை நீங்கள் நகர்த்தும்போது மாறும். இந்த மெமரி பேனல்களை மவுஸ் வீல் மூலம் ஸ்க்ரோல் செய்து பெரிதாக்கலாம். பிளிங்கன்லைட்கள் தலைகீழ் பிழைத்திருத்தத்தையும் ஆதரிக்கிறது, இதில் சக்கரத்தை அசெம்பிளி திரையில் ஸ்க்ரோல் செய்வது, செயல்படுத்தல் வரலாற்றை ரிவைண்ட் செய்ய உங்களை அனுமதிக்கிறது.

இறுதியாக, இந்தத் திட்டத்தைப் பற்றி மேலும் அறிய ஆர்வமுள்ளவர்கள், திட்டக் குறியீடு C (ANSI C11) இல் எழுதப்பட்டுள்ளது மற்றும் ISC உரிமத்தின் கீழ் விநியோகிக்கப்படுகிறது என்பதை அவர்கள் அறிந்திருக்க வேண்டும். சார்புகளில், libc (POSIX.1-2017) மட்டுமே தேவை.

கண் சிமிட்டவும்

கண் சிமிட்ட முயற்சி செய்ய ஆர்வமுள்ளவர்கள், அதன் தொகுப்பு மிகவும் எளிமையானது என்பதை அவர்கள் அறிந்து கொள்ள வேண்டும், அவர்கள் அதன் மூலக் குறியீட்டைப் பெற வேண்டும், அவர்கள் பின்வரும் இணைப்பில் அல்லது முனையத்தில் பின்வரும் கட்டளையைத் தட்டச்சு செய்வதன் மூலம் அதைச் செய்யலாம். :

git https://github.com/jart/blink.git

அதைச் செய்து முடித்ததும், நீங்கள் blik கோப்பகத்தை உள்ளிட்டு தொகுக்க வேண்டும்:

cd blink

make -j4

பிளிங்க் எவ்வாறு செயல்படுகிறது என்பதைப் பற்றி மேலும் அறிய விரும்பினால், அதை நீங்கள் இதிலிருந்து செய்யலாம் பின்வரும் இணைப்பு.


உங்கள் கருத்தை தெரிவிக்கவும்

உங்கள் மின்னஞ்சல் முகவரி வெளியிடப்பட்ட முடியாது. தேவையான புலங்கள் குறிக்கப்பட்டிருக்கும் *

*

*

  1. தரவுகளுக்குப் பொறுப்பு: AB இன்டர்நெட் நெட்வொர்க்ஸ் 2008 SL
  2. தரவின் நோக்கம்: கட்டுப்பாட்டு ஸ்பேம், கருத்து மேலாண்மை.
  3. சட்டபூர்வமாக்கல்: உங்கள் ஒப்புதல்
  4. தரவின் தொடர்பு: சட்டபூர்வமான கடமையால் தவிர மூன்றாம் தரப்பினருக்கு தரவு தெரிவிக்கப்படாது.
  5. தரவு சேமிப்பு: ஆக்சென்டஸ் நெட்வொர்க்குகள் (EU) வழங்கிய தரவுத்தளம்
  6. உரிமைகள்: எந்த நேரத்திலும் உங்கள் தகவல்களை நீங்கள் கட்டுப்படுத்தலாம், மீட்டெடுக்கலாம் மற்றும் நீக்கலாம்.