永发信息网

学习Windows核心编程有什么用?

答案:3  悬赏:0  手机版
解决时间 2021-03-06 07:58
  • 提问者网友:無理詩人
  • 2021-03-05 10:12
学习Windows核心编程有什么用?
最佳答案
  • 五星知识达人网友:街头电车
  • 2021-03-05 10:26
Windows核心编程:主要讲解Windows系统内部(这里仅仅指应用层)各个模块的运作机制以及该操作系统的系统理论,并且结合Windows高级API来发挥这些运作机制的性能,帮助Windows程序员在为Windows系统开软件时提供更加有效的保障.
全部回答
  • 1楼网友:怀裏藏嬌
  • 2021-03-05 11:43

驱动程序(device driver)全称为“设备驱动程序”,是一种可以使计算机和设备通信的特殊程序。可以说相当于硬件的接口,操作系统只能通过这个接口,才能控制硬件设备的工作,假如某设备的驱动程序未能正确安装,便不能正常工作。驱动程序在系统中所占的地位十分重要,

驱动程序给我的首先印象应该是面对设备与操作系统的,但是并不一定每一个驱动程序都是与硬件相关联的.在实际的驱动程序开发中不要狭义的理解为硬件,应该理解为设备,硬件也可以叫做设备,在计算机系统中虚拟的也可以是设备,比如 磁盘卷,分区、网络协议、以及其他的设备驱动程序都是设备,那么与硬件无关的驱动程序,比如ndis驱动,文件过滤系统驱动、磁盘过滤系统驱动程序、文件透明加密驱动... 他们所面对的设备不一样而已 我们形象的理解为ndis是与网络中间层通讯协议(设备)驱动,卷(设备)过滤驱动,文件系统(设备)过滤驱动。

intel的cpu从286开始引入保护模式,特权级分为四层,为:pl0-pl3,对应该操作系统中一般称为ring0-ring3,但其实windows只用了ring0和ring3两层,分别为os核心层和用户程序层。驱动程序的强大之处就是因为他在os核心层(ring0)运行,在ring0层运行有什么强大的呢,因为操作系统的保护模式限制,在ring3层很多操作受到限制,比如 直接io硬件、开启/关闭中断等等特权指令必须在ring0层才能执行、如果你在ring3层执行此类代码就会收到一个类似于 【应用程序指令错误】的消息提示,而相关的应用程序也会被windows终止,在cpu的所有指令中,有一些指令是非常危险的,如果错用,将导致整个系统崩溃,所以在ring3受到限制.必须在ring0下运行.

如何理解驱动程序的重要性与强大之处,再看看我们在操作计算机的内部流程,我们简单的理解为 输入-应用程序--内核-设备,在这里在最后有个‘设备’但是某些操作的流程并不是一定是与设备有关的,可能仅仅是一系列的简单的操作仅仅是与api有关的.比如openprocess、 ntterminateprocess 在应用程序调用的时候,在ring3的最后一步是在ntdll 最终由ntdll进入内核 ,基本上可以这样概括一下,就是所有的操作在进入计算机底层以后都要进过相关驱动程序,在这些功能调用上用个形象的说法 应用层是‘标’,那么驱动层就是‘本’,还有就是驱动层作为操作系统与设备(不一定是硬件)的中间桥梁,有着一夫当关的重大作用,哈哈.... 太多说不完,lz自己找资料看看..

  • 2楼网友:等灯
  • 2021-03-05 10:56
为了windows编程打下更坚实的基础
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