Windows 10的代码库与Windows 8.x,7,Vista,XP,2000和Windows NT的代码库相同。当然,它已经发展。每一代都经历了重大的重构,增加了许多新功能,可以提高性能和硬件,安全支持,并保持高度的向后兼容性。
(代码农民上交:考虑到Windows和大量应用程序的许多版本,这是一项伟大的成就,但也是一个很大的负担。)
大多数Windows内核(ntoskrnl.exe)都是用C语言编写的。您可以在Github上看到泄漏的Windows Research内核代码并自行研究。虽然它已经过时且非常不完整,但您仍然可以看到一些重要的事情。
代码库在这里:
https://github.com/markjandrews/wrk-v1.2
例如,熟悉的Registry在内核中称为配置管理器(cm),就在这个目录中:wrk-v1.2/base/ntos/config
(Code Farmer上传:Windows Research Kernel是微软为教育目的提供的源代码。大学教师和学生可以修改和编译以学习操作系统的原理。当Linux很受欢迎时,我不知道有多少所大学在使用?)
在内核模式下运行的大多数代码都是用C语言编写的,包括大多数文件系统,网络,大多数驱动程序和一些C ++。
如果你进入用户模式,C语言会更少,C ++会逐渐增加。大多数人都没有意识到Windows的庞大规模:它是一个真正史诗般的大型项目。
在Windows代码树,源代码,测试代码和其他东西(代码农民转过来:可能是图标,声音,图片?),文件数量超过400万,超过500 G.
只需浏览此代码树的目录和文件名就需要一年时间。有超过500,000个文件夹,其代码构成操作系统工作站和服务器的所有版本,相关工具和开发工具包。
如果您想再次阅读源代码,可能需要花费一生的时间。
下面是描述Windows源代码统计信息的屏幕截图:
有一次,我几周没有更新我的Git分支。当我回来时,我发现有60,000个提交背后!
你肯定会说一个人不可能阅读每日提交的代码,更不用说过去30年积累的代码了。
如果您看到Windows 10'DVD'并想知道CD上创建了哪些编程语言,我猜98%是C和C ++,C很大。
.NET BCL(基类库)和其他库和框架主要用C#编写,它们只是C语言海洋的小水滴(一个小C ++岛)。它们来自不同的部门(开发人员部门),代码不是Windows代码树的一部分。