我想看一级黄色大片_久久亚洲国产精品一区二区_久久精品免视看国产明星_91久久青青青国产免费

您的位置:網(wǎng)站首頁(yè) > CAD新聞

實(shí)時(shí)操作系統(tǒng)——因?yàn)樾录夹g(shù)而不同

時(shí)間:2011-02-26 19:31:00 來源:

幾年前,為實(shí)時(shí)應(yīng)用構(gòu)建一個(gè)數(shù)字控制系統(tǒng)還是比較容易的。你可以先選定一款自己最熟悉的實(shí)時(shí)操作系統(tǒng)(RTOS)和一款微控制器。這款微控制器必須支持你采用的RTOS,此外在價(jià)格、性能、輸入/輸出特性和儲(chǔ)存能力方面也能夠滿足應(yīng)用要求。然后,你就可以編寫應(yīng)用軟件了。軟件要能夠利用到RTOS的特性,從而保證你的控制器可以在指定的時(shí)刻完成指定的工作。  

    實(shí)時(shí)操作系統(tǒng)的基本使命是處理中斷。當(dāng)一個(gè)中斷出現(xiàn),RTOS必須先把當(dāng)前程序的相關(guān)數(shù)據(jù)保存好,
然后切換到一個(gè)獨(dú)立的中斷服務(wù)流程來處理這個(gè)中斷事件。處理完中斷事件之后,RTOS
先恢復(fù)先前儲(chǔ)存的數(shù)據(jù),再繼續(xù)運(yùn)行先前的程序。

  如今,構(gòu)建這樣一個(gè)數(shù)字控制系統(tǒng)已經(jīng)不那么容易了。從某種意義上說,多核微控制器和軟件虛擬化技術(shù)的問世,使得嵌入式系統(tǒng)設(shè)計(jì)師與運(yùn)動(dòng)控制工程師的工作更加復(fù)雜了。然而在許多方面,這些技術(shù)又為他們的工作帶來了便利。要弄明白這個(gè)看似矛盾的說法,你需要掌握一些RTOS、多核和軟件虛擬化技術(shù)的基礎(chǔ)知識(shí)。下面,讓我們從RTOS基本技

 
