国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

多核嵌入式實(shí)時(shí)操作系統(tǒng)(RTOS)綜述

2015-07-18 13:36:54張朝
電腦知識與技術(shù) 2015年12期
關(guān)鍵詞:嵌入式系統(tǒng)

張朝

摘 要:從1981年第一個(gè)商業(yè)嵌入式實(shí)時(shí)操作系統(tǒng)VRTX/OS的出現(xiàn),嵌入式實(shí)時(shí)操作系統(tǒng)已經(jīng)過三十多年的發(fā)展。本文對嵌入式相關(guān)的文獻(xiàn)進(jìn)行了調(diào)研,發(fā)現(xiàn)隨著嵌入式芯片多核技術(shù)的日趨成熟和廣泛應(yīng)用,嵌入式實(shí)時(shí)操作系統(tǒng)對多核處理器提供了一定的支持,包括對稱多核(SMP)和非對稱多核(AMP),但也仍然存在多核并發(fā)控制、任務(wù)調(diào)度等問題。在分析RTOS的研究現(xiàn)狀后,得出了今后RTOS的研究熱點(diǎn)有異構(gòu)多核支持和物聯(lián)網(wǎng)應(yīng)用。

關(guān)鍵詞: 嵌入式系統(tǒng);實(shí)時(shí)操作系統(tǒng);對稱多核;非對稱多核

中圖分類號:TP316 文獻(xiàn)標(biāo)識碼:A 文章編號:1009-3044(2015)12-0248-03

A Survey on Multi-Core Real-Time Operating System (RTOS)

ZHANG Zhao

(The Institute of Computer Application,China Academy of Engineering Physics,Mianyang 621900,China)

Abstract:The RTOS has been developed over three decades till now after the first available commercial RTOS which named VTRX/OS .After the study on embedded related literatures, it shows that with the development of Multi-core technology and widely use of Multi-core chips, the RTOS is becoming to support the Multi-core features include SMP and AMP, in order to fully use the potential of hardware, but still have some problem such as concurrency control and task allocation. So the next hot research filed of RTOS is the support of Heterogeneous multiprocessor. Besides the IOT also could be an important application filed for RTOS.

Key words:EOS; RTOS; SMP; AMP

早期的嵌入式應(yīng)用由于嵌入式處理器運(yùn)算能力低,所以功能單一,主要使用死循環(huán)代碼實(shí)現(xiàn)。隨著大規(guī)模集成電路技術(shù)的發(fā)展和摩爾定律(Moore Law)的驅(qū)使,嵌入式處理器的性能越來越強(qiáng),如今已經(jīng)可匹敵桌面電腦?,F(xiàn)在的嵌入式應(yīng)用已經(jīng)十分復(fù)雜,往往一個(gè)嵌入式應(yīng)用需要集成數(shù)個(gè)功能,這種多任務(wù)環(huán)境的嵌入式應(yīng)用已經(jīng)離不開嵌入式操作系統(tǒng)的支持。針對特定的實(shí)時(shí)性要求嚴(yán)格的應(yīng)用場景,比如工業(yè)控制、軍事武器,更需要嵌入式實(shí)時(shí)操作系統(tǒng)的支持。當(dāng)通提升過主頻來提升處理器性能達(dá)到瓶頸時(shí),多核技術(shù)的出現(xiàn)解決了單核芯片的性能瓶頸,使得處理性能的提升有了新的發(fā)展方向,尤其是異構(gòu)多核技術(shù)同時(shí)保障了性能和功耗。然而多核技術(shù)卻為嵌入式實(shí)時(shí)操作系統(tǒng)的設(shè)計(jì)者帶來了不少的挑戰(zhàn)。

1 正文

1.1 多核處理器的硬件結(jié)構(gòu)

多核處理器指一個(gè)芯片內(nèi)有多個(gè)計(jì)算核心,多核處理器也稱為片上多處理器 (chip multi-processor , CMP), 或單芯片多處理器。根據(jù)核心的類型可將多核處理器分為同構(gòu)多核處理器(Homogeneous multiprocessor)和異構(gòu)多核處理器(Heterogeneous multiprocessor)或者對稱多核處理器(Symmetric Multi-Processing , SMP)和非對稱多核處理器(Asymmetric Multi-Processing , AMP)。

