Windows内核--源代码在哪里?(1.1)

这篇具有很好参考价值的文章主要介绍了Windows内核--源代码在哪里?(1.1)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

    大部分人能看到这篇帖子, 想必已经用过Windows系统多年了...

Windows内核--源代码在哪里?(1.1)

Windows内核--源代码在哪里?(1.1)

微软官方并不完全公开源代码

想清楚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, 去除无意义的冗余,为了更好地阅读效果。因本人水平有限,有错误或者偏颇的地方,请各位不吝指正。文章来源地址https://www.toymoban.com/news/detail-472631.html

到了这里,关于Windows内核--源代码在哪里?(1.1)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • GDB 源代码查看、管理、搜索、设置源代码目录,调试发行版,观察点

    C_FLAGS中加入-g选项后,生成的可执行文件中会保存调试信息。 1、 set listsize 10:设置list查看的代码行数        list -: 向前查看代码        list 函数名: 产看函数代码 2、search        forward-search :跟 search功能一样       reverse-search:反向搜索 3、directories 路径:添加源代码路

    2024年02月09日
    浏览(41)
  • Python背单词记单词小程序源代码,背单词记单词小游戏源代码

    背单词小游戏,要有多界面交互,界面整洁、美观,可调节游戏等级难度,可配置游戏信息。 有游戏分数,游戏时间,动画特效,背景音乐,不同游戏等级的历史最高分记录。 拼写成功的英文单词显示中文意思。支持长按回删键[backspace],快速删除单词字母。 多种游戏困难

    2024年02月15日
    浏览(41)
  • git源代码泄露

    需要的工具:kali,githack(win版没下载成功) 安装方法: kali命令行中输入:git clone https://github.com/lijiejie/GitHack 下载成功如下: ​ 输入GitHack,然后输入python GitHack.py +所要下载的网页链接+/.git/ GIT文件基本介绍:         Git 是目前最流行的版本控制系统。版本控制系统在一

    2024年02月07日
    浏览(35)
  • bugku--源代码

    查看源代码 发显URL编码 解码 在拼接这一串 拿着去提交就行啦

    2024年02月04日
    浏览(35)
  • linux 源代码编译

    有时候会在linux上下载源码包,然后进行编译成可执行的文件,这个过程需要经过configure、make、make install、make clean四个步骤 configure 为这个程序在当前的操作系统环境下选择合适的编译器和环境参数来编译该代码 make 对程序代码进行编译操作,会将源码编译成可执行的目标文

    2024年02月11日
    浏览(34)
  • matlab查看源代码

    matlab函数源代码-查看 Ctrl+D 最简单方便的一种方法,鼠标划中函数名,按CTRL+D即可打开函数的m文件

    2024年01月25日
    浏览(33)
  • 跑酷游戏源代码

    import pygame, sys import random class Person():  # 人物     def __init__(self, surf=None, y=None):         self.surface = surf         self.y = y  # y坐标         self.w = (surf.get_width()) / 12  # 宽度         self.h = surf.get_height() / 2  # 高度         self.cur_frame = -1  # 当前的运动状态帧         self.

    2024年02月07日
    浏览(40)
  • C# 关于源代码生成

    步骤1: 首先建立一个控制台程序 SourceGeneratorDome1 选择版本.net7 代码如下: 建立类文 件  GreetingUsePartialClassm 这是一个类分布文件。 看清楚哟。这里只是定义了一个分布类和分布方法。具体实现方法通过源代码生成 步骤2:建立一个源代码生成项目 但是类型选择. netstanda

    2024年02月11日
    浏览(34)
  • blender源代码编译运行

    其实在blender官网上已经给出了编译步骤https://wiki.blender.org/wiki/Building_Blender/Windows,由于在源码编译的过程中还遇到了很多问题,特此记录一下。 Visual Studio2019或者2022(至少选择【Desktop Development with C++】),我自己是下载的2022版,这里记录了下载的方法及过程https://blog.csdn.net

    2024年02月02日
    浏览(33)
  • 什么是网站的源代码?

    什么是网站的源代码? 我们可以把它理解成源文代码,当前看到的这个网页来说,其实它是由一大堆的源代码组成,通过我们的IE(Microsoft Internet Explorer)浏览器(或服务器)翻译成现在我们所看到的样子。 网站源代码是什么? 如果您要制作网页,您可以选用如Frontpage或D

    2024年02月12日
    浏览(33)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包