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

分區(qū)操作系統(tǒng)虛擬化中斷處理方法研究

2017-05-30 16:22:29周霆李運喜
科技風(fēng) 2017年9期

周霆 李運喜

摘 要:綜合化航空電子系統(tǒng)進一步提升綜合化水平以后,大量新開發(fā)與遺產(chǎn)應(yīng)用希望通過分區(qū)操作系統(tǒng)提供的多個分區(qū)執(zhí)行環(huán)境集成于同一硬件處理平臺,對分區(qū)操作系統(tǒng)提出了支持客戶OS以繼承遺產(chǎn)代碼的需求,因而分區(qū)操作系統(tǒng)需要為包括裸應(yīng)用分區(qū)和客戶OS分區(qū)在內(nèi)的分區(qū)運行環(huán)境提供中斷/中斷等硬件機制的虛擬化。本文提供一種分區(qū)操作系統(tǒng)的統(tǒng)一中斷處理方法,解決分區(qū)操作系統(tǒng)以虛擬化方式運行客戶OS時需要進行用戶級中斷處理的問題,解決目前分區(qū)操作系統(tǒng)內(nèi)核直接調(diào)用用戶掛鉤的處理方式所存在的不足。

關(guān)鍵詞:分區(qū)操作系統(tǒng);客戶OS;虛擬化中斷處理

中圖分類號:TP311 文獻標(biāo)識碼:A

隨著航空電子技術(shù)的發(fā)展,在一個物理處理平臺上將集成越來越多,甚至來自于多個機載子系統(tǒng)的軟件任務(wù),綜合化模塊化航空電子系統(tǒng)(Integrated Modular Avionics,簡稱IMA)進一步提升綜合化的水平成為必然發(fā)展趨勢。目前先進的IMA系統(tǒng)都采用了支持虛擬化客戶OS的分區(qū)操作系統(tǒng)進行不同程度的應(yīng)用集成[ 1 ],如何在虛擬化分區(qū)執(zhí)行環(huán)境中保持客戶OS本身的功能和性能,成為必須關(guān)注的問題[ 2 ]。在分區(qū)操作系統(tǒng)的分區(qū)中搭載客戶OS,可以使分區(qū)操作系統(tǒng)具備良好的遺產(chǎn)代碼繼承能力和靈活的綜合化集成能力,已經(jīng)成為目前主流分區(qū)操作系統(tǒng)的重要特征。對于可同時配置裸應(yīng)用分區(qū)和客戶OS分區(qū)的分區(qū)操作系統(tǒng)來說,需要提供一套同時支持這兩類分區(qū)進行用戶態(tài)中斷處理的虛擬化中斷處理方法,將物理中斷虛擬化后向分區(qū)投遞,使客戶OS有機會接管所關(guān)心的中斷,并透明的調(diào)用自身的用戶級中斷處理程序進行處理。

1 概述

典型的分區(qū)操作系統(tǒng)架構(gòu)[ 3 ]包括多個裸應(yīng)用分區(qū)和客戶OS分區(qū)。分區(qū)向用戶提供時間、空間隔離的獨立應(yīng)用運行環(huán)境。分區(qū)操作系統(tǒng)向分區(qū)提供基本內(nèi)核服務(wù)接口,以及處理器、存儲器和外圍設(shè)備的虛擬化支持。為滿足用戶定時器服務(wù)、設(shè)備訪問服務(wù)的需求,需要支持分區(qū)級中斷處理程序接管外部中斷。

中斷處理方法的設(shè)計,首先應(yīng)該能夠兼容上述兩類分區(qū)同時存在時分別需要進行中斷處理的需求[ 4 ];其次中斷處理方法的設(shè)計不應(yīng)該破壞客戶OS原始的中斷處理流程,對于客戶OS之上的應(yīng)用應(yīng)該是透明的;最后,從保證分區(qū)操作系統(tǒng)內(nèi)核的安全可靠性角度出發(fā),上述方法的設(shè)計應(yīng)該盡可能的簡單通用,且盡量在分區(qū)實現(xiàn),減少對內(nèi)核的修改和功能擴展。目前已有的分區(qū)操作系統(tǒng)采用內(nèi)核直接調(diào)用用戶掛鉤的方式來執(zhí)行用戶級中斷服務(wù)程序,這種方式一方面對內(nèi)核改動過多,降低了內(nèi)核可靠性,并引入安全風(fēng)險;另一方面,直接過程調(diào)用的方式增加了內(nèi)核的處理負(fù)擔(dān),降低了中斷處理的效率。

