操作系統怎樣控制硬件

一:BIOS和驅動程序是如何工作的
:當你選擇一個命令.比如說,讓你的文字處理軟件保存一個文檔時,應用程序不需要知道如何控制硬盤驅動器.取而代之的是,文檔處理軟件將命令和需要保存的數據傳送給WINDOWS.
:操作系統要通過檢查確認保存數據的命令沒有問題.例如,它要確定文件名是否合法,同時你不能在一個標記着只讀的文件上保存.
:如果一切就緒了,操作系統就會檢查保存文件的操作系統是否需要設備驅動程序,所謂設備驅動程序就是爲了控制特定的外圍設備而編寫的一個專用代碼塊.驅動程序是BIOS的擴展.如果沒有驅動程序,做爲永久性的存儲器,BIOS就必須要包含所有的控制命令以控制每一種你可能安裝到計算機的硬件設備.這樣,不僅BIOS將會難以控制的增大,而且,當新的打印機或是硬盤驅動器推出的時候,它就會立即被淘汰.計算機啓動或是WINDOWS裝入時一些驅動程序也被裝入進來.如果文件保存操作所需的設備驅動程序不在RAM中,WINDOWS就會將它從磁盤上覆制到內存中,然後WINDOWS將文件保存的實際任務交給BIOS和驅動程序.
:如果BIOS中含有該磁盤驅動器的一套專用指令,BIOS就自己發送指令和數據到磁盤驅動控制器.在IDE(集成驅動設備電路)驅動器中,控制器內置在驅動器中.如果命令不固化在BIOS的只讀存儲器中,BIOS將到磁盤驅動器的設備驅動程序中重新尋找控制指令.在那裏編有專門用於控制這種品牌,容量及型號的控制命令集.
映象BIOS

計算機的BIOS信息比較典型的是存儲在EPROM(可檫寫,可編程,只讀存儲器)芯片上,甚至在計算機關閉的時候都會一直保留着這些數據.檢查EPROM上的代碼將會比檢索RAM中的代碼花費更多的時間.基於這個原因,大多數的新型計算機採用了映象BIOS代碼的辦法-也就是說,將代碼從EPROM上覆制到RAM中,然後建立起等效的微電路轉向標記,這樣當計算機要訪問BIOS的代碼時,它將會訪問取代EPROM的RAM.                                                                           

 
 
 
 
 
 
 
 
 
 
 
 
 
二:即插即用設備如何工作

1:當你打開一個即插即用型系統時,WINDOWS和硬件設備之間的主要仲裁者BIOS成爲第一個掌握控制權的組件。BIOS搜尋所有需要的設備—比如顯卡、鍵盤以及軟盤驅動器——這樣PC機纔可能正常運行。BIOS基於它們唯一的標誌號來識別這些設備,標誌號是被永久性地記錄到設備的ROM即只讀存儲器中的。然後BIOS將控制權交給操作系統。
2WINDOWS的配置管理器將稱爲枚舉器的特殊設備驅動程序添加進來—該程序充當操作系統和各種不同設備之間的接口。枚舉器有總線枚舉器、用於SCSI(小型計算機系統接口)的特殊總線類型的枚舉器和端口枚舉器,等等。WINDOWS要求每個枚舉器都要明確地指出它要控制哪個設備以及它需要那些資源。
3WINDOWS從枚舉器得到信息並且將這些信息存儲到硬件設備樹中,硬件設備樹是存儲在RAM中的一個數據庫。於是操作系統檢查硬件設備樹進行資源仲裁。換言之,在將信息存儲到一個數據庫以後,操作系統決定將那些資源——例如,中斷(IRQ)——分配哪個設備。然後系統會通知枚舉器它們各自的設備都被分配了那些資源。枚舉器將資源分配的信息存儲到外圍設備的微型可編程寄存器中類似於某些芯片中的暫存區。
4:最終,操作系統爲每個設備都搜尋到合適的設備驅動程序。設備驅動程序實際上就是WINDOWS的一小部分附加代碼,它告訴操作系統如何與硬件進行通信。如果操作系統沒有發現它所需要的設備驅動程序,系統就會提示用戶進行安裝。於是系統加載所有必須的設備驅動程序並且告知驅動程序其他設備使用着那些資源。設備驅動程序初始化它們各自的設備,這時完成了系統啓動。
三:數據怎樣在總線上旅行

1:處理器或其它組件發出的信號沿着若干條平行排列的電路行走。這種線路的條數是由所有的總線體系結構類型決定的。它們當中最簡單的)——原IBM PC機上用的是8位總線——用62條連線與各種適配器卡連接。發送到某一適配器卡上的任何信號同時都會送向所有的適配器卡。
28條線路通向適配器卡電源線。不同線路的電壓是不同的。
3832條線路用於傳輸所有的數據,不管數據是送往內存芯片、還是送往顯示適配器或是磁盤控制器。
420條線路載有想要的數據的特定地址信息。每個擴展卡都使用一個特定且唯一的地址——來自於內存中開頭1MB空間中的可用部分,那是一個能被操作系統尋址的範圍。
5:餘下的那些線路用來傳遞常用的特定指令的控制信號,比如對內存和每個輸入/輸出設備的讀寫命令。
6:總線上的每個適配器卡時刻不斷地在控制線上尋找適當的信號。例如,當寫命令線上出現一個信號時,所有的I/O設備都會識別出這個命令,而內存的電路卻不會。
7:寫命令警告I/O適配器轉移注意力到地址線上。如果那些線上指定的地址並不是某個適配器所使用的地址時,哪個適配器就將數據線的信號忽略。
8:如果地址線上的信號和適配器地址相吻合的話,適配器就接收數據線上發送來的數據,並且用這些數據來完成寫操作。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章