術(shù)談起。
 

  讓實(shí)時(shí)性深入每一刻

  維基百科中寫道: “實(shí)時(shí)操作系統(tǒng)(RTOS;通常被讀作‘阿-陶思’)是一種專為實(shí)時(shí)應(yīng)用而設(shè)計(jì)的多任務(wù)操作系統(tǒng)。RTOS為實(shí)時(shí)系統(tǒng)設(shè)計(jì)提供了便利,但它并不能夠保證最終的結(jié)果是實(shí)時(shí)的;要做到這一點(diǎn)還需要正確開發(fā)相應(yīng)的軟件。RTOS的價(jià)值并不體現(xiàn)在數(shù)據(jù)處理能力方面,而是主要在于對(duì)特定事件的響應(yīng)速度與預(yù)見性方面。因此最小中斷響應(yīng)延遲和最小線程切換延遲是衡量一款RTOS的重要參數(shù)。”

  RTOS具備了在多任務(wù)環(huán)境下對(duì)任務(wù)關(guān)鍵性進(jìn)行編排的能力。在單任務(wù)系統(tǒng)中,由于不會(huì)出現(xiàn)多個(gè)任務(wù)同時(shí)競(jìng)爭(zhēng)計(jì)算資源的情況,每個(gè)任務(wù)都是實(shí)時(shí)運(yùn)行的。這種情況下,當(dāng)任何一個(gè)事件發(fā)生并對(duì)CPU發(fā)出請(qǐng)求時(shí),CPU就會(huì)立刻對(duì)它作出響應(yīng)。這是因?yàn)镃PU在同一時(shí)刻不會(huì)執(zhí)行其他操作,也不會(huì)被其他事件所阻礙。

  在多任務(wù)環(huán)境下,CPU需要在多個(gè)任務(wù)之間進(jìn)行切換,這時(shí),實(shí)時(shí)性的價(jià)值才能得到體現(xiàn)。當(dāng)一個(gè)事件出現(xiàn)并對(duì)CPU發(fā)出請(qǐng)求時(shí),CPU很可能正忙于處理其他事件,因而不能立即對(duì)該請(qǐng)求做出響應(yīng)。它必須以某種方式把正在處理的任務(wù)擱置起來,便于CPU在處理完中斷事件之后重新回到之前的任務(wù)上,然后,CPU才會(huì)響應(yīng)中斷事件。最后,它必須在處理完中斷事件后重新回到之前的任務(wù)線程上。

  一款工業(yè)級(jí)實(shí)時(shí)操作系統(tǒng)的使命就是處理中斷標(biāo)志事件。中斷是由外部電路發(fā)出的信號(hào)。外部電路把CPU的中斷管腳拉到高電平(對(duì)絕大多數(shù)CPU是這樣的)并長(zhǎng)期保持該信號(hào),直到CPU識(shí)別出該中斷信號(hào)。CPU一般會(huì)在一段確定的時(shí)間內(nèi)對(duì)中斷信號(hào)做出響應(yīng),這是強(qiáng)制規(guī)定的。

  虛擬世界

  操作系統(tǒng)(OS)作為一種軟件,最根本的任務(wù)是對(duì)位組合進(jìn)行操作。對(duì)于軟件而言,硬件只是一連串代表它們?cè)诘刂房臻g內(nèi)位置的位組合以及臨時(shí)與這些位置有關(guān)的數(shù)據(jù)字。

  虛擬化技術(shù)正是依賴于這樣一個(gè)事實(shí):軟件不知道也不必去關(guān)心這些位組合的來龍去脈,它只需要在位組合出現(xiàn)時(shí)對(duì)其進(jìn)行處理。

  假設(shè)你擁有一臺(tái)運(yùn)行速度飛快的計(jì)算機(jī),但是你需要的卻是兩臺(tái)對(duì)速度要求不高的計(jì)算機(jī)。也許你想在其中一臺(tái)上運(yùn)行Microsift的Vista操作系統(tǒng)(當(dāng)然你缺少這臺(tái)電腦),而在另一臺(tái)上運(yùn)行WindRiver的VxWorks RTOS。Vista 可以提供人機(jī)界面(HMI)并且能夠通過因特網(wǎng)自動(dòng)把數(shù)據(jù)上傳到位于巴基斯坦的服務(wù)器里,與此同時(shí)VxWorks會(huì)對(duì)流程進(jìn)行實(shí)時(shí)控制。
  
  管理程序的地位介于硬件與操作系統(tǒng)實(shí)例之間。它對(duì)操作系統(tǒng)進(jìn)行劃分,
以虛擬形式把不同硬件分別呈現(xiàn)給不同的操作系統(tǒng)。

  你可以應(yīng)用軟件虛擬化技術(shù)“克隆”你所擁有的這個(gè)高速處理器,并把它分身為兩個(gè)相同的虛擬處理器。當(dāng)然,這兩個(gè)虛擬處理器的運(yùn)行速度會(huì)減慢。其中一個(gè)處理器可以運(yùn)行Vista,另一個(gè)運(yùn)行VxWorks。

  用來實(shí)現(xiàn)上述技術(shù)的虛擬化軟件被稱為“管理程序”。管理程序在計(jì)算機(jī)結(jié)構(gòu)中的位置介于硬件與各個(gè)操作系統(tǒng)實(shí)例之間。從硬件層面看,管理程序永遠(yuǎn)只是一個(gè)普通的操作系統(tǒng)。從操作系統(tǒng)層面看,管理程序就像是一種硬件。

  管理程序有三大功能:

  ■  它為各種OS提供了訪問硬件的途徑。這些硬件包括處理器、內(nèi)存以及輸入/輸出接口。它能確保相互不兼容的操作系統(tǒng)在一起融洽地工作。管理程序在設(shè)計(jì)上滿足實(shí)時(shí)操作性要求。也就是說,為了維持RTOS的決策,管理軟件會(huì)對(duì)所有硬件資源進(jìn)行分配。

  ■  它提供了不同OS之間的隔離機(jī)制,包括數(shù)據(jù)和系統(tǒng)

