高階作業系統

2022-06-21 06:36:10 字數 1548 閱讀 4495

什麼是作業系統?

你可能這樣認為,windows、unix、linux、macos、android、ios....都是作業系統。這樣的理解並沒有錯,只不過太膚淺了。

作業系統是直接執行於硬體之上的電腦程式。

作業系統用於管理和控制計算機的硬體與軟體資源

作業系統為使用者軟體的開發提供必要的服務和介面

現代計算機系統的架構:

bios是計算機上電後第乙個執行的程式

bios首先檢測硬體狀態,檢測通過後立即進行硬體初始化

bios會在記憶體中建立中斷向量表(提供硬體訪問的方法)

bios最後將控制權交由主引導程式執行

注意:bios不是軟體(software),而是韌體(firmware)

韌體是固化於硬體中的程式,在硬體出廠前已經燒寫固定

系統啟動流程(x86架構)

bios載入主引導程式,主引導程式載入作業系統核心,那麼bios是由誰載入它執行的呢?

bios的執行機制:

——bios儲存於rom中,位址對映為0xf0000——0xfffff(實位址)

——硬體電路的特殊設計使得:

開機後,cpu從0xffff0處開始執行。

從上面可以看出,沒有任何其他程式來載入bios,它是由硬體電路的特殊設計使得,開機後,cpu從0xffff0處開始執行。

bios的最後使命

按照使用者設定掃瞄各個儲存介質(光碟機、軟碟機、u盤等)

發現主引導區後,將主引導區中的主引導程式載入記憶體

主引導程式在記憶體中的入口位址為0x7c00

將控制權交由主引導程式執行(jmp 0x7c00)。控制權怎麼交出去?就是通過一條彙編指令jmp實現的。

bios如何在儲存介質中尋找主引導程式?

如何判斷主引導區有沒有主引導程式?

主引導區(mbr:master boot record)

——位置:位於儲存介質的最開始位置處,大小為512位元組

——特點:前512位元組的最後2個有效位元組為0x55aa(判斷主引導程式是否合法的標誌)

——資料:0x55aa之前的資料被視為主引導程式

問題1:是不是每個儲存介質的前512個位元組,就是主引導程式

不是。問題2:如果已經判斷出前512個位元組就是主引導區了,那麼是不是主引導區裡面儲存的資料就是合法的主引導程式呢?

不一定更詳細的系統啟動流程(x86架構)

小結:bios是計算機上電後第乙個執行的程式

bios進行必要的初始化,並載入執行主引導程式

主引導程式位於儲存介質的最開始512位元組處

主引導程式負責後續初始化,並載入執行作業系統核心

高階作業系統複習

作業系統的定義?5大型別?5大功能?描述一下核心 shell 系統呼叫 庫函式以及應用程式之間的體系結構?unix啟動過程 檔案系統 unix檔案系統有?普通檔案和目錄檔案的x許可權分別起什麼作用?檔案的硬鏈結和符號鏈結 軟鏈結 的區別和作用?程序管理 程式 程序區別和聯絡 父程序和子程序 fork...

作業系統 作業排程(高階排程)

乙個典型的作業可分成三個作業步 1.編譯 作業步 2.鏈結裝配 作業步 3.執行 作業步。在多道批處理系統中通常有上百個作業,為了管理和排程作業,系統為每個作業設定了乙個作業控制塊 jcb 它記錄該作業的有關資訊。不同系統的 jcb的組成內容有所區別。jcb 是作業在系統中存在的唯一標誌。作業進入系...

第1課 高階作業系統

1 windows unix linux mac os android ios.2 作業系統是直接執行於硬體之上的電腦程式 作業系統的本質 3 作業系統用於管理和控制計算機的硬體和軟體資源 從使用者的角度 4 作業系統為使用者軟體的開發提供必要的服務和介面 從程式設計師的角度 1 bios 是基本輸...