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

Vxworks下主控并行處理分析*

2013-10-16 08:06:08朱輝慶
艦船電子工程 2013年2期
關鍵詞:系統

朱輝慶

(海軍駐杭州地區軍事代表室 杭州 310012)

1 并行處理特點

并行[1]是一種自然現象。在現實世界中,任何時候都會有許多事件同時發生。當設計軟件以監測和控制現實世界中的系統時,就必須處理這種自然的并行。此外并行處理可提高處理速度、提高系統的可控性。但當處理軟件系統中的并行問題時,常常有兩個非常重要的方面:能夠檢測并響應以任意順序出現的外部事件;確保在要求的最短時間內作出響應。

如果各個并行活動獨立進行(即以完全平行的方式進行),問題就相對簡單:只需建立單獨的程序來處理每項活動。設計并行系統之所以困難,主要是由并行活動之間的交互造成的。當并行活動進行交互時,共享資源需要加以控制和協調。

公路交通系統可作為一種形象的類比。不同道路上的平行車流基本上不會相互影響,所以很少產生問題。相鄰車道上的平行車流為了交互時的安全,需要作一些協調。而在十字路口則會發生非常劇烈的交互,在這里需要進行周密的協調。因此,許多實時軟件系統都必須“反應靈敏”,而且可能在任意時間以任意順序產生、執行。

圖1 公路交通系統

但并行軟件它有許多困難,大多數計算機和編程語言從發明之日起就屬于順序設計。一個過程或處理器在某一時刻只執行一條指令。而很多中小系統只有一個處理器,在單個順序處理器中,必須通過交替執行不同任務來造成并行的假象。困難并不在其技術細節上,而在于決定何時和如何交替執行可能交互的程序段。

對于多個處理器,并行雖然很容易實現,但是交互情況卻變得更加復雜。首先,運行于不同處理器上的各項任務之間的通信就存在問題。由于通常要涉及到軟件的若干層次,因而會增加復雜性和定時開支。由于時鐘和定時有可能不同,而各構件又可能會分別發生故障,所以多CPU系統的確定性也會有所降低。

要支持并行,系統必須提供多個控制線程。控制線程的抽象可由軟件和硬件通過多種方式來實施。最常用的機制為以下某種機制的變形即多處理、多任務、基于應用程序的解決方案。當操作系統提供多任務時,常見的并行單元為進程。各進程可能有三種狀態:1)阻塞―等待接收某一輸入或獲得某一資源的控制權;2)就緒― 等待操作系統安排它執行;3)運行―實際使用CPU。

此外,通常會給進程分配相對的優先級。操作系統內核根據進程的狀態、優先級以及某種調度策略來確定在任一給定時刻應當運行哪一個進程。實際上,多任務操作系統在其所有進程中共享一個控制線程,爭用共享資源。

2 Vxworks下多任務共享數據并行控制與緩存

Vxworks[2~8]是一個運行在目標機上的高性能、可裁減的嵌入式實時操作系統,Vxworks實時內核—Wind提供了基本的多任務環境[9~10,13]。

多任務在單個處理器上構造出多線程并發執行的假象,實際上,系統內核是根據某個調度算法交替執行的。每個任務擁有各自的上下文,即擁有各自的CPU環境和系統資源,并保存在任務控制塊(TCB)中。

任務的上下文包括:

·任務的執行點(任務的程序計數器);

·CPU中的寄存器和浮點寄存器;

·動態變量和函數調用所需的堆棧;

·I/O操作分配的標準輸入、輸出和標準錯誤輸出操作;

·一個延時定時器;

·一個時間片定時器;

·內核控制結構;

·信號句柄;

·用于調試和性能監視的值。

與其他操作系統一樣,任務執行是首先必須建立任務,激活任務。在Wind內核中,默認算法是基于優先級的搶占式調度算法,但在優先級相同情況下,可使用輪轉調度算法,任務間一般用訪問共享數據結構、消息隊列等,在Vxworks中信號量被高度優化,并提供了最快的任務間通信機制。信號量是互斥和同步的最主要手段。在Vxworks實時處理系統中各任務間互斥和同步是至關重要的,以一個發射機發射與綜合處理機狀態查詢兩個任務為例進行說明。

