001-Windows驱动编程基础知识

文章目录

  • 0.前言
  • 1.Windows系统结构
  • 2.驱动设备与操作系统
  • 3.驱动程序的分类

0.前言

我们在进行Windows驱动编写之前,有必要先了解一些基础知识,为我们日后进行Windows驱动开发打下良好的基础。

1.Windows系统结构

Windows是分层设计的操作系统,可以先从宏观上大致了解一下。其实这样呢我们只要明白一件事,那就是什么用户态,什么是内核态。
用户态: 只能受限的访问内存, 且不允许访问外围设备. 占用CPU的能力被剥夺, CPU资源可以被其他程序获取。
内核态: CPU可以访问内存所有数据, 包括外围设备, 例如硬盘, 网卡. CPU也可以将自己从一个程序切换到另一个程序。
001-Windows驱动编程基础知识_第1张图片

2.驱动设备与操作系统

一个驱动程序就对应一个硬件。举个例,当系统总线识别到有硬件插入时,CPU通过中断来通知操作系统,此时操作系统去寻找硬件设备对应的驱动程序(也可以说是模块),最后完成驱动程序与硬件设备的绑定。
001-Windows驱动编程基础知识_第2张图片

3.驱动程序的分类

①即插即用驱动程序--------基本都是由硬件厂商完成编写
②内核扩展驱动程序--------与硬件无关,只是扩展内核的功能
③文件系统驱动程序---------是接收针对文件的I/O请求,在进一步将这些请求转变成真正针对于存储设备或网络设备的I/O请求

你可能感兴趣的:(Windows驱动,Windows驱动)