跳轉到內容

作業系統設計/初始化/硬體

來自華夏公益教科書

硬體初始化

[編輯 | 編輯原始碼]

通常,當CPU啟動時,它會進行一些內部一致性檢查,並將控制權轉移到包含永久編碼的PROM或EPROM裝置,這些編碼旨在保留電源損失。在一些計算機中,這是他們需要的全部程式碼。但是,在許多通用計算裝置中,此只讀記憶體定義了BIOS或基本輸入輸出系統,能夠在標準輔助儲存裝置上找到引導扇區。在一些盒式磁帶型別的遊戲機中,BIOS在進行一些初步測試以確保機器正常工作後,將控制權轉移到盒式磁帶。在其他機器(如PC和Mac)上,BIOS會從只讀記憶體呼叫一個實用程式,並讓它檢查機器。

開機自檢

[編輯 | 編輯原始碼]

POST,或開機自檢,會觸發外圍裝置和計算機記憶體的初始化,並且如果預設引數設定為允許,它可能會進行初步的記憶體檢查。它還會設定記憶體底部,以便作業系統知道它可以使用多少記憶體。

開機自檢完成後,計算機嘗試將控制權傳遞給輔助儲存裝置的引導扇區。在像PC這樣的情況下,你可能有多個輔助儲存裝置,它可以根據標準模式或根據電池保護的靜態RAM裝置中設定的引數,依次取樣每個裝置。引導扇區是引導系統的組成部分,它載入特定的作業系統。

引導扇區

[編輯 | 編輯原始碼]

在引導扇區之前,作業系統必須完全載入才能執行。載入程式的實用性在於它使用類似於為攀爬開發的技術:攀爬者的備用靴子用作重量,將一根叫做引導繩的輕繩扔到懸崖上,然後將引導繩系在一條更重的繩子上,然後拉動輕繩,最終讓攀爬者能夠將他的更重的攀爬繩扔到懸崖上。

載入程式的作用是允許一個小型的扇區大小程式載入一個載入程式,該載入程式最終載入作業系統。所需的中間載入程式的確切數量取決於作業系統。在DOS中,引導扇區載入IO.sys和Msdos.sys,它們載入config.sys來配置計算機,然後載入command.com,並在其上執行Autoexec.bat。扇區大小程式稱為引導扇區。

核心初始化

[編輯 | 編輯原始碼]

核心完全載入後,初始化的下一步是設定核心引數和選項,並新增在核心設定檔案中選擇的任何模組。核心完全初始化後,它將接管計算機的控制權,並繼續初始化檔案系統和程序。

檔案系統初始化

[編輯 | 編輯原始碼]

核心啟動程序,並載入檔案系統。主檔案系統隨後包含初始化檔案,這些檔案可用於設定作業系統的環境,並初始化所有服務、守護程式和應用程式。

即插即用

[編輯 | 編輯原始碼]

即插即用的理念是,在初始化期間,系統構建一個裝置資料庫,之後應用程式可以訪問該資料庫,以瞭解系統上任何裝置的詳細資訊。這種初始化方式伴隨著裝置上的擴充套件BIOS,它允許裝置檢測作業系統並將引數設定為與該作業系統更加相容。這種組合特別有用,尤其是在需要初始化應用程式(如Windows)以接受該裝置的驅動程式的二次初始化中。

熱插拔

[編輯 | 編輯原始碼]

這個概念的進一步擴充套件是為通用序列匯流排開發的,它允許裝置在計算機執行時進行熱插拔,或安裝。USB匯流排與新裝置接觸,並從裝置中學習必要的資訊,以將其與驅動程式匹配。此資訊將被放入資料庫中,並且無論何時再次插入該裝置,都會找到相同的驅動程式。當裝置被拔出時,驅動程式會關閉自身並從活動裝置列表中刪除自身。它可以這樣做,因為它可以監控USB控制器,以確保其裝置仍然連線。

華夏公益教科書