臨界資源和臨界區

2021-10-04 12:16:54 字數 612 閱讀 7058

個人部落格:the blog of waiterxiaoyy 歡迎來互相交流學習。

屬於臨界資源的

硬體:印表機、磁帶機;

軟體:訊息佇列、變數、陣列、緩衝區。

每個程序訪問臨界資源的那段**稱為臨界區。

不論是硬體臨界資源還是軟體臨界資源,多個程序必須互斥地對它進行訪問。保證諸程序互斥地進入臨界區,便可實現諸程序對臨界資源的互斥訪問。

其他程序在訪問某個臨界資源之前必須對該臨界資源的檢查,檢視該臨界資源是否正在被訪問,

如果此刻該臨界資源正在被某個程序訪問,則本程序不能進入臨界區。

- 進入區

在臨界區前面一段用於對臨界資源進行檢查是否正在被某個程序訪問的**稱為進入區。

- 退出區

在臨界區後面一段用於恢復臨界資源成未被訪問狀態的**稱為退出區。

- 剩餘區

除上述進入區、臨界區、退出區的其他部分**稱為剩餘區。

while

(true

)

臨界資源和臨界區

臨界資源 臨界資源是一次僅允許乙個程序使用的共享資源,各程序採取互斥的方式實現共享的資源。屬於臨界資源的硬體有,印表機,磁帶機等 軟體有訊息佇列,變數,陣列,緩衝區等。諸程序間採取互斥方式,實現對這種資源的共享。臨界區 每個程序中訪問臨界資源的那段 稱為臨界區 criticalsection 每次只...

臨界區,臨界資源

什麼是臨界區?答 每個程序中訪問臨界資源 比如全域性變數等公用資源 的那段程式 稱為臨界區 臨界資源是一次僅允許乙個程序使用的共享資源,如全域性變數等 也稱為臨界段。也就說是每個程序 ucos中是任務 都可以有訪問這個全域性變數的 比如某個程序想用該變數做加法,另外乙個程序想用這個變數做其它用途等,...

FreeRTOS臨界資源保護(臨界區保護)

臨界區未保護出現的異常 今天我們說說其中之一的原因 臨界資源未保護。我們先看個例子,假如有乙個5個節點單向鍊錶,如下結構 head 1 2 3 4 5 null 有一任務a在乙個單向鍊錶的2 3節點之間插入乙個新的2a節點,已經將2 2a,還未將2a 3,此時,鍊錶變為兩個未完整的部分,如下結構 h...