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