2 基于通知槽的任務(wù)化虛中斷處理方式

如圖1所示,本文所設(shè)計的統(tǒng)一中斷處理方法以任務(wù)的形式進行用戶級中斷處理,將中斷處理的工作分為內(nèi)核級處理和分區(qū)級處理兩級,盡量不對內(nèi)核進行修改和功能擴展,有利于降低內(nèi)核復(fù)雜度,提升內(nèi)核安全可靠性,提升中斷處理的效率。處于特權(quán)態(tài)的分區(qū)操作系統(tǒng)內(nèi)核首先接管中斷,然后使用用戶級線程控制塊(T_UTCB)中的通知槽向分區(qū)投遞中斷處理通知,既方便的進行了中斷信息的投遞,又保證了由用戶級中斷處理任務(wù)對中斷現(xiàn)場進行全權(quán)接管的處理邏輯。

3 中斷處理單元設(shè)計

分區(qū)操作系統(tǒng)內(nèi)核的中斷處理單元用于對中斷請求進行管理,完成中斷接管、中斷注冊、中斷等待和中斷通知的功能,以異步通知的方式通知關(guān)注當(dāng)前中斷的分區(qū)進行用戶級中斷處理。

內(nèi)核以系統(tǒng)調(diào)用的方式向分區(qū)提供中斷注冊和中斷等待的系統(tǒng)服務(wù),且提供一個中斷通知操作以實現(xiàn)在內(nèi)核處理完成系統(tǒng)級中斷處理后喚醒分區(qū)中的中斷線程,將中斷傳遞給中斷線程處理。

本方法設(shè)計了中斷請求描述符(T_IrqDesc)這個數(shù)據(jù)結(jié)構(gòu)來描述一個具體的硬件設(shè)備中斷請求,在中斷請求描述符中主要記錄以下數(shù)據(jù):中斷請求控制器、為中斷請求注冊的處理線程、中斷請求的通知槽、中斷請求的等待隊列以及用戶級中斷處理程序的內(nèi)核副本。

本方法設(shè)計了一個中斷等待隊列,用于保存系統(tǒng)中用戶空間等待中斷通知的線程,隊列采用雙向鏈表結(jié)構(gòu),當(dāng)中斷通知槽的值沒有發(fā)生改變時,需要創(chuàng)建中斷請求等待隊列;當(dāng)向用戶空間通知中斷的發(fā)生情況時,需要從中斷請求等待隊列上喚醒等待線程。

在內(nèi)核中斷結(jié)構(gòu)中,為每個中斷維護一個中斷通知隊列,如圖2所示,用來維護需要投遞中斷的線程;在線程的用戶空間線程控制塊(T_UTCB)中維護一個通知槽數(shù)組,該數(shù)組大小為8,也就是每個線程含有8個通知槽,編號為0~7,通知槽的取值范圍0~255。

以下將針對中斷處理的4種功能(中斷接管、中斷注冊、中斷等待和中斷通知)的設(shè)計思想進行詳細闡述。

4 中斷接管

分區(qū)操作系統(tǒng)根據(jù)裸應(yīng)用程序或者客戶OS對具體硬件物理中斷類型是否關(guān)注,提供兩種中斷處理方式:

1)如果用戶沒有注冊物理中斷,則物理中斷完全由內(nèi)核處理;

2)如果用戶注冊具體類型的物理中斷,內(nèi)核只做最簡單的中斷接管工作,然后,把真正的中斷交給用戶空間注冊的任務(wù)進行處理。

