پنگوئن در پنجره: در مورد پتانسیل و چشم انداز WSL2

هی هابر!

در حالی که ما هنوز در جریان هستیم تابستان فروش، ما می خواهیم شما را به بحث در مورد یکی از بزرگترین موضوعاتی که اخیراً روی آن کار کرده ایم دعوت کنیم - تعامل ویندوز و لینوکس، به ویژه مربوط به توسعه سیستم WSL. WSL 2 در راه است، و در اینجا یک مرور سریع از آنچه در این زیرسیستم آینده خواهد آمد، و همچنین پیش بینی یکپارچه سازی آینده بین ویندوز و لینوکس ارائه شده است.

پنگوئن در پنجره: در مورد پتانسیل و چشم انداز WSL2

در ماه مه امسال، مایکروسافت اعلام کرد که WSL2، آخرین نسخه زیرسیستم ویندوز در لینوکس، بر روی هسته کامل لینوکس ساخته شده در داخل اجرا خواهد شد.
این اولین باری است که مایکروسافت هسته لینوکس را به عنوان یک جزء در ویندوز گنجانده است. مایکروسافت همچنین در حال معرفی خط فرمانی به ویندوز است که قابلیت‌های PowerShell و WSL را گسترش می‌دهد.

هم هسته لینوکس برای WSL2 که توسط مایکروسافت ایجاد شده است و هم خط فرمان جدید ویندوز در درجه اول مورد توجه توسعه دهندگان هستند.

جاشوا شوارتز، مدیر برنامه های دیجیتال سازی در شرکت مشاوره AT Kearney می گوید: «این قوی ترین حرکت در بازی علیه AWS است.

آینده مایکروسافت با بازار رایانه های شخصی مرتبط نیست، اگرچه همچنان جایگاه خود را در این بخش حفظ خواهد کرد. به دست آوردن جای پایی در بازار ابری که یکی از اجزای آن در آینده ممکن است رایانه های شخصی رومیزی باشد بسیار مهمتر خواهد بود.

WSL2 چه کاری انجام می دهد؟

WSL2 آخرین فریم ورک زیرسیستم ویندوز برای لینوکس است. این به شما امکان می دهد تا عملکرد سیستم فایل را به طور اساسی بهبود بخشید و سازگاری کامل با تماس های سیستمی را فراهم می کند.

یکی از درخواست های اصلی جامعه WSL مربوط به بهبود عملکرد بود. WSL2 ابزارهای لینوکس بسیار بیشتری را نسبت به WSL اجرا می کند، به ویژه Docker و FUSE.
WSL2 عملیات فشرده فایل، به ویژه git clone، npm install، apt update و apt upgrade را مدیریت می کند. افزایش سرعت واقعی به برنامه خاص و نحوه تعامل آن با سیستم فایل بستگی دارد.

اولین آزمایشات نشان داد که WSL2 در باز کردن تار از zip حدود 20 برابر سریعتر از WSL1 است. هنگام استفاده از git clone، npm install و cmake در پروژه های مختلف، این سیستم دو تا پنج برابر افزایش عملکرد را نشان داد.

آیا این به جلب اعتماد توسعه دهندگان کمک می کند؟

کودی سوان، مدیر عامل Gunner Technology گفت که در اصل، مایکروسافت با توسعه نسخه خود از هسته لینوکس برای پشتیبانی از فرآیندهای WSL2، به دنبال به رسمیت شناختن و اعتماد در جامعه توسعه دهندگان است.

"علاوه بر توسعه سختگیرانه برای ویندوز، ایجاد همه برنامه های کاربردی دیگر - برنامه های ابری، تلفن همراه، وب - بر روی رایانه شخصی بسیار ناخوشایند بود، به همین دلیل است که توسعه دهنده مجبور شد یک توزیع لینوکس را به موازات سیستم عامل ویندوز بوت کند. مایکروسافت این را تشخیص داد و راه حلی ارائه کرد.»

بعید است که معرفی یک هسته لینوکس سفارشی از دیدگاه کاربر معمولی تأثیر جدی بر روی سیستم داشته باشد. با این حال، این فرصت‌ها را برای تعامل نزدیک‌تر بین سرویس‌های مایکروسافت و سیستم عامل لینوکس باز می‌کند.
سوان می‌گوید: این حرکت از سوی مایکروسافت در واقع بسیار هوشمندانه است، زیرا به نفوذ بیشتر در جامعه توسعه‌دهندگان و همچنین استفاده فعالانه از محصولاتی که شخص دیگری در حال توسعه است کمک می‌کند - یعنی به منبع باز متصل شوید.

