مقارنة بين النظامين الفرعيين WSL 1 و WSL 2. هل يجب التبديل؟





في هذا المنشور بأسلوب "التفكير بصوت عالٍ" ، يود المؤلف مقارنة WSL للإصدارين الأول والثاني ، نظرًا لوجود خبرة في الاتصال.



WSL 1 vs WSL 2 ، مما جعلني سعيدًا



صورة


مصدر MSDN



1. استخدام نواة لينكس حقيقية



أدى تضمين نواة Linux الحقيقية إلى زيادة نظام الملفات IO واستدعاءات النظام. 

تجعل نواة Linux المحسّنة WSL 2 تبدو أسرع من WSL 1. 

في بعض المهام ، وفقًا لقياسات Microsoft ، مثل تفريغ ملفات الأرشيف ، كان WSL 2 أسرع 20 مرة من WSL 1 ، وحوالي 5 مرات أسرع عند الاستخدام تثبيت Git clone و npm.

يمكنك قضاء وقتك النظر في المعايير هنا و هنا .



2. دعم عامل ميناء محلي.



من حيث المبدأ ، ظهرت مثل هذه الفرصة فقط مع WSL 2.



انتهى الفرح هناك.



WSL 1 vs WSL 2 ، والتي لم ترضي



لنبدأ بأحدث العكازات من Microsoft ونوع الابتكار الذي أزعجني شخصيًا.

لم يستخدم الإصدار الأول من WSL نواة لينكس حقيقية ، ولا المحاكاة الافتراضية. كانت WSL مثل Wine ، لكن ليس تمامًا.



تم استخدام طبقة خاصة هناك لترجمة المكالمات من برامج Linux إلى هذه القشرة.

هذا ، بالطبع ، أبطأ كل شيء ، لكن كان له أيضًا مزايا.



على سبيل المثال ، كانت جميع البرامج التي يتم تشغيلها على WSL 1 مرئية في مدير المهام ، ويمكن ترتيب أولويات هذه المهام وإعطائها نواة محددة للتنفيذ.



صورة




أيضًا ، كانت جميع عمليات الإصدار الأول من WSL مرئية لمضادات الفيروسات ، ويمكن السماح لها بالوصول إلى المجلدات أو رفضها ، تمامًا مثل البرامج العادية لنظام التشغيل Windows.



صورة




مع ظهور WSL 2 ، لم تعد العمليات المحددة في هذا الجهاز الظاهري مرئية ، واختفت أيضًا القدرة على كتابة الحماية للمجلدات. WSL 2 لديه وصول إلى نظام الملفات يتجاوز Windows Defender. ما هي نقاط الضعف المحددة التي سيجلبها هذا في المستقبل - سنرى. ولكن قد يصبح WSL 2 موجهًا للهجوم لتشفير القرص بأكمله.



صورة




تغيرت الشبكات أيضًا بشكل طفيف في WSL 2. كان للإصدار الأول من WSL تنفيذ غريب جدًا لمكدس الشبكة ، فقد تم تعليقه على شبكة يستخدمها Windows نفسه ، علاوة على ذلك ، يمكن التحقق من منافذ الاستماع WSL في Netstat وإغلاقها بجدار حماية Windows عادي.



صورة




الآن ، في WSL 2 يوجد مفتاح منفصل خاص بـ WSL ، لأنه الآن جهاز افتراضي منفصل ، الملل المطلق.



صورة




المعايير



جعلت WSL من الممكن استخدام الأوامر من WSL مباشرة في Windows. بما في ذلك بوويرشيل.

باستخدام Divine Powershell ، أجرى المؤلف قياسات لبرامج WSL المفضلة لديه ، والتي يستخدمها هو نفسه في أغلب الأحيان.



استخدمت جميع المعايير Ubuntu 18.04 LTS لـ WSL1 و WSL2.



جيكل



إنشاء الموقع. تمريرة واحدة:



WSL1

صورة




WSL2

صورة




كما ترى ، فإن WSL2 أدنى بكثير من WSL1 عند إنشاء موقع باستخدام Jekyll. 1.5 ثانية مقابل 9.6. كانت النتيجة لصالح WSL1. ومن المثير للاهتمام ، أن WSL1 كان يتطلب دائمًا سودو للوصول للكتابة ولم يرغب في الإنشاء بدون جذر.



