楠木軒

字節跳動內部瘋傳Java操作系統筆記,涵蓋進程、線程、IO、死鎖等

由 撒宏才 發佈於 科技

現代計算機系統由一個或多個處理器、主存、打印機、鍵盤、鼠標、顯示器、網絡接口以及各種輸入/輸出設備構成。

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

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

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

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

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

操作系統

計算機硬件簡介

操作系統博物館

操作系統概念

系統調用

操作系統結構

進程

線程

進程間通信

調度

無存儲器抽象

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

虛擬內存

頁面置換算法

文件

目錄

文件系統的實現

文件系統的管理和優化

I/O設備

I/O軟件原理

I/O層次結構

時鐘

資源

死鎖

貝鴕鳥算法

死鎖檢測和恢復

死鎖避免

破壞死鎖

其他問題

總結

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