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加入嵌入式視覺聯盟
主站蜘蛛池模板: 在线国产毛片| 日韩在线播放中文字幕| AV不卡在线永久免费观看| 精品国产成人三级在线观看| 欧美国产精品不卡在线观看| 小说 亚洲 无码 精品| 免费高清毛片| 国产精品女主播| 91丝袜乱伦| 91亚洲精品第一| 中文字幕无码制服中字| 亚洲欧洲天堂色AV| 成人在线综合| 国产靠逼视频| 国内精品九九久久久精品| 国产成人欧美| 国产精品女熟高潮视频| 在线va视频| 欧美不卡二区| 久久精品中文字幕少妇| 一本久道久综合久久鬼色| 欧类av怡春院| 欧美一级黄片一区2区| 一级毛片免费播放视频| 国产成人综合网| 国产97公开成人免费视频| 尤物成AV人片在线观看| 老司机午夜精品网站在线观看| 免费国产高清视频| 色综合成人| 视频在线观看一区二区| 国产91高跟丝袜| 欧美综合激情| 中文字幕亚洲乱码熟女1区2区| 国产丝袜丝视频在线观看| 成人在线观看一区| 亚洲美女操| 久久人午夜亚洲精品无码区| 国产一区成人| 制服丝袜亚洲| 欧美日韩在线成人| 成年女人a毛片免费视频| 欧美视频二区| 国产区91| 亚洲第一黄片大全| 婷婷六月色| 精品国产三级在线观看| 成人国产精品网站在线看| 在线欧美a| h网址在线观看| 国产在线自乱拍播放| 国产天天色| 色综合激情网| 国产真实二区一区在线亚洲| 久久99热这里只有精品免费看| 五月天婷婷网亚洲综合在线| 99久久99这里只有免费的精品| 国产区福利小视频在线观看尤物| 白浆视频在线观看| 亚洲欧洲日韩国产综合在线二区| 精品色综合| 色一情一乱一伦一区二区三区小说| 91精品国产自产在线老师啪l| 国产一二三区在线| 久久久久久尹人网香蕉| 在线观看精品自拍视频| 亚洲永久色| 欧美日韩一区二区在线播放| 日韩欧美国产另类| 亚洲综合狠狠| 欧美高清三区| 亚洲bt欧美bt精品| 狠狠久久综合伊人不卡| 国产精品久久自在自线观看| 国产97视频在线观看| 在线欧美国产| 国产精品.com| 日韩午夜福利在线观看| 亚洲中文字幕手机在线第一页| 91年精品国产福利线观看久久| 国产中文一区a级毛片视频| 久久综合AV免费观看|