楠木軒

位元組跳動內部瘋傳Java作業系統筆記,涵蓋程序、執行緒、IO、死鎖等

由 撒宏才 釋出於 科技

現代計算機系統由一個或多個處理器、主存、印表機、鍵盤、滑鼠、顯示器、網路介面以及各種輸入/輸出裝置構成。

然而,程式設計師不會直接和這些硬體打交道,而且每位程式設計師不可能會掌握所有計算機系統的細節,這樣我們就不用再編寫程式碼了,所以在硬體的基礎之上,計算機安裝了- -層軟體,這層軟體能夠透過響應使用者輸入的指令達到控制硬體的效果,從而滿足使用者需求,這種軟體稱之為作業系統,它的任務就是為使用者程式提供一個更好、更簡單、更清晰的計算機模型。

我們一般常見的作業系統主要有Windows、Linux、 FreeBSD 或OSX,這種帶有圖形介面的作業系統被稱為圖形使用者 介面(Graphical User Interface, GUI) ,而基於文字、命令列的通常稱為Shell。下面是我們所要探討的作業系統的部件

這是一個作業系統的簡化圖,最下面的是硬體,硬體包括晶片、電路板、磁碟、鍵盤、顯示器等我們上面提到的裝置,在硬體之上是軟體。大部分計算機有兩種執行模式:核心態 和使用者態,軟體中最基礎的部分是作業系統,它執行在核心態中,核心態也稱為管態和核心態,它們都是作業系統的執行狀態,只不過是不同的叫法而已。作業系統具有硬體的訪問權,可以執行機器能夠執行的任何指令。軟體的其餘部分執行在使用者態下。

使用者介面程式(shell或者GUI)處於使用者態中,並且它們位於使用者態的最低層,允許使用者 執行其他程式,例如Web瀏覽器、電子郵件閱讀器、音樂播放器等。而且,越靠近使用者態的應用程式越容易編寫,如果你不喜歡某個電子郵件閱讀器你可以重新寫- -個或者換一個,但你不能自行寫一個作業系統或者是中斷處理程式。這個程式由硬體保護,防止外部對其進行修改。

需要免費領取這份位元組跳動內部強推的Java作業系統筆記的朋友,麻煩幫忙轉發一下這篇文章+關注我,然後私信我【學習】二字獲取!

作業系統

計算機硬體簡介

作業系統博物館

作業系統概念

系統呼叫

作業系統結構

程序

執行緒

程序間通訊

排程

無儲存器抽象

一種儲存器抽象:地址空間

虛擬記憶體

頁面置換演算法

檔案

目錄

檔案系統的實現

檔案系統的管理和最佳化

I/O裝置

I/O軟體原理

I/O層次結構

時鐘

資源

死鎖

貝鴕鳥演算法

死鎖檢測和恢復

死鎖避免

破壞死鎖

其他問題

總結

需要免費領取這份位元組跳動內部強推的Java作業系統筆記的朋友,麻煩幫忙轉發一下這篇文章+關注我,然後私信我【學習】二字獲取!