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

一種應用于分區操作系統的虛擬化SOCKET通信方法

2017-10-21 20:54:49周霆郭芳超
科技風 2017年8期

周霆 郭芳超

摘 要:綜合化航空電子系統進一步提升綜合化水平以后,大量應用通過分區操作系統提供的分區執行環境共存于同一硬件處理平臺,可能出現有限的TCP/IP網絡硬件難以滿足多個分區并行網絡通信的問題,因此本文提出一種基于C/S服務的SOCKET通信虛擬化機制。該方法通過建立SERVER端分區來提供網絡服務,并在充當CLIENT端的普通應用分區向用戶提供透明的SOCKET樁接口,同時利用操作系統的IPC通信機制實現SERVER端和CLIENT端的服務通信,從而實現在SOCKET層的網絡虛擬化,解決多個分區在物理網絡設備有限的情況下并行使用SOCKET進行網絡通信的問題,實現了一定程度的虛擬化網絡共享服務。

關鍵詞:分區操作系統;SOCKET通信;C/S服務;網絡虛擬化

中圖分類號:TP311 文獻標識碼:A

隨著航空電子技術的發展,在一個物理處理平臺上將集成越來越多,甚至來自于多個機載子系統的軟件任務[ 1 ],綜合化模塊化航空電子系統(Integrated Modular Avionics,簡稱IMA)進一步提升綜合的水平成為必然發展趨勢。未來綜合范圍將從航電向機電、飛控進一步擴展,實現跨系統大綜合,越來越多的應用系統將集成在同一個操作系統平臺之上。

為了解決綜合化帶來的故障隔離和確定性問題,現有的高安全機載操作系統都采用了分區機制,提供分區間隔離與分區間通信能力,但對于高度綜合化以后引發的I/O資源不足和沖突的問題卻沒有充分考慮[ 2 ]。

本文提出一種虛擬化SOCKET通信方法,解決分區操作系統多個分區共享網絡設備的情況下使用SOCKET機制和接口進行網絡通信的問題。隨著航空電子技術的發展,在一個物理處理平臺上將集成越來越多,甚至來自于多個機載子系統的軟件任務,綜合化模塊化航空電子系統(Integrated Modular Avionics,簡稱IMA)進一步提升綜合的水平成為必然發展趨勢。

目前,越來越多的IMA應用都駐留于分區操作系統提供的分區應用運行環境中,由于應用系統的復雜性,多個分區的任務很可能需要進行通信或者數據交互。常見的如IPC、共享內存等數據通信方式存在一些不足,IPC通信效率不高,需要多次數據拷貝且通信數據量受限,普通的共享內存則會出現數據安全問題。基于上述原因,需要進一步研究分區操作系統的分區間通信機制的實現,在保證通信效率的同時,提升通信數據的safety和security安全防護能力。

1 概述

典型的分區操作系統架構包括多個應用分區和服務分區。應用分區向用戶提供時間、空間隔離的獨立應用運行環境。應用分區作為客戶端(CLIENT)可以向作為服務端(SERVER)的公共服務分區以C/S服務的形式申請組件/中間件/設備服務[ 3 ]。

在這種架構下,一方面,由于在同一平臺上的應用任務數量的增多,導致更多的分區產了通信需求。以TCP/IP網絡為例,目前主流的機載綜合處理硬件平臺如PowerPC 75x和86xx系列,都僅提供最多2路物理網卡,面對大量同平臺應用可能出現的網絡通信需求,顯然是不夠用的,如果不支持設備共享,將無法解決網絡和I/O設備不夠用的問題。

另一方面,如果多應用混合場景下多個應用分區直接操縱同一網絡或I/O設備,對任務的執行時間確定性和數據正確性都會產生不確定的影響。在硬件設備資源有限的情況下,虛擬化多分區的系統架構勢必引起資源訪問和狀態控制的沖突。分區操作系統需要在軟件層面來解決多任務間的硬件資源沖突,實現任務級的資源隔離。

使用SOCKET(套接字)的機制和接口進行任務間網絡通信已經成為目前主流的網絡編程開發方式。由于分區空間的隔離性,目前分區操作系統的SOCKET應用都建立在本地駐留TCP/IP協議棧和物理網卡的基礎之上。基于上述可能出現的網絡資源不足和訪問沖突問題,本文給出一種基于C/S服務的SOCKET虛擬化機制,以解決在分區操作系統中多個分區共享網絡設備時使用SOCKET并行進行網絡通信的引發的網絡網卡不足和訪問沖突問題。

2 統一設備管理框架

首先,本文提出一種統一設備管理框架來用作軟件層面的設備虛擬化解決方案,以解決在多分區系統中包括網絡設備在內的多種I/O設備所存在的共享沖突問題和設備的統一化管理問題。

