這份面試題有四十多道題,涉及操作系統(tǒng)簡介篇、進(jìn)程和線程篇、內(nèi)存管理篇、文件系統(tǒng)篇、IO 篇、死鎖篇。囊括了校招面試和社招面試,看完這一篇文章,保準(zhǔn)你能和面試官侃侃而談,增加進(jìn)入大廠的幾率!
話不多說,下面我們直接進(jìn)入面試題。
操作系統(tǒng)簡介篇
解釋一下什么是操作系統(tǒng)
操作系統(tǒng)是管理硬件和軟件的一種應(yīng)用程序。操作系統(tǒng)是運行在計算機上最重要的一種軟件,它管理計算機的資源和進(jìn)程以及所有的硬件和軟件。它為計算機硬件和軟件提供了一種中間層,使應(yīng)用軟件和硬件進(jìn)行分離,讓我們無需關(guān)注硬件的實現(xiàn),把關(guān)注點更多放在軟件應(yīng)用上。
通常情況下,計算機上會運行著許多應(yīng)用程序,它們都需要對內(nèi)存和 CPU 進(jìn)行交互,操作系統(tǒng)的目的就是為了保證這些訪問和交互能夠準(zhǔn)確無誤的進(jìn)行。
操作系統(tǒng)的主要功能
一般來說,現(xiàn)代操作系統(tǒng)主要提供下面幾種功能
進(jìn)程管理: 進(jìn)程管理的主要作用就是任務(wù)調(diào)度,在單核處理器下,操作系統(tǒng)會為每個進(jìn)程分配一個任務(wù),進(jìn)程管理的工作十分簡單;而在多核處理器下,操作系統(tǒng)除了要為進(jìn)程分配任務(wù)外,還要解決處理器的調(diào)度、分配和回收等問題
內(nèi)存管理:內(nèi)存管理主要是操作系統(tǒng)負(fù)責(zé)管理內(nèi)存的分配、回收,在進(jìn)程需要時分配內(nèi)存以及在進(jìn)程完成時回收內(nèi)存,協(xié)調(diào)內(nèi)存資源,通過合理的頁面置換算法進(jìn)行頁面的換入換出
設(shè)備管理:根據(jù)確定的設(shè)備分配原則對設(shè)備進(jìn)行分配,使設(shè)備與主機能夠并行工作,為用戶提供良好的設(shè)備使用界面。
文件管理:有效地管理文件的存儲空間,合理地組織和管理文件系統(tǒng),為文件訪問和文件保護(hù)提供更有效的方法及手段。
提供用戶接口:操作系統(tǒng)提供了訪問應(yīng)用程序和硬件的接口,使用戶能夠通過應(yīng)用程序發(fā)起系統(tǒng)調(diào)用從而操縱硬件,實現(xiàn)想要的功能。
軟件訪問硬件的幾種方式
硬件在 I/O 上大致分為并行和串行,同時也對應(yīng)串行接口和并行接口。
隨著計算機技術(shù)的發(fā)展,I/O 控制方式也在不斷發(fā)展。選擇和衡量 I/O 控制方式有如下三條原則
(1) 數(shù)據(jù)傳送速度足夠快,能滿足用戶的需求但又不丟失數(shù)據(jù);
(2) 系統(tǒng)開銷小,所需的處理控制程序少;
(3) 能充分發(fā)揮硬件資源的能力,使 I/O 設(shè)備盡可能忙,而 CPU 等待時間盡可能少。
根據(jù)以上控制原則,I/O 操作可以分為四類
直接訪問:直接訪問由用戶進(jìn)程直接控制主存或 CPU 和外圍設(shè)備之間的信息傳送。直接程序控制方式又稱為忙/等待方式。
中斷驅(qū)動:為了減少程序直接控制方式下 CPU 的等待時間以及提高系統(tǒng)的并行程度,系統(tǒng)引入了中斷機制。中斷機制引入后,外圍設(shè)備僅當(dāng)操作正常結(jié)束或異常結(jié)束時才向 CPU 發(fā)出中斷請求。在 I/O 設(shè)備輸入每個數(shù)據(jù)的過程中,由于無需 CPU 的干預(yù),一定程度上實現(xiàn)了 CPU 與 I/O 設(shè)備的并行工作。