• 软件测试技术
  • 软件测试博客
  • 软件测试视频
  • 开源软件测试技术
  • 软件测试论坛
  • 软件测试沙龙
  • 软件测试资料下载
  • 软件测试杂志
  • 软件测试人才招聘
    暂时没有公告

字号: | 推荐给好友 上一篇 | 下一篇

Windows NT 设备驱动程序开发基础(1)

发布: 2007-7-01 20:40 | 作者: admin | 来源: | 查看: 11次 | 进入软件测试论坛讨论

领测软件测试网 一、背景介绍 
  
  1.1  Windows NT操作系统的组成 
  1.1.1 用户模式(User Mode)与内核模式(Kernel Mode) 
  从Intel 80386开始,出于安全性和稳定性的考虑,该系列的CPU可以运行于ring0 
~ring3从高到低四个不同的权限级,对数据也提供相应的四个保护级别。运行于较 
低级别的代码不能随意调用高级别的代码和访问较高级别的数据,而且也只有ring0 
层的代码可以直接进行对物理硬件的访问。由于Windows NT是一个支持多平台的操作 
系统,为了与其他平台兼容,它只利用了CPU的两个运行级别。一个被称为内核模式, 
对应80x86的ring0层,操作系统的核心部分,包括设备驱动程序都运行在该模式;另 
一个被称为用户模式,对应80x86的ring3层,操作系统的用户接口部分以及所有的用 
户应用程序都运行在该级别。 
  
  1.1.2 Windows NT操作系统的结构 
  图1简要地描述了Windows NT的系统组成。 
  
  图一 
  从图中可以看到,在物理硬件(Hardware)与系统核心(Kernel)之间有一个硬件抽象 

层(Hardware Abstraction Layer),它屏蔽了不同平台硬件的差异,向操作系统的 
上层提供了一套统一的接口。从图中我们还可以看到,设备驱动程序(Device Driver) 
是被I/O管理器(I/O Manager)包围起来的,即驱动程序与操作系统上层的通信全部都 
要通过I/O管理器。这给驱动程序的编写带来了很大的便利,因为很多诸如接收用户的请 
求 、与用户程序交换数据、内存映射、挂接中断、同步等等麻烦的工作都由I/O管理器代 
劳了。 
  
  1.1.3 Windows NT设备驱动程序的分类 
  
  根据是否直接操作硬件,可以把驱动程序分成两大类:内核模式的驱动程序和专用驱 
动程序。 
  
  内核模式的驱动程序根据硬件的通信协议,直接对硬件进行端口访问、中断响应、DM 
A传输。它包括:串、并行口,键盘,文件系统,SCSI,网络等驱动程序;专用驱动程序 
包括视频,打印,多媒体,虚拟DOS等驱动程序,他们在实现上与前者有很大区别。我在 
实习期间所做的工作以及本文以下的讨论都局限于内核模式的驱动程序。 
  
-- 

文章来源于领测软件测试网 https://www.ltesting.net/


关于领测软件测试网 | 领测软件测试网合作伙伴 | 广告服务 | 投稿指南 | 联系我们 | 网站地图 | 友情链接
版权所有(C) 2003-2010 TestAge(领测软件测试网)|领测国际科技(北京)有限公司|软件测试工程师培训网 All Rights Reserved
北京市海淀区中关村南大街9号北京理工科技大厦1402室 京ICP备10010545号-5
技术支持和业务联系:info@testage.com.cn 电话:010-51297073

软件测试 | 领测国际ISTQBISTQB官网TMMiTMMi认证国际软件测试工程师认证领测软件测试网