سرعة الاتصال



هنا نختبر سرعة استدعاء الصدفة وتنفيذ أمر واحد بسيط.



Measure-Command {
    [int]$i
    do {
        $i++
        wsl.exe -e 'uname'
       
    } until ($i -eq 20)
}


WSL1

صورة




WSL2

صورة




يتم تحميل WSl2 بشكل أبطأ قليلاً. هذا غير محسوس تمامًا ، حيث يتم إجراء نتيجة 20 عملية إطلاق.



Git init و Mkdir



الآن دعونا نتغلب على Git init و Mkdir. قم بإنشاء مجلد باستخدام Mkdir وقم بعمل Git init داخل هذا المجلد باستخدام WSL.



الرمز:



Measure-Command {
    [int]$i
    do {
        Set-Location "C:\Users\user\Desktop\TestFolder"
        $i++
        $Foldername = Get-Random
 
        wsl.exe ''mkdir $Foldername''
        Set-Location $Foldername
        wsl.exe ''git init''
       
    } until ($i -eq 20)
}


WSL1

صورة




WSL2

صورة




النتائج متطابقة.



WSL مقابل. عكازات أخرى



فلماذا تختار WSL؟



لا يزال WSL 2 يحتفظ بالقدرة على استخدام أوامر Linux مباشرة من Windows. من الملائم استدعاء Bash مباشرة من سلسلة مستكشف.



وبالطبع ، تستخدم WSL بيئة نظام التشغيل الافتراضية التي قدمتها ، ولا يتعين عليك استخدام Mingw's vim البغيض إذا كنت معتادًا على العمل مع المحررين البشريين.



لماذا من الأفضل تجاوز WSL.



Libnotify ، في WSL1 ، وكذلك / proc / sys / fs ، غائبان تمامًا في WSL1 ، كما هو مذكور أعلاه ، الإصدار الأول لا يستخدم نفس Linux kernel وكان على WSL 2 إصلاح هذا الدعامة.



ظهرت كل هذه المكتبات في WSL 2 ، والآن تعمل جميعها على برنامج Hypervisor ، لكن المشكلات لم تتضاءل. الإنشاء التلقائي عند إنشاء ملف جديد وأحيانًا لا يعمل حتى عند تغيير الملف القديم.



يمكن لعشاق NPM وأشياء أخرى ، هذا كل شيء في الوقت الحالي ، تجاوز جانب WSL ، واستخدام الحلول المطورة لنظام Windows.



Cool Lay Hack لـ WSL (͡ ° ͜ʖ ͡ °)



صورة




الآن دعنا نتحدث عن السبب الوحيد لتثبيت WSL - Vlmcsd .

هل تريد تنشيط نسختك المرخصة من Windows بطريقة مختلفة قليلاً فقط من أجل تجربة علمية ، ولكن لا تريد استخدام منشطات KMS غريبة تم تنزيلها من الإنترنت؟

بفضل Microsoft ، يمكنك استخدام WSL ، وإليك دليل سريع.



رابط لمشروع جيثب ، رابط للإصدارات .



التقط على Ubuntu



قم بتثبيت Snap:



sudo apt update

sudo apt install snapd



قم بتثبيت vlmcsd:



sudo snap install vlmcsd



باستخدام عنوان IP ، نتحقق من عنوان IP الذي توقف WSL عليه ونستخدمه كخادم KMS. هنا رابط لصفحة المشروع في snapstore .



vlmcsd و Docket على WSL



يمكن فعل الشيء نفسه من خلال Docker نفسه ، أو WSL و Docker. هنا رابط للمشروع ، لا يمكنني شرحه بشكل أفضل.



جانب النوافذ:



هكذا يبدو تنشيط Windows 10 PRO من خلال KMS.



slmgr.vbs -ipk W269N-WFGWX-YVC9B-4J6C9-T83GX

slmgr.vbs -skms 192.168.88.166

slmgr.vbs -ato



أسلوب التثبيت هذا فقط للنكات، لأنه لن يكون دائما اغلاق المثال وسل أسفل بمجرد إغلاق الإطار الخاص، كما هو الحال في بالمناسبة ، في الوقت الحالي ، كل WSL جيد فقط للنكات و Git.

يأمل المؤلف ألا تشعر بالملل كثيرًا.






All Articles