獻上膝蓋!華為工程師丟擲一份堪稱「舉世無雙」作業系統筆記

2020-10-11 21:00:01

寫在前面

作業系統在計算機行業中是一門最基礎的技術,無論是在開發專案還是在演演算法崗,我們都是基於計算機上進行的,我們對作業系統的瞭解體現我們從事計算機相關崗位的資深素質,因此,接下來,這篇文章給大家介紹在面試中常見的作業系統的知識點。當然,開發和演演算法崗對計算機網路的要求程度不同,相對而言,開發對作業系統的要求其實更高一些。但是一些基礎、核心、常見的問題要求我們要掌握。

面試的過程中,為了考察面試者的基礎功力,除了演演算法以外,作業系統將會佔比很大的權重,本文就給大家全部分享吧

目錄大綱

 

獻上膝蓋!華為工程師拋出一份堪稱“舉世無雙”作業系統筆記

 

獻上膝蓋!華為工程師拋出一份堪稱“舉世無雙”作業系統筆記

 

獻上膝蓋!華為工程師拋出一份堪稱“舉世無雙”作業系統筆記

 

(由於知識點太多,Σ( ° △ °|||)︴,此處省略.............................................................)

獻上膝蓋!華為工程師拋出一份堪稱“舉世無雙”作業系統筆記

 

第一章、認識作業系統

  • 計算機硬體簡介
  • 作業系統博物館
  • 作業系統概念
  • 系統呼叫
  • 作業系統結構

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

獻上膝蓋!華為工程師拋出一份堪稱“舉世無雙”作業系統筆記

 

CPU

CPU是計算機的大腦,它主要和記憶體進行互動,從記憶體中提取指令並執行它。一個CPU的執行週期是從記憶體中提取第一條指令、解碼並決定它的型別和運算元,執行,然後再提取、解碼執行後續的指令。重複該回圈直到程式執行完畢。

獻上膝蓋!華為工程師拋出一份堪稱“舉世無雙”作業系統筆記

 

多執行緒和多核晶片

對於作業系統來講,多執行緒是有意義的,因為每個執行緒對作業系統來說都像是一個單個的CPU。比如一個有兩個CPU的作業系統,並且每個CPU執行兩個執行緒,那麼這對於作業系統來說就可能是4個CPU。

獻上膝蓋!華為工程師拋出一份堪稱“舉世無雙”作業系統筆記

 

記憶體

計算機中第二個主要的元件就是記憶體。理想情況下,記憶體應該非常快速(比執行一條指令要快,從而不會拖慢CPU執行效率),而且足夠大且便宜,但是目前的技術手段無法滿足三者的需求。於是採用了不同的處理方式,記憶體系統採用一種分層次的結構

獻上膝蓋!華為工程師拋出一份堪稱“舉世無雙”作業系統筆記

 

獻上膝蓋!華為工程師拋出一份堪稱“舉世無雙”作業系統筆記

 

獻上膝蓋!華為工程師拋出一份堪稱“舉世無雙”作業系統筆記

 

匯流排

上面的結構(簡單個人計算機的元件圖)在小型計算機已經使用了多年,並用在早期的IBM PC中。然而,隨著處理器核記憶體變得越來越快,單個匯流排處理所有請求的能力也達到了上線,其中也包括IBMPC匯流排。必須放棄使用這種模式。其結果導致了其他匯流排的出現,它們處理I/0裝置以及CPU到記憶體的速度都更快。這種演變的結果導致了下面這種結構的出現。

獻上膝蓋!華為工程師拋出一份堪稱“舉世無雙”作業系統筆記

 

第二章、程序和執行緒

  • 程序
  • 執行緒
  • 程序間通訊
  • 排程

程序模型

獻上膝蓋!華為工程師拋出一份堪稱“舉世無雙”作業系統筆記

 

多執行緒解決方案

獻上膝蓋!華為工程師拋出一份堪稱“舉世無雙”作業系統筆記

 

經典的執行緒模型

