Penguin di jendela: tentang potensi dan prospek WSL2

Hei Habr!

Mumpung kita masih dalam keadaan penuh Penjualan musim panas, kami ingin mengundang Anda untuk mendiskusikan salah satu topik terbesar yang sedang kami kerjakan akhir-akhir ini - interaksi Windows dan Linux, khususnya terkait dengan pengembangan sistem WSL. WSL 2 sedang dalam proses, dan inilah ikhtisar singkat tentang apa yang akan terjadi pada subsistem ini, serta perkiraan integrasi masa depan antara Windows dan Linux.

Penguin di jendela: tentang potensi dan prospek WSL2

Pada bulan Mei tahun ini, Microsoft mengumumkan bahwa WSL2, versi terbaru subsistem Windows di Linux, akan berjalan pada kernel Linux lengkap yang dibuat sendiri.
Ini menandai pertama kalinya Microsoft memasukkan kernel Linux sebagai komponen di Windows. Microsoft juga memperkenalkan baris perintah ke Windows yang akan memperluas kemampuan PowerShell dan WSL.

Baik kernel Linux untuk WSL2, yang dibuat oleh Microsoft, dan baris perintah Windows yang baru sangat menarik bagi para pengembang.

β€œIni adalah langkah terkuat dalam melawan AWS,” kata Joshua Schwartz, direktur program digitalisasi di perusahaan konsultan AT Kearney.

Masa depan Microsoft tidak terhubung dengan pasar PC, meski akan terus mempertahankan posisinya di segmen ini. Akan jauh lebih penting untuk mendapatkan pijakan di pasar cloud, yang salah satu komponennya di masa depan mungkin adalah PC desktop.

Apa yang dilakukan WSL2?

WSL2 adalah kerangka Subsistem Windows terbaru untuk Linux. Ini memungkinkan Anda meningkatkan kinerja sistem file secara radikal dan menyediakan kompatibilitas penuh dengan panggilan sistem.

Salah satu permintaan utama dari komunitas WSL terkait dengan peningkatan fungsionalitas. WSL2 menjalankan lebih banyak alat Linux daripada WSL, terutama Docker dan FUSE.
WSL2 menangani operasi intensif file, khususnya git clone, npm install, apt update, dan apt upgrade. Peningkatan kecepatan sebenarnya bergantung pada aplikasi spesifik dan cara aplikasi tersebut berinteraksi dengan sistem file.

Tes pertama menunjukkan bahwa WSL2 sekitar 20 kali lebih cepat dari WSL1 dalam membongkar tar dari zip. Saat menggunakan git clone, npm install dan cmake di berbagai proyek, sistem menunjukkan peningkatan kinerja dua hingga lima kali lipat.

Apakah ini akan membantu mendapatkan kepercayaan dari pengembang?

Intinya, Microsoft berupaya mendapatkan pengakuan dan kepercayaan dalam komunitas pengembang dengan mengembangkan versi kernel Linux sendiri untuk mendukung proses WSL2, kata Cody Swann, CEO Gunner Technology.

β€œSelain mengembangkan secara khusus untuk Windows, membuat semua aplikasi lain - aplikasi cloud, seluler, web - di PC sangatlah merepotkan, itulah sebabnya pengembang harus mem-boot distribusi Linux secara paralel dengan OS Windows. Microsoft menyadari hal ini dan memberikan solusinya,” simpulnya.

Pengenalan kernel Linux khusus sepertinya tidak akan berdampak serius pada sistem dari sudut pandang pengguna rata-rata. Namun, hal ini membuka peluang interaksi yang lebih erat antara layanan Microsoft dan sistem operasi Linux.
Langkah Microsoft ini memang sangat cerdas, karena membantu menembus lebih dalam komunitas pengembang, serta secara aktif menggunakan produk yang sedang dikembangkan orang lain - yaitu, terhubung ke sumber terbuka, kata Swann.

Selamat datang di Microsoft Baru

Tren pembuatan dan pemeliharaan kernel Linux β€œkhusus untuk Windows” mencerminkan arah open source yang kuat yang dipromosikan oleh CEO Satya Nadella. Microsoft tidak lagi sama seperti di bawah Gates dan Ballmer, ketika semuanya berada di balik pagar kepemilikan, dan tidak ada yang memikirkan interoperabilitas.

β€œSatya telah sepenuhnya mengubah Microsoft menjadi platform yang jauh lebih modern, dan strategi tersebut membuahkan hasil yang besar. Halo, kapitalisasi triliun dolar,” kata Schwartz.

Menurut Charles King, analis utama di Pund-IT, dua kekuatan utama Microsoft adalah efisiensi dan keamanan.

β€œDengan secara aktif menggunakan pengembangan serius yang dimilikinya – sumber daya dan alat – perusahaan dapat menjamin pelanggan bahwa kernel akan sepenuhnya mutakhir dan dilengkapi dengan patch dan perbaikan terbaru untuk memastikan keamanan yang lengkap,” tambahnya.