同構(gòu)是指處理器內(nèi)部每個(gè)核心的結(jié)構(gòu)和指令架構(gòu)都完全一樣,如圖 1 Hydra CMP。這種處理器結(jié)構(gòu)的內(nèi)部核

心地位完全對等,可以將其視為多個(gè)單核芯片通過內(nèi)部總線相連,這種情況可以在每個(gè)核上運(yùn)行相同的操作系統(tǒng)。

異構(gòu)是指處理器內(nèi)部的運(yùn)算核心具有差異,一般分為主核和從核。如圖 2 同指令集異構(gòu)處理器,該處理器雖然都是ARM核心,但是架構(gòu)不同。還有一種情況是存在兩類或者多個(gè)類型的不同指令集的核心,也稱作完全異構(gòu)處理器,如圖 3 完全異構(gòu)處理器包含ARM核心和DSP核心。

1.2 多核處理器對RTOS設(shè)計(jì)帶來的挑戰(zhàn)

單核處理器雖然在宏觀上呈現(xiàn)的是多任務(wù)的并行運(yùn)行,但是在指令級仍是串行的執(zhí)行過程,這種情況下共享資源的互斥訪問使用原語就能控制。然而由于多核處理器具有多個(gè)運(yùn)算核心,在指令級不同核上可能同時(shí)運(yùn)行著對同一資源讀寫的指令,這使得操作系統(tǒng)的并發(fā)控制更難。因此RTOS在多核處理器上將面臨比單核處理器更多的技術(shù)挑戰(zhàn),如:多核處理器的操作系統(tǒng)組織、多核間的負(fù)載平衡、多核間并發(fā)控制、任務(wù)分配、功耗控制、高效核間通信[1]等。

1.3 RTOS對多核處理的支持

在多核芯片技術(shù)的發(fā)展過程最早應(yīng)用的是IBM的服務(wù)器芯片(POWER4),這時(shí)的多核處理器只是單純地把多個(gè)相同的核心集成到一個(gè)CPU上,也就是同構(gòu)多核處理器。最先發(fā)展的是同構(gòu)多核技術(shù),OS在同構(gòu)多核的支持上也比較早和成熟,如在Linux 2.0開始就支持了對稱多核(SMP)[2]。在嵌入式領(lǐng)域最開始應(yīng)用的也是同構(gòu)多核,接著出現(xiàn)了異構(gòu)多核技術(shù)。異構(gòu)多核的出現(xiàn)使得某些計(jì)算任務(wù)可以給專用的核心來執(zhí)行。這樣不僅可以減輕主核的運(yùn)算壓力,而且還因?yàn)閷S煤诵牡挠?jì)算效率更高,可以在整體上降低系統(tǒng)的功耗。近幾年異構(gòu)多核的應(yīng)用越來越廣泛,尤其是在流媒體和通信等對數(shù)據(jù)計(jì)算量很大的領(lǐng)域,這些異構(gòu)處理器通常會集成DSP核心來達(dá)到計(jì)算性能的要求。

操作系統(tǒng)對同構(gòu)多核處理器的兼容,最早使用的是單操作系統(tǒng)單內(nèi)核架構(gòu),在一個(gè)處理核心上運(yùn)行內(nèi)核作為主核,其他的核作為運(yùn)算設(shè)備,早期的Linux使用了這種架構(gòu)[2]。該架構(gòu)的特點(diǎn)是實(shí)現(xiàn)簡單,無需對操作系統(tǒng)進(jìn)行大的改動。但是只有一個(gè)核心運(yùn)行了內(nèi)核,所以只對用戶態(tài)的任務(wù)起到了多核加速,內(nèi)核依舊是單核運(yùn)行狀態(tài),RTOS早期也有用到這種架構(gòu)。

對于微內(nèi)核架構(gòu)的RTOS可以在同構(gòu)多核處理器上使用單操作系統(tǒng)多內(nèi)核架構(gòu)[3],在每個(gè)處理核心上加載運(yùn)行操作系統(tǒng)內(nèi)核,每個(gè)內(nèi)核都有本地的調(diào)度隊(duì)列,該架構(gòu)每個(gè)處理器核的地位是同等的[3][4]。這種架構(gòu)的優(yōu)點(diǎn)是在微內(nèi)核的上層提供一個(gè)全局的任務(wù)分配機(jī)制就可以做到核間的負(fù)載平衡,充分發(fā)揮多核的性能。

