有助于在操作系统课程中学习 Windows 内核开发的资源?

Posted

技术标签:

【中文标题】有助于在操作系统课程中学习 Windows 内核开发的资源?【英文标题】:Resources to help learn Windows kernel development in an operating systems class? 【发布时间】:2011-04-14 04:18:38 【问题描述】:

我目前正在上大学操作系统课程,我们正在为我们的项目开发 Windows 内核,更准确地说是 WRK,即 Windows 研究内核。 WRK 基于 win2k3 服务器。

然而,我很难挖掘资源来帮助学习操作系统开发、Windows 内核开发的基础知识,以及一般地绕过 Windows API。

我们正在使用 Russinovich 的 Microsoft Internals 一书,但我想知道你们中是否有人向我推荐了一些很棒的资源,无论是书籍、在线指南还是一些旧的课堂笔记。谢谢!

【问题讨论】:

微软现在向大学提供对其内核的访问权限? 我们正在开发 WRK - windows 研究内核。它基于win2k3服务器。 【参考方案1】:

您具体在寻找什么?网络资源?为此,OSROnline 是更好的网站之一。很多内核开发知识都可以在 MS 和 OSR 邮件列表中找到,这是另一个检查可能比堆栈溢出更好的地方。

具体书籍,有Programming WDM、Developing drivers with KMDF和Advance Windows Debugging。最后一个具体不会教你太多关于内核的知识以及如何在内核中导航,如果你正在编写驱动程序或研究它的一部分,你会经常这样做。

为了编写驱动程序,最简单的方法可能是获取 Windows 驱动程序示例并对其进行破解,然后使用 windbg 查看结果并了解更多信息。

【讨论】:

【参考方案2】:

Tanenbaum 的Modern Operating Systems 第三版有一章专门介绍Vista 内核。我没有看过那一章(我只读过 Linux 的那一章),但就大局而言,这太棒了。我不确定您正在寻找什么级别的详细信息,但这可能是一个很好的查看资源。

【讨论】:

这似乎可能会有所帮助,但我仍然会寻找更多的东西:/。不过谢谢!【参考方案3】:

微软内核开发?这很奇怪。你在哪所大学?

在我看来,关于内核的最有趣的事情之一是调度程序算法。我建议你检查一下。

我无法想象你会从哪里开始寻找 Windows 的东西。我是用 linux 内核做的,而且有很多资源(当然)。

http://oreilly.com/catalog/linuxkernel/chapter/ch10.html

【讨论】:

啊,您的其他评论已清除(wrk)。到目前为止,我仍然认为调度程序是任何内核中最复杂和最有趣的部分,因此我建议您查看 wrk 是如何处理它的。

以上是关于有助于在操作系统课程中学习 Windows 内核开发的资源?的主要内容,如果未能解决你的问题,请参考以下文章

在Windows环境中学习Linux

在案例中学习shell编程

读程--从未参与的项目中学习

Qt4中学习使用QtCharts绘图二:声波绘制

在Menu小程序中学习软件工程方法

2017-2018-2 20179204《网络攻防实践》第一周学习总结之linux基础