作業系統面試題

2021-10-23 09:30:55 字數 1354 閱讀 3862

作業系統

1.select,poll和epoll

其實所有i/o都是輪詢的方法,只不過實現的層面不同罷了

基本select有三個缺點:

​ 1.連線受限

​ 2.查詢配對速度慢

​ 3.資料由核心態拷貝到使用者態

poll改善了第乙個缺點

epoll改善了第三個缺點

2.排程演算法

實時排程演算法:

​ 1.最早截至時間優先 edf

​ 2.最低鬆弛度優先 llf

3.死鎖

原因:1.競爭資源

​ 2.程式推進順序不當

必要條件:

1.互斥

​ 2.請求與保持條件

​ 3.不可剝奪條件

​ 4.環路等待條件

處理死鎖基本方法

​ 1.預防死鎖

​ 2.避免死鎖(銀行家演算法)

​ 3.檢測死鎖(資源分配圖)

​ 4.解除死鎖

​ i .剝奪資源

​ ii.撤銷程序

4.程式編譯與連線

預處理

預編譯過程主要處理那些原始檔中以「#」開始的預編譯指令

編譯

編譯過程就是把預編譯處理完成的檔案進行一系列詞法分析,語法分析,語義分析以及優化後生成相應的彙編**檔案,這個過程是構建的核心部分

彙編

彙編器將彙編**轉成機器可以執行的指令,每一條彙編語句幾乎都是一條機器指令,經過編譯,鏈結,彙編輸出的檔案成為目標檔案

鏈結

靜態鏈結和動態鏈結

動態鏈結方法:使用這種方法的程式並不在一開始就完成動態鏈結,而是知道真正呼叫動態**時,引導程式才計算(被呼叫的那部分)動態**的邏輯位址,然後等到某個時候,程式又需要呼叫另外某塊動態**時,引導程式又去計算這部分**的邏輯位址,所以,這種方式使程式初始化時間較短,但執行期間的效能比不上靜態鏈結的程式

虛擬記憶體技術

虛擬儲存器是指請求調入功能或者置換功能,能從邏輯上對記憶體容量加以擴充的一種儲存系統

分頁和分段

分段和分頁的區別

主要是分頁的作業位址空間是一維的,分段的位址空間是二維的

分頁主要是實現非連續分配,以便解決記憶體碎片問題

分段主要是更好的實現共享,滿足使用者的需要

頁面置換演算法

最佳置換演算法:不可能實現

先進先出演算法

最近最長未使用演算法

clock演算法

邊沿觸發和水平觸發

邊沿觸發指每當狀態變化時發生乙個io事件,條件觸發的只是滿足條件發生乙個io事件

作業系統面試題

一 linux下程序間通訊的幾種主要手段簡介 管道 pipe 及有名管道 named pipe 管道可用於具有親緣關係程序間的通訊,有名管道克服了管道沒有名字的限制,因此,除具有管道所具有的功能外,它還允許無親緣關係程序間的通訊 訊號 signal 訊號是比較複雜的通訊方式,用於通知接受程序有某種事...

作業系統面試題

內容源自 一 請分別簡單說一說程序和執行緒以及它們的區別。二 執行緒同步的方式有哪些?三 程序的通訊方式有哪些?主要分為 管道 系統ipc 包括訊息佇列 訊號量 共享儲存 socket 管道主要分為 普通管道pipe 流管道 s pipe 命名管道 name pipe 四 什麼是緩衝區溢位?有什麼危...

作業系統面試題彙總

死鎖?死鎖產生的原因?死鎖的必要條件?怎麼處理死鎖?解析 1 什麼是死鎖?死鎖是相互等待資源而產生的一種僵持狀態,如果沒有外力的干預將一直持續這個狀態 2 死鎖產生的原因?系統資源不足 相互競爭資源 請求資源順序不當 3 死鎖的必要條件?互斥 不可搶占 迴圈等待 請求與保持 4 怎麼處理死鎖?因為互...