安全。這樣的話,如果一名黑客入侵了位于巴基斯坦的服務(wù)器,那么他應(yīng)該可以通過因特網(wǎng)看到你Vista系統(tǒng)上運(yùn)行的人機(jī)界面。但是他不可能接觸到你運(yùn)行在RTOS上的控制系統(tǒng),即便兩個(gè)操作系統(tǒng)共用同一個(gè)處理器也不可能。

 

  ■  它提供了OS之間安全的數(shù)據(jù)共享機(jī)制。

  想要真正理解虛擬化,那么你必須記住下面這個(gè)關(guān)鍵詞——“實(shí)例”,同一款OS可能擁有多個(gè)實(shí)例。例如,你可以建立多個(gè)RTOS實(shí)例,每個(gè)實(shí)例服務(wù)于一條獨(dú)立的控制回路。你還可以擁有兩個(gè)(非實(shí)時(shí))桌面操作系統(tǒng)實(shí)例,一個(gè)連接到因特網(wǎng),另一個(gè)用來在安全機(jī)制下運(yùn)行辦公軟件。如果有黑客入侵到連接因特網(wǎng)的那個(gè)實(shí)例,那么只有與該實(shí)例直接相關(guān)的數(shù)據(jù)文件才可能受到牽連。

  管理軟件通過防火墻來保護(hù)共享文件。用戶只需要簡(jiǎn)單地刪除受到病毒感染的實(shí)例就可以清除OS實(shí)例內(nèi)的惡意軟件,與另一個(gè)實(shí)例共享的數(shù)據(jù)則安然無恙。如果用戶要想重新連接到互聯(lián)網(wǎng),只需要啟用一個(gè)新的連接互聯(lián)網(wǎng)的實(shí)例即可。

  最后,管理程序?qū)崿F(xiàn)了實(shí)時(shí)OS和非實(shí)時(shí)OS的共存。這種情況之下,管理程序?yàn)榱司S持RTOS的決策,可能會(huì)降低非

 
實(shí)時(shí)OS的部分性能。如果某位控制工程師要設(shè)計(jì)一套多個(gè)任務(wù)同時(shí)運(yùn)行、而且需要作大量判斷的控制系統(tǒng),那么這項(xiàng)功能可能會(huì)為他帶來極大的幫助。

  多核硬件

  多核微控制器是一種多處理架構(gòu)的整合形式。多處理器硬件由多個(gè)共享同一片儲(chǔ)存空