Pengembang juga mendapatkan keuntungan

Biner Linux menjalankan banyak fungsi menggunakan panggilan sistem, seperti mengakses file, meminta memori, dan membuat proses. WSL1 bergantung pada lapisan terjemahan untuk menafsirkan banyak panggilan sistem ini dan memungkinkan mereka berinteraksi dengan kernel Windows NT.

Hal tersulit adalah mengimplementasikan semua panggilan sistem. Karena hal ini tidak dilakukan di WSL1, beberapa aplikasi tidak dapat berfungsi di sana. WSL2 memperkenalkan banyak aplikasi baru yang bekerja dengan baik di lingkungan ini.

Arsitektur baru memungkinkan Microsoft menghadirkan optimasi terbaru ke kernel Linux jauh lebih cepat dibandingkan dengan WSL1. Microsoft dapat memperbarui inti WSL2 daripada menerapkan kembali semua pembatasan.

Alat sumber sepenuhnya terbuka

Pengembangan kernel Linux milik Microsoft adalah puncak dari kerja keras bertahun-tahun oleh Linux Systems Group, serta banyak tim lain di seluruh Microsoft, kata Jack Hammons, manajer program di Linux Systems Group, Microsoft.

Kernel yang disediakan untuk WSL2 akan sepenuhnya open source, dan Microsoft akan memposting instruksi tentang cara membangun kernel tersebut di GitHub. Perusahaan akan berinteraksi dengan pengembang yang bersedia membantu proyek dan mendorong perubahan dari bawah ke atas.

Pengembang Microsoft membuat WSL2 menggunakan integrasi berkelanjutan dan sistem pengiriman berkelanjutan perusahaan. Perangkat lunak ini akan disajikan melalui sistem pembaruan Windows dan akan sepenuhnya transparan kepada pengguna. Kernel akan tetap diperbarui dan menyertakan semua fitur cabang Linux stabil terbaru.

Untuk memastikan ketersediaan sumber, perusahaan mencerminkan repositori secara lokal, terus memantau konten milis keamanan Linux, dan bekerja dengan beberapa perusahaan yang mendukung database di lingkungan virtual perusahaan (CVE). Hal ini memastikan bahwa kernel Linux Microsoft selalu terbarui dengan pembaruan terkini dan menghilangkan segala ancaman yang muncul.

Perubahan dari bawah ke atas menjadi suatu keharusan

Microsoft memastikan bahwa semua perubahan kernel disebarkan ke hulu, sebuah aspek penting dari filosofi Linux. Mendukung patch hilir mempunyai kompleksitas tambahan; Terlebih lagi, praktik ini tidak umum di komunitas open source.

Tujuan Microsoft sebagai pengguna aktif Linux adalah menjadi anggota komunitas yang disiplin dan memberikan kontribusi perubahan pada komunitas. Untuk memastikan stabilitas cabang yang terkait dengan dukungan jangka panjang, beberapa patch - misalnya yang berisi fitur baru - hanya dapat disertakan dalam versi kernel baru, dan tidak di-porting ke versi LTS saat ini dalam mode kompatibilitas mundur.

Ketika sumber inti WSL tersedia, sumber tersebut akan terdiri dari tautan ke serangkaian tambalan dan bagian sumber stabil yang sudah berjalan lama. Microsoft memperkirakan daftar ini akan menyusut seiring waktu karena patch didistribusikan di bagian hulu dan patch lokal baru ditambahkan untuk mendukung fitur WSL baru.

Desain jendela lebih menyenangkan

Microsoft juga mengumumkan Windows Terminal versi musim dingin yang akan datang, sebuah aplikasi baru untuk pengguna yang bekerja dengan alat baris perintah dan shell, seperti Command Prompt, PowerShell, dan WSL.

Penguin di jendela: tentang potensi dan prospek WSL2

Terminal Windows

Windows Terminal 1.0 menawarkan banyak pengaturan dan opsi konfigurasi yang memberi Anda kontrol lebih besar terhadap tampilan jendela terminal, serta shell/profil yang seharusnya dibuka sebagai tab baru.

Pengaturan akan disimpan dalam file teks terstruktur, membuatnya mudah untuk dikonfigurasikan dan mendesain jendela terminal sesuai selera Anda.

Microsoft tidak lagi menyempurnakan konsol Windows yang ada dan membuat konsol baru dari awal, memutuskan untuk mengambil pendekatan baru. Terminal Windows menginstal dan berjalan secara paralel dengan aplikasi Konsol Windows yang sudah ada.

Bagaimana itu bekerja

Ketika pengguna Windows 10 secara langsung meluncurkan Cmd/PowerShell/etc, proses yang dilampirkan ke instance Konsol reguler dipicu. Mesin konfigurasi terminal baru memungkinkan pengguna Windows membuat beberapa profil untuk semua shell/aplikasi/alat yang mereka inginkan, baik di PowerShell, Command Prompt, Ubuntu, atau bahkan koneksi SSH ke perangkat Azure atau IoT.

