現代計算機系統由一個或多個處理器、主存、印表機、鍵盤、滑鼠、顯示器、網路介面以及各種輸入/輸出裝置構成。
然而,程式設計師不會直接和這些硬體打交道,而且每位程式設計師不可能會掌握所有計算機系統的細節,這樣我們就不用再編寫程式碼了,所以在硬體的基礎之上,計算機安裝了- -層軟體,這層軟體能夠透過響應使用者輸入的指令達到控制硬體的效果,從而滿足使用者需求,這種軟體稱之為作業系統,它的任務就是為使用者程式提供一個更好、更簡單、更清晰的計算機模型。
我們一般常見的作業系統主要有Windows、Linux、 FreeBSD 或OSX,這種帶有圖形介面的作業系統被稱為圖形使用者 介面(Graphical User Interface, GUI) ,而基於文字、命令列的通常稱為Shell。下面是我們所要探討的作業系統的部件
這是一個作業系統的簡化圖,最下面的是硬體,硬體包括晶片、電路板、磁碟、鍵盤、顯示器等我們上面提到的裝置,在硬體之上是軟體。大部分計算機有兩種執行模式:核心態 和使用者態,軟體中最基礎的部分是作業系統,它執行在核心態中,核心態也稱為管態和核心態,它們都是作業系統的執行狀態,只不過是不同的叫法而已。作業系統具有硬體的訪問權,可以執行機器能夠執行的任何指令。軟體的其餘部分執行在使用者態下。
使用者介面程式(shell或者GUI)處於使用者態中,並且它們位於使用者態的最低層,允許使用者 執行其他程式,例如Web瀏覽器、電子郵件閱讀器、音樂播放器等。而且,越靠近使用者態的應用程式越容易編寫,如果你不喜歡某個電子郵件閱讀器你可以重新寫- -個或者換一個,但你不能自行寫一個作業系統或者是中斷處理程式。這個程式由硬體保護,防止外部對其進行修改。
需要免費領取這份位元組跳動內部強推的Java作業系統筆記的朋友,麻煩幫忙轉發一下這篇文章+關注我,然後私信我【學習】二字獲取!
作業系統
計算機硬體簡介
作業系統博物館
作業系統概念
系統呼叫
作業系統結構
程序
執行緒
程序間通訊
排程
無儲存器抽象
一種儲存器抽象:地址空間
虛擬記憶體
頁面置換演算法
檔案
目錄
檔案系統的實現
檔案系統的管理和最佳化
I/O裝置
I/O軟體原理
I/O層次結構
盤
時鐘
資源
死鎖
貝鴕鳥演算法
死鎖檢測和恢復
死鎖避免
破壞死鎖
其他問題
總結
需要免費領取這份位元組跳動內部強推的Java作業系統筆記的朋友,麻煩幫忙轉發一下這篇文章+關注我,然後私信我【學習】二字獲取!