獻上膝蓋!華為工程師拋出一份堪稱“舉世無雙”作業系統筆記

 

競態條件

獻上膝蓋!華為工程師拋出一份堪稱“舉世無雙”作業系統筆記

 

互斥量

獻上膝蓋!華為工程師拋出一份堪稱“舉世無雙”作業系統筆記

 

訊息傳遞

獻上膝蓋!華為工程師拋出一份堪稱“舉世無雙”作業系統筆記

 

屏障

獻上膝蓋!華為工程師拋出一份堪稱“舉世無雙”作業系統筆記

 

批次處理中的排程

獻上膝蓋!華為工程師拋出一份堪稱“舉世無雙”作業系統筆記

 

第三章、記憶體管理

  • 無記憶體抽象
  • 一種記憶體抽象:地址空間
  • 虛擬記憶體
  • 頁面置換演演算法

 

獻上膝蓋!華為工程師拋出一份堪稱“舉世無雙”作業系統筆記

 

執行多個程式

獻上膝蓋!華為工程師拋出一份堪稱“舉世無雙”作業系統筆記

 

基址暫存器和變址暫存器

獻上膝蓋!華為工程師拋出一份堪稱“舉世無雙”作業系統筆記

 

交換過程

獻上膝蓋!華為工程師拋出一份堪稱“舉世無雙”作業系統筆記

 

獻上膝蓋!華為工程師拋出一份堪稱“舉世無雙”作業系統筆記

 

記憶體針對自動增長的區域,會有三種處理方式

獻上膝蓋!華為工程師拋出一份堪稱“舉世無雙”作業系統筆記

 

獻上膝蓋!華為工程師拋出一份堪稱“舉世無雙”作業系統筆記

 

使用點陣圖的儲存管理

獻上膝蓋!華為工程師拋出一份堪稱“舉世無雙”作業系統筆記

 

獻上膝蓋!華為工程師拋出一份堪稱“舉世無雙”作業系統筆記

 

頁表

獻上膝蓋!華為工程師拋出一份堪稱“舉世無雙”作業系統筆記

 

先進先出頁面置換演演算法

獻上膝蓋!華為工程師拋出一份堪稱“舉世無雙”作業系統筆記

 

工作集時鐘頁面置換演演算法

獻上膝蓋!華為工程師拋出一份堪稱“舉世無雙”作業系統筆記

 

第四章、檔案系統

  • 檔案
  • 目錄
  • 檔案系統的實現
  • 檔案系統的管理和優化

獻上膝蓋!華為工程師拋出一份堪稱“舉世無雙”作業系統筆記

 

檔案結構

獻上膝蓋!華為工程師拋出一份堪稱“舉世無雙”作業系統筆記

 

檔案型別

獻上膝蓋!華為工程師拋出一份堪稱“舉世無雙”作業系統筆記

 

層次目錄系統

獻上膝蓋!華為工程師拋出一份堪稱“舉世無雙”作業系統筆記

 

連結串列分配

獻上膝蓋!華為工程師拋出一份堪稱“舉世無雙”作業系統筆記

 

獻上膝蓋!華為工程師拋出一份堪稱“舉世無雙”作業系統筆記

 

紀錄檔檔案系統

獻上膝蓋!華為工程師拋出一份堪稱“舉世無雙”作業系統筆記

 

虛擬檔案系統

獻上膝蓋!華為工程師拋出一份堪稱“舉世無雙”作業系統筆記

 

磁碟空間管理

獻上膝蓋!華為工程師拋出一份堪稱“舉世無雙”作業系統筆記

 

物理轉儲和邏輯轉儲

獻上膝蓋!華為工程師拋出一份堪稱“舉世無雙”作業系統筆記

 

第五章、I/O

  • I/O裝置
  • IO軟體原理
  • I/O層次結構
  • 時鐘

獻上膝蓋!華為工程師拋出一份堪稱“舉世無雙”作業系統筆記

 

裝置控制器

裝置控制器是處理CPU傳入和傳出訊號的系統。

