一文讀懂大廠面試的作業系統面試題目(超詳細整理,執行緒,程式,死鎖)
作業系統是大廠進行計算機開發以及演算法崗位面試的必備部分,作業系統的面試中其實還包括作業系統的執行緒,程式的相關知識,以及Linux系統的核心和實際的使用。
通過閱讀很多的大廠的面試心經在作業系統的使用,進行了以下的作業系統面試題目的總結。
作業系統的面試重點涉及執行緒,程式的基本概念,程式與執行緒的區別與聯絡,作業系統的死鎖的發生,以及避免死鎖的發生,片段儲存區別,以及Linux系統的操作指令。
1.什麼是程式以及執行緒?二者之間的區別有哪些?
程式是系統進行資源排程與分配的基本單位,執行緒是CPU進行資源排程與分配的基本單位,它是比程式更小的能獨立執行的基本單位。
一個執行緒只能屬於一個程式,一個程式中可以包含多個執行緒,系統分配給程式的資源,程式內部的執行緒可以多執行緒的共享,不同程式內的執行緒通過訊息通訊的方式實現同步。
程式有獨立的記憶體空間,執行緒沒有獨立的記憶體空間。
2.程式與執行緒之間的狀態轉換類別
程式狀態分為堵塞,執行,就緒
就緒:程式已處於準備好執行的狀態,即程式已分配到除CPU外的所有必要資源後,只要再獲得CPU,便可立即執行
執行:程式獲得CPU,程式處於執行狀態
堵塞:正在執行的程式遇到IO請求等,暫時無法繼續執行
3.程式之間的同步方式有哪些?
管道機制,訊號量,訊息佇列,套接字進行通訊。
4.程式之間的排程演算法有哪些?
排程演算法是指:根據系統的資源分配策略所規定的資源分配演算法
(1)先來先服務的排程演算法:先來先服務排程演算法是一種最簡單的排程演算法,也稱為先進先出或嚴格排隊方案
(2)時間片輪轉排程演算法主要適用於分時系統。在這種演算法中,系統將所有就緒程式按到達時間的先後次序排成一個佇列。
(3)短作業優先排程演算法:短作業優先排程演算法是指對短作業優先排程的演算法,從後備佇列中選擇一個或若干個估計執行時間最短的作業,將它們調入記憶體執行。
(4)最短剩餘時間優先排程演算法
(5)高響應比優先排程演算法
(6)優先順序排程演算法
5.作業系統的死鎖是什麼?
死鎖就是兩個執行緒在獲取資源的時候,兩個執行緒互相具有對方所必須的資源,沒有外力的作用將一直持續等待,即為死鎖。
6.死鎖產生的必要條件有幾種?
(1)互斥條件:程式對程式的資源採用排他的機制,也就是一段時間內某一資源僅僅為一個程式所佔有。
(2)請求和保持的條件:當程式因為請求資源堵塞時,程式對所獲得的資源保持不放
(3)不剝奪的條件:程式已獲得的資源在未使用完之前,不能剝奪,只能在使用完時由自己釋放。
(4) 環路等待條件:在發生死鎖時,必然存在一個程式–資源的環形鏈。
7.解決死鎖的方法?
根據死鎖產生的條件,解決死鎖包括預防死鎖,避免死鎖,檢測死鎖,解除死鎖。
8.如何預防死鎖?
預防死鎖,由於死鎖產生需要同時具備四個條件,因此預防死鎖的辦法就是限制其中的一個條件
(1)破壞請求條件:一次性分配所有資源,這樣就不會再有請求了;
(2)破壞請保持條件:只要有一個資源得不到分配,也不給這個程式分配其他的資源:
(3) 破壞環路等待條件:系統給每類資源賦予一個編號,每一個程式按編號遞增的順序請求資源,釋放則相反。
(4)破壞不可剝奪條件:當某程式獲得了部分資源,但得不到其它資源,則釋放已佔有的資源;
9.分頁和分段的區別?
(1)段是資訊的邏輯單位,是根據使用者需要進行劃分的,段對使用者是可見的,頁是資訊的物理單位,是為了管理主存的而存在的,對使用者是透明的。
(2)段的大小不固定,由所完成的功能確定,頁的大小是固定的
(3)段向使用者提供的是二維地址空間,頁向使用者提供的是一維地址空間
(4)段是資訊的邏輯單位,便於儲存保護和資訊的共享,頁的保護和共享受到限制。
10.解釋並行和併發的含義區別
並行:兩個事件和多個事件在同一時刻發生,發生在不同的實體上。
併發: 兩個事件或者多個事件在同一時間間隔發生,發生在統一實體。
11.同步,非同步,堵塞,非堵塞的區別?
同步:當一個同步呼叫發出後,呼叫者需要等待返回結果,才能進行後續的執行。
非同步:當一個非同步過程呼叫發出後,呼叫者不能立刻得到返回結果。實際處理這個呼叫的部件在完成後,通過狀態、通知和回撥來通知呼叫者。
阻塞 :是指呼叫結果返回前,當前執行緒會被掛起,即阻塞。
非阻塞 :是指即使呼叫結果沒返回,也不會阻塞當前執行緒。
12.列舉常用的Linux系統的常用命令及作用
顯示檔案目錄命令ls 如ls
改變當前目錄命令cd 如cd /home
建立子目錄mkdir 如mkdir xiong
刪除子目錄命令rmdir 如rmdir /mnt/cdrom
刪除檔案命令rm 如rm /ucdos.bat
檔案複製命令cp 如cp /ucdos /fox
獲取幫助資訊命令man 如man ls
顯示檔案的內容less 如less mwm.lx
重定向與管道type 如type readme>>direct,將檔案readme的內容追加到文direct中
致謝
1.https://zhuanlan.zhihu.com/p/86629244
2.https://blog.csdn.net/qwe123147369/article/details/92646371
3.https://blog.csdn.net/youngchang06hpu/article/details/8009947
4.https://zhuanlan.zhihu.com/p/86629244
相關文章
- 作業系統複習(程式、執行緒、死鎖)作業系統執行緒
- 作業系統面試題作業系統面試題
- 【8】進大廠必須掌握的面試題-Java面試-異常和執行緒面試題Java執行緒
- 【Java面試題】Java面試之多執行緒!Java面試題執行緒
- 多執行緒面試題執行緒面試題
- 完美,騰訊技術專家總結作業系統基礎+程式和執行緒+記憶體+檔案系統+I/O+死鎖+面試題作業系統執行緒記憶體面試題
- 大廠面試經:高頻率JVM面試問題整理!面試JVM
- 史上最詳細的一線大廠Mysql面試題詳解MySql面試題
- Linux多執行緒面試題Linux執行緒面試題
- 多執行緒面試題1執行緒面試題
- 作業系統常見面試題作業系統面試題
- 【JAVA】【面試】【基礎篇】- 執行緒、鎖Java面試執行緒
- 【面試】執行緒程式區別面試執行緒
- 【面經】多執行緒常見面試題執行緒面試題
- 大廠面試iOS真題整理(flutter篇)面試iOSFlutter
- 關於執行緒池的面試題執行緒面試題
- 多執行緒經典面試題執行緒面試題
- Java執行緒面試題 Top 50Java執行緒面試題
- 執行緒面試top50題執行緒面試
- 敲開阿里大門的執行緒、多執行緒和執行緒池面試專題阿里執行緒面試
- 面試題錦(大廠面試前夕的掙扎)面試題
- Java大廠面試題Java面試題
- 萬字長文詳解Java執行緒池面試題Java執行緒面試題
- C++常見的面試題目整理C++面試題
- 作業系統面試經驗作業系統面試
- 面試資料-作業系統面試作業系統
- 面試集錦(二)程式與執行緒面試執行緒
- 2018金三銀四,Android大廠面試題整理Android面試題
- 前端備戰21秋招之作業系統,執行緒/程式/死鎖前端作業系統執行緒
- 美團面試題:Java-執行緒池 ThreadPool 專題詳解面試題Java執行緒thread
- BATJ都愛問的多執行緒面試題BAT執行緒面試題
- 面試題整理面試題
- Android面試:大廠經典高頻面試題體系化集合,年薪超過80萬!Android面試題
- 「面試題」20+Vue面試題整理面試題Vue
- 2020面試必知:中高階工程師面試題集整理(題目+答案)工程師面試題
- Java面試經典題:執行緒池專題Java面試執行緒
- 【作業系統】程式與執行緒作業系統執行緒
- Java面試題:執行緒池內“鬧情緒”的執行緒,怎麼辦?Java面試題執行緒