【互補創造更大經濟效益】Windows 今年夏天將開始內建 Linux 核心(WSL 2的最新WSL架構)
Windows 與 Linux 長久以來的競爭,終於要走向:互補之路!
市場鐵律:一切分不出勝負的競爭,最於只有協作,才有更大經濟效益。
刀叉與筷子,哪一樣會被淘汰呢?
答案是:很多東西不是絕對競爭,是有互補的。
在2014年Satya Nadella上任微軟執行長喊出的「微軟愛Linux」,看來不是口號而是真的深深愛上了…..
什麼是:WSL 呢?(WSL英語全名是:Windows Subsystem for Linux) 適用於 Linux 的 Windows 子系統
是一個為在 Windows 10 和 Windows Server 2019 上能夠原生執行Linux二進位可執行檔(ELF格式)的相容層。
WSL提供了一個由微軟開發的Linux相容的核心介面(不包含Linux核心程式碼)
然後可以在其上執行GNU用戶空間,例如:Ubuntu,openSUSE,SUSE Linux Enterprise Server,Debian和Kali Linux。
這樣的用戶空間可能包含Bash shell和命令語言,使用本機GNU/Linux命令列工具(sed,awk等),程式語言直譯器(Ruby,Python等)
甚至是圖形應用程式(使用主機端的X視窗系統)。
微軟宣布從今年夏天的Windows Insiders版本,將開始內含Linux核心,用來支援最新版本適用於Linux的Windows子系統(Windows Subsystem for Linux,WSL)
微軟提到,這是Linux核心首次成為Windows的元件共同發佈。
WSL是微軟2016年推出的功能,讓開發者可以在Windows上執行GNU/Linux環境,包括Bash shell等命令列工具、公用程式甚至是X視窗系統等應用程式
WSL提供由微軟開發的Linux相容核心介面,開發者可以在其上執行GNU使用者空間,像是Ubuntu、openSUSE與Kali等Linux版本
而現在微軟乾脆直接讓Windows附帶Linux,並且同時發表了名為WSL 2的最新WSL架構。
這個版本的Linux核心使用最新長期穩定版4.19,為確保WSL核心始終維持最新的版本,因此當新的Linux長期穩定版本釋出,微軟會對核心進行衍合(Rebase)。
這個Linux核心使用來自Kernel.org的長期支援版本來源外,也應用許多微軟客製的補丁,目的是要縮短啟動時間、減少記憶體使用,以打造出小而輕量的WSL 2核心。
微軟提到,他們現在聘用越來越多的Linux貢獻者,除了可以獲得更多的Linux技術支援外,他們也從上游直接對Linux做出更新,在使用Linux的過程同時對Linux做出貢獻。
雖然微軟仍有多項針對核心的更新,尚未包含在這次使用的Linux核心中,但是會包含在未來使用的核心版本
微軟表示,維護下游的補丁不只增加複雜度,也並非開源社群的標準做法,因此他們傾向開發產品需要的補丁,並與社群合作整合上游程式碼。
在安全性上,WSL核心微軟使用自家的CI/CD系統建置,並透過Windows Update提供更新服務,確保核心能夠持續維持最新穩定版本,免受Linux漏洞影響安全。
WSL 2提供的內核是完全開源的,在Windows Insider版本中發布的WSL 2,也將會在GitHub釋出說明,有興趣的開發者甚至可以開發自己的核心。
Windows Linux子系統:WSL 2 的六個重點:
微軟在Windows 10操作系統中存在的WSL要升級換代了,即第二版Windows Linux子系統:WSL 2,該版本將能運行更多的Linux軟體,
例如:Docker,對於WSL 2大家會非常陌生,我們介紹六個重要的看點,讓你對WSL 2有一個大概的瞭解。
以下是 WSL 2 的六個重點:
1、來自WSL社區的最高要求是提高檔案系統效能,並使更多應用程式在WSL內定工作(即引入更好的系統呼叫相容性),WSL 2在這方面已經大大的提升,
2、WSL 2使用一個全新的體系結構,使用真正的Linux內核,可以實現完整的系統呼叫相容性,這將是Linux內核首次附帶Windows,同時WSL 2基於Linux 4.19內核開發,優點是能減少Linux的啟動時間、減輕記憶體的佔用。這裡要強調一下,請不要隨意升級Linux內核,以免給整體帶來非穩定性。
3、WSL 2從Linux 4.19內核構建是完全開源的,即這個Linux內核將是完全開源的,微軟將在Github上線上提供完整配置,因此可以看到它的工作原理並自行構建,即WSL 2更開放,更面向使用者並接受開源社區的改進。
4、WSL 2能使啟動Linux發行版時,可以在兩秒鐘內訪問一個工作的bash shell,並且可以立即運行像docker這樣的服務和應用程式,總結的來說:雖然WSL 2確實使用了VM,但它將在後台進行管理和運行,讓你擁有和WSL 1相同的使用者體驗。
5、WSL 2比WSL 1速度更快,比如git clone、npm install、apt update、apt upgrade等檔案密集型操作都會明顯加快。使用WSL 2和WSL 1進行解壓縮源程式碼測試,結果WSL 1慢了近20倍,在使用git clone、npm install和cmake時WSL 1比WSL 2慢了2倍至5倍,總的來說,WSL 2在各項測試中明顯比WSL 1快多了,而且明顯感受到速度提升了不止100%。
6、微軟現在能夠通過Linux內核更新來對WSL加以改進,比如使其相容性更好,運行更多的Linux應用,在這一過程中,微軟不需要對整個Windows Linux子系統進行更新。