分區(qū)操作系統(tǒng)目前處理的中斷分為三種類型:時鐘中斷、I/O中斷和核間中斷。出于不向內(nèi)核引入冗余代碼的設(shè)計思想,內(nèi)核中只對時鐘中斷進行真正處理,而對于I/O中斷(例如,網(wǎng)絡(luò)中斷或者串口中斷)在內(nèi)核中只進行簡單的接管,而不進行真正的處理,真正的I/O中斷處理由客戶OS中注冊的中斷處理線程進行。

5 中斷注冊

中斷注冊用于根據(jù)輸入的中斷通知槽號和中斷向量號把一個用戶空間線程注冊為一個中斷請求的處理程序。

每個中斷都有中斷向量號、中斷處理程序、中斷線程通知隊列。中斷線程通知隊列包含一個通知隊列和等待隊列,及注冊的線程數(shù)量。通知隊列上的結(jié)點是中斷線程結(jié)構(gòu),該結(jié)構(gòu)包括通知槽號、線程控制塊及雙向鏈指針。

分區(qū)中的線程通過系統(tǒng)調(diào)用方式,將自己的某個中斷通知槽注冊到指定中斷向量。注冊前首先將當(dāng)前線程的用戶空間線程控制塊(T_UTCB)空間映射到內(nèi)核空間中,使得在內(nèi)核中也能訪問該線程的用戶空間線程控制塊(T_UTCB);然后創(chuàng)建一個中斷線程控制塊,用當(dāng)前線程控制塊和通知槽號賦值,把它插入到通知隊列尾部。

6 中斷等待

中斷線程通知隊列中的等待隊列掛接的是等待該中斷喚醒的線程。當(dāng)前運行線程通過系統(tǒng)調(diào)用方式將自己掛接到等待隊列上。

在掛接到中斷等待隊列時,首先當(dāng)前線程需要將自己的用戶空間線程控制塊(T_UTCB)映射到內(nèi)核空間,內(nèi)核空間必須訪問線程的用戶空間線程控制塊(T_UTCB);然后檢查當(dāng)前線程是否在通知隊列上,只有在通知隊列的線程才能掛接到等待隊列中;最后檢查線程的用戶空間線程控制塊(T_UTCB)中的對應(yīng)編號的通知槽的值是否為0,只中通知槽值為0才能掛接到等待隊列中,否則直接返回。

7 中斷通知

分區(qū)操作系統(tǒng)的內(nèi)核系統(tǒng)級中斷處理程序執(zhí)行完成后,再給分區(qū)投遞中斷通知。中斷通知的流程是逐一檢查是否可以訪問通知隊列中線程的用戶空間線程控制塊(T_UTCB)并更新各用戶空間線程控制塊(T_UTCB)中對應(yīng)的通知槽值,然后再以異步方式喚醒等待隊列中的所有線程。

8 完整的中斷處理過程

本方法中完整的中斷處理流程分為系統(tǒng)級和用戶級兩部分來實現(xiàn)。如圖3所示。

當(dāng)中斷發(fā)生后,內(nèi)核中斷處理程序進行必要的處理后,將中斷事件通知給用戶級中斷處理線程,喚醒等待隊列中的線程,然后中斷返回,由用戶級中斷處理線程完成后續(xù)處理。該兩級方式的中斷處理模式保證了系統(tǒng)中斷響應(yīng)的及時性,并且可以通過對用戶級中斷處理線程優(yōu)先級的配置,靈活的實現(xiàn)中斷響應(yīng)。

9 結(jié)語

本文深入研究了機載嵌入式分區(qū)操作系統(tǒng)在綜合化程度提升以后如何向虛擬化的裸應(yīng)用分區(qū)和客戶OS分區(qū)提供高效、安全的中斷處理虛擬化機制的問題,給出了基于通知槽的任務(wù)化中斷處理方法。通過在某分區(qū)實時操作系統(tǒng)中的實現(xiàn),證實文中涉及的設(shè)計和實現(xiàn)方法是有效的,有效緩解了目前已有的掛鉤函數(shù)處理方式對內(nèi)核改動過多,降低內(nèi)核可靠性,并引入安全風(fēng)險,增加了內(nèi)核處理負(fù)擔(dān)的問題。在今后的工作中,我們將進一步考慮新型處理器的硬件虛擬化支持,利用硬件虛擬化機制設(shè)計更為高效的分區(qū)操作系統(tǒng)中斷處理方法。

