現代作業系統 IPC

2021-09-09 05:48:03 字數 488 閱讀 8405

一、程序間可能存在的關係

資源共享關係

相互合作關係

二、競爭條件race condition

三、mutual exclusion互斥

四、解決方案

五、忙等待的互斥

1.遮蔽中斷:最簡單的方法是使每個程序在剛剛進入臨界區後立即遮蔽所有中斷,並在就要離開之前再開啟中斷。

2.鎖變數:設想有乙個共享(鎖)變數,其初始值為0。當乙個程序想進入其臨界區時,它首先測試這把鎖。如果該鎖的值為0,則該程序將其設定為1並進入臨界區。若這把鎖的值已經為1,則該程序將等待直到其值為0。於是,0就表示臨界區內沒有程序,1表示已經有某個程序進入臨界區。

3.嚴格輪換法:連續測試乙個變數直到某個值出現為止,稱為忙等待。用於忙等待的鎖,稱為自旋鎖

4.嚴格輪換法的說明:

5.tsl等方案的問題:

六、原語:sleep and wakeup

作業系統IPC

最近學習作業系統,我在課堂上基本上沒怎麼認真的聽老師講課,只是明白她講的的核心思想,但是對於老師講的具體例子我沒聽懂,原因不想在此陳述。我想說一下我對對ipc interprocess communication 的一點總結。我們在學習新事物的時候,我總想先知道為啥有這個東西。為啥有ipc呢?我的理...

現代作業系統

只有認為等待時間非常短的情形下,才使用忙等待。用於忙等待的鎖,稱為自旋鎖 spin lock 在互斥時間很短而掛起等待的時間開銷很大時,可以採用活鎖 livelock,沒有出現死鎖,但現象上看好像死鎖發生了 輪詢 忙等待 可用於進入臨界區或訪問資源。接收者發起的分布式啟發演算法。分布式系統新增在其底...

現代作業系統 死鎖

前言 現代作業系統 死鎖這一部分也是非常的重要,在這裡詳細介紹了死鎖出現的條件已經避免死鎖的方法。我的github 死鎖 概述 一 資源定義 1.我們把需要排他性使用的物件叫做資源。2.資源分成可搶占和不可搶占型 二 死鎖定義 如果乙個程序集合中的每個程序都在等待只能由該程序合集中的其他程序才能引發...