Windows 10原始碼一覽!

2021-10-14 08:35:43 字數 1281 閱讀 2425

windows 作業系統本身是不開源的,但是微軟核心工程師 axel rietschin 發表了一篇部落格,帶大家一窺了windows 10 核心的魅力。

axel 介紹,windows 10 與 windows 8.x、7、vista、xp、2000 和 nt 的**庫是相同的,其中每一代都在之前的基礎上進行重大的重構,並增加大量新功能,改進效能和硬體支援,此外還有安全性的提公升,同時保持非常高的後向相容性。

目前在 github 上其實可以找到 windows 核心研究的洩露副本,雖然這些**已經過時且很不完整,但它們還是具有很高的研究價值。

比如 wrk-v1.2/base/ntos/config 原始碼實現了乙個大名鼎鼎的核心元件配置管理器 registry,也就是登錄檔,它在內部稱被為 cm。

其實 axel 這個部落格是在回答乙個問題:「windows 10 是由什麼語言寫就的?」

他介紹,ntoskrnl.exe 核心大部分是使用 c 編寫的,在核心模式下執行的大多數內容也是用 c 編定的,包括檔案系統、網路與驅動程式等。其中也包含一些 c++ **,而越靠近使用者模式、越接近新的原始碼時,c 的使用變得越來越少,反之 c++ 變多。

具體看一下 windows 10 「***」 的原始碼,作者猜測其中 98% 由 c 和 c++ 寫就,而 c 佔據大比例。

此外,.net bcl 與一些相關庫和框架通常都是用 c# 編寫的,「但它們也只不過是帶有幾座 c++ 小島的 c 汪洋大海的一栗」,它們自不同的部門,**並不屬於 windows 原始碼樹。

作者驚呼:windows 原始碼的規模巨大,這是乙個真正史詩般的巨型專案。

完整的原始碼樹包含所有**,如上圖所示,測試**與一起構成「windows 原始碼」的所有內容加起來有超過 400 萬個檔案、50 萬個資料夾、大小超過 0.5 tb,其中包含了構成 os 工作站、伺服器和所有版本的工具、相關開發工具包的每個元件的**。

原始碼的規模有多恐怖呢?作者估計完全檢視這些原始碼的檔名,並試圖理解原始碼具體是用來幹什麼的,需要花上一生的時間。

他還舉了乙個例子:有一次,我離開了乙個 git 分支幾個星期,當我回來時,已經落在了將近 60 000 次 commit 之後。

部落格原文:

Flink 原始碼解析 專案結構一覽

flink 原始碼專案結構一覽 1 flink 從0到1學習 apache flink 介紹 2 flink 從0到1學習 mac 上搭建 flink 1.6.0 環境並構建執行簡單程式入門 3 flink 從0到1學習 flink 配置檔案詳解 4 flink 從0到1學習 data source...

Flink 原始碼解析 專案結構一覽

flink 原始碼專案結構一覽 部落格1 flink 從0到1學習 apache flink 介紹 2 flink 從0到1學習 mac 上搭建 flink 1.6.0 環境並構建執行簡單程式入門 3 flink 從0到1學習 flink 配置檔案詳解 4 flink 從0到1學習 data sou...

Windows控制面板快捷指令一覽

對於一些常用功能,在控制面板找到相應設定項效率很低。這裡總結一些 cpl檔案可以直接在執行呼叫,提高效率。ncpa.cpl 網路連線 常用 sysdm.cpl 系統屬性 計算機名 虛擬記憶體等 powercfg.cpl 電源選項 平衡效能以及關閉顯示器時間 joy.cpl 手柄設定 wscui.cp...