作業系統面試題(更新中。。)

2021-07-10 17:24:46 字數 376 閱讀 1338

如果在乙個程序集合中,每個程序都在等待只能由該集合中的其他程序才能引發的事件,而無限期陷入僵持的局面成為死鎖。

即一組程序中,如果每個程序都獲得了部分資源,還想要得到其他程序所占用的資源,最終所有的程序都將陷入死鎖。

互斥條件:程序互斥使用資源

占有和等待條件(部分分配條件):申請新資源得不到滿足而等待時,不釋放已占有資源。

不剝奪條件:乙個程序不能搶奪其他程序占有的資源。

迴圈等待條件(環路條件):存在一組程序迴圈等待資源的現象。

死鎖的避免:只要破壞以上四個條件之一就可以了。

使用多執行緒,簡單的避免死鎖的方法是:指定獲取鎖的順序,並強制執行緒按照指定的順序獲取鎖。因此,如果所有的執行緒都是以同樣的順序加鎖和釋放鎖,就不會出現死鎖了。

作業系統面試題

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

作業系統面試題

作業系統 1.select,poll和epoll 其實所有i o都是輪詢的方法,只不過實現的層面不同罷了 基本select有三個缺點 1.連線受限 2.查詢配對速度慢 3.資料由核心態拷貝到使用者態 poll改善了第乙個缺點 epoll改善了第三個缺點 2.排程演算法 實時排程演算法 1.最早截至時...

作業系統面試題

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