程序员BUG 潜水
  • 3发帖数
  • 3主题数
  • 0关注数
  • 0粉丝
开启左侧

Windows 10 源码原来长这样

[复制链接]
程序员BUG 发表于 2019-8-3 18:07:38 | 显示全部楼层 |阅读模式 打印 上一主题 下一主题
来源:公众号开源中国  作者 h4cdWindows 操作系统本身是不开源的,但是克日微软内核工程师 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 之后。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

猜你喜欢
在线客服邮箱
wxcy#wkgb.net

邮箱地址#换为@

Powered by 创意电子 ©2018-现在 专注资源实战分享源码下载站联盟商城