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 10源码一览!相关推荐

  1. Windows 10“源码泄露“让我想起微软“开源之路”

    写这篇文章的重点不在于Windows 10"源码泄露"后给微软带来什么损失,又或给黑客带来什么可趁之机(类似文章太多,我就不凑热闹了).因为各种猜测意淫对读者毫无价值,写此类文章无 ...

  2. Win 10 源码一览:0.5T 代码、400 万文件、50 万文件夹

    开发四年只会写业务代码,分布式高并发都不会还做程序员?   Windows 操作系统本身是不开源的,但是近日微软内核工程师 Axel Rietschin 发表了一篇博客,带大家一窥了 Windows ...

  3. Win 10 源码一览:0.5 T 代码、400 万文件、50 万文件夹

    Windows 操作系统本身是不开源的,但是近日微软内核工程师 Axel Rietschin 发表了一篇博客,带大家一窥了 Windows 10 内核的魅力. Axel 介绍,Windows 10 与 ...

  4. Windows 10 使用WSL2下载和编译安卓10源码

    一.背景介绍   对于想要在Windows OS上学习和使用Android源码的同学来说,视乎这不太友好,因为Android基于Linux内核,需要在Linux环境下编译. 对于只需要查阅源码同学来说 ...

  5. 活久见,Windows系统源码竟然真的泄露了!

    公众号关注 "五分钟学算法" 设为 "星标",带你了解技术圈内新鲜事! 来自扩展迷Extfans 今年1月,微软终于宣布将Windows 7的延长支持彻底终止, ...

  6. Windows XP源码泄露

    来源 | 开源中国(ID:oschina2013) 4chan 论坛的一名用户发帖称 Windows XP 源码已被泄露,并在帖子里面附上了一张正在解压 Windows NT 内核源码的截图,从解压路 ...

  7. 突发!Windows XP源码遭泄露

    点击"开发者技术前线",选择"星标????" 在看|星标|留言,  真爱 来自:开源中国 在Windows 7都已经停止支持的0202年,Windows XP仍 ...

  8. win 10 源码安装 Davinci

    win 10 源码安装 Davinci Davinci 源码大概分为三部分: 采用 React 的前端工程 采用 Spring Boot 的后端工程 采用 Jekyll + Minmal Mistak ...

  9. Ubuntu18.04 编译Android 10源码 并烧录源码到pixel3的避坑指南

    Ubuntu18.04 编译Android 10源码 并烧录源码到pixel3的避坑指南 实验环境 下载Android源码树 在pixel3上安装手机驱动版本 编译Android源码 Android ...

最新文章

  1. 机器学习 LR中的参数迭代公式推导——极大似然和梯度下降
  2. c++编写算法判断二叉树是否为完全二叉树_[校招-算法题] 二叉树基础算法1
  3. Activiti源码 之Command与 CommandInterceptor
  4. Luogu P2319 [HNOI2006]超级英雄
  5. 多目标跟踪全解析,全网最全
  6. 微信支付开发(2) 扫码支付模式一
  7. hdu 1203 I NEED A OFFER!
  8. 真实的产品案例:实现文档边缘检测
  9. artTemplate -- 性能卓越的 js 模板引擎
  10. JQuery Mobile Popup窗口定位
  11. windows系统上删除顽固文件
  12. 用户‘Sa’登录失败原因
  13. iconfont 彩色图标的使用
  14. DOS命令经典应用复习
  15. OpenHarmony开发环境WSL2配置踩坑
  16. 智星云服务器之云主机使用教程简记
  17. 计算机等级考试一级ps内容,计算机等级考试《一级ps》备考练习及答案
  18. 大一上军事理论网课章测试及见面课答案
  19. 《生物化学与分子生物学》----糖类----听课笔记(二)
  20. 安卓虚拟键盘_安卓手机开启全局手势导航的方法,拯救老设备

热门文章

  1. 随笔-vue项目引入axios
  2. Cocos2D教程:使用SpriteBuilder和Cocos2D 3.x开发横版动作游戏——Part 2
  3. TCP固定头部结构详解
  4. Proxy_代理模式
  5. idea+SMM框架实例
  6. 论文解读:《XG‑ac4C:使用带有电子离子相互作用假电位的eXtreme梯度增强技术鉴定mRNA中的N4-乙酰胞苷(ac4C)》
  7. 香港证券监管机构呼吁加密监管以应对欺诈行为
  8. 无线连接服务器 很慢,手机无线WiFi很卡很慢怎么办?wifi信号满格但网速慢解决方法...
  9. AI赌神称霸德扑的秘密,刚刚被《科学》“曝光”了
  10. 一缕黑暗中的火光-----------用例图--------------优雅的建模语