Windows驱动程序基础(三)Windows系统基础

Windows驱动程序基础系列,转载请标明出处:http://blog.csdn.net/ikerpeng/article/details/38778375


Windows运行模式:用户模式和内核模式

      Windows从总体上来说分为:内核模式和用户模式,Intel的i386系列CPU逻辑概念上有4个特权层:Ring0(特权最高),Ring1,Ring2,Ring3. 内核模式则运行在Ring0上面,用户模式就运行在Ring3上。

     运行在内核模式下面的Windows组件是安全的(驱动程序就是运行在此),不会受到恶意的攻击;而运行在用户模式下的程序是不安全而且容易受到攻击的。

     驱动程序运行在内核模式下面,拥有最高的权限。因此没有任何的其他的保护措施,所以编写驱动程序要格外的小心,很可能直接导致系统的崩溃。


Windows操作系统的架构:

现代的操作系统都是基于分层的思路设计的。一般都是“客户端——服务器”的结构。


                                 

                                              Windows架构简图(iker制作)

    Win32子系统是最纯正的Windows子系统,提供大量的API。应用程序都是通过对它的调用实现对计算机的操作的。而大部分么的Win32子系统的API都是通过NativeAPI实现的。设置NativeAPI的是基于版本兼容的考虑。它通过软件中断的方式进入到内核模式。


下面说一下几个重要的概念:


虚拟内存管理:Windows中引入虚拟内存的概念,然后通过某种映射将物理内存和虚拟内存关联起来。每个进程拥有4G的虚拟内存,然后又被分为两部分:前半部分,0~0X7FFFFFFF规定为用户模式地址;后半部分规定为内核模式地址。另外,Windows规定内存模式下虚拟内存的映射方式一样,顶端的内核模式地址的数据一致

I/O管理器:    负责发起I/O请求,并且管理这些请求。无论是端口的读写,对键盘的访问,还是对磁盘文件的操作都统一为IRP(I/O Request Packages)。而驱动程序负责完成这些IRP。


驱动程序就是在接收这些IRP请求后,进行相应的操作。


本小节完。


参考书目:


《 Windows 驱动开发技术详解 》


你可能感兴趣的:(操作系统,驱动开发)