參考文獻:

[1] 張逢,董耀祖,李少凡,等.系統(tǒng)虛擬化——原理與實現(xiàn)[M].北京:清華大學(xué)出版社,2009.

[2] Heiser G.Hypervisor for Consumer Electronics[C]//Proc.of 2009 Conference on Consumer Communications and Networking.Las Vegas,USA:[s. n.],2009.

[3] OKL4 Microkernel Reference Manual[R].Open Kernel Labs Inc.,Tech. Rep.OK 10000:2006,2008.

[4] Heiser G. The Role of Virtualization in Embedded Systems[C]//Proc.of the 1st Workshop on Isolation and Integration in Embedded Systems.Glasgow,UK:[s. n.],2008.

作者簡介:周霆(1984-),男,陜西洋縣人,工作于中航工業(yè)西安計算技術(shù)研究所,主要從事嵌入式實時操作系統(tǒng)方向的研究。

主站蜘蛛池模板: 精品国产自在在线在线观看| 亚洲天堂视频在线播放| 欧美黄色网站在线看| 欧美日本在线一区二区三区| 欧美天堂在线| 欧美一级色视频| 国产精品九九视频| 午夜视频免费试看| 九色免费视频| 亚洲V日韩V无码一区二区| 天天色综合4| 一级爱做片免费观看久久 | 午夜电影在线观看国产1区| 国产成人亚洲综合A∨在线播放| 久久狠狠色噜噜狠狠狠狠97视色| аv天堂最新中文在线| 亚洲an第二区国产精品| 国产女同自拍视频| 538精品在线观看| 在线欧美日韩| 毛片免费在线视频| 久久国语对白| 成人国产一区二区三区| 天天色综网| 超碰91免费人妻| www.精品国产| 原味小视频在线www国产| 欧美精品成人| 欧美激情福利| 亚洲国产精品久久久久秋霞影院| 宅男噜噜噜66国产在线观看| 高清久久精品亚洲日韩Av| 五月天久久婷婷| 国产一区二区丝袜高跟鞋| a毛片免费观看| 国产免费羞羞视频| 狠狠色丁香婷婷综合| 亚洲成aⅴ人在线观看| 成色7777精品在线| 精品国产成人三级在线观看| 亚洲精品中文字幕无乱码| 国产成人精品免费视频大全五级| 日韩大乳视频中文字幕| 欧美精品在线免费| 国产丝袜无码精品| 五月婷婷中文字幕| 久久人与动人物A级毛片| 亚洲无线视频| 日韩美毛片| 久久网综合| 国产av一码二码三码无码| 日韩专区欧美| 久久亚洲精少妇毛片午夜无码| 啪啪免费视频一区二区| 日韩欧美中文字幕一本| 亚洲高清在线天堂精品| 国产成人1024精品下载| 日韩a在线观看免费观看| 日韩欧美国产精品| 网友自拍视频精品区| 亚洲国产系列| 国产丝袜一区二区三区视频免下载| 国产99视频在线| 五月天丁香婷婷综合久久| 欧美日韩高清在线| 亚洲天堂视频在线观看| 在线播放91| 好久久免费视频高清| 国产成人高清在线精品| 亚洲视频影院| 国产欧美日韩免费| 免费可以看的无遮挡av无码| 亚洲无码视频一区二区三区| 亚洲第一成年人网站| 国产微拍精品| 久久狠狠色噜噜狠狠狠狠97视色| 亚洲免费福利视频| 国产尤物在线播放| 丁香五月激情图片| 国产在线观看第二页| 国内熟女少妇一线天| 国产免费怡红院视频|