異構(gòu)多核處理器多使用主從的多RTOS架構(gòu),主核上運(yùn)行一個(gè)主控的OS,異構(gòu)核運(yùn)行同樣的OS[4]或者不同OS[1]。論文[1]中是現(xiàn)在比較典型的異構(gòu)多核的實(shí)現(xiàn)方式,芯片中的通用核運(yùn)行諸如Linux的非實(shí)時(shí)操作系統(tǒng)支持豐富的應(yīng)用,專用核運(yùn)行諸如uc/os II的RTOS給實(shí)時(shí)要求高的運(yùn)算提供服務(wù),作為協(xié)處理器運(yùn)行。這種架構(gòu)的好處是可以讓嵌入式設(shè)備兼具通用性和專用性。

嵌入式OS實(shí)現(xiàn)多核芯片支持除了上面的技術(shù),現(xiàn)在使用虛擬化技術(shù)也是最常見的一種。首先,虛擬化是指通過虛擬化技術(shù)將一臺計(jì)算機(jī)虛擬為多臺邏輯計(jì)算機(jī),這樣通過虛擬化這一中間層完全屏蔽了底層的硬件。使得在一臺計(jì)算機(jī)上同時(shí)運(yùn)行多個(gè)邏輯計(jì)算機(jī),每個(gè)邏輯計(jì)算機(jī)可運(yùn)行不同的操作系統(tǒng),并且應(yīng)用程序可以在相互獨(dú)立的空間內(nèi)運(yùn)行而互不影響,從而顯著提高計(jì)算機(jī)的工作效率和安全性。Hypervisor[5]是風(fēng)河公司提供的虛擬化方法,它是一種軟件,在虛擬服務(wù)器和底層硬件之間建立一個(gè)抽象層。如圖4 風(fēng)河公司的虛擬化結(jié)構(gòu)。

虛擬化技術(shù)不僅可以在將每個(gè)核模擬成一個(gè)虛擬計(jì)算機(jī)還可以將單個(gè)核模擬成多個(gè)計(jì)算機(jī)。這種技術(shù)可以簡化操作系統(tǒng)的設(shè)計(jì),在多核處理器上直接使用現(xiàn)有的很多操作系統(tǒng)資源。

除了上述如何組織多核處理器操作系統(tǒng)的研究,為了發(fā)揮異構(gòu)多核在功耗上的優(yōu)勢,RTOS研究人員在內(nèi)核的調(diào)度上進(jìn)行了相關(guān)的研究[6]-[8]。主要有:異構(gòu)多核中任務(wù)調(diào)度的任務(wù)劃分[7] ,解決如何將任務(wù)中計(jì)算量需求大且在通用處理核心上耗時(shí)的任務(wù)劃分出來給專有的核心;對固定截止時(shí)間任務(wù)進(jìn)行異構(gòu)多核資源的動態(tài)分配將任務(wù)的錯(cuò)過率降到最低[6];以及綜合考慮任務(wù)最早結(jié)束時(shí)間、核心負(fù)載均衡和低功耗的調(diào)度算法[8],在以往只考慮任務(wù)截止時(shí)間單個(gè)因素的算法基礎(chǔ)上針對異構(gòu)處理器增加了功耗控制。

2 總結(jié)

RTOS的發(fā)展與微電子和集成電路的發(fā)展息息相關(guān),現(xiàn)在市場已經(jīng)有具有八個(gè)核心的嵌入式處理,但是同構(gòu)多核的性能不能完全適應(yīng)嵌入式的應(yīng)用,在嵌入式領(lǐng)域中更加具有應(yīng)用前景的是異構(gòu)多核[9],給通用核心配上專用核心來提高系統(tǒng)性能和降低系統(tǒng)功耗。

物聯(lián)網(wǎng)是近年來IT產(chǎn)業(yè)發(fā)展的一個(gè)熱點(diǎn),最新的VxWorks 7已經(jīng)被風(fēng)河公司定義為專為物聯(lián)網(wǎng)設(shè)計(jì)的RTOS,并稱RTOS由此進(jìn)入真正的模塊化、可升級平臺時(shí)代,可廣泛支撐各種物聯(lián)網(wǎng)設(shè)備,從消費(fèi)者可穿戴設(shè)備到大型網(wǎng)絡(luò)設(shè)備皆可應(yīng)用[10]。這個(gè)市場的應(yīng)用量將非常大,大到航空航天小到各種穿戴設(shè)備。