具體工作過程為發射機接收綜合處理機發射命令,發射一定時間信號,同時另一個任務綜合處理機以一定周期進行狀態查詢,如兩個任務工作正常時時序見圖2。

圖2 工作時序圖

但由于綜合處理機控制軟件不一定同步,有可能使“狀態查詢命令”的實時發射時間落在“禁止綜合處理機發送命令”期間,則造成的結果是綜合處理機控制已向接口(綜合處理機內一個接口管理CPU)發送了“狀態查詢命令”,但接口控制模塊由于發射機的禁止發送而將命令丟棄,從而使發了“狀態查詢命令”,但收不到發射機的“狀態信息”并處于等待狀態,一旦超過設定時間限制,綜合處理機會判發射機故障,造成虛報。為此若增加一個同步、互斥量就可避免此現象,即在定時查詢時在一個周期內將發射啟動至發射結束這一期間提出,并在兩個任務之間加一個握手,在發射任務內設置一個信息表示正在發射,排斥其他任務查詢發射狀態,等到該信息量清空時,其他時間內仍可定期查詢,當然,除此方法外,還有其他辦法,在此舉例只是為了說明Vxworks下同步與互斥的重要性。

在Vxworks中實時大流量命令控制及處理任務并行,尤其是許多設備響應時間不一時,共享數據的棧緩存的控制也很重要,以綜合處理機的命令接收、命令處理兩個并發任務為例進行說明。其中:

·命令接收任務完成操控臺不斷發來的命令,并緩存進棧;

·命令處理任務完成從共享棧中取出命令,并進行命令分類、響應;

·狀態查詢任務完成中央控制件對外各設備狀態查詢。

設棧長度為64,則綜合處理機用接收任務接收命令并將IP指針加1,命令處理任務讀走一條命令響應,IP減1,但由于兩個任務公用一個棧,而且任務間處理速度相差較大,棧的管理算法很有講究,對棧的操作同樣有一個同步與互斥問題,在實際實時系統中往往由于同步與互斥沒處理好,使得命令處理任務讀出了無效命令即部分命令參數被命令接收任務所修改,在對棧空與滿處理上也很容易發生誤判,導致實時系統工作效率低,易造成接口間死機。

此外,在Vxworks下許多實時信號處理系統中處理機一般都通過VME總線對多塊DSP板共享內存進行訪問,如圖3所示。

圖3 DSP與主控數據交換示意圖

如果RAM中數據格式示意如圖4:

圖4 RAM中數據格式示意圖

從圖4中可以發現,處理機的主控與DSP板之間的數據交換最好采用軟握手同步方式,由于主控是一個多任務系統,DSP板也是多CPU的處理,工作流程正常情況下按常規DSP寫數,主控然后去讀數一般是不會有問題,這可以通過信號處理算法及硬件速度進行設定,但當主控流程或DSP處理流程受其他接口、任務干擾后,DSP與主控之間的數據交換時序易“錯位”,從而使主控讀不到傳送數據有效標志,也就不會去讀RAM上畫面顯示數據,如果在DSP和主控之間增加一個軟握手信號,即DSP在數據寫入時增加判斷主控標志是否為0,為0則可寫入,為1時就進行等待,主控讀出時判斷DSP標志是否為0,0時表示數據可從RAM讀出。

3 結語

Vxworks是目前較流行的一種嵌入式操作系統,在此環境下進行多任務系統開發,不但有一般多任務系統的共性,還有其特殊性,本文用工作中實際例子加以說明任務間同步和共享管理,起一個拋磚引玉作用。

[1]陳國良.并行計算結構、算法、編程[M].北京:高等教育出版社,1999.

[2]李方敏.Vxworks高級程序設計[M].北京:清華大學出版社,2004.

[3]羅國慶.Vxworks與嵌入式軟件開發[M].北京:機械工業出版社,2003.

[4]陳育智,溫彥軍,陳琪.Vxworks程序開發實踐[M].北京:人民郵電出版社,2004.

[5]李方敏.Vxworks高級程序設計[M].北京:清華大學出版社,2004.

[6]周啟平,張揚.Vxworks程序員速查手冊[M].北京:機械工業出版社,2005.

