寫在前面
作業系統在計算機行業中是一門最基礎的技術,無論是在開發專案還是在演算法崗,我們都是基于計算機上進行的,我們對作業系統的了解體現我們從事計算機相關崗位的資深素質,因此,接下來,這篇文章給大家介紹在面試中常見的作業系統的知識點,當然,開發和演算法崗對計算機網路的要求程度不同,相對而言,開發對作業系統的要求其實更高一些,但是一些基礎、核心、常見的問題要求我們要掌握,
面試的程序中,為了考察面試者的基礎功力,除了演算法以外,作業系統將會占比很大的權重,本文就給大家全部分享吧
目錄大綱



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

第一章、認識作業系統
- 計算機硬體簡介
- 作業系統博物館
- 作業系統概念
- 系統呼叫
- 作業系統結構
現代計算機系統由一個或多個處理器、主存、列印機、鍵盤、滑鼠、顯示幕、網路介面以及各種輸入/輸出設備構成,

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+頁,需要完整版的朋友,可以點贊此文關注小編,【見下圖】來獲取!!

轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/168327.html
標籤:其他
