信號量的概念 操作系統(tǒng)大神能不能用自然語言給我解釋一下信號量機(jī)制描述的到底啥意思?
操作系統(tǒng)大神能不能用自然語言給我解釋一下信號量機(jī)制描述的到底啥意思?例如。有三根筷子,三個人吃,條件是拿到一雙筷子吃。然后這可能發(fā)生:每個人都有一根筷子,每個人只能餓死。為了避免這種情況,我們需要增加
操作系統(tǒng)大神能不能用自然語言給我解釋一下信號量機(jī)制描述的到底啥意思?
例如。
有三根筷子,三個人吃,條件是拿到一雙筷子吃。然后這可能發(fā)生:每個人都有一根筷子,每個人只能餓死。為了避免這種情況,我們需要增加一條規(guī)則,讓一個人每時每刻都能得到兩根筷子。這個規(guī)則就是信號量機(jī)制。
信號量機(jī)制屬于臨界區(qū)互斥的哪種互斥方法?
關(guān)鍵區(qū)域互斥分為軟件實現(xiàn)方法和硬件實現(xiàn)方法。
軟件實現(xiàn)方法是設(shè)置和檢查入口區(qū)域中的一些標(biāo)志,以指示關(guān)鍵區(qū)域中是否有進(jìn)程。如果在關(guān)鍵區(qū)域有一個進(jìn)程,它將通過循環(huán)檢查在入口區(qū)域等待。進(jìn)程離開關(guān)鍵區(qū)域后,它將修改退出區(qū)域中的標(biāo)志。
硬件實現(xiàn)方法分為中斷屏蔽法和硬件指令法。
中斷屏蔽意味著當(dāng)進(jìn)程使用處理器在關(guān)鍵區(qū)域執(zhí)行代碼時,禁止所有中斷,以防止其他程序進(jìn)入關(guān)鍵區(qū)域。
硬件指令方法使用ts和swap語句。
信號量互斥由P、V原語控制。當(dāng)進(jìn)入關(guān)鍵區(qū)域時,通過P,V操作修改信號量值,實現(xiàn)互斥。我認(rèn)為在關(guān)鍵領(lǐng)域?qū)崿F(xiàn)互斥的兩種基本方法之間有一些細(xì)微的差別。如果你真的想把它分成基本的方法,它仍然感覺像是軟件實現(xiàn)方法。