本文擬搭建的設備管理框架如圖1所示。所有分區通過I/O管理模塊統一管理包括獨占設備和共享設備在內的兩類分區設備。對于獨占設備,其地址空間映射在所有者的分區地址空間內,分區應用程序直接使用本分區的原始設備驅動對設備進行訪問;對于共享設備,其地址空間位于設備服務分區內,共享設備采用客戶(CLIENT)/服務器(SERVER)模式完成共享設備訪問。其中,設備服務分區作為SERVER端,包含真實設備驅動程序和協議棧接口。

客戶端分區的樁驅動通過IPC通信向服務端分區發送設備訪問請求,服務端分區包含專門的設備服務器,調用真實的設備驅動或協議棧完成設備訪問動作。SERVER端服務器將使用帶截止期的事務鏈等機制來將混合任務可能發起的并行化I/O操作轉化為時間確定的串行化事務。

在這種管理框架下,所有的設備驅動程序都位于內核之外的用戶態空間,具有以下優點:

1)大量的操作系統BUG都處于設備驅動程序中,將這些設備驅動程序從內核中去除,將顯著提升內核可靠性;

2)把設備驅動程序置于內核之外可以大幅降低內核的代碼規模,獲取更小的內核尺寸,從而能夠滿足目前的形式化驗證方法對內核代碼規模的約束。

3 C/S模式的虛擬化SOCKET服務框架

根據C/S服務的一般原理,完整的虛擬化SOCKET的C/S模式框架包括客戶端配置、服務器端配置,以及客戶端和服務器端的通信配置。一個配置物理網卡和完整TCP/IP協議棧的網絡服務分區充當Sever端,提供SOCKET通信服務;其他需要以共享方式使用SOCKET的分區(CLIENT端)在本地使用虛擬化的SOCKET接口,向SERVER端發送服務請求;SERVER端和CLIENT端使用IPC通信進行命令轉發,使用共享內存進行數據轉發[ 4 ]。

3.1 SERVER端分區功能

a)一個負責處理外部網絡與CLIENT端SOCKET命令雙向動作的設備監聽與響應任務A,此任務循環等待并依次處理物理網卡的數據收發和任務B轉發而來的CLIENT端請求,并向CLIENT端進行必要的回復;

b)一個專門接收CLIENT端SOCKET命令(以IPC消息的形式存在)的處理任務B,此任務在接收到CLIENT端命令后,激活任務A進行相應處理。

3.2 CLIENT端分區功能

一組用IPC通信重新實現的虛擬化SOCKET接口庫,在下文描述中使用v_XX來指代虛擬化的SOCKET接口,v_XX接口調用都通過IPC操作將相應的服務命令發送給SERVER端的任務B。

3.3 IPC通信功能配置

a)CLIENT端分區的應用程序任務Y需要使用IPC_SEND向SERVER端的任務B發送SOCKET服務請求,使用IPC_RECV向SERVER端的任務A請求服務回復。

b)SERVER端分區的任務A使用IPC_SEND向CLIENT端應用程序任務Y發送服務回復。

4 虛擬化SOCKET的工作原理

如圖2所示,是一套完整的虛擬化SOCKET工作流程,CLIENT端分區_1通過虛擬化SOCKET接口,借助IPC通信機制與SERVER端分區交互,SERVER端分區利用協議棧和網卡驅動,通過物理網卡與系統外部進行網絡交互。

a)分區操作系統啟動以后,SERVER分區的任務A進入處理循環,等待依次處理網卡事件和任務B轉發而來的CLIENT端命令,任務B等待接收CLIENT端發來的IPC消息(包含套接字命令和相關信息);

b)CLIENT端任務Y開始建立套接字準備進行網絡通信,首先調用v_socket、v_bind等接口建立SOCKET設備和連接(如果是TCP通信,則調用v_listen或v_connect來監聽或建立連接,如果應用程序是服務端,則在監聽到請求之后調用v_accept接收請求。UDP通信可以不用建立連接),通過IPC_SEND向SERVER端的任務發送套接字命令請求(此時可使用v_read/v_write、v_recv/v_send等套接字讀寫接口進行網絡通信),并調用IPC_RECV等待從任務A返回執行結果。

c)SERVER分區的任務B接受到CLIENT端的v_socket、v_bind等服務請求后激活任務A進行SOCKET設備的創建和連接建立操作,并進行額外的共享內存建立工作,以便于后續與CLIENT分區進行網絡數據的讀/寫轉發,隨后將套接字句柄和網絡地址等信息通過IPC_SEND回復給任務Y,此時SOCKET通信準備就緒。

d)CLIENT端任務Y通過套接字進行網絡收據收/發,所有收發命令都與步驟b)和c)一樣轉發給任務A執行,并在接收到任務A的回復后完成一次SOCKET通信動作。

