999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

一種基于SylixOS的多任務間數據通信方法探究

2021-03-18 06:53:32
科學與信息化 2021年7期
關鍵詞:嵌入式

南京科瑞達電子裝備有限責任公司 江蘇 南京 211100

引言

隨著芯片制造工藝的持續進步和計算機技術的快速發展,嵌入式操作系統作為信息社會很重要的基礎支撐已被廣泛用于各類電子設備中,并發揮了極其重要的作用。嵌入式實時操作系統是一類特殊的嵌入式操作系統,它能夠在外界事件或數據產生時迅速反應,并以足夠快的速度處理事件,以保證系統能夠在確定的時間內對處理結果做出快速響應,同時控制所有實時任務協調一致運行。目前在工業控制、軍事設備、航空航天等對系統響應時間有嚴苛要求的領域中都有著非常廣泛的應用。

在一個中大型嵌入式軟件應用中,通常需要建立一個復雜的多任務環境,系統運行時通過任務間交換消息來實現某些特定的系統功能。在這些任務信息交互過程中,普遍存在一個任務往多個任務發送消息的場景,同時也存在某一個任務會接收來自多個其他任務發送過來的消息的場景。這些任務間數據通信交錯復雜,并且任務間通信的數據長度各不相同。因此需要研究一種高效的、實時的、通信數據可變長的,且無任何中轉機制的多任務間點對點的數據通信方法。

1 嵌入式實時操作系統SylixOS簡介

SylixOS操作系統是一種基于搶占式多任務硬實時操作系統,兼容IEEE1003(ISO/IEC9945)操作系統接口規范,兼容POSIX 1003.1b(ISO/IEC 9945-1)實時編程的標準,具有優秀的實時性能,能夠支持無限多任務,搶占式調度支持256個任務優先級,支持虛擬進程,支持優先級繼承及防止優先級反轉功能。同時支持二進制信號量、計數型信號量、互斥信號量、消息隊列等資源共享方式。由于兼容POSIX標準,同樣一個Linux下的符合POSIX標準的應用程序,無須任何修改可以在SylixOS下完美運行。另外,VxWorks也是一款符合POSIX標準的實時操作系統,因此,SylixOS可以使VxWorks開發者能夠很快地適應SylixOS的程序開發,并提供了VxWorks兼容接口。

SylixOS是一款大型嵌入式實時操作系統,經過多年開發,目前已經成為一個功能完善、性能卓越、可靠穩定的嵌入式系統軟件開發平臺,在設計思路上借鑒了眾多實時操作系統的設計思想,使得SylixOS在功能和具體性能上達到或超過了眾多實時操作系統的水平,成為國內實時操作系統的最優秀代表之一,目前在工業自動化、軍事、通信、民用等領域都有較為廣泛的應用[1]。

2 傳統多任務間通信方式存在的問題

SylixOS作為大型實時操作系統,支持的多任務間通信方式主要有以下幾種:共享內存、信號量和消息隊列。同時為了實現多任務對臨界資源的互斥訪問,SylixOS也提供了很多種方法,主要包括讀寫鎖、條件變量、自旋鎖、原子量及信號量等。

在一個大型的嵌入式軟件應用中,可能同時運行有十幾個甚至幾十個軟件任務,并且任務之間的消息交互非常頻繁,通信的數據長度較大。共享內存的方式需要開辟很大一個內存空間來存儲中間數據,同時需要對共享區域數據的讀寫操作做好互斥。一方面,雖然操作系統內核提供了讀寫鎖、信號量等機制可以在一定條件下解決共享資源的互斥訪問問題,但是在一些任務間通信較為復雜的多任務環境中,勢必會引起數據發送端的任務大量排隊等待的現象,從而降低了系統的運行效率。另一方面,消息隊列機制雖然可以通過異步消息傳送模型來避免由于信號量引起的排隊問題,但是當任務數較多時,需要的消息隊列個數將會非常多,而且消息隊列中單個消息的數據長度將會要求很大,勢必會造成大量的系統內存資源耗費。下面介紹的多任務間通信方法在克服這些問題方面有著一定的優勢。

3 基于SylixOS的多任務間數據通信設計

在SylixOS操作系統環境下,每一項系統功能的完成往往由多個任務或者多個任務與中斷服務程序共同完成。鑒于此,本文設計了一種新的任務間數據交互方式,采用的是點對點的消息機制,每個任務都有一個類似地址的代號(ID),發送的數據被封裝為一個消息,發送消息的任務(信源)指定接收消息任務(信宿)的代號后將消息發出,可以直接通過互斥信號量保護機制將數據壓入到信宿的環形隊列中,再計數信號量同步機制由消息接收任務進行數據處理。

第一步,由于任務間通信的消息長度和內容都是用戶自己定義,可以是數據、指令或指針等,因此,我們在創建每一個任務時,需要創建一個與之關聯的用于存儲消息的環形隊列,環形隊列緩沖區總大小由用戶根據實際任務交互的消息大小和數量來確定,環形隊列的結構如下圖 1所示。同時為保證任務間通信時的同步與互斥,需要分別創建一個與任務相關聯的二進制信號量與計數信號量[2]。

圖1 任務的環形隊列示意圖

每個任務的環形隊列和信號量的創建過程如下:

