1. 驅動程序怎麼控制硬體的
驅動程序是根據硬體所需要的各種輸入輸出命令來編制的。
以列印驅動為例,列印機本身就有電腦系統,不過不是指通常意義的個人電腦,而是單片機系統。這個系統也和個人電腦一樣,有中央處理器和匯流排,有隻讀的和讀寫的內存,有輸入輸出的介面。它的輸出包括了對列印機械部件和電子部件精確到任何一個列印點的控制,它的輸入就來自電腦,要求電腦要按照列印機的內部命令規則來給出命令,給出的不符合列印機的規則,就不能正確處理。
電腦需要列印機處理的,無非是圖形和文字的列印,但列印機不會直接處理,要由驅動程序接收圖形或文字,然後將其轉變為點陣,用列印機能接受的命令,將點陣傳給列印機。
列印機一般都自帶ASCII碼的標准點陣,也有些列印機能自帶字型檔,本身就能處理文字成為點陣。這樣的列印機就需要驅動程序輸出給它文字的ASCII碼或文字內碼。圖形列印當然就完全要由驅動程序來處理,列印機只管輸出點陣。不管什麼輸入和輸出,不同的列印機都要求有不同的命令方式,要有不同的開始和結束命令,所以不同型號的列印機都是不同的驅動程序。
電腦中沒有人物,沒有美女,沒有文字,甚至沒有ASCII碼,裡面除了電脈沖還是電脈沖,用脈沖模擬的0和1。所以無論多麼精彩的輸出,都是0和1的輸出,也就是點陣輸出。列印機是這樣,顯示器也是這樣,根本原理是一樣的。
電腦與輸入輸出硬體之間,大部分屬於一種電腦之間的通信關系,驅動程序要做的,就是軟體輸出與具體硬體處理的中間過程。
2. 驅動程序是怎麼操作硬體設備的
這里以CreateFile API 為例,其他操作設備的API類似。首先應用程序調用CreateFile Api,這個API是由Win32子系統的三大模塊中的Kernel32.dll實現的。CreateFile函數會
調用Ntdll.dll中的NtCreateFile函數,其中NtCreateFile是未文檔化的函數,最好不要直接調用
NtCreateFile 的作用是穿越用戶模式的邊界,進入到內核模式,這個步驟是通過軟中斷實現的。進入內核模式後,會調用系統服務函數,這里會調用同名的系統服務NtCreateFile。(同名函數,一個位於用戶模式,一個位於內核模式)
NtCreateFile 系統函數調用通過I/O管理器,創建IRP並傳輸到設備的驅動程序中。IRP(I/O Request Package)即輸入輸出請求包,是驅動程序開發中重要的數據結構。驅動程序的運行,完全靠IRP驅動的。
驅動程序根據IRP,進行相應的操作。這些操作一般對設備的直接操作,例如對埠的讀操作。對埠的讀操作根據不同硬體平台實現方法有所不同,Windows 根據不同的硬體平台,會有不同的HAL(硬體抽象層).
來自網路。
3. 軟體是如何驅動硬體工作的
這個問題其實都沒怎麼問對。你所指的驅動就是是硬體里各種電路的運演算法則,驅動程序在操作系統(即軟體)的處理下,變成CPU看得懂的二進制數,然後CPU根據驅動程序的指令,協調各硬體工作。
4. 怎樣驅動硬體驅動程序
當然是找適合的驅動裝上了,要不還能有什麼更好的辦法啊
再說了你買電腦的時候各個硬體都帶著驅動盤呢
5. 軟體如何驅動硬體工作
軟體如何控制硬體
軟體在工作的時候也是實體,軟體的實質就是電流信號,用電壓的高低代表不同是信息,用這些電流信號去控制邏輯電路的通斷,靠邏輯電路的通斷來控制硬體的工作。
說到底軟體就是起到一個開關信號的作用,開關要工作,必需保證硬體是加電的,沒有接通電源的硬體是無法用軟體來控制的。就好比沒有插上電源的台燈,你怎麼按開關都是不會亮的。
任何軟體在運行前都要有一個將其轉化為電流信號的實體化過程,你寫在紙上的軟體代碼是永遠也不能控制硬體的。早期電腦用人工接線輸入程序,相當於用人體的力量將軟體代碼實體化為電信號;現在我們用的軟盤、硬碟是通過磁頭將程序代碼轉化為電信號,光碟需要通過光頭將程序代碼轉化為電信號等等。
操作系統和驅動程序在其中起到什麼作用?
操作系統:你進行的操作(例如QQ、音樂、視頻、游戲等)都必須有操作系統的支持。所以說,操作系統是計算機里最接近計算機硬體的、最重要的軟體!操作系統傳統的定義是:操作系統是控制和管理計算機系統內各種硬體和軟體資源、合理有效地組織計算機系統的工作,為用戶提供一個使用方便可擴展的工作環境,從而起到連接計算機和用戶的介面作用。
驅動程序(Device Driver)全稱為「設備驅動程序」,是一種可以使計算機和設備通信的特殊程序,可以說相當於硬體的介面,操作系統只能通過這個介面,才能控制硬體設備的工作,假如某設備的驅動程序未能正確安裝,便不能正常工作。
正因為這個原因,驅動程序在系統中的所佔的地位十分重要,一般當操作系統安裝完畢後,首要的便是安裝硬體設備的驅動程序。不過,大多數情況下,我們並不需要安裝所有硬體設備的驅動程序,例如硬碟、顯示器、光碟機、鍵盤、滑鼠等就不需要安裝驅動程序,而顯卡、音效卡、掃描儀、攝像頭、Modem等就需要安裝驅動程序。另外,不同版本的操作系統對硬體設備的支持也是不同的,一般情況下版本越高所支持的硬體設備也越多,例如筆者使用了Windows XP,裝好系統後一個驅動程序也不用安裝。
6. 程序是如何控制硬體的
我建議你看幾本教科書:計算機組成原理、數字電路基礎、8086匯編語言、c8051單片機實驗教程
看完這幾本書你就明白了。一般在cpu中高電平是3.7v~5v之間代表1,1.6v~0v之間代表0,低電平。軟體是運行在硬體cpu上的,它通過輸出控制引腳將高低電平以及各種方波、波信號輸出到引腳,引腳上有放大設備來識別信號進行信號放大,或者識別信號來增強信號加速傳輸。
整個運行過程還是相當復雜的。這樣可能你容易理解,如果你把燈開關理解為一台計算機,那麼它只能被你輸入開、關,兩個狀態,它就相當於一個最簡單的計算單元,你輸入開時,它輸出電流,驅動燈泡。就是這樣。
你的問題在我給你的書里有非常詳細的解釋。
7. 程序如何驅動硬體
首先硬體安裝了驅動程序,
在你的程序里調用硬體驅動的api介面,
根據介面函數的要求,傳遞相應的參數就可以驅動硬體了
8. 程序如何控制硬體
1、光電轉換和放大電路的反復轉換完成控制。程序是一堆邏輯的代碼,而硬體是實實在在存在的需要用電平控制的電路,程序在控制硬體之前,必須要有一個中間的媒介來溝通兩個,這個媒介可能就是磁頭或者光頭,你所寫的代碼如果是在軟盤或者硬碟中,那麼就是磁頭通過掃描硬碟或軟盤將每個代碼轉化成電信號,如果是光碟里的代碼,那就用光頭掃描轉化。
2、當你寫這些代碼時代碼便以磁排列的方式保存在軟硬磁碟上,因為在鍵盤上你每按下一個鍵,這便是一個電信號,每一個電信號都會在磁碟上產生一個磁排列,然後磁頭再將這些磁排列反變換為電信號,電磁互相轉化,這樣便可以控制硬體電路了。
9. c語言編寫的程序是怎樣驅動硬體的
硬體部分有對應的地址端,一般會用匯編把相關寄存器等硬體設備定義好,然後C語音映射其相應地址,接著就是你所指的邏輯上的相應調配動作了。
10. 驅動程序是如何驅動硬體的
驅動程序相當於硬體與操作系統之間的通信員一樣.並且告訴操作系統有哪些設備以及設備廠的功能.硬體一般自帶.裝好系統再裝好就行了.誤裝或者裝錯了..就會導致系統崩潰.
只是命令的管道,他來傳遞命令計算機才能更好的處理命令