參考文獻(xiàn):

[1] Chen J, Chang D W, Young C P, et al. Building a Multi-kernel Embedded System with High Performance IPC Mechanism[C]//High Performance Computing and Communications (HPCC), 2011 IEEE 13th International Conference on. IEEE, 2011: 506-511.

[2] 李彬, 任國林. Linux 內(nèi)核基于對稱多處理機(jī)的實(shí)現(xiàn)分析[J]. 計(jì)算機(jī)技術(shù)與發(fā)展, 2006(1).

[3] 張蔭芾, 應(yīng)忍冬, 周玲玲. 支持多核架構(gòu)的微內(nèi)核操作系統(tǒng)設(shè)計(jì)[J]. 計(jì)算機(jī)工程, 2009, 35(23): 249-251.

[4] 蔣建春, 汪同慶. 一種異構(gòu)多核處理器嵌入式實(shí)時(shí)操作系統(tǒng)構(gòu)架設(shè)計(jì)[J]. 計(jì)算機(jī)科學(xué), 2011, 38(6): 298-302.

[5] Wikipedia. Hypervisor [EB/OL]. http://en.wikipedia.org/wiki/Hypervisor.

[6] Tang H K, Rupnow K, Ramanathan P, et al. Dynamic binding and scheduling of firm-deadline tasks on heterogeneous compute resources[C]//Embedded and Real-Time Computing Systems and Applications (RTCSA), 2010 IEEE 16th International Conference on. IEEE, 2010: 275-280.

[7] Saha S, Deogun J S, Lu Y. Adaptive energy-efficient task partitioning for heterogeneous multi-core multiprocessor real-time systems[C]//High Performance Computing and Simulation (HPCS), 2012 International Conference on. IEEE, 2012: 147-153.

[8] Wenjing L, Lisheng W. Energy-considered scheduling algorithm based on heterogeneous multi-core processor[C]//Mechatronic Science, Electric Engineering and Computer (MEC), 2011 International Conference on. IEEE, 2011: 1151-1154.

[9] 黃國睿, 張平, 魏廣博. 多核處理器的關(guān)鍵技術(shù)及其發(fā)展趨勢[J]. 計(jì)算機(jī)工程與設(shè)計(jì), 2009 (10): 2414-2418.

[10] Windrive. 風(fēng)河推出新一代物聯(lián)網(wǎng)應(yīng)用實(shí)時(shí)操作系統(tǒng) VxWorks 7 [EB/OL]. http://www.windriver.com.cn/news/press/newsdetail.aspx?newsid=178.

猜你喜歡
嵌入式系統(tǒng)
Teaching Research on IoT and—Embedded System of Software Engineering
基于Xilinx口袋實(shí)驗(yàn)室的組合邏輯電路設(shè)計(jì)實(shí)驗(yàn)
面向應(yīng)用的智能專業(yè)嵌入式系統(tǒng)教學(xué)
基于物聯(lián)網(wǎng)的遠(yuǎn)程紅外控制器
嵌入式系統(tǒng)軟件開發(fā)技術(shù)探析
基于AVR單片機(jī)的SPI接口設(shè)計(jì)與實(shí)現(xiàn)
辦公自動化系統(tǒng)的設(shè)計(jì)
嵌入式系統(tǒng)在醫(yī)療器械中的應(yīng)用分析
基于物聯(lián)網(wǎng)項(xiàng)目驅(qū)動的嵌入式系統(tǒng)教學(xué)改革的研究與實(shí)踐
嵌入式系統(tǒng)課程“中斷、異常與事件”教學(xué)實(shí)踐及啟示
崇义县| 定州市| 宁都县| 延寿县| 宁国市| 叶城县| 武威市| 琼中| 绩溪县| 泸定县| 通河县| 焦作市| 呼伦贝尔市| 嵊州市| 郑州市| 台山市| 沂南县| 兴化市| 崇礼县| 喀什市| 八宿县| 泸溪县| 金坛市| 英吉沙县| 吴堡县| 汝城县| 保德县| 东兴市| 武安市| 庆安县| 乡城县| 汉阴县| 海伦市| 连云港市| 辰溪县| 乃东县| 察雅县| 改则县| 灵山县| 灵璧县| 玉龙|