① 驅動程序怎麼控制硬體的
驅動程序是根據硬體所需要的各種輸入輸出命令來編制的。
以列印驅動為例,列印機本身就有電腦系統,不過不是指通常意義的個人電腦,而是單片機系統。這個系統也和個人電腦一樣,有中央處理器和匯流排,有隻讀的和讀寫的內存,有輸入輸出的介面。它的輸出包括了對列印機械部件和電子部件精確到任何一個列印點的控制,它的輸入就來自電腦,要求電腦要按照列印機的內部命令規則來給出命令,給出的不符合列印機的規則,就不能正確處理。
電腦需要列印機處理的,無非是圖形和文字的列印,但列印機不會直接處理,要由驅動程序接收圖形或文字,然後將其轉變為點陣,用列印機能接受的命令,將點陣傳給列印機。
列印機一般都自帶ASCII碼的標准點陣,也有些列印機能自帶字型檔,本身就能處理文字成為點陣。這樣的列印機就需要驅動程序輸出給它文字的ASCII碼或文字內碼。圖形列印當然就完全要由驅動程序來處理,列印機只管輸出點陣。不管什麼輸入和輸出,不同的列印機都要求有不同的命令方式,要有不同的開始和結束命令,所以不同型號的列印機都是不同的驅動程序。
電腦中沒有人物,沒有美女,沒有文字,甚至沒有ASCII碼,裡面除了電脈沖還是電脈沖,用脈沖模擬的0和1。所以無論多麼精彩的輸出,都是0和1的輸出,也就是點陣輸出。列印機是這樣,顯示器也是這樣,根本原理是一樣的。
電腦與輸入輸出硬體之間,大部分屬於一種電腦之間的通信關系,驅動程序要做的,就是軟體輸出與具體硬體處理的中間過程。