admin 管理员组文章数量: 887007
大部分人能看到这篇帖子, 想必已经用过Windows系统多年了...
微软官方并不完全公开源代码
想清楚Windows技术内幕,就需要逆向工具。幸运的是:
- WRK源代码(Windows Research Kernel) (XP/Server 2003)
- Windows 2000源代码(Kernel和用户层)
- 深入解析Windows操作系统(最新第七版, Windows 10)
- Windows内核原理与实现
- Windows核心编程
- Windows内核情景分析
- Windows驱动开发技术详解
利用WinDbg调试Kernel, 可以得到内核数据结构,参照WRK源代码和深入解析Windows操作系统可以猜测到内核源码的可能长相,结合IDA等反编译工具可获取内核全貌。
-
WRK1.2
GitHub - HighSchoolSoftwareClub/Windows-Research-Kernel-WRK-: Windows Research Kernel Source Codehttps://github/HighSchoolSoftwareClub/Windows-Research-Kernel-WRK-
更多关于WRK1.2,后面详细介绍。
-
官方Kernel改动介绍
Windows Administration: Inside the Windows Vista Kernel: Part 1 | Microsoft Learnhttps://learn.microsoft/zh-cn/previous-versions/technet-magazine/cc162494(v=msdn.10)?redirectedfrom=MSDN
Overview of Windows Server 2008 Kernel Changes - Mark Russinovich | Microsoft Learnhttps://learn.microsoft/en-us/previous-versions/technet-magazine/cc194386(v=msdn.10)?redirectedfrom=MSDN
Kernel源代码用哪种编程语言?
大部分都是C语言, 少部分汇编代码。
为什么C语言适合编写内核代码?
Windows内核--为什么C语言适合编写内核?(1.2)
Windows是微内核吗?
网络上和学术上对此有些许不同的意见。微内核,一般意义上,符合Mach的做法被称为微内核。微内核是"Micro Kernel", 精简Kernel,把常规意义的内存管理、进程通信等内核完成的功能都移到用户空间完成,内核只有完成最核心的"调度"等功能。从这个意义上,Windows不是微内核,它和Linux一样,都是巨内核。Windows执行体和HAL都同属内核空间。
微内核本意想让内核更不容易崩溃,但组件之间大量模式和环境切换性能很差。事实上,对于大部分PC和移动端来说,没有这个必要。不过,安全等级要求更高的车机,对于微内核的需求在不断增强。
官方对内核的定位:
The term microkernel does not apply to the current kernel used in the Windows operating system.
From: Windows Kernel-Mode Kernel Library - Windows drivers | Microsoft Learn
其他操作系统的开源情况如何?
Linux本身开源,Mac系统(OS X)内核采用Free BSD也是开源。
Apple Mac darwin-xnuhttps://github/apple/darwin-xnu
ReactOS
提到Windows Kernel Code,就不得不提当年和Windows对抗的ReactOS. 它致力于实现和Windows相同运行环境的开源系统。对于学习或对比Windows操作系统的内部实现(不论是用户层还是Kernel层),都有极大的价值。
ReactOS官方网址https://reactos/
Online Source Code: ReactOS: Main Page
本专栏如无特别指出,不会区分Kernel版本。
如XP/Server 2003/Vista/Win7/Win8/Win 10/Win 11. 博客中提到的函数也许只适用于某个
Kernel版本, 具体以实际Kernel版本为准,博客内容展示为了表达Kernel设计思想,而非绝
对的Kernel代码实作。
本专栏力求精简而不失重点,不摘录大量Source Code, 去除无意义的冗余,为了更好地阅读效果。因本人水平有限,有错误或者偏颇的地方,请各位不吝指正。
若文章对您有帮助,欢迎关注。助您在编程路上越走越好!
微风不燥,阳光正好,你就像风一样经过这里,愿你停留的片刻温暖舒心。
我是程序员小迷(致力于C、C++、Java、Kotlin、Android、iOS、Shell、JavaScript、TypeScript、Python等编程技术的技巧经验分享),若作品对您有帮助,请关注、分享、点赞、收藏、在看、喜欢,您的支持是我们为您提供帮助的最大动力。
版权声明:本文标题:Windows内核--源代码在哪里?(1.1) 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.freenas.com.cn/jishu/1732785385h1555012.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论