這是一個美妙而且瘋狂的時代,瞬息萬變,一切皆有可能。
曾經一度,微軟把Linux看作危險的異類,想將其扼殺在搖籃之中。而如今,搖身一變,化敵為友,微軟是LINUXFoundation的鉑金級別會員。
根據LinuxFoundation的官方文檔,鉑金會員是LinuxFoundation最高級別的會員,每年的年費為50萬美金。(https://www.linuxfoundation.org/bylaws/)
Platinum US$ 500,000Gold US$ 100,000Silver US$ 20,000 (employee size greater than 5,000) US$ 15,000 (employee size between 500 and 4,999) US$ 10,000 (employee size between 100 and 499) US$ 5,000 (employee size <100)
鉑金級別的會員可以在LinuxFoundation的Board中有一個席位,制定決策時有話語權。
撇開技術外的不談,從技術角度看,Windows10引入的WSL(WindowsSubsystemforLinux)非常值得關注和思考。
簡單來說,WSL就是讓Windows用戶可以在Windows上使用Linux,運行原生的二進制程序,不需要重新編譯。
對于從來沒有使用過WSL的格友,強烈推薦你試一下WSL,如果你使用的是Windows10,那么“把大象裝進冰箱”只需要三步:
安裝速度很快,比在虛擬機里安裝要快很多,比如,選擇Ubuntu的話,連下載帶安裝只要幾分鐘就好了。
接下來就可以享受Linux的短平快了,安裝gcc,gdb,......喜歡什么裝什么,就是一兩條命令的問題。
從名字來看,WSL是為Linux而設計的子系統(WindowsSubsystemforLinux)。但是如果深刻分析,冷靜思考,WSL用的并不是Linux內核,而是Linux應用。
進一步說,WSL是讓Linux應用可以運行在經典的NT內核之上,不需要重新編譯,實現二進制兼容。
有了WSL后,NT內核上便可以肩并肩的運行Windows程序和Linux程序,二者可以訪問相同的文件系統,可以通信,可以寫作,可以做的事情很多很多......
比如,下面的任務管理器截圖里便包含了Ubuntu的top進程。
有人可能說,Linux應用怎么能跑在NT內核上呢?這的確不是一件簡單的事,但是微軟花錢、花時間做到了。
簡單來說,啟用WSL后,Windows會以驅動的形式加載一個名為LxCore的模塊:
SystemRootsystem32driversLXCORE.SYS
某種意義上說,它就是微軟版本的Linux內核。
還是舉個例子來幫助大家快速加深理解吧。
我們曾經介紹過Linux內核中的SYSC_reboot函數,它是rebootAPI對應的系統服務。更有趣的是,這個函數里面雕刻著Linus大神的生日和三個愛女的生日。
在LxCore中,也可以看到這一組神秘的數字,反匯編名為LxpSyscall_REBOOT的函數,便可以看到。
完整的反匯編結果有點長,上面截圖是最關鍵的部分,可以看到有四條比較指令,第一條是比較cmd是不是代表reboot的“FEELDEAD”。第二條便是比較Magic1是不是Linus大神本人的生日1969/12/28。后面三個比較的目標分別是三個女兒的生日,不多說了。
如此看來,Linus的家庭故事也被雕刻在了Windows操作系統之中,這或許是當初Linus編寫這段代碼時也沒有預料到的。
下面是調用LxpSyscall_REBOOT函數的情景:
截圖中從#05棧幀起的下半部分對應的應用程序的棧,目前WinDBG還不能回溯出其中的函數名字,但是已經在計劃內了,在LXCORE模塊塊中已經準備了一個名為PicoWalkUserStack的函數。
說到這里,大家應該堅信,WSL中并沒有使用真正的Linux內核,而是克隆了一份。于是問題來了,嚴格說來,狹義的Linux就是指Linux內核,Linux上的各種應用很多都來自GNU或者其它源頭。
從軟件生態和產業的角度思考,內核本身并不創造價值,應用程序才是用戶真正需要和體現價值的。如此說來,WSL是讓值錢的Linux應用程序可以跑在Windows上,為Linux應用提供了一個新的運行環境。從這個角度來說,WSL與Linux內核無疑是相互競爭的關系。于是乎,Linux與微軟的關系又變得非常微妙了,可能是并肩前進,互利雙贏,也可能是貌合神離,與狼共舞?奇妙的世界,一切皆有可能。
-
微軟
+關注
關注
4文章
6594瀏覽量
104054 -
內核
+關注
關注
3文章
1372瀏覽量
40288 -
Linux
+關注
關注
87文章
11303瀏覽量
209453
原文標題:雕刻在NT內核中的LINUS故事
文章出處:【微信號:LinuxDev,微信公眾號:Linux閱碼場】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
評論