在DOS操作系统时代,对于一个应用程序而言它总认为自己是唯一运行的程序,因此常常可以直接访问硬件,独占所有的系统内存以及系统运行时间,当然也就不需要设备驱动程序。但是到了Windows时代,DOS应用程序并不是唯一运行的程序,系统中同时可能有若干个应用程序在运行,这就使得系统不可能让它随意的直接访问硬件,否则就会引起混乱导致系统崩溃。于是Windows对系统底层操作采取了屏蔽的策略,因而对一般用户而言,系统变得更为安全,但这却给众多的硬件或者系统软件开发人员带来了不小的困难,因为只要应用中涉及到底层的操作,开发人员就不得不深入到Windows的内核去编写属于系统级的虚拟设备驱动程序。若要对硬件直接操作,直接处理硬件实时中断服务,这必须通过虚拟设备驱动程序VxD来实现[1]。VxD是虚拟设备驱动程序(Virtual X Driver)的缩写,中间的x表示某一类设备。如VKD.VXD表示键盘的驱动程序,当然一个VxD并非一定对应一个硬件设备,有的VxD只是为其他的VxD或应用程序服务,有的VxD也可能只是对应一个不存在的硬件。但是所有的VxD都有一个共同的特点,即“到任何地方做任何事情”。VxD模式从Windows3.1时代就开始了,一直到Windows95/98/ME它还一直在微软的操作系统中起主导作用。 |
查看评论
已有0位网友发表了看法