BLOG記事用論壇

 找回密碼
 註冊
搜索
熱搜:
查看: 1051|回復: 0

8 Resource Synchronization Protocols , Non-Preemptible Critical Section

[複製鏈接]
發表於 2023-5-14 02:24:39 | 顯示全部樓層 |閱讀模式

"Resource Synchronization Protocols"(資源同步協議)是在多任務系統中,特別是在實時系統中用來管理和控制對共享資源(shared resources)訪問的一種機制。這些協議旨在防止對共享資源的同時訪問造成的數據不一致,並避免因資源競爭導致的問題,如死鎖(deadlock)和優先級倒置(priority inversion)。

以下是一些常見的資源同步協議:

  • "Mutual Exclusion"(互斥): 這是最基本的資源同步協議,它保證在任何時候,只有一個任務可以訪問特定的資源。這通常是通過使用鎖(locks)或者信號量(semaphores)來實現的。
  • "Priority Inheritance Protocol"(優先級繼承協議): 在這個協議下,如果一個低優先級的任務持有一個高優先級任務需要的資源,那麼低優先級的任務會臨時繼承高優先級任務的優先級,直到它釋放該資源。這種協議可以避免優先級倒置的問題。
  • "Priority Ceiling Protocol"(優先級天花板協議): 在這個協議下,每個資源都被賦予一個固定的優先級(通常是可能訪問該資源的所有任務中的最高優先級)。當一個任務鎖定一個資源時,它的優先級會提升到該資源的優先級。這種協議可以避免死鎖和優先級倒置的問題。


以上三種協議都有各自的優點和缺點,選擇哪一種協議取決於特定的應用需求和系統約束。在設計實時系統時,我們需要仔細考慮這些協議的特性,以確保系統的可調度性(schedulability)和實時性能。


Non-Preemptible Critical Section
"Non-Preemptible Critical Section"(非可搶占的關鍵區域)是指一個特殊的程式碼區段,當一個任務(task)進入這個區段時,它不能被其他任務中斷或搶占。在這個區段內,任務通常會訪問或修改一些共享資源(shared resources),如果這些操作被其他任務中斷,可能會導致數據不一致或其他問題。

使用非可搶占的關鍵區域的一個主要好處是,它可以避免"優先級倒置"(Priority Inversion)的問題。優先級倒置是指一個高優先級的任務被迫等待一個低優先級的任務釋放某個資源。這種情況可能會導致高優先級的任務不能在規定的時間內完成,從而影響系統的實時性能。

在非可搶占的關鍵區域中,由於任務在進入這個區段時不能被搶占,所以它可以確保在使用完資源之前,不會有其他任務來中斷它。這樣,即使有高優先級的任務需要這個資源,它也必須等待低優先級的任務完成其在關鍵區域的操作。因此,非可搶占的關鍵區域可以避免不可控的優先級倒置(Uncontrollable Priority Inversions)的問題。

然而,需要注意的是,非可搶占的關鍵區域也有其缺點。它可能會導致高優先級的任務必須等待低優先級的任務,這可能會影響系統的響應時間和調度性能。此外,如果關鍵區段的執行時間很長,那麼可能會出現資源的長時間佔用,進而導致系統的整體性能下降。因此,在設計系統時,我們需要仔細考慮如何適當地使用非可搶占的關鍵區域。


在這種情況下,任務的阻塞時間(Blocking Time)是由於它需要等待其他任務釋放共享資源的時間。如果我們按照Rate-Monotonic(RM,比率單調)的順序對任務進行排序和調度,那麼每個任務Ti的最長阻塞時間將由具有較低優先級的任務對共享資源的最長持有時間決定。

這種情況下,無論我們使用RM還是Earliest Deadline First(EDF,最早截止時間優先)調度算法,對於每個任務Ti的最長阻塞時間應該都是相同的。因為在這兩種調度策略下,每個任務在進入非可搶占的關鍵區域時都不會被搶占,所以它們的阻塞時間主要是由於等待共享資源的釋放,而這個等待時間主要取決於具有較低優先級的任務對共享資源的持有時間,而與具體的調度策略無關。

然而,我們需要注意的是,雖然在這種情況下RM和EDF的最長阻塞時間相同,但這並不意味著兩種調度策略的性能也相同。事實上,RM和EDF在其他方面(如調度開銷、可調度性等)可能有很大的差異。在選擇調度策略時,我們需要考慮到這些因素。

您需要登錄後才可以回帖 登錄 | 註冊

本版積分規則

手機版|Archiver|綜合討論區

GMT+8, 2026-6-24 17:20 , Processed in 0.028008 second(s), 8 queries , File On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回復 返回頂部 返回列表