Profil ini dapat memberikan kombinasi desain dan ukuran font, tema warna, tingkat keburaman latar belakang, atau transparansinya sendiri. Selain itu, pengguna akan dapat memilih font monospace baru untuk membuat jendela terminal terlihat lebih modern dan keren. Font ini berisi pengikat programmer; font ini akan tersedia untuk umum dan disimpan dalam repositorinya sendiri.

Keuntungan utama dari antarmuka perintah Windows yang baru adalah banyak tab dan teks yang indah. Dukungan untuk banyak tab dianggap sebagai permintaan yang paling banyak diminta untuk pengembangan terminal. Teks indah didapat berkat mesin rendering berbasis DirectWrite/DirectX, dilengkapi akselerasi GPU.

Mesin menampilkan ikon teks, mesin terbang, dan karakter khusus yang ditemukan dalam font, termasuk ideogram China, Jepang, dan Korea (CJK), emoji, simbol powerline, ikon, dan pengikat pemrograman. Selain itu, mesin ini merender teks jauh lebih cepat daripada GDI yang sebelumnya digunakan di konsol.

Kompatibilitas mundur tetap dalam urutan penuh, meskipun Anda dapat mencoba Terminal Windows jika Anda mau.

Kronologi: bagaimana hal itu akan terjadi

Microsoft akan menyediakan Terminal Windows melalui Microsoft Store di Windows 10 dan memperbaruinya secara berkala. Dengan cara ini, pengguna akan selalu mengetahui versi terbaru dan penyempurnaan terkini – tanpa perlu usaha ekstra.

Microsoft berencana meluncurkan terminal baru pada musim dingin mendatang. Setelah Microsoft meluncurkan Windows Terminal 1.0, pengembang akan terus mengerjakan banyak fitur yang sudah disimpan.

Terminal Windows dan Kode Sumber Konsol Windows sudah diposting di GitHub.

Apa yang menanti kita di masa depan?

Kemungkinan bahwa Microsoft akan menggunakan kernel Linux miliknya untuk tujuan lain, misalnya, untuk mengembangkan distribusi Linux miliknya sendiri, tampaknya masih bersifat hipotetis saat ini.

Hasilnya mungkin tergantung pada apakah Microsoft berhasil menemukan permintaan yang signifikan untuk produk tersebut, dan peluang komersial apa yang berpotensi dibuka oleh pengembangan tersebut, kata Charles King.

Ia berpendapat bahwa fokus perusahaan di masa mendatang adalah membuat Windows dan Linux semakin kompatibel dan saling melengkapi satu sama lain.

Joshua Schwartz percaya bahwa dalam hal ini perlu untuk mempertimbangkan berapa besar investasi yang akan dilakukan dalam pekerjaan ini dan berapa keuntungan yang akan didapat. Jika Microsoft adalah perusahaan yang sangat muda saat ini, mungkin mereka akan melakukan segalanya berdasarkan Linux. Namun, memindahkan semua pengembangan yang sudah tersedia dari Microsoft ke arsitektur asli Linux saat ini tampaknya merupakan proyek yang mahal dan rumit yang kemungkinan besar tidak akan membuahkan hasil yang baik. Pecinta Linux akan mendapatkan Linux mereka sendiri dan arsitektur intinya akan tetap utuh.

Ketika Apple menciptakan kembali Mac OS pada tahun 2000, sistem operasinya didasarkan pada BSD Unix, yang lebih mirip dengan Linux daripada DOS. Saat ini, versi baru Microsoft Windows sedang dibuat berdasarkan Linux.

Mungkinkah pintu baru sedang terbuka bagi kita?

Kernel Linux Microsoft dapat membuka jalan bagi interoperabilitas yang lebih besar antara layanan Windows dan sistem operasi Linux. Intinya, perkembangan yang dilakukan Microsoft ini menunjukkan bahwa Microsoft sendiri sudah memahami: saat ini hampir tidak ada lagi pelanggan yang lebih memilih untuk hidup di dunia yang semuanya menggunakan Windows.

Jauh lebih masuk akal untuk menggunakan teknologi dan sistem heterogen yang paling memenuhi kebutuhan bisnis dan situasi praktis tertentu.

Pertanyaan strategis yang lebih besar adalah, peluang strategis baru apa yang terbuka dari langkah ini untuk platform Microsoft itu sendiri?

Azure, ekosistem cloud Microsoft, telah memberikan dukungan luar biasa untuk Linux. Sebelumnya, Windows mendukung Linux dengan baik menggunakan mesin virtual.

Perubahan mendasar yang terjadi saat ini disebabkan oleh fakta bahwa sekarang proses Linux akan berjalan secara native di kernel Windows, yang berarti bekerja dengan Linux dari Windows akan jauh lebih cepat daripada di mesin virtual. Akibatnya, Azure kemungkinan besar akan memperkaya dirinya dengan seluruh lapisan insinyur yang menggunakan Linux dalam skala industri.

Sumber: www.habr.com

Tambah komentar