[7]WindRiver.Vxworks Kernel Programmer’s Guide.6.8.USA:WindRiver Systems,Inc,2009.

[8]WindRiver.Vxworks Application Programmer’s Guide.6.8.USA:WindRiver Systems,Inc,2009.

[9]WindRiver.Vxworks WorkBench User’s Guide.3.2.USA:WindRiver Systems,Inc,2009.

[10]WindRiver.Vxworks WorkBench Host Shell User’s Guide.3.2.USA:WindRiver Systems,Inc.2009.

[11]唐力強,王行祥.嵌入式VxWorks系統下的CPCI設備驅動程序開發[J].計算機與數字工程,2011,39(1).

[12]胡俊.基于VxWorks操作系統的WindML圖形操控界面實現方法[J].計算機與數字工程,2011,39(11).

[13]孔祥營,柏桂枝.嵌入式實時操作系統Vxworks及其開發環境Tornado[M].北京:中國電力出版社,2002.

猜你喜歡
系統
Smartflower POP 一體式光伏系統
工業設計(2022年8期)2022-09-09 07:43:20
WJ-700無人機系統
ZC系列無人機遙感系統
北京測繪(2020年12期)2020-12-29 01:33:58
基于PowerPC+FPGA顯示系統
基于UG的發射箱自動化虛擬裝配系統開發
半沸制皂系統(下)
FAO系統特有功能分析及互聯互通探討
連通與提升系統的最后一塊拼圖 Audiolab 傲立 M-DAC mini
一德系統 德行天下
PLC在多段調速系統中的應用
主站蜘蛛池模板: AV不卡在线永久免费观看| 亚洲床戏一区| a在线亚洲男人的天堂试看| 久久青草免费91观看| 亚洲欧美日韩中文字幕在线| 午夜激情福利视频| 国产麻豆福利av在线播放| 亚洲精品777| 欧美中文字幕在线二区| 香蕉视频国产精品人| 男女男免费视频网站国产| 日本a级免费| 91精品啪在线观看国产| 精品人妻系列无码专区久久| 亚洲福利网址| 在线观看国产网址你懂的| 又黄又湿又爽的视频| 国产亚洲男人的天堂在线观看| 99福利视频导航| 亚洲视频无码| 午夜老司机永久免费看片| 亚洲无码高清免费视频亚洲| 91精品亚洲| 成人午夜亚洲影视在线观看| 一边摸一边做爽的视频17国产| 99久久精品免费观看国产| 亚洲人视频在线观看| 久久人搡人人玩人妻精品| 成人福利在线免费观看| 97久久精品人人做人人爽| 亚洲中文制服丝袜欧美精品| 一级一级一片免费| 久久久久无码精品国产免费| 狠狠色丁香婷婷| 自慰网址在线观看| 五月天久久综合| 欧美www在线观看| 亚洲一级毛片免费看| 国产在线视频自拍| 亚洲伊人电影| 欧美成人午夜在线全部免费| 亚洲欧州色色免费AV| 国产精品视频猛进猛出| 欧美成人免费午夜全| 免费毛片全部不收费的| 她的性爱视频| 九九热精品视频在线| 久久久久国产精品熟女影院| 91亚洲精品第一| 日韩欧美中文字幕一本| 欧美成人免费一区在线播放| 素人激情视频福利| 国产一级小视频| 91在线无码精品秘九色APP| 午夜福利在线观看成人| 国产成+人+综合+亚洲欧美| 91福利国产成人精品导航| 成人毛片在线播放| 日韩不卡高清视频| 日本五区在线不卡精品| 欧美h在线观看| 免费无码又爽又刺激高| 91精品国产自产91精品资源| 国产乱人伦精品一区二区| 国产清纯在线一区二区WWW| 亚洲天堂啪啪| 精品亚洲欧美中文字幕在线看| 欧美另类视频一区二区三区| 久久a毛片| 国产成人精品日本亚洲77美色| 亚洲国产一成久久精品国产成人综合| 国产小视频网站| 伊人久久精品亚洲午夜| 久久9966精品国产免费| a毛片在线| 少妇精品网站| 伊人激情综合| 欧美三级视频网站| 精品国产三级在线观看| 亚洲精品在线观看91| 本亚洲精品网站| 婷婷综合色|