我如何为自己的内核制作设备驱动程序?

问题描述 投票:0回答:2

我正在制作自己的操作系统是为了好玩。我正在阅读和学习 Intel 的 64 位和 IA-32 架构手册,这对开发操作系统很有帮助。

但是我在任何地方都找不到的一件事是如何制作设备驱动程序。我在互联网上能找到的关于设备驱动程序的唯一帖子是关于制作 Linux 或 Windows 驱动程序的。但这与为我自己的内核制作驱动程序不同。

有经验的人可以指出我正确的方向,启发我在哪里我可以学习为我自己的操作系统制作自己的设备驱动程序吗?

首先,简单的键盘或鼠标驱动程序就足够了,但我会很感激任何东西,无论是简单的键盘驱动程序,还是复杂的网络驱动程序

TL;DR: 我需要一个可靠的来源来解释如何为我自己的内核制作设备驱动程序。我找不到任何东西,希望有人偶然发现一个

(我不是问“如何制作驱动程序?”,而是问“我可以有关于制作驱动程序的书籍/帖子的链接吗?”)

operating-system kernel driver hardware device-driver
2个回答
2
投票

所有内核模式设备驱动程序都是在内核下执行的代码,其本身不被视为“主”内核映像 - 将其视为主内核映像的“扩展”。例如,在 Windows 上,内核模式设备驱动程序(通常使用 *.sys 文件扩展名,也属于可移植可执行 (PE) 格式)被视为 ntoskrnl.exe(这是主内核映像)的模块在 Windows 上)。

这个想法是,您的内核模式设备驱动程序将有权访问主内核映像导出的例程(例如,如果您想实现内核模式回调等机制)。您可以首先制作自己的简单格式以便您的内核理解,然后您可以开始实现适合您自己的文件格式(对于主内核映像)的导出支持和导入支持(对于其他内核模式软件来说)它应该有权访问的 API,由主内核映像提供)。

如果您想要良好的设计实现,您将需要做很多工作。


0
投票

您的操作系统是否符合规范?是否有能力运行所有平台以及可能未按计划外包的平台。 Winblows 是我所听到的主要操作系统,但要创建一个跨平台可管理的操作系统用户界面,我想尝试一下,看看您是否有更大的产品正在开发中。 我一直在考虑开发一个操作系统,该操作系统可以创建自己的设备特定驱动程序,以实现更好、更快、更高质量的游戏。我是一名游戏玩家、推进工程师、行星开发者。如果您不介意的话,请给我发送一个下载您的操作系统的链接,如果需要的话,当人类审查我的客厅里正在慢慢设计的东西时,我可以并且将会按照我公司的意图签署一份保密协议,瞧 我以正确的方式发明了永动机,设备缓慢旋转,抓住然后放开

© www.soinside.com 2019 - 2024. All rights reserved.