به مایکروسافت جدید خوش آمدید

گرایش به سمت ایجاد و حفظ هسته لینوکس «مخصوصاً برای ویندوز» منعکس کننده مسیر منبع باز قوی است که توسط مدیر عامل ساتیا نادلا ترویج شده است. مایکروسافت دیگر مانند دوران گیتس و بالمر نیست، زمانی که همه چیز پشت یک حصار اختصاصی نگه داشته می شد و هیچ کس به قابلیت همکاری فکر نمی کرد.

ساتیا مایکروسافت را کاملاً به یک پلتفرم بسیار مدرن‌تر تبدیل کرده است و این استراتژی به خوبی نتیجه داده است. شوارتز می گوید: سلام، سرمایه تریلیون دلاری.

به گفته چارلز کینگ، تحلیلگر اصلی Pund-IT، دو نقطه قوت اصلی مایکروسافت کارایی و امنیت است.

او می‌افزاید: «با استفاده فعالانه از پیشرفت‌های جدی خود - منابع و ابزارها - این شرکت می‌تواند به مشتریان تضمین کند که هسته کاملاً به‌روز و مجهز به آخرین وصله‌ها و اصلاحات برای اطمینان از امنیت کامل خواهد بود.»

توسعه دهندگان نیز سود می برند

باینری های لینوکس با استفاده از فراخوانی های سیستمی عملکردهای زیادی مانند دسترسی به فایل ها، درخواست حافظه و ایجاد فرآیندها را انجام می دهند. WSL1 برای تفسیر بسیاری از این فراخوانی های سیستمی و امکان تعامل با هسته ویندوز NT به یک لایه ترجمه متکی است.

سخت ترین کار این است که همه فراخوانی های سیستم را اجرا کنید. از آنجایی که این کار در WSL1 انجام نشد، برخی از برنامه ها نمی توانند در آنجا کار کنند. WSL2 بسیاری از برنامه های کاربردی جدید را معرفی می کند که به خوبی در این محیط کار می کنند.

معماری جدید به مایکروسافت اجازه می دهد تا جدیدترین بهینه سازی ها را به هسته لینوکس بسیار سریعتر از WSL1 بیاورد. مایکروسافت می‌تواند هسته WSL2 را به‌جای اجرای مجدد همه محدودیت‌ها، به‌روزرسانی کند.

ابزار کاملا متن باز

جک هامونز، مدیر برنامه در Linux Systems Group، مایکروسافت، گفت که مایکروسافت توسعه هسته لینوکس خود را اوج سال ها کار گروه سیستم های لینوکس و همچنین بسیاری از تیم های دیگر در سراسر مایکروسافت بود.

هسته ارائه شده برای WSL2 کاملا متن باز خواهد بود و مایکروسافت دستورالعمل ساخت چنین هسته ای را در GitHub ارسال خواهد کرد. این شرکت با توسعه دهندگانی که مایل به کمک به پروژه و ایجاد تغییرات پایین به بالا هستند، تعامل خواهد داشت.

توسعه دهندگان مایکروسافت WSL2 را با استفاده از سیستم های یکپارچه سازی مداوم و تحویل مداوم این شرکت ایجاد کردند. این نرم افزار از طریق سیستم آپدیت ویندوز ارائه خواهد شد و کاملا شفاف برای کاربر خواهد بود. هسته به روز باقی می ماند و تمام ویژگی های آخرین شاخه پایدار لینوکس را شامل می شود.

برای اطمینان از در دسترس بودن منبع، این شرکت مخازن را به صورت محلی منعکس می کند، به طور مداوم محتویات لیست پستی امنیتی لینوکس را نظارت می کند و با چندین شرکت که از پایگاه های داده در محیط های مجازی سازمانی (CVE) پشتیبانی می کنند، کار می کند. این تضمین می‌کند که هسته لینوکس مایکروسافت با آخرین به‌روزرسانی‌ها به‌روز است و هر گونه تهدیدی که در حال ظهور است را از بین می‌برد.

تغییرات پایین به بالا اجباری می شود

مایکروسافت تضمین می‌کند که تمام تغییرات هسته در بالادست منتشر می‌شوند، که جنبه مهمی از فلسفه لینوکس است. پشتیبانی از وصله های پایین دست با پیچیدگی بیشتری همراه است. علاوه بر این، این عمل در جامعه منبع باز رایج نیست.