5 數據包和服務命令的通信配置

虛擬化SOCKET通信機制包含大量的服務端和客戶端之間的通信,大量的通信交互行為成為制約虛擬化SOCKET性能的瓶頸所在。梳理上述的SOCKET通信流程,可以看出大部分的交互消息屬于服務命令,而不是大數據量的網絡數據包,因此需要著重提升服務命令的通信性能。因此,為了提升服務性能,本方法對分區之間的數據交互采取了特異化處理。對服務命令采用短IPC通信的方式,對大數據量的數據包采用共享內存的方式。

短IPC利用系統調用上下文保存和恢復的過程完成消息在用戶態和操作系統內核之間的傳遞,在內核只需要1次拷貝就可以完成數據傳遞。同時,IPC機制是一種任務間的同步通信方式,適用于C/S模式要求的任務間的同步阻塞工作機制。

6 結語

本文深入研究了機載嵌入式分區操作系統在綜合化程度提升以后出現的設備共享和互斥保護問題,給出了解決多分區網絡共享,基于C/S服務的虛擬化SOCKET通信方法,解決了SOCKET層的網絡共享問題。通過在某分區實時操作系統中的實現,證實文中涉及的設計和實現方法是高效可行的。在今后的工作中,我們將進一步進行策略和機制的抽象,研究能夠覆蓋多種設備的,統一的分區操作系統設備共享方案。

參考文獻:

[1] Gernot Heiser,Chief Technology.Virtualization for Embedded Systems,OK 40036:2007.

[2] Asif Iqbal,Nayeema Sadeque,Rafika Ida Mutia.An Overview of Microkernel,Hypervisor and Microvisor Virtualization Approaches for Embedded Systems,Sweden.

[3] 郝繼鋒,任曉瑞,胡寧.一種基于微核架構的虛擬化設備高效訪問模型.電子技術,2013 42(7):4-6.

[4] VxWorks中任務恢復機制的設計與實現[J].空軍工程大學學報(自然科學版),2013,14(5):3-4.

作者簡介:

周霆(1984-),男,陜西洋縣人,主要從事嵌入式實時操作系統方向的研究。

主站蜘蛛池模板: 天天爽免费视频| 中文字幕色站| 狠狠五月天中文字幕| 又粗又大又爽又紧免费视频| 亚洲中文字幕国产av| 色婷婷啪啪| 激情在线网| 一本色道久久88综合日韩精品| 亚洲色图欧美一区| 最新国产精品第1页| 天天躁狠狠躁| 欧美亚洲国产一区| 国产精品永久在线| 国产一区二区三区在线无码| 日韩国产综合精选| 亚洲系列中文字幕一区二区| 欧美曰批视频免费播放免费| 亚洲成a人在线观看| 亚洲精品制服丝袜二区| 视频二区国产精品职场同事| 重口调教一区二区视频| 国产成人1024精品| 国产剧情一区二区| 青青青视频免费一区二区| 国产精品成人AⅤ在线一二三四| 国产中文一区二区苍井空| 奇米影视狠狠精品7777| 日韩二区三区无| 孕妇高潮太爽了在线观看免费| 精品福利视频导航| 播五月综合| 麻豆精品在线播放| 国产18页| 亚洲永久色| 久久精品女人天堂aaa| 欧美日韩免费| 欧美三级自拍| 日本精品影院| 国产成人高清精品免费| 中文字幕 91| 伊人色综合久久天天| 中文字幕亚洲无线码一区女同| 天天做天天爱天天爽综合区| 波多野结衣中文字幕一区二区| 伊人久久大线影院首页| 免费无码AV片在线观看中文| 国产迷奸在线看| 欧洲亚洲一区| 国产欧美日韩另类精彩视频| 精品国产欧美精品v| 精品一区二区三区视频免费观看| 亚洲第一视频网| 国产另类乱子伦精品免费女| 亚洲综合香蕉| 欧美中文一区| 天天摸夜夜操| 91国内在线观看| 天堂av综合网| 女人18一级毛片免费观看| 国产成人精品18| 亚洲精品无码AⅤ片青青在线观看| 都市激情亚洲综合久久| 精品少妇人妻一区二区| 无码丝袜人妻| 白浆视频在线观看| 亚洲欧美人成电影在线观看 | www.亚洲天堂| 久久亚洲天堂| a欧美在线| 91亚洲免费视频| 国产18在线播放| 成人国产精品一级毛片天堂| 精品一区二区无码av| 亚洲日本韩在线观看| 国产九九精品视频| 色婷婷亚洲十月十月色天| 成人在线不卡视频| 午夜日韩久久影院| 国产成人综合亚洲欧美在| 日韩无码黄色网站| 日韩中文字幕免费在线观看| 热久久这里是精品6免费观看|