鱼C论坛

 找回密码
 立即注册
查看: 7108|回复: 38

[吹水] Windows 10源码揭秘!用了什么编程语言? |【小甲鱼力荐】

[复制链接]
发表于 2019-4-23 14:33:53 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
Snip20190423_169.png


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

原文(需 fān qiáng):
游客,如果您要查看本帖隐藏内容请回复


640.jpeg


Axel 介绍,Windows 10 与 Windows 8.x、7、Vista、XP、2000 和 NT 的代码库是相同的,其中每一代都在之前的基础上进行重大的重构。

并增加大量新功能,改进性能和硬件支持,此外还有安全性的提升,同时保持非常高的后向兼容性。

目前在 GitHub 上其实可以找到 Windows 内核研究的泄露副本,虽然这些代码已经过时且很不完整,但它们还是具有很高的研究价值。

比如 wrk-v1.2/base/ntos/config 源码实现了一个大名鼎鼎的内核组件配置管理器 Registry,也就是注册表,它在内部称被为 Cm。

640-1.jpeg


其实 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 之后。





如果喜欢,别忘了评分


                               
登录/注册后可看大图

评分

参与人数 2荣誉 +3 鱼币 +3 贡献 +6 收起 理由
LuckyTiger66 + 3 + 3 + 3 感谢楼主无私奉献!
睦ちゃん她爹 + 3

查看全部评分

本帖被以下淘专辑推荐:

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2019-4-23 15:25:45 | 显示全部楼层
完全搞懂源码需要花费一生
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 1 反对 0

使用道具 举报

发表于 2019-4-23 15:28:23 | 显示全部楼层
    不会是 Python 吧?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2019-4-23 16:05:10 From FishC Mobile | 显示全部楼层
jackz007 发表于 2019-4-23 15:28
不会是 Python 吧?

操作系统要求效率要高效  Python的效率太低  做做脚本还是可以的  操作系统还是要用c和c++

点评

我很赞同!: 5.0
我很赞同!: 5
  发表于 2019-4-23 17:28

评分

参与人数 1鱼币 +5 收起 理由
不二如是 + 5 鱼C有你更精彩^_^

查看全部评分

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2019-4-23 17:25:36 From FishC Mobile | 显示全部楼层
好的。感谢分享
来自: 微社区
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2019-4-24 17:47:39 | 显示全部楼层
6666
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2019-4-25 08:38:56 | 显示全部楼层
c与驱动的故事
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2019-4-25 09:16:24 | 显示全部楼层
没有用到汇编吗
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2019-4-25 16:17:56 | 显示全部楼层

C语言还是必须作为地基,毕竟没有语言可以替代C对硬件的控制,汇编虽然可以,但是写起来很麻烦
现在C语言已成熟,在考虑效率的情况下情况下,优先用C,现在给芯片编程大部分用的都是C语言,都很少汇编了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2019-4-25 16:59:31 | 显示全部楼层
不会是 Python 吧?

我也猜是这样的
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2019-4-25 17:33:39 | 显示全部楼层
好奇
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2019-4-26 21:06:20 | 显示全部楼层
让我迫不及待的想瞅瞅看看!
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2019-4-26 21:13:52 | 显示全部楼层
kankan
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2019-4-27 07:23:37 From FishC Mobile | 显示全部楼层
好东西a
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2019-4-27 17:59:14 | 显示全部楼层
fān qiáng
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2019-4-28 10:51:55 | 显示全部楼层
除了C,想不到更适合编写操作系统的语言。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2019-4-28 10:54:25 From FishC Mobile | 显示全部楼层
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2019-4-29 13:49:01 | 显示全部楼层
2312
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2019-5-13 23:53:09 | 显示全部楼层
有意思
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2019-5-15 22:27:48 From FishC Mobile | 显示全部楼层
学习学习
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-4-24 15:00

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表