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

一種應(yīng)用于分區(qū)操作系統(tǒng)的虛擬化SOCKET通信方法

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

周霆 郭芳超

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

關(guān)鍵詞:分區(qū)操作系統(tǒng);SOCKET通信;C/S服務(wù);網(wǎng)絡(luò)虛擬化

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

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

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

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

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

1 概述

典型的分區(qū)操作系統(tǒng)架構(gòu)包括多個應(yīng)用分區(qū)和服務(wù)分區(qū)。應(yīng)用分區(qū)向用戶提供時間、空間隔離的獨立應(yīng)用運行環(huán)境。應(yīng)用分區(qū)作為客戶端(CLIENT)可以向作為服務(wù)端(SERVER)的公共服務(wù)分區(qū)以C/S服務(wù)的形式申請組件/中間件/設(shè)備服務(wù)[ 3 ]。

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

另一方面,如果多應(yīng)用混合場景下多個應(yīng)用分區(qū)直接操縱同一網(wǎng)絡(luò)或I/O設(shè)備,對任務(wù)的執(zhí)行時間確定性和數(shù)據(jù)正確性都會產(chǎn)生不確定的影響。在硬件設(shè)備資源有限的情況下,虛擬化多分區(qū)的系統(tǒng)架構(gòu)勢必引起資源訪問和狀態(tài)控制的沖突。分區(qū)操作系統(tǒng)需要在軟件層面來解決多任務(wù)間的硬件資源沖突,實現(xiàn)任務(wù)級的資源隔離。

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

2 統(tǒng)一設(shè)備管理框架

首先,本文提出一種統(tǒng)一設(shè)備管理框架來用作軟件層面的設(shè)備虛擬化解決方案,以解決在多分區(qū)系統(tǒng)中包括網(wǎng)絡(luò)設(shè)備在內(nèi)的多種I/O設(shè)備所存在的共享沖突問題和設(shè)備的統(tǒng)一化管理問題。

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

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

在這種管理框架下,所有的設(shè)備驅(qū)動程序都位于內(nèi)核之外的用戶態(tài)空間,具有以下優(yōu)點:

1)大量的操作系統(tǒng)BUG都處于設(shè)備驅(qū)動程序中,將這些設(shè)備驅(qū)動程序從內(nèi)核中去除,將顯著提升內(nèi)核可靠性;

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

3 C/S模式的虛擬化SOCKET服務(wù)框架

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

3.1 SERVER端分區(qū)功能

a)一個負責處理外部網(wǎng)絡(luò)與CLIENT端SOCKET命令雙向動作的設(shè)備監(jiān)聽與響應(yīng)任務(wù)A,此任務(wù)循環(huán)等待并依次處理物理網(wǎng)卡的數(shù)據(jù)收發(fā)和任務(wù)B轉(zhuǎn)發(fā)而來的CLIENT端請求,并向CLIENT端進行必要的回復(fù);

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

3.2 CLIENT端分區(qū)功能

一組用IPC通信重新實現(xiàn)的虛擬化SOCKET接口庫,在下文描述中使用v_XX來指代虛擬化的SOCKET接口,v_XX接口調(diào)用都通過IPC操作將相應(yīng)的服務(wù)命令發(fā)送給SERVER端的任務(wù)B。

3.3 IPC通信功能配置

a)CLIENT端分區(qū)的應(yīng)用程序任務(wù)Y需要使用IPC_SEND向SERVER端的任務(wù)B發(fā)送SOCKET服務(wù)請求,使用IPC_RECV向SERVER端的任務(wù)A請求服務(wù)回復(fù)。

b)SERVER端分區(qū)的任務(wù)A使用IPC_SEND向CLIENT端應(yīng)用程序任務(wù)Y發(fā)送服務(wù)回復(fù)。

4 虛擬化SOCKET的工作原理

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

a)分區(qū)操作系統(tǒng)啟動以后,SERVER分區(qū)的任務(wù)A進入處理循環(huán),等待依次處理網(wǎng)卡事件和任務(wù)B轉(zhuǎn)發(fā)而來的CLIENT端命令,任務(wù)B等待接收CLIENT端發(fā)來的IPC消息(包含套接字命令和相關(guān)信息);

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

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

d)CLIENT端任務(wù)Y通過套接字進行網(wǎng)絡(luò)收據(jù)收/發(fā),所有收發(fā)命令都與步驟b)和c)一樣轉(zhuǎn)發(fā)給任務(wù)A執(zhí)行,并在接收到任務(wù)A的回復(fù)后完成一次SOCKET通信動作。

5 數(shù)據(jù)包和服務(wù)命令的通信配置

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

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

6 結(jié)語

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

參考文獻:

[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] 郝繼鋒,任曉瑞,胡寧.一種基于微核架構(gòu)的虛擬化設(shè)備高效訪問模型.電子技術(shù),2013 42(7):4-6.

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

作者簡介:

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

主站蜘蛛池模板: 麻豆国产在线不卡一区二区| 国产精品亚洲va在线观看| 久久99热这里只有精品免费看 | 国内a级毛片| 二级特黄绝大片免费视频大片| 青青青视频蜜桃一区二区| 美女国内精品自产拍在线播放| 六月婷婷综合| 国产成+人+综合+亚洲欧美| 波多野结衣一区二区三区四区| 国产一在线| 久青草国产高清在线视频| 久久久久久尹人网香蕉| 国产18在线播放| 一级毛片在线播放| 亚洲AV无码久久精品色欲| 久久婷婷综合色一区二区| 天天综合色天天综合网| 亚洲成a∧人片在线观看无码| 全部免费特黄特色大片视频| 国产激情无码一区二区APP| 国产手机在线观看| 看你懂的巨臀中文字幕一区二区| 国产成人无码Av在线播放无广告| 日本不卡在线视频| 青草91视频免费观看| 亚洲欧美日韩成人在线| 久久综合成人| 国产精品hd在线播放| 91毛片网| 噜噜噜综合亚洲| 国产情精品嫩草影院88av| 第一页亚洲| 精品久久久久无码| 亚洲精品视频网| 亚洲系列中文字幕一区二区| 国产精品午夜福利麻豆| 亚洲熟女中文字幕男人总站| 国产h视频免费观看| 日本亚洲欧美在线| 国产一区在线视频观看| 麻豆国产精品| 国产91精品调教在线播放| 黄色网站不卡无码| 四虎免费视频网站| 久久男人资源站| 99中文字幕亚洲一区二区| 欧美一区精品| 国产鲁鲁视频在线观看| 日本黄色a视频| 亚洲一区二区无码视频| 欧美精品在线观看视频| 久久久久久尹人网香蕉| 久久综合婷婷| 亚洲人成网18禁| 国产原创自拍不卡第一页| 97影院午夜在线观看视频| 日韩东京热无码人妻| 18禁不卡免费网站| 婷婷色一区二区三区| 亚洲国产精品不卡在线| 日韩久草视频| 小说 亚洲 无码 精品| 国产精品无码AV中文| 91色国产在线| 成人福利在线视频| 色综合婷婷| 亚洲精品亚洲人成在线| 茄子视频毛片免费观看| 国产国产人免费视频成18 | 特级精品毛片免费观看| 亚洲天堂伊人| 少妇被粗大的猛烈进出免费视频| 亚洲AV免费一区二区三区| 国内99精品激情视频精品| 欧美精品亚洲精品日韩专区va| 999国产精品永久免费视频精品久久| 国产成人综合在线观看| 中文字幕在线永久在线视频2020| 国产黄色爱视频| 无码区日韩专区免费系列 | 青草娱乐极品免费视频|