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“DVD”的源码,作者猜测其中 98% 由 C 和 C++ 写就,而 C 占据大比例。
此外,.NET BCL 与一些相关库和框架通常都是用 C# 编写的,“但它们也只不过是带有几座 C++ 小岛的 C 汪洋大海的一栗”,它们来自不同的部门,代码并不属于 Windows 源码树。
作者惊呼:Windows 源码的规模巨大,这是一个真正史诗般的巨型项目。

完整的源码树包含所有代码,如上图所示,测试代码与一起构成“Windows 源码”的所有内容加起来有超过 400 万个文件、50 万个文件夹、大小超过 0.5 TB,其中包含了构成 OS 工作站、服务器和所有版本的工具、相关开发工具包的每个组件的代码。
源码的规模有多恐怖呢?作者估计完全查看这些源码的文件名,并试图理解源码具体是用来干什么的,需要花上一生的时间。他还举了一个例子:有一次,我离开了一个 Git 分支几个星期,当我回来时,已经落在了将近 60 000 次 commit 之后。
博客原文:
引用来自“二哥呀”的评论
规模庞大也就意味着难以维护,也不是啥好事啊,多开放一些,制定标准,开放标准,让优秀的开发者参与进来,windows也许会更好。引用来自“小果汁儿”的评论
说真的,相同硬件配置下,win确实卡。同一台电脑跑win10和ubuntu,相比之下,win10不重启用越久越卡,ubuntu却好好的。引用来自“李嘉图”的评论
我win10和arch都在用,win10 的确吃硬件,但是没有不重启就卡,我win10,已经几个星期没重启了,也没见卡,至于我的arch,的确是很流畅,但是偶尔有小bug,不知道看是kde的还是xorg的,不过不影响使用win10界面的bug几乎没有,但是linux的桌面环境桌面的bug很常见
引用来自“sevk”的评论
用xfce4就好了引用来自“巧可炭”的评论
我买的surface里win10的bug满天飞,小米pro装了arch用awesome wm,没见有什么bug引用来自“小果汁儿”的评论
说真的,相同硬件配置下,win确实卡。同一台电脑跑win10和ubuntu,相比之下,win10不重启用越久越卡,ubuntu却好好的。引用来自“李嘉图”的评论
我win10和arch都在用,win10 的确吃硬件,但是没有不重启就卡,我win10,已经几个星期没重启了,也没见卡,至于我的arch,的确是很流畅,但是偶尔有小bug,不知道看是kde的还是xorg的,不过不影响使用win10界面的bug几乎没有,但是linux的桌面环境桌面的bug很常见
引用来自“axel5”的评论
入职两年,仅写过1行代码,哈哈哈哈哈哈引用来自“小果汁儿”的评论
说真的,相同硬件配置下,win确实卡。同一台电脑跑win10和ubuntu,相比之下,win10不重启用越久越卡,ubuntu却好好的。引用来自“李嘉图”的评论
我win10和arch都在用,win10 的确吃硬件,但是没有不重启就卡,我win10,已经几个星期没重启了,也没见卡,至于我的arch,的确是很流畅,但是偶尔有小bug,不知道看是kde的还是xorg的,不过不影响使用win10界面的bug几乎没有,但是linux的桌面环境桌面的bug很常见
引用来自“sevk”的评论
用xfce4就好了引用来自“xiaoyu123”的评论
一个个,连10万行代码都搞不定架构,。在这评价千万行代码的架构系统,脸大么?引用来自“小果汁儿”的评论
说真的,相同硬件配置下,win确实卡。同一台电脑跑win10和ubuntu,相比之下,win10不重启用越久越卡,ubuntu却好好的。引用来自“李嘉图”的评论
我win10和arch都在用,win10 的确吃硬件,但是没有不重启就卡,我win10,已经几个星期没重启了,也没见卡,至于我的arch,的确是很流畅,但是偶尔有小bug,不知道看是kde的还是xorg的,不过不影响使用win10界面的bug几乎没有,但是linux的桌面环境桌面的bug很常见
引用来自“sevk”的评论
用xfce4就好了引用来自“小果汁儿”的评论
说真的,相同硬件配置下,win确实卡。同一台电脑跑win10和ubuntu,相比之下,win10不重启用越久越卡,ubuntu却好好的。引用来自“谁偷了我的名字”的评论
我觉得请反思一下 自己用的是否是正版授权的windows 还是网上下载的阉割版 或者魔改版 前两天下载的自制版 用起来经常卡 玩游戏也好 干啥也好都很卡 后来换一个精简版的 瞬间流畅几倍 而且我觉得没有什么可比性 毕竟操作性和内核都不一样 没有好坏之分 windows在优化用户体验的同时提高性能 而且其后台会有很多系统或者非系统的应用进程 比如流氓360等运行 这些在linux类的系统中基本很少,linux类的系统主要在提高性能,兼顾用户的界面体验。个人理解,不对可以指正引用来自“二哥呀”的评论
规模庞大也就意味着难以维护,也不是啥好事啊,多开放一些,制定标准,开放标准,让优秀的开发者参与进来,windows也许会更好。引用来自“小果汁儿”的评论
说真的,相同硬件配置下,win确实卡。同一台电脑跑win10和ubuntu,相比之下,win10不重启用越久越卡,ubuntu却好好的。引用来自“小果汁儿”的评论
说真的,相同硬件配置下,win确实卡。同一台电脑跑win10和ubuntu,相比之下,win10不重启用越久越卡,ubuntu却好好的。引用来自“李嘉图”的评论
我win10和arch都在用,win10 的确吃硬件,但是没有不重启就卡,我win10,已经几个星期没重启了,也没见卡,至于我的arch,的确是很流畅,但是偶尔有小bug,不知道看是kde的还是xorg的,不过不影响使用win10界面的bug几乎没有,但是linux的桌面环境桌面的bug很常见
引用来自“小果汁儿”的评论
说真的,相同硬件配置下,win确实卡。同一台电脑跑win10和ubuntu,相比之下,win10不重启用越久越卡,ubuntu却好好的。引用来自“谋定而动-知止而有得”的评论
@小果汁儿 但是ubuntu却用着不顺手,办公常用软件,聊天软件都不支持引用来自“南漂一卒”的评论
你一定没用过 Deepin Linux引用来自“小果汁儿”的评论
deepin更卡引用来自“小果汁儿”的评论
说真的,相同硬件配置下,win确实卡。同一台电脑跑win10和ubuntu,相比之下,win10不重启用越久越卡,ubuntu却好好的。引用来自“谋定而动-知止而有得”的评论
@小果汁儿 但是ubuntu却用着不顺手,办公常用软件,聊天软件都不支持至于办公软件嘛,永中office、wps都原生支持linux
怕就怕 产品经理的自作主张,要当用户的爸爸
引用来自“小果汁儿”的评论
说真的,相同硬件配置下,win确实卡。同一台电脑跑win10和ubuntu,相比之下,win10不重启用越久越卡,ubuntu却好好的。引用来自“谋定而动-知止而有得”的评论
@小果汁儿 但是ubuntu却用着不顺手,办公常用软件,聊天软件都不支持引用来自“南漂一卒”的评论
你一定没用过 Deepin Linux引用来自“小果汁儿”的评论
deepin更卡引用来自“小果汁儿”的评论
说真的,相同硬件配置下,win确实卡。同一台电脑跑win10和ubuntu,相比之下,win10不重启用越久越卡,ubuntu却好好的。引用来自“谋定而动-知止而有得”的评论
@小果汁儿 但是ubuntu却用着不顺手,办公常用软件,聊天软件都不支持引用来自“南漂一卒”的评论
你一定没用过 Deepin Linux引用来自“小果汁儿”的评论
deepin更卡引用来自“南漂一卒”的评论
我说的是 Deepin 该有的软件都有引用来自“小果汁儿”的评论
说真的,相同硬件配置下,win确实卡。同一台电脑跑win10和ubuntu,相比之下,win10不重启用越久越卡,ubuntu却好好的。引用来自“谋定而动-知止而有得”的评论
@小果汁儿 但是ubuntu却用着不顺手,办公常用软件,聊天软件都不支持引用来自“南漂一卒”的评论
你一定没用过 Deepin Linux引用来自“小果汁儿”的评论
deepin更卡引用来自“开源中国首席C菜鸟”的评论
现在的最新版本15.9版本不卡了引用来自“小果汁儿”的评论
说真的,相同硬件配置下,win确实卡。同一台电脑跑win10和ubuntu,相比之下,win10不重启用越久越卡,ubuntu却好好的。引用来自“谋定而动-知止而有得”的评论
@小果汁儿 但是ubuntu却用着不顺手,办公常用软件,聊天软件都不支持引用来自“南漂一卒”的评论
你一定没用过 Deepin Linux引用来自“小果汁儿”的评论
deepin更卡引用来自“小果汁儿”的评论
说真的,相同硬件配置下,win确实卡。同一台电脑跑win10和ubuntu,相比之下,win10不重启用越久越卡,ubuntu却好好的。引用来自“谋定而动-知止而有得”的评论
@小果汁儿 但是ubuntu却用着不顺手,办公常用软件,聊天软件都不支持引用来自“南漂一卒”的评论
你一定没用过 Deepin Linux引用来自“小果汁儿”的评论
deepin更卡引用来自“osdba”的评论
“400 万个文件、50 万个文件夹、大小超过 0.5 TB”只能说明win10内核开发项目管理的巨大失败,可以想象这里面大部分都是垃圾,开发人员总是在增加代码,而没有人去优化代码,所以也可以知道今后win操作系统很难有大的改进了。源代码都管理成这个乌样了,还怎么做大的修改?引用来自“InkRun”的评论
明明是500+G,强行变成了0.5T~😅😅引用来自“小果汁儿”的评论
说真的,相同硬件配置下,win确实卡。同一台电脑跑win10和ubuntu,相比之下,win10不重启用越久越卡,ubuntu却好好的。引用来自“谋定而动-知止而有得”的评论
@小果汁儿 但是ubuntu却用着不顺手,办公常用软件,聊天软件都不支持引用来自“南漂一卒”的评论
你一定没用过 Deepin Linux引用来自“小果汁儿”的评论
deepin更卡引用来自“纯洁徐”的评论
@小果汁儿 你一定没有用过mate ubuntu引用来自“小果汁儿”的评论
说真的,相同硬件配置下,win确实卡。同一台电脑跑win10和ubuntu,相比之下,win10不重启用越久越卡,ubuntu却好好的。笔记本可能可以玩玩双系统
引用来自“小果汁儿”的评论
说真的,相同硬件配置下,win确实卡。同一台电脑跑win10和ubuntu,相比之下,win10不重启用越久越卡,ubuntu却好好的。win10界面的bug几乎没有,但是linux的桌面环境桌面的bug很常见
引用来自“小果汁儿”的评论
说真的,相同硬件配置下,win确实卡。同一台电脑跑win10和ubuntu,相比之下,win10不重启用越久越卡,ubuntu却好好的。引用来自“谋定而动-知止而有得”的评论
@小果汁儿 但是ubuntu却用着不顺手,办公常用软件,聊天软件都不支持引用来自“南漂一卒”的评论
你一定没用过 Deepin Linux引用来自“小果汁儿”的评论
说真的,相同硬件配置下,win确实卡。同一台电脑跑win10和ubuntu,相比之下,win10不重启用越久越卡,ubuntu却好好的。引用来自“谋定而动-知止而有得”的评论
@小果汁儿 但是ubuntu却用着不顺手,办公常用软件,聊天软件都不支持引用来自“南漂一卒”的评论
你一定没用过 Deepin Linux引用来自“osdba”的评论
“400 万个文件、50 万个文件夹、大小超过 0.5 TB”只能说明win10内核开发项目管理的巨大失败,可以想象这里面大部分都是垃圾,开发人员总是在增加代码,而没有人去优化代码,所以也可以知道今后win操作系统很难有大的改进了。源代码都管理成这个乌样了,还怎么做大的修改?引用来自“mymbrooks”的评论
还真是大言不惭,这是 Windows 几乎所有项目的集合,不仅仅是内核,如果把 RHEL、Ubuntu 所有项目源码加起来也不会少。且仅仅以项目大小断言项目质量十分片面。引用来自“osdba”的评论
“400 万个文件、50 万个文件夹、大小超过 0.5 TB”只能说明win10内核开发项目管理的巨大失败,可以想象这里面大部分都是垃圾,开发人员总是在增加代码,而没有人去优化代码,所以也可以知道今后win操作系统很难有大的改进了。源代码都管理成这个乌样了,还怎么做大的修改?引用来自“小果汁儿”的评论
说真的,相同硬件配置下,win确实卡。同一台电脑跑win10和ubuntu,相比之下,win10不重启用越久越卡,ubuntu却好好的。引用来自“小果汁儿”的评论
说真的,相同硬件配置下,win确实卡。同一台电脑跑win10和ubuntu,相比之下,win10不重启用越久越卡,ubuntu却好好的。引用来自“谋定而动-知止而有得”的评论
@小果汁儿 但是ubuntu却用着不顺手,办公常用软件,聊天软件都不支持引用来自“小果汁儿”的评论
说真的,相同硬件配置下,win确实卡。同一台电脑跑win10和ubuntu,相比之下,win10不重启用越久越卡,ubuntu却好好的。引用来自“小果汁儿”的评论
说真的,相同硬件配置下,win确实卡。同一台电脑跑win10和ubuntu,相比之下,win10不重启用越久越卡,ubuntu却好好的。