① 驱动程序怎么控制硬件的
驱动程序是根据硬件所需要的各种输入输出命令来编制的。
以打印驱动为例,打印机本身就有电脑系统,不过不是指通常意义的个人电脑,而是单片机系统。这个系统也和个人电脑一样,有中央处理器和总线,有只读的和读写的内存,有输入输出的接口。它的输出包括了对打印机械部件和电子部件精确到任何一个打印点的控制,它的输入就来自电脑,要求电脑要按照打印机的内部命令规则来给出命令,给出的不符合打印机的规则,就不能正确处理。
电脑需要打印机处理的,无非是图形和文字的打印,但打印机不会直接处理,要由驱动程序接收图形或文字,然后将其转变为点阵,用打印机能接受的命令,将点阵传给打印机。
打印机一般都自带ASCII码的标准点阵,也有些打印机能自带字库,本身就能处理文字成为点阵。这样的打印机就需要驱动程序输出给它文字的ASCII码或文字内码。图形打印当然就完全要由驱动程序来处理,打印机只管输出点阵。不管什么输入和输出,不同的打印机都要求有不同的命令方式,要有不同的开始和结束命令,所以不同型号的打印机都是不同的驱动程序。
电脑中没有人物,没有美女,没有文字,甚至没有ASCII码,里面除了电脉冲还是电脉冲,用脉冲模拟的0和1。所以无论多么精彩的输出,都是0和1的输出,也就是点阵输出。打印机是这样,显示器也是这样,根本原理是一样的。
电脑与输入输出硬件之间,大部分属于一种电脑之间的通信关系,驱动程序要做的,就是软件输出与具体硬件处理的中间过程。