freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

同步互斥與通信ppt課件-閱讀頁

2025-05-21 18:13本頁面
  

【正文】 if 信號量的值大于 0 then 將信號量的值減 1 else 根據(jù)接收信號量的選項 , 將任務(wù)放到等待 隊列中 , 或是直接返回 獲取(申請)信號量 ? 當所申請的信號量不能被立即獲得時,可以有以下幾種選擇: – 永遠等待 – 不等待,立即返回,并返回一個錯誤狀態(tài)碼 – 指定等待時限(可有效避免死鎖) 注意: – 不允許在 ISR中選擇等待 – 當任務(wù)選擇等待時,將被按 FIFO或 優(yōu)先級順序 放置在等待隊列中 釋放信號量 ? 功能:釋放一個應(yīng)用指定的信號量。 刪除信號量 ? 功能:從系統(tǒng)中刪除應(yīng)用指定的一個信號量 ? 內(nèi)核動作:將信號量控制塊返還給系統(tǒng) ? 刪除信號量的不一定是創(chuàng)建信號量的任務(wù) ? 如果有任務(wù)正在等待獲得該信號量,執(zhí)行此功能將使所有等待這個信號量的任務(wù)回到就緒隊列中,且返回一個狀態(tài)碼指示該信號量已被刪除 清除信號量的任務(wù)等待列表 ? 為了清除等待一個信號量的所有任務(wù),某些內(nèi)核支持 Flush操作,以便釋放信號量等待任務(wù)列表中的所有任務(wù)。 SignalTask Task2 二值信號量 初值為 0 Flush Task1 Task3 第二節(jié) 郵箱和消息隊列 通信方式概述 消息隊列機制的主要數(shù)據(jù)結(jié)構(gòu) 典型的消息隊列操作 任務(wù)間的通信方式 ? 任務(wù)間的通信方式 : 直接通信 間接通信 ? 消息: 內(nèi)存空間中一段長度可變的緩沖區(qū),其長度和內(nèi)容均可以由用戶定義,其內(nèi)容可以是實際的數(shù)據(jù)、數(shù)據(jù)塊的指針或空。 ? 任何知道此消息隊列 ID號的代碼都可以刪除它。 消息隊列的其他典型使用 ? 緊耦合的單向數(shù)據(jù)通信:發(fā)送任務(wù)發(fā)送消息后要求一個響應(yīng)信號,表明接收任務(wù)已經(jīng)成功接收到消息。 Task1 Task2 第三節(jié) 管道 概述 管道機制的主要數(shù)據(jù)結(jié)構(gòu) 典型的管道操作 管道機制的典型應(yīng)用 管道機制概述 ? 管道( pipe)是提供非結(jié)構(gòu)化數(shù)據(jù)交換和實現(xiàn)任務(wù)間同步的內(nèi)核對象。 Task1 Task2 管道 管道中的數(shù)據(jù) 寫描述符 讀描述符 向管道 寫數(shù)據(jù) 從管道 讀數(shù)據(jù) 數(shù)據(jù)在管道內(nèi)像一個非結(jié)構(gòu)字節(jié)流,按 FIFO的次序從管道中讀出。 管道機制概述 ? 管道允許有多個讀者和寫者 。 Task1 ISR Task2 Task3 Pipe1 Pipe2 Pipe3 任務(wù) Task3等待從 Pipe1和 Pipe2這兩個管道讀數(shù)據(jù)并寫到第三個管道Pipe3上。 管道機制的典型應(yīng)用 Task A Task B Select操作 Select操作 管道 C 管道 D 任務(wù) A和任務(wù) B打開兩個管道作為任務(wù)間的通信方式:打開管道 C作為從任務(wù) A到任務(wù) B的數(shù)據(jù)傳輸,打開管道 D作為從任務(wù) B到任務(wù) A的回應(yīng)。 兩個任務(wù)之間的同步 管道主要用于任務(wù)到任務(wù)或 ISR到任務(wù)的數(shù)據(jù)傳輸 第四節(jié) 事 件 概述 事件機制的主要數(shù)據(jù)結(jié)構(gòu) 典型的事件操作 事件機制的典型應(yīng)用 ? 在嵌入式實時內(nèi)核中,事件是指一種表明預(yù)先定義的系統(tǒng)事件已經(jīng)發(fā)生的機制。其主要的特點是可實現(xiàn) 一對多的同步 。 ? 一個或多個事件構(gòu)成一個事件集。 概述 ? 事件及事件集有以下特點: – 事件間相互獨立 – 事件僅用于同步,不提供數(shù)據(jù)傳輸功能 – 事件無隊列,即多次發(fā)送同一事件,在未經(jīng)過任何處理的情況下,其效果等同于只發(fā)送一次。 – 若任務(wù)需要與一組事件中的任意一個發(fā)生同步,可稱為 獨立型同步 (邏輯 “ 或 ” 關(guān)系)。 概述 “或 ” 同步和 “ 與 ” 同步 概述 任務(wù) 任務(wù) 任務(wù) 任務(wù) ISR ISR OR AND “與”型同步 “或”型同步 事件集 事件集 POST POST PEND PEND 用多個事件的組合發(fā)信號給多個任務(wù) 概述 任務(wù) 任務(wù) 任務(wù) ISR OR AND 事件集 事件集 事件集 ( 8, 16或 32位) POST PEND PEND ? 術(shù)語: – 發(fā)送事件集 。 – 待處理事件集 。 – 事件條件 。 ? “ 或 ” 同步:待處理事件集只要包括事件條件中的任一事件即可滿足要求; ? “ 與 ” 同步:其二是待處理事件集必須包括事件條件中的全部事件方可滿足要求 。 EVENT_ALL EVENT_ANY 待處理事件集必須包含事件條件中的全部事件方可滿足要求, 即按照“與”條件接收事件 待處理事件集只要包含事件條件中的任一事件即可滿足要求, 即按照“或”條件接收事件 發(fā)送事件(集) ? 調(diào)用者(任務(wù)或中斷)構(gòu)造一個事件(集),將其發(fā)往接收者(比如目標任務(wù))。 獲取有關(guān)事件集的各種信息 ? 獲取有關(guān)事件集的各種信息: 包括活動事件集的列表,事件集的名稱和 ID等。 適用情況: Task2,需要獲得消息隊列 Q的消息或得到信號量 S,單純使用獲取消息操作,則可能被阻塞在消息隊列上,無法及時得到信號量,反之亦
點擊復(fù)制文檔內(nèi)容
教學課件相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1