码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • Windows内核--源代码在哪里?(1)


        大部分人能看到这篇帖子, 想必已经用过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.com/HighSchoolSoftwareClub/Windows-Research-Kernel-WRK-

             更多关于WRK1.2,后面详细介绍。 

    •     官方Kernel改动介绍

    Windows Administration: Inside the Windows Vista Kernel: Part 1 | Microsoft Learnhttps://learn.microsoft.com/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.com/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.com/apple/darwin-xnu

    ReactOS

            提到Windows Kernel Code,就不得不提当年和Windows对抗的ReactOS. 它致力于实现和Windows相同运行环境的开源系统。对于学习或对比Windows操作系统的内部实现(不论是用户层还是Kernel层),都有极大的价值。

    ReactOS官方网址https://reactos.org/

           Online Source Code: ReactOS: Main Page

    本专栏如无特别指出,不会区分Kernel版本。

      如XP/Server 2003/Vista/Win7/Win8/Win 10/Win 11. 博客中提到的函数也许只适用于某个

      Kernel版本, 具体以实际Kernel版本为准,博客内容展示为了表达Kernel设计思想,而非绝

      对的Kernel代码实作。 

    本专栏力求精简而不失重点,不摘录大量Source Code, 去除无意义的冗余,为了更好地阅读效果。因本人水平有限,有错误或者偏颇的地方,请各位不吝指正。

  • 相关阅读:
    SELECT DISTINCT not in 改为使用 JOIN 操作
    818专业课【考经】—《信号系统》之章节概要:第六章 连续时间系统的变换域分析
    护眼灯真的有用吗?2022双十二选哪个牌子的护眼台灯好
    MOD_JK 安装和配置——Apache HTTPD 和 Tomcat
    2311rust,到46版本更新
    mybatis oracle MERGE 利用oracle原理实现saveOrUpdate
    20个Python实用小技巧!来自十年老程序员的推荐~
    论文阅读:Ensemble Knowledge Transfer for Semantic Segmentation
    打造千万级流量秒杀第二十七课 单元测试:如何做单元测试和 benchmark?
    cks 考试指南
  • 原文地址:https://blog.csdn.net/cxsjabcabc/article/details/127648360
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号