هدف مایکروسافت به عنوان یک کاربر فعال لینوکس این است که عضوی منظم در جامعه باشد و تغییراتی را در جامعه ایجاد کند. برای اطمینان از پایداری شاخه‌های مرتبط با پشتیبانی طولانی‌مدت، برخی از وصله‌ها - به عنوان مثال آن‌هایی که دارای ویژگی‌های جدید هستند - ممکن است فقط در نسخه‌های جدید هسته گنجانده شوند و در حالت سازگاری به عقب به نسخه LTS فعلی منتقل نشوند.

هنگامی که منابع اصلی WSL در دسترس هستند، از پیوندهایی به مجموعه‌ای از وصله‌ها و یک بخش پایدار طولانی‌مدت از منابع تشکیل می‌شوند. مایکروسافت انتظار دارد این لیست به مرور زمان کوچکتر شود زیرا وصله ها در بالادست توزیع می شوند و وصله های محلی جدید برای پشتیبانی از ویژگی های جدید WSL اضافه می شوند.

طراحی پنجره دلپذیرتر

مایکروسافت همچنین نسخه زمستانی آتی Windows Terminal را اعلام کرد، یک برنامه جدید برای کاربرانی که با ابزارها و پوسته های خط فرمان مانند Command Prompt، PowerShell و WSL کار می کنند.

پنگوئن در پنجره: در مورد پتانسیل و چشم انداز WSL2

ترمینال ویندوز

Windows Terminal 1.0 تنظیمات و گزینه های پیکربندی بسیاری را ارائه می دهد که به شما کنترل بیشتری بر ظاهر پنجره ترمینال و همچنین روی پوسته ها/پروفایل هایی که باید به عنوان برگه های جدید باز شوند، می دهد.

تنظیمات در یک فایل متنی ساختاریافته ذخیره می شوند و پیکربندی و طراحی پنجره ترمینال را به سلیقه شما آسان می کند.

مایکروسافت دیگر کنسول ویندوز موجود را اصلاح نمی‌کند و یک کنسول جدید را از ابتدا ایجاد می‌کند و تصمیم می‌گیرد رویکرد جدیدی در پیش بگیرد. Windows Terminal به موازات برنامه کنسول ویندوز موجود که از جعبه خارج می شود نصب و اجرا می شود.

چطور کار می کند؟

هنگامی که کاربر ویندوز 10 مستقیماً Cmd/PowerShell/etc را راه اندازی می کند، فرآیند متصل به نمونه معمولی کنسول فعال می شود. موتور پیکربندی ترمینال جدید به کاربران ویندوز این امکان را می‌دهد تا پروفایل‌های متعددی را برای تمام پوسته‌ها/برنامه‌ها/ابزارهای مورد نظر خود ایجاد کنند، چه در اتصالات PowerShell، Command Prompt، Ubuntu یا حتی SSH به دستگاه‌های Azure یا IoT.

این پروفایل‌ها می‌توانند ترکیبی از طراحی و اندازه فونت، تم‌های رنگی، سطوح تاری پس‌زمینه یا شفافیت خود را ارائه دهند. علاوه بر این، کاربران می توانند فونت monospace جدیدی را انتخاب کنند تا پنجره ترمینال مدرن تر و جذاب تر به نظر برسد. این فونت حاوی پیوندهای برنامه نویس است؛ در دسترس عموم قرار خواهد گرفت و در مخزن خود ذخیره می شود.

مزیت اصلی رابط دستوری جدید ویندوز تب های زیاد و متن زیبا است. پشتیبانی از چندین تب به عنوان بیشترین درخواست برای توسعه ترمینال در نظر گرفته شد. متن زیبا به لطف موتور رندر مبتنی بر DirectWrite/DirectX، مجهز به شتاب GPU به دست می آید.

این موتور نمادهای متنی، حروف و کاراکترهای ویژه موجود در فونت‌ها، از جمله ایدئوگرام‌های چینی، ژاپنی و کره‌ای (CJK)، ایموجی‌ها، نمادهای خط برق، نمادها و لیگاتورهای برنامه‌نویسی را نمایش می‌دهد. علاوه بر این، این موتور متن را بسیار سریعتر از GDI که قبلاً در کنسول استفاده می شد، رندر می کند.

سازگاری به عقب در نظم کامل باقی می ماند، اگرچه در صورت تمایل می توانید Windows Terminal را امتحان کنید.