獻上膝蓋!華為工程師拋出一份堪稱“舉世無雙”作業系統筆記

 

記憶體對映I/0

每個控制器都會有幾個暫存器用來和CPU進行通訊。通過寫入這些暫存器,作業系統可以命令裝置傳送資料,接收資料、開啟或者關閉裝置等。通過從這些暫存器中讀取資訊,作業系統能夠知道裝置的狀態,是否準備接受一個新命令等。

獻上膝蓋!華為工程師拋出一份堪稱“舉世無雙”作業系統筆記

 

直接記憶體存取

獻上膝蓋!華為工程師拋出一份堪稱“舉世無雙”作業系統筆記

 

精確中斷和不精確中斷

獻上膝蓋!華為工程師拋出一份堪稱“舉世無雙”作業系統筆記

 

中斷處理程式

獻上膝蓋!華為工程師拋出一份堪稱“舉世無雙”作業系統筆記

 

磁碟

為了組織和檢索資料,會將磁碟組織成特定的結構,這些特定的結構就是磁軌、磁區和柱面

獻上膝蓋!華為工程師拋出一份堪稱“舉世無雙”作業系統筆記

 

磁碟臂排程演演算法

 

第六章、死鎖

  • 鴕鳥演演算法
  • 死鎖檢測和恢復
  • 死鎖避免
  • 破壞死鎖

獻上膝蓋!華為工程師拋出一份堪稱“舉世無雙”作業系統筆記

 

計算機系統中有很多獨佔性的資源,在同一時刻只能每個資源只能由一個程序使用,我們之前經常提到過印表機,這就是一個獨佔性的資源,同一時刻能有兩個印表機同時輸出結果,否則會引起檔案系統的癱瘓。所以,作業系統具有授權-個程序單獨存取資源的能力。

死鎖模型

Holt在1972年提出對死鎖進行建模,建模的標準如下:

●圓形表示程序

●方形表示資源

獻上膝蓋!華為工程師拋出一份堪稱“舉世無雙”作業系統筆記

 

獻上膝蓋!華為工程師拋出一份堪稱“舉世無雙”作業系統筆記

 

通訊死鎖

獻上膝蓋!華為工程師拋出一份堪稱“舉世無雙”作業系統筆記

 

死鎖是一類通用問題,任何作業系統都會產生死鎖。當每一-組程序 中的每個程序都因等待由該組的其他程序所佔有的資源而導致阻塞,死鎖就發生了。這種情況會使所有的程序都處於無限等待的狀態。死鎖的檢測和避免可以通過安全和不安全狀態來判斷,其中一個檢測方式就是銀行家演演算法;當然你也可以使用鴕鳥演演算法對死鎖置之不理,但是你肯定會遭其反噬。也可以在設計時通過系統結構的角度來避免死鎖,這樣能夠預防死鎖;也可以破壞死鎖的四個條件來破壞死鎖。資源死鎖並不是唯一性的死鎖,還有通訊間死鎖,可以設定適當的超時時間來完成。活鎖和死鎖的問題有些相似,它們都是-種程序無法繼續向下執行的狀態。 由於程序排程策略導 致嘗試獲取程序的一方永遠無法獲得資源後,程序會導致飢餓的出現。

第七章、作業系統面試題

解釋一下什麼是作業系統

獻上膝蓋!華為工程師拋出一份堪稱“舉世無雙”作業系統筆記

 

微核心

獻上膝蓋!華為工程師拋出一份堪稱“舉世無雙”作業系統筆記

 

多處理系統的優勢

獻上膝蓋!華為工程師拋出一份堪稱“舉世無雙”作業系統筆記

 

獻上膝蓋!華為工程師拋出一份堪稱“舉世無雙”作業系統筆記

 

(由於內容太多了,就不一一展示了Σ( ° △ °|||)︴)

這份【作業系統筆記】檔案共有300+頁,需要完整版的朋友,可以點贊此文關注小編,【見下圖】來獲取!!