天天看點

Linux 作業系統原理 — 作業系統的本質

目錄

​​目錄​​

​​作業系統的起源​​

​​作業系統和進階程式設計語言使硬體抽象化​​

作業系統的起源

在作業系統尚不存在的年代,人們通過各種按鈕來控制計算機,這一過程非常麻煩。于是,有人開發出了僅僅具有加載和運作功能的監控程式(Supervisor),這就是作業系統的原型。

通過監控程式,程式員可以根據需要将各種應用程式加載到記憶體中運作。雖然仍舊比較麻煩,但現在開發的工作量得到了很大的緩解。

Linux 作業系統原理 — 作業系統的本質

随着時代的發展,人們在使用監控程式編寫程式的過程中發現了很多程式都具有公共的部分。例如:通過鍵盤進行文字輸入,顯示器進行資料展示等。如果每編寫一個新的應用程式都需要進行相同重複工作的話,那真是太浪費時間了。是以,部分可重用的程式就被追加到了監控程式中。作業系統的原型就是這樣誕生的。

Linux 作業系統原理 — 作業系統的本質

逐漸的,人們又發現有更多的應用程式可以追加到監控程式中,比如:硬體控制程式,程式設計語言處理器(彙編、編譯、解析)以及各種應用程式等,結果就形成了和現在差異不大的作業系統,也就是說,其實作業系統是多個程式的集合體。

Linux 作業系統原理 — 作業系統的本質

作業系統和進階程式設計語言使硬體抽象化

通過使用作業系統提供的系統調用,程式員不必直接編寫控制硬體的程式,而且,通過使用進階程式設計語言,有時也無需考慮系統調用的存在,系統調用往往是自動觸發的,作業系統和進階程式設計語言能夠使硬體抽象化,并誕生了程式員這一職業。

在上面代碼中,實體磁盤被作業系統中的檔案系統和 C 語言中的函數抽象化了。

Linux 作業系統原理 — 作業系統的本質

繼續閱讀