間的CPU構(gòu)成。多年來,該技術(shù)已經(jīng)在板級(jí)多核互連以及I/O通道、內(nèi)存資源共享方面得到了廣泛應(yīng)用。  

  非對(duì)稱多處理器系統(tǒng)包含了多個(gè)不同的CPU內(nèi)核。

  非對(duì)稱多處理器系統(tǒng)包含了多個(gè)不同的CPU內(nèi)核。

  在過去幾年里,半導(dǎo)體制造商開發(fā)的產(chǎn)品在復(fù)雜度上有了極大的提高,以至于能夠把多個(gè)CPU內(nèi)核做在一片晶元上。這項(xiàng)技術(shù)大大提高了電路集成度以及數(shù)據(jù)傳輸速度。這類高密度集成硬件被稱作“多核”。

  多處理器構(gòu)架分為兩類:對(duì)稱多處理器(SMP)和非對(duì)稱多處理器(AMP) 。SMP由多個(gè)相同的(或?qū)ΨQ的)CPU構(gòu)成,而構(gòu)成AMP的CPU則不盡相同。

  大多數(shù)商業(yè)化的多核設(shè)備都使用對(duì)稱多處理器架構(gòu)。非對(duì)稱多處理架構(gòu)主要針對(duì)一些特殊的應(yīng)用,所以它很難實(shí)現(xiàn)批量生產(chǎn),單片價(jià)格居高不下。

  如今,在一片IC上整合了兩枚相同CPU內(nèi)核的雙核對(duì)稱多處理器雖然還沒有完全普及,但是已經(jīng)能購(gòu)買到了。整合了四枚相同CPU內(nèi)核的四核對(duì)稱多處理器也已經(jīng)在幾年前面世。最近,飛思卡爾半導(dǎo)體公司推出了一款面向通信領(lǐng)域的8核微處理器。其他一些半導(dǎo)體公司也紛紛宣布他們的處理器產(chǎn)品將采用更多(甚至是超多)的CPU內(nèi)核。

  也許,集成多核技術(shù)帶來的最明顯好處是大幅降低了能耗。如果一片晶元上集成了N個(gè)CPU,那么在不增加時(shí)鐘頻率的情況下,芯片的整體處理速度就會(huì)呈現(xiàn)成倍的增長(zhǎng)(大約增長(zhǎng)0.8N倍)。

  德州儀器的系統(tǒng)架構(gòu)高級(jí)開發(fā)經(jīng)理Ray Simar為我們介紹了一款三核處理器。該處理器每個(gè)內(nèi)核的時(shí)鐘頻率都是1GHz,而運(yùn)算性能等同于一個(gè)時(shí)鐘頻率為3GHz的單核處理器。他還指出,另一塊包含六個(gè)內(nèi)核,每個(gè)內(nèi)核時(shí)鐘頻率為500MHz的芯片也能夠提供同樣的運(yùn)算性能,但功耗只是單核處理器的一小部分。

  有了多核技術(shù),我們可以把計(jì)算任務(wù)拆分為多個(gè)部分。這種方案在一些控制系統(tǒng)特殊應(yīng)用中有用武之地。 例如,多核處理器的一個(gè)內(nèi)核可以專門用來對(duì)某個(gè)回路作實(shí)時(shí)控制,其余內(nèi)核則可以解放出來,共同完成一些實(shí)時(shí)性要求不高,但計(jì)算量非常繁重的任務(wù)。要是我們沒有專門分配一個(gè)內(nèi)核作回路控制,那么回路控制程序就不得不與其他任務(wù)競(jìng)爭(zhēng)CPU資源了。

  全面整合

  2008年6月飛思卡爾公司推出了QorIQ P4080多核處理器。這款8核對(duì)稱架構(gòu)處理器為我們展示了多種將RTOS、虛擬化技術(shù)和多核技術(shù)結(jié)合的方案,為控制工程師設(shè)計(jì)系統(tǒng)架構(gòu)提供了新的選擇。該產(chǎn)品一經(jīng)推出,幾乎在同一時(shí)期,多家嵌入式系統(tǒng)軟件公司都做出了響應(yīng)。

  Green Hills軟件公司展示了他們的Multi集成開發(fā)環(huán)境(IDE)是如何在Virtutech Simics系統(tǒng)仿真器中對(duì)Freescale 8核處理器進(jìn)行調(diào)試的。該公司還同時(shí)展示了他們的Green Hills Integrity RTOS。該系統(tǒng)包含了Padded Cell主機(jī)管理程序和客戶端操作系統(tǒng)。

  Virtutech公司宣布,他們的產(chǎn)品具備了混合仿真功能,能夠在Simics仿真環(huán)境下支持多層次抽象模型的仿真。

  風(fēng)河系統(tǒng)公司發(fā)布了他們?yōu)閂xWorks和Linux 操作系統(tǒng)在多核設(shè)備上的運(yùn)行提供前期支持的軟件開發(fā)方案。此外,該公司還展示了他們基于Eclipse架構(gòu)的Workbench開發(fā)套件。這套開發(fā)工具可以在Virtutech Simics仿真器中運(yùn)行。

 

  在這種趨勢(shì)下,控制工程師不必再因?yàn)橛布蜍浖南拗疲瑢?duì)應(yīng)用程序作裁減。如今,他們能夠隨意創(chuàng)造出滿足性能、特點(diǎn)要求的虛擬系統(tǒng)。

  然而自由總是與責(zé)任并存的。你擁有更多的選擇也就意味著你必須做出更多的選擇。控制工程師只有掌握了新的技術(shù)和知識(shí),才能夠做出正確的選擇。