news 2026/5/1 9:47:03

25、编写 Windows VxDs 和设备驱动程序:内存映射设备访问与高级内存问题

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
25、编写 Windows VxDs 和设备驱动程序:内存映射设备访问与高级内存问题

编写 Windows VxDs 和设备驱动程序:内存映射设备访问与高级内存问题

1. 访问内存映射设备

在最初的 PC 系统设计中,处理器物理地址空间在 A0000h 到 F0000h 之间故意留出了一段空间,该区域没有 RAM,可供内存映射设备使用。

1.1 DOS 和 16 位 Windows DLL 访问方式
  • 在 DOS 环境下,要访问内存映射设备,需形成指向该位置的指针,然后对指针进行解引用操作。
  • 从 16 位 Windows DLL 访问设备时,基本思路与 DOS 相同,但会因地址转换问题而变得复杂。
1.2 Windows 预分配选择器

如果设备映射在未使用的 A0000h - F0000h 物理地址范围内,可使用 Windows 提供的预分配选择器。这些选择器是从 Windows 系统 DLL 导出的变量,如 _A000h、_B000h 等。Windows 已正确设置了选择器的基地址和相关页表项,例如 _B000h 确实映射到物理地址 B0000h。每个选择器的限制设置为 64Kb,_A000h 映射 A0000 - AFFFF,_B000h 映射 B0000 - BFFFF 等。

不过,Win32 应用程序或 DLL 不能使用这些预制选择器,因为它们是从 KERNEL16 模块导出的,而不是 32 位代码链接的 KERNEL32 模块。

1.3 形成设备指针

要形成指向设备的指针,需选择合适的选择器和偏移量。例如,_D000h 和 8000h 的偏移量组合可指向 D8000h 处的设备。将选择器/偏移量

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/5/1 7:11:29

Featbit功能管理平台:企业级功能开关与A/B测试的终极指南

Featbit功能管理平台:企业级功能开关与A/B测试的终极指南 【免费下载链接】featbit A feature flags service written in .NET 项目地址: https://gitcode.com/gh_mirrors/fe/featbit Featbit是一个基于.NET技术构建的开源功能管理与渐进式实验平台&#xff…

作者头像 李华
网站建设 2026/5/1 8:44:32

5大突破:bigpicture.js如何重新定义网页大图交互体验

5大突破:bigpicture.js如何重新定义网页大图交互体验 【免费下载链接】bigpicture.js bigpicture.js is a Javascript library that allows infinite panning and infinite zooming in HTML pages. 项目地址: https://gitcode.com/gh_mirrors/bi/bigpicture.js …

作者头像 李华
网站建设 2026/5/1 7:36:31

33、Intel架构与VxD开发中的关键技术解析

Intel架构与VxD开发中的关键技术解析 1. 内存引用检查机制 在进行内存引用时,处理器会进行一系列检查以确保操作的安全性和合法性。 - 限制检查 :处理器会将指令中指定的偏移量与段的限制进行比较。若偏移量大于限制,就会产生异常。这种保护机制能防止错误指针越界写入…

作者头像 李华
网站建设 2026/5/1 7:35:52

Erda云原生平台终极指南:5步掌握企业级Kubernetes应用管理

Erda云原生平台终极指南:5步掌握企业级Kubernetes应用管理 【免费下载链接】erda An enterprise-grade Cloud-Native application platform for Kubernetes. 项目地址: https://gitcode.com/gh_mirrors/er/erda Erda是一款专为Kubernetes设计的云原生应用平台…

作者头像 李华
网站建设 2026/4/23 12:51:28

打造专属动漫编程空间:doki-theme-vscode完全指南

打造专属动漫编程空间:doki-theme-vscode完全指南 【免费下载链接】doki-theme-vscode Cute anime character themes for VS-Code. 项目地址: https://gitcode.com/gh_mirrors/do/doki-theme-vscode doki-theme-vscode是一款专为动漫爱好者设计的Visual Stud…

作者头像 李华
网站建设 2026/4/30 3:01:24

Langchain-Chatchat语音合成对接:TTS技术让文字变声音

Langchain-Chatchat语音合成对接:TTS技术让文字变声音 在智能办公与工业自动化的交汇点上,一个看似简单的痛点正被重新审视:为什么员工必须盯着屏幕才能获取企业知识库的答案?尤其是在工厂巡检、会议现场或视障用户场景中&#xf…

作者头像 李华