کرونولوژی: چگونه اتفاق خواهد افتاد

مایکروسافت ترمینال ویندوز را از طریق فروشگاه مایکروسافت در ویندوز 10 ارائه خواهد کرد و به طور مرتب آن را به روز می کند. به این ترتیب، کاربران همیشه با آخرین نسخه‌ها و آخرین پیشرفت‌ها به‌روز خواهند بود – تقریباً بدون تلاش اضافی.

مایکروسافت قصد دارد در زمستان آینده ترمینال جدیدی راه اندازی کند. هنگامی که مایکروسافت Windows Terminal 1.0 را عرضه کرد، توسعه دهندگان به کار بر روی بسیاری از ویژگی هایی که قبلاً ذخیره شده اند ادامه خواهند داد.

ترمینال ویندوز و کد منبع کنسول ویندوز قبلا ارسال شده است در GitHub.

چه چیزی می تواند در آینده در انتظار ما باشد؟

این احتمال که مایکروسافت از هسته لینوکس خود برای مقاصد دیگر، به عنوان مثال، برای توسعه توزیع لینوکس خود استفاده کند، امروزه تا حدودی فرضی به نظر می رسد.

چارلز کینگ می‌گوید: نتیجه احتمالاً به این بستگی دارد که آیا مایکروسافت بتواند تقاضای قابل توجهی برای چنین محصولی پیدا کند یا خیر، و چنین پیشرفت‌هایی به طور بالقوه چه فرصت‌های تجاری را می‌توانند باز کنند.

او فکر می کند تمرکز شرکت برای آینده قابل پیش بینی بر روی سازگاری فزاینده و مکمل ویندوز و لینوکس با یکدیگر خواهد بود.

جاشوا شوارتز معتقد است که در این صورت باید سنجید که سرمایه گذاری در این کار چقدر خواهد بود و بازده آن چقدر خواهد بود. اگر مایکروسافت امروز یک شرکت بسیار جوان بود، احتمالاً همه کارها را بر اساس لینوکس انجام می داد. با این حال، انتقال همه پیشرفت‌های موجود از مایکروسافت به معماری بومی لینوکس امروزه به نظر می‌رسد یک پروژه گران قیمت و پیچیده باشد که بعید به نظر می‌رسد نتیجه خوبی داشته باشد. دوستداران لینوکس لینوکس خود را خواهند داشت و معماری هسته دست نخورده باقی می ماند.

هنگامی که اپل در سال 2000 سیستم عامل مک را دوباره اختراع کرد، سیستم عامل بر اساس BSD Unix بود که بیشتر شبیه لینوکس است تا DOS. امروزه نسخه جدیدی از ویندوز مایکروسافت مبتنی بر لینوکس در حال ایجاد است.

شاید دری جدید به روی ما باز می شود؟

هسته لینوکس مایکروسافت می تواند راه را برای همکاری بیشتر بین سرویس های ویندوز و سیستم عامل لینوکس هموار کند. در اصل، این تحولات توسط مایکروسافت نشان می دهد که خود مایکروسافت قبلاً درک کرده است: امروزه تقریباً هیچ مشتری دیگری وجود ندارد که ترجیح دهد در دنیایی وجود داشته باشد که همه چیز ویندوز است.

استفاده از فن‌آوری‌ها و سیستم‌های ناهمگن که به بهترین وجه نیازهای تجاری و موقعیت‌های عملی خاص را برآورده می‌کنند، بسیار منطقی‌تر است.

سوال استراتژیک بزرگتر این است که این حرکت چه فرصت های استراتژیک جدیدی را برای خود پلتفرم مایکروسافت باز می کند؟

Azure، اکوسیستم ابری مایکروسافت، در حال حاضر پشتیبانی فوق العاده ای از لینوکس ارائه می دهد. پیش از این، ویندوز با استفاده از ماشین های مجازی به خوبی از لینوکس پشتیبانی می کرد.

تغییرات اساسی که امروزه رخ می دهد به این دلیل است که اکنون فرآیندهای لینوکس به صورت بومی بر روی هسته ویندوز اجرا می شوند، به این معنی که کار با لینوکس از ویندوز بسیار سریعتر از ماشین های مجازی خواهد بود. این احتمال وجود دارد که در نتیجه، Azure خود را با یک لایه کامل از مهندسان با استفاده از لینوکس در مقیاس صنعتی غنی کند.

منبع: www.habr.com

اضافه کردن نظر