以上程序段在系統中創建并啟動Task1、Task2、Task3,Task1建立一個緩存大小為RNG_SIZE1的環形隊列,同時創建一個二進制信號量和一個計數信號量,名稱分別為“semB1”和“semC1”。Task2建立一個緩存大小為RNG_SIZE2的環形隊列,同時創建一個二進制信號量和一個計數信號量,名稱分別為“semB2”和“semC2”。Task3建立一個緩存大小為RNG_SIZE3的環形隊列,同時創建一個二進制信號量和一個計數信號量,名稱分別為“semB3”和“semC3”。

第二步,需要發送消息的任務將消息送入接收任務的消息環形隊列中。消息發送任務對需要發送的數據進行消息頭封裝,消息結構如下表 1所示。在發送數據時,根據接收方ID獲取接收任務ID,然后發送任務直接將數據消息壓入接收任務的環形隊列中,同時釋放同步信號量[3]。任務消息發送處理流程圖如下圖 2所示:

表1 任務間通信消息結構表

表2 消息控制字定義表

圖2 任務消息發送處理流程圖

第三步,消息接收任務獲取同步信號量之后首先讀取消息長度,然后根據消息長度讀取環形隊列緩沖區的消息內容進行相對應的處理[4]。任務消息接收處理流程圖如下圖3所示:

圖3 任務消息接收處理流程圖

4 實驗證明

在CSP2020雙核處理器上,創建一個基于SylixOS的軟件應用。按照上述任務間數據通信的方法,應用中分別創建并激活三個軟件任務,任務名分別為Task1、Task2、Task3。測試三個任務之間互相發送和接收不同數據長度(128字節、1K字節、4K字節)的消息(消息格式按照上述表1進行封裝),分別測試1000次,最后計算得到數據從發送到成功接收的最大時間、最小時間和平均時間[5]。測試結果如下所示:

5 結束語

上述基于SylixOS的多任務間數據通信方法,解決了大型復雜嵌入式系統中任務間一對多、多對一的數據通信問題,滿足其對于嵌入式實時操作系統中多任務間通信效率高、實時性強、通信數據可變長等要求,目前該方法已經在某型電子對抗裝備應用軟件中得到了成功的應用。

猜你喜歡
嵌入式
Focal&Naim同框發布1000系列嵌入式揚聲器及全新Uniti Atmos流媒體一體機
TS系列紅外傳感器在嵌入式控制系統中的應用
電子制作(2019年7期)2019-04-25 13:17:14
基于嵌入式Linux內核的自恢復設計
嵌入式系統通信技術的應用
電子制作(2018年18期)2018-11-14 01:48:16
嵌入式PLC的設計與研究
電子制作(2018年16期)2018-09-26 03:27:18
搭建基于Qt的嵌入式開發平臺
基于嵌入式系統Windows CE的應用程序開發
嵌入式單片機在電機控制系統中的應用探討
電子制作(2017年8期)2017-06-05 09:36:15
嵌入式軟PLC在電鍍生產流程控制系統中的應用
電鍍與環保(2016年3期)2017-01-20 08:15:32
Altera加入嵌入式視覺聯盟
主站蜘蛛池模板: 亚洲第一黄色网址| 久久一日本道色综合久久| 亚洲永久免费网站| 999国产精品永久免费视频精品久久| 国产91蝌蚪窝| 72种姿势欧美久久久久大黄蕉| 国产亚洲高清视频| 日本高清在线看免费观看| 久久婷婷色综合老司机| 免费国产高清精品一区在线| 久久这里只有精品免费| 四虎影视库国产精品一区| 国产日韩欧美在线播放| 456亚洲人成高清在线| 中文成人在线| 1769国产精品免费视频| 国产九九精品视频| 国产无吗一区二区三区在线欢| 最新国产网站| 亚洲成网站| 国产女人水多毛片18| 性色生活片在线观看| 亚洲毛片一级带毛片基地| 亚洲天堂成人在线观看| 欧美区一区| 99久久国产精品无码| 午夜高清国产拍精品| 99久久国产自偷自偷免费一区| 男人天堂亚洲天堂| 久久精品91麻豆| 久久久久免费精品国产| 沈阳少妇高潮在线| 国产在线视频欧美亚综合| 久久黄色视频影| 秋霞午夜国产精品成人片| 久久免费精品琪琪| 91毛片网| 成人午夜视频免费看欧美| 岛国精品一区免费视频在线观看| 成人韩免费网站| 精品久久久久无码| 综合色天天| 欧美不卡视频在线| 国产天天色| 精品乱码久久久久久久| 亚洲成人播放| 欧美一级在线播放| 久久综合干| 91国内在线观看| 老色鬼欧美精品| 72种姿势欧美久久久大黄蕉| 久久久久久国产精品mv| 欧美a级完整在线观看| 99中文字幕亚洲一区二区| 97色婷婷成人综合在线观看| 色欲不卡无码一区二区| 国产91丝袜在线播放动漫 | 国产JIZzJIzz视频全部免费| 99国产精品一区二区| 成人在线亚洲| 国产男女免费视频| 激情成人综合网| 麻豆精品国产自产在线| 最新国产成人剧情在线播放| 日韩免费中文字幕| av尤物免费在线观看| 国产一区二区人大臿蕉香蕉| 园内精品自拍视频在线播放| 日本日韩欧美| 国产丝袜无码精品| 国产午夜一级淫片| 狠狠色丁婷婷综合久久| 精品一区二区三区四区五区| 欧类av怡春院| 1769国产精品视频免费观看| 成人伊人色一区二区三区| 国产精品免费福利久久播放 | 国产永久免费视频m3u8| 日韩色图区| 亚洲综合香蕉| 伊人大杳蕉中文无码| 91精品网站|