linuxsir首页 LinuxSir.Org | Linux、BSD、Solaris、Unix | 开源传万世,因有我参与欢迎您!
网站首页 | 设为首页 | 加入收藏
您所在的位置:主页 > Linux基础建设 >

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

时间:2019-04-16  来源:未知  作者:admin666

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++ 写就gg棋牌,而 C 占据大比例。

此外,.NET BCL 与一些相关库和框架通常都是用 C# 编写的,“但它们也只不过是带有几座 C++ 小岛的 C 汪洋大海的一栗”,它们来自不同的部门,代码并不属于 Windows 源码树。

作者惊呼:Windows 源码的规模巨大,这是一个真正史诗般的巨型项目。

完整的源码树包含所有代码,如上图所示,测试代码与??一起构成“Windows 源码”的所有内容加起来有超过 400 万个文件、50 万个文件夹、大小超过 0.5 TB,其中包含了构成 OS 工作站、服务器和所有版本的工具、相关开发工具包的每个组件的代码。

源码的规模有多恐怖呢?作者估计完全查看这些源码的文件名,并试图理解源码具体是用来干什么的,需要花上一生的时间。他还举了一个例子:有一次,我离开了一个 Git 分支几个星期,当我回来时,已经落在了将近 60 000 次 commit 之后。

博客原文:

https://www.quora.com/Which-programming-language-is-used-for-making-Windows-10/answer/Axel-Rietschin
友情链接
  • PostgreSQL辟谣存在任意代码执行漏洞:消息不实
  • Firefox beta开始原生支持Windows 10 ARM64
  • fork()成为负担,需要淘汰
  • Ruby 2.3已结束支持,不再发布版本补丁
  • 优麒麟19.04即将发布,华为、阿里云、重大、360四大境像站鼎力支
  • Fedora提出统一流程,弃用上千Python 2软件包更可控
  • Edge on Linux?微软:会有的,但不是现在
  • Mozilla准备让“合格” Linux用户测试WebRender
  • Chrome不想让HTTPS网站通过HTTP下载文件
  • 2019开发者调查:Python或成赢家,Java最不赚钱?
  • 与Red Hat联手,Fedora要支持ARM笔记本
  • Mozilla宣布即将推出Firefox推荐扩展程序计划
  • 新版Chrome等主流浏览器将不再允许关闭点击跟踪
  • WireGuard 0.0.20190406最新快照发布,提供FreeBSD补丁和其他调
  • KDE Plasma 5.16 与 KDE Frameworks 5.57 每周功能总结
  • GIMP 2.10.10 发布,小功能添加和其他改进
  • 到2019年底,LVFS可能会托管1万多个固件文件
  • Visual Studio 2019 发布,带来Live Share 与 IntelliCode
  • Gitpod
  • 关注2019年最佳职位
  • GNU的GasU获得了对Intel BFloat16的支持
  • SuperTuxKart 0.10 RC1 发布,支持局域网/互联网多人游戏
  • Godot 3.2为其2D引擎获得伪3D支持
  • ConnMan 1.37 发布,作为Linux网络连将近一年的第一次更新
  • GitHub有超过3000个提到Vulkan的项目,D3D12有100~200个
  • Ant Design 3.16.2发布,企业级UI设计语言
  • TIOBE 2019年4月编程语言排行榜:C++重回前三名
  • Linux Kernel 5.1 RC3 发布,看起来很不错
  • 英特尔的IWD Linux无线守护进程继续提升新功能
  • 数据库技术 第485页
  • 改进的Spectre/Meltdown开关最终可能会进入Linux内核
  • 关于 Oracle redo与undo 的认识
  • Zabbix 4.2 发布,现代监控系统
  • Oracle DataGuard 报密码文件错误排查
  • Wine 4.6支持共享Wine
  • Facebook为Goya AI加速器开发Glow编译器后端
  • 体彩11选5走势图
  • 新濠博亚
  • 体彩排列3字谜
  • 德州扑克技巧
  • 中国足球内幕
  • 欧博娱乐
  • pk10改20分钟一期