Win 10 源码有多少行?用了什么编程语言?

Windows 10操作系统源代码体量超过5千万行,主要使用C和C++编写,内核部分几乎全为C语言。整个源代码树包含超过0.5TB的数据,涉及56多万个文件夹,400多万个文件。.NET BCL和其他托管库及框架通常使用C#编写,但比例较小。

(给技术最前线加星标,每天看技术热点)

综合整理:程序员的那些事(id:iProgrammer)

2013 年 10 月,我们在微博(@程序员的那些事 )发过一张信息图《知名软件系统代码库对比》。

信息图中提到,Windows XP 和 Windows 7 操作系统的代码量约 4 千万行级别。

640?wx_fmt=png

(信息图部分截图,完整版在这里:http://t.cn/EXMs07e )

Windows Vista 源码体量约 5 千万行。

640?wx_fmt=png

所以,Windows 10 源码体量至少在 5 千万行咯。

Windows 操作系统是用什么编程语言开发的?

Windows 操作系统这么个量级的代码库,用了哪些/哪种编程语言,肯定有人好奇。

这不,就有人在 Quora 发帖问《开发 Windows 10 用了哪种编程语言?》

2019 年 3 月,微软内核工程师 Axel Rietschin 在 Quora 上回复了这个帖子。

640?wx_fmt=png

「程序员的那些事」摘编如下:

Axel 说,Windows 10 和 Windows 8.x、7、Vista、XP、2000 和 NT 有着相同的代码库,每一代操作系统都经历了重大的重构,添加了大量的新特性,改进了性能、硬件支持和安全性,同时保持了非常高的向后兼容性。

内核(ntoskrnl.exe)大部分是用 C 语言编写的。在 Github 可以找到 Windows Research Kernel 的泄露版。

640?wx_fmt=png

 有兴趣的童鞋可以看看:github.com/markjandrews/wrk-v1.2

Axel 表示,虽然 WRK 代码已经过时了,而且很大程度上还不完整,但那些代码应该会给大家一些深刻的见解。

比如:wrk-v1.2/base/ntos/config 目录下是大家熟知的注册表(Registry)的源码,这个内核组件就是配置管理器(configuration manager,CM)。

在内核模式下运行的大多数程序,也是用 C 语言编写的(大多数文件系统、网络、大多数驱动程序……),还有一些 C++。

至于 Window 10 是用什么编程语言写的,Axel 认为是 C 和 C++,并且 C 占了绝大部分。

.NET BCL 和其他托管库及框架通常都是用 C# 编写的,来自不同的部门(开发者部门),并且也不属于 Windows 源代码树。相比散落着 C++ 岛屿的 C 代码海洋,C# 写的代码简直就是沧海一粟。

Windows 真的真的真的真的真的很大

Axel 提示大家,大多数人没有意识到 Windows 系统的庞大,真一个具有史诗规模的巨大项目。

Windows 的完整源代码树(包括全部代码、测试代码等)的大小超过 0.5 TB,涉及 56 多万个文件夹,400 多万个文件。

640?wx_fmt=png

你可以花一年时间深入源代码树,钻入到那些文件中。它们包括了所有组成 OS 工作站和服务器产品,及其所有版本,工具,相关的开发包。

然后你再读文件名,看看里面有什么,它们是用来做什么的。想做完这些事,一个人(或两个人)恐怕要穷尽一生咯。

有一次 Axel 离开 Git 分支几周,他回来时发现落后了近 6 万次提交。Axel 想有人会说,没人可以每天把添加到 Windows 的所有代码都看完,更不用说去读过去 30 年来编写的代码了!

推荐阅读

(点击标题可跳转阅读)

觉得这条资讯有帮助?请转发给更多人

关注 技术最前线 加星标看 IT 要闻

640?wx_fmt=png

喜欢就点一下「在看」呗~

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值