音影先锋亚洲天堂网|电影世界尽头的爱完整版播放|国产 熟女 91|高清无码免费观看欧美日韩|韩国一区二区三区黄色录像|美女亚洲加勒比在线|亚洲综合网 开心五月|7x成人在线入口|成人网站免费日韩毛片区|国产黄片?一级?二级?三级

介紹微軟Windows CE的實時系統(tǒng)

出處:互聯(lián)網(wǎng)    發(fā)布于:2011-09-04 17:25:31

  介紹 Microsoft Windows CE

  Microsoft Windows CE的快速反應(yīng)的嵌入式應(yīng)用常常被用來管理嚴(yán)格的時間反應(yīng)。例如,制造過程控制,高速的數(shù)據(jù)采集設(shè)備,電訊交換設(shè)備,醫(yī)用設(shè)備,空中“有線”控制,武器發(fā)射裝備,空間航行和導(dǎo)航,實驗室,實驗控制,汽車發(fā)動機(jī)控制,機(jī)器人系統(tǒng)。

  為保證這種功能,就意味著不僅需要計算性,還有結(jié)果的時間性,此種應(yīng)用必須在指定的時間參數(shù)內(nèi)做出反應(yīng)。

  實時系統(tǒng)的廣義定義是“對任何外部刺激,計算機(jī)做出及時反應(yīng)是至關(guān)重要的系統(tǒng)”,標(biāo)準(zhǔn)定義在Internet newsgroup corp realtime group中 。實時定義為:一個實時系統(tǒng)它的計算正確性,不僅依靠于計算邏輯上的正確,還包括及時的產(chǎn)生結(jié)果。如果沒有達(dá)到系統(tǒng)時間限制條件,系統(tǒng)也是失效的。

  搞清楚實時系統(tǒng)和實時操作系統(tǒng)(RTOS)的區(qū)別至關(guān)重要。實時系統(tǒng)(Real-time operating system,RTOS)的正確性不僅依賴系統(tǒng)計算的邏輯結(jié)果,還依賴于產(chǎn)生這個結(jié)果的時間。實時系統(tǒng)能夠在指定或者確定的時間內(nèi)完成系統(tǒng)功能和外部或內(nèi)部、同步或異步時間做出響應(yīng)的系統(tǒng)。因此實時系統(tǒng)應(yīng)該在事先定義的時間范圍內(nèi)識別和處理離散事件的能力;系統(tǒng)能夠處理和儲存控制系統(tǒng)所需要的大量數(shù)據(jù)。而實時操作系統(tǒng)(RTOS)是指當(dāng)外界事件或數(shù)據(jù)產(chǎn)生時,能夠接受并以足夠快的速度予以處理,其處理的結(jié)果又能在規(guī)定的時間之內(nèi)來控制生產(chǎn)過程或?qū)μ幚硐到y(tǒng)作出快速響應(yīng),并控制所有實時任務(wù)協(xié)調(diào)一致運(yùn)行的操作系統(tǒng)。因而,提供及時響應(yīng)和高可靠性是其主要特點(diǎn)。實時操作系統(tǒng)有硬實時和軟實時之分,硬實時要求在規(guī)定的時間內(nèi)必須完成操作,這是在操作系統(tǒng)設(shè)計時保證的;軟實時則只要按照任務(wù)的優(yōu)先級,盡可能快地完成操作即可。我們通常使用的操作系統(tǒng)在經(jīng)過一定改變之后就可以變成實時操作系統(tǒng)。實時系統(tǒng)代表所有系統(tǒng)組成設(shè)備——硬件,操作系統(tǒng)和應(yīng)用——它需要達(dá)到系統(tǒng)的要求,實時操作系統(tǒng)(RTOS)只是整個實時系統(tǒng)的一個組成部分,它必須提供足夠的功能以確保整個實時系統(tǒng)達(dá)到要求。

  同樣,搞清快速操作系統(tǒng)和實時操作系統(tǒng)之間區(qū)別,也很重要,對于一個RTOS雖然達(dá)到全面要求十分有用,但并不是它自己達(dá)到這種要求。Internet neusgronp cornp.realtime列舉了作為一個實時操作系統(tǒng),必須達(dá)到以下要求:OS(操作系統(tǒng))必須是多線程和優(yōu)先級之分,且必須支持線程優(yōu)先級;必須存在一個優(yōu)先級繼承的系統(tǒng);OS必須支持可預(yù)測的線程,同步發(fā)送機(jī)理;

  另外,OS的行為必須是可預(yù)測的,這意味實時系統(tǒng)的開發(fā)者必須對系統(tǒng)中斷級,系統(tǒng)調(diào)用和分時了如指掌:

  必須知道OS和設(shè)備驅(qū)動器的中數(shù)據(jù)匹配時間。

  設(shè)備驅(qū)動器用來處理一個中斷時間和關(guān)于這些驅(qū)動器的中斷申請信息必須清楚。

  中斷響應(yīng)(從中斷到運(yùn)行時間),必須可預(yù)測并滿足功能要求。

  每次系統(tǒng)調(diào)用時間必須可以預(yù)測,并且獨(dú)立于系統(tǒng)的對象數(shù)目。本篇論文論述了微軟Windows CE 操作系統(tǒng)是如何達(dá)到一個實時系統(tǒng)的要求,更有意義的是,Windows CE 保證一個時間的上限,它在收到中斷后開始一個實時的優(yōu)先級線程。本論文論述了對特定參考平臺的中數(shù)據(jù)響應(yīng)時間,參考為有 Hinathi SH3 的微處理器的 “Odo” 平臺。

  Microsoft Windows CE 概論

  Windows CE作業(yè)系統(tǒng)是Windows家族中的成員,專門設(shè)計給掌上型電腦(HPCs)所使用的電腦環(huán)境。這樣的作業(yè)系統(tǒng)可使完整的可攜式技術(shù)與現(xiàn)有的Windows桌面技術(shù)整合工作。 Windows CE 被設(shè)計成針對小型設(shè)備(它是典型的擁有有限內(nèi)存的無磁盤系統(tǒng))的通用操作系統(tǒng),Windows CE 可以通過設(shè)計一層位于內(nèi)核和硬件之間代碼來用設(shè)定硬件平臺,這即是眾所周知的硬件抽象層(HAL)(在以前解釋時,這被稱為 OEMC (原始設(shè)備制造)適應(yīng)層,即 OAL; 內(nèi)核壓縮層,即 KAL。 以免與微軟的 Windows NT 操作系統(tǒng) HAL 混淆)。

  不象其它的微軟 Windows 操作系統(tǒng),Windows CE 并不是代表一個標(biāo)準(zhǔn)的相同的對所有平臺適用的軟件。為了足夠靈活以達(dá)到適應(yīng)廣泛產(chǎn)品需求, Windows CE 采用標(biāo)準(zhǔn)模式,這就意味著,它能夠由一系列軟件模式做出選擇,從而使產(chǎn)品定制。另外,一些可利用模式也可作為其組成部分,這意味著這些模式能夠通過從一套可利用的組份做出選擇,從而成為標(biāo)準(zhǔn)模式,通過選擇,能夠達(dá)到系統(tǒng)要求的模式, OEM 能夠減少存儲腳本和操作系統(tǒng)的運(yùn)行。   Windows CE中的C代表袖珍(Compact)、消費(fèi)(Consumer)、通信能力(Connectivity)和伴侶(Companion);E代表電子產(chǎn)品(Electronics)。與Windows 95/98、Windows NT不同的是,Windows CE是所有源代碼全部由微軟自行開發(fā)的嵌入式新型操作系統(tǒng),其操作界面雖來源于Windows 95/98,但Windows CE是基于WIN32 API重新開發(fā)、新型的信息設(shè)備的平臺。Windows CE具有模塊化、結(jié)構(gòu)化和基于Win32應(yīng)用程序接口和與處理器無關(guān)等特點(diǎn)。Windows CE不僅繼承了傳統(tǒng)的Windows圖形界面,并且在Windows CE平臺上可以使用Windows 95/98上的編程工具(如Visual Basic、Visual C++等)、使用同樣的函數(shù)、使用同樣的界面風(fēng)格,使絕大多數(shù)的應(yīng)用軟件只需簡單的修改和移植就可以在Windows CE平臺上繼續(xù)使用。Windows CE并非是專為單一裝置設(shè)計的,所以微軟為旗下采用Windows CE作業(yè)系統(tǒng)的產(chǎn)品大致分為三條產(chǎn)品線,Pocket PC(掌上電腦)、Handheld PC(手持設(shè)備)及Auto PC。

  Windows CE 關(guān)于 VC 5.0 開發(fā)系統(tǒng)嵌入式工具包,提供系統(tǒng)庫、工具、文本和樣本代碼,以使 OEMS 能夠?qū)μ囟ǖ挠布脚_使 Windows CE 標(biāo)準(zhǔn)定制。嵌入式工具包也包括設(shè)備驅(qū)動包(DDK)和軟件開發(fā)包(SDK) ,DDK 提供了關(guān)于寫驅(qū)動器的附加文本,SDK 提供庫、頭文件、樣本代碼、文本以允許,開發(fā)者對基于 Windows CE 的平臺進(jìn)行寫操作。 Windows CE 提供了相同的程序界面,以用來為其它的視窗操作系統(tǒng)開發(fā)功能,例如,Windows CE 版本 1.01支持大約1000個微軟的Win 32 API 函數(shù)的其中500個。這就意味著大量不同類的工具,第三方書籍,關(guān)于 Win 32 開發(fā)者訓(xùn)練教程,可以替代或為 Windows CE 系統(tǒng)的開發(fā)者所用。

  實時系統(tǒng)的開發(fā)者能夠使用,關(guān)于VDFF 5.0 的嵌入式工具包,以把操作系統(tǒng)轉(zhuǎn)移到特定的平臺,并為這個平臺開發(fā)附加設(shè)備驅(qū)動器和實時功能。

  線程和線程優(yōu)先權(quán)級

  Windows CE 是有優(yōu)先級的多任務(wù)操作系統(tǒng),它允許多重功能、進(jìn)程,在相同時間系統(tǒng)中運(yùn)行 Windows CE 支持的 32 位同步進(jìn)程。一個進(jìn)程包括一個或多個線程,每個線程代表進(jìn)程的一個獨(dú)立部分,一個線程被指定為進(jìn)程的基本線程,進(jìn)程也能創(chuàng)造一個未定數(shù)目的額外線程,額外線程實際數(shù)目,僅由可利用的系統(tǒng)資源限定。

  Windows CE 利用基于優(yōu)先級的時間片演算法以安排線程的執(zhí)行,Windows CE 支持八個不同的優(yōu)先級,由0到7,0代表,它在頭文件 Winbasw.h中定義。

 優(yōu)先級  描述
 0  關(guān)鍵進(jìn)程所使用的優(yōu)先級,是別,相當(dāng)于Windows里的Ring0
 1  ?線程優(yōu)先級,比0級優(yōu)先級低
 2  高于通常的線程優(yōu)先級,常為較底層的進(jìn)程所使用
 3  通常線程優(yōu)先級,比較基礎(chǔ)
 4  低于常規(guī)線程優(yōu)先級,有時候會被后臺線程用到
 5  ?線程優(yōu)先級
 6  高于IDLE的線程優(yōu)先級
 7  級別的線程優(yōu)先級

  級別0和1通常做為實時過程和設(shè)備驅(qū)動器,級別2-4做為線程和通常功能,級別5-7做為是低于其它功能級別,注意級別6是目前狀態(tài)并有穩(wěn)定聯(lián)接。

  優(yōu)先權(quán)的取決于線程優(yōu)先級,擁有優(yōu)先權(quán)的線程安排優(yōu)先運(yùn)行,同一優(yōu)先級的線程,以循環(huán)優(yōu)先先級方式運(yùn)行,即每個線程接受定制的時間或時間片,定量時間默認(rèn)值為25毫秒 (Windows CE 2.0 支持在 MIPS 平臺更改定量時間)。較低優(yōu)先權(quán)的線程,要直到較線程完成之后再運(yùn)行,也即直到他們或者放棄或停止。一個重要的例外是優(yōu)先級的線程(級別0,關(guān)鍵時間優(yōu)先級)不與其它的線程共享時間片,這些線程連續(xù)執(zhí)行直到他們完成。不象其它的微軟窗操作系統(tǒng),Windows CE 是固定不能改變,它不匹配基于這引進(jìn)優(yōu)先級的中斷,他們能夠暫時改動,但僅能通過 Windows CE 內(nèi)核以避免所謂的的“優(yōu)先權(quán)倒置”。

  優(yōu)先權(quán)倒置指的是當(dāng)它們同時競爭同一資源時,低優(yōu)先級的線程,阻礙了高優(yōu)先權(quán)線程對資源的利用。為了改正這種局面并解放較高優(yōu)先權(quán)的線程,Windows CE 允許低級優(yōu)先權(quán)繼承,嚴(yán)格的線程優(yōu)先權(quán),并且運(yùn)行較高優(yōu)先級直到它釋放所用資源。

  例如,如果一個線程在優(yōu)先權(quán)運(yùn)行試圖蕕取由低級優(yōu)先權(quán)占有的互斥體,低級優(yōu)先權(quán)的線程變成優(yōu)先權(quán),并且運(yùn)行直到它釋放互斥體。優(yōu)先權(quán)倒置適用于系統(tǒng)的所有線程。例如,甚至在優(yōu)先級別1運(yùn)行的內(nèi)核線程能轉(zhuǎn)成級別0,如果優(yōu)先級0線程運(yùn)行內(nèi)存分頁代碼,將引起塊失誤。

  基于優(yōu)先級的多任務(wù)設(shè)計,保證運(yùn)行在級的線程在一個預(yù)所知時間段執(zhí)行。本論文在后面討論設(shè)定響應(yīng),對于指定的平臺和公式,并由其它的平臺獲取數(shù)字。在 DAK 和 SDK 的工具,顯示了線程狀態(tài)和優(yōu)先級別,并描繪指定實時系統(tǒng)操作輪廓。

  線程同步

  實時系統(tǒng)必須保證進(jìn)程和線程同步,例如,如果實時應(yīng)用的一部分在另一部分獲得多當(dāng)前數(shù)據(jù)前即完成,此應(yīng)用的管理進(jìn)程可能不穩(wěn)定,同步將確保在應(yīng)用線程間交換正確。

  如同其它的 Windows 操作系統(tǒng)一樣,Windows CE 為線程同步提供了一個豐富的“等待對象”,這包括關(guān)鍵部門、事件、互斥體,些等待對象,允許一個線程減緩它的運(yùn)行并且等待直到指定事件發(fā)生。

  Windows CE 將互斥體、關(guān)鍵部分、事件請求按“先入先出,優(yōu)先級(FIFO)”順序排列:不同的先入先出順序序列定義成八個不同的優(yōu)先級,在給定的優(yōu)稱級的線程請求,將被放在優(yōu)先級列表末尾,當(dāng)優(yōu)先級倒置出現(xiàn)時,調(diào)度程序調(diào)整這些序列。

  除了等待對象,Windows CE 支持標(biāo)準(zhǔn)的 Win 32 時間 API 函數(shù),這些來自內(nèi)核的應(yīng)用,軟件中斷將獲得時間間隔,它被用來管理實時應(yīng)用。通過調(diào)用 GetTickCont 函數(shù),它能夠返回幾毫秒,線程能夠使用系統(tǒng)間隔時間。關(guān)于更詳細(xì)的分時信息,Windows CE 內(nèi)核也支持Win 32 API 函數(shù)QueryPerformanreCounter 和 QueryPerFormanteFrequency 。OEM 必須為這些調(diào)用提供硬件和軟件支持,它提供一個較高的時間分辨力和 OAL 界面其它方面。

  其它方面考慮

  Windows CE 提供了一個重要的存儲系統(tǒng),例如,當(dāng)目前某些運(yùn)行 Windows CE 的平臺提供 4MB 的物理內(nèi)存,Windows CE 支持一個重要的 2GB 的地址空間,每個進(jìn)程聯(lián)接在它自己的32MB 物理空間上,當(dāng)它需要產(chǎn)生內(nèi)存分頁中斷(這可能影響線程執(zhí)行時間),物理內(nèi)存進(jìn)行線程代碼或數(shù)據(jù)內(nèi)存分頁。

  內(nèi)存分頁輸入輸出,將比實時進(jìn)程優(yōu)先級低。在實時進(jìn)程中內(nèi)存分頁仍可自由出現(xiàn),但這要確保后臺的實際內(nèi)存管理贏得實時系統(tǒng)優(yōu)先權(quán)。

  實時線程應(yīng)該鎖存在內(nèi)存中,以防止這些無關(guān)緊要的內(nèi)存分頁阻礙其運(yùn)行,它們可能會占用實際內(nèi)存管理系統(tǒng)。

  Windows CE 允許映射,這將陰止多個進(jìn)程共享同一物理內(nèi)存,結(jié)果將會導(dǎo)致協(xié)同進(jìn)程間或驅(qū)動器與映射快速的數(shù)據(jù)傳送,內(nèi)存映射能夠戲劇性的增強(qiáng)實時操作。

  中斷處理: IRQS ISRS 和 ISTS

  實時應(yīng)用被設(shè)立在指定的時間間隔內(nèi),對外部事件做出反應(yīng),實時應(yīng)用使用中斷做為一種確保外部事件由操作系統(tǒng)獲知的方式。在 Windows 中,內(nèi)核和 OEM 適應(yīng)層 (OAL)被設(shè)定成使系統(tǒng)其它部分的中斷和調(diào)度化。Windows CE 平衡操作,并通過把中斷過程分成兩部分而使執(zhí)行更加容易:它分為中斷服務(wù)程序(ISR)和中斷服務(wù)線程(IST)兩部分。

  每條硬件中斷申請線(IRQ),與一個ISR相連。當(dāng)中斷成立和中斷出現(xiàn)時,內(nèi)核為此調(diào)用寄存的 ISR, ISR 為中斷處理的內(nèi)核模式部分盡可能短的保存。它首先將內(nèi)核放在適合的 IST 上。

  ISR 執(zhí)行它的處理并返回一個 ID 號到內(nèi)核,內(nèi)核檢查返回的中斷 ID 號,并設(shè)置相關(guān)事件,中斷服務(wù)線程等待事件。當(dāng)內(nèi)核設(shè)置事件時,IST 停止等待并開始執(zhí)行,附加的中斷進(jìn)程,中斷處理大部分實際上出現(xiàn)在 IST 中,兩個的線程優(yōu)先權(quán) (級別0和1),通常指定為 ISTS,保證這些線程運(yùn)行得足夠快。

  正如前面所說,處在的 ISTS 不能被其它的線程占用,這些線程持續(xù)執(zhí)行直到它們截止或放棄。

  Windows CE 不能支持群體中斷,這就意味著當(dāng)以前一個中斷處理中,另一個不同接受服務(wù),也就是當(dāng)內(nèi)核位于 ISR 時如果中斷出現(xiàn),在為新的 IRQ 開始 ISR 前它將一直執(zhí)行直到ISR 結(jié)束,這將引起硬件中斷和 ISR 開始之間的延遲,拖延和響應(yīng)時間中斷響應(yīng)。

  中斷響應(yīng)

  本論文中,Intervupt Latency 詞組主要指的是較件中斷,處理響應(yīng),也即是從處部中斷到達(dá)處理器到中斷開始處理間的時間。

  Windows CE 中斷響應(yīng)時間是針對鎖存在內(nèi)存上的線程 (當(dāng)內(nèi)存響應(yīng)不存在時)。這使得計算差事件響應(yīng)成為可能——中斷服務(wù)程序(ISR) 開始和中斷服務(wù)線程(IST)開始D的總時間,直到中斷處理的總時間能夠通ISR 和 IST 中所需時間計算決定。

  ISR 響應(yīng)通用公式定義如下:

  ISR開始時間 = value1 dISR_Current sum(dISR_Higher)

  value1=由內(nèi)核處理過程獲得響應(yīng)值

  dISR_Current=中斷到達(dá)時程序中 ISR 持續(xù)時間。這個值范圍由0到系統(tǒng)中長的 ISR 持續(xù)時間

  sum(dISR_Higher)=所有在 ISR 開始前的較ISRS 持續(xù)時間總和,即在時間 vahe1 dISR-cumeneu間到達(dá)的中斷

  例如,考慮一個擁有關(guān)鍵優(yōu)先權(quán) ISR 的嵌入式系統(tǒng),因為 ISR 被設(shè)成,這有樣 ISRS dISR-Higher 值為0。當(dāng)沒有其它 ISRS 響應(yīng),在程序中,即為value1 響應(yīng)即為value1加系統(tǒng)中長 ISR 周期,當(dāng)中斷到達(dá)時,正是系統(tǒng)中長的 ISR 開始執(zhí)行。

  IST 響應(yīng)周期定義如下:

  IST開始時間 = value2 sum(dIST) sum(dISR)

  value2=由內(nèi)核處理的響應(yīng)值

  sum(dIST)=所有的出現(xiàn)在 ISR 和 IST ,開始的優(yōu)先級 ISTS 和線程上下文轉(zhuǎn)換時間總和。

  sum(dISR)=在中斷(?) ISR 和它的 IST 之間運(yùn)行的其它 ISRS 持續(xù)時間總和。

  簡單的例子——具有一個關(guān)鍵級 ISR 和一個關(guān)鍵級線程(無其它0優(yōu)先級的線程)的嵌入式系統(tǒng)——沒有其它的 ISTS 能夠在ISR 和 IST 之間中斷,然而在關(guān)鍵級的 ISR 和它相關(guān)的 IST 開始間其它的 ISRS 能被處理。

  因為 ISRS 一旦能夠獲得,即可被處理,很容易想象成病態(tài)情況,涉及產(chǎn)生一個持續(xù)的 ISRS 流,從而產(chǎn)生不確定的推遲。 IST 的開始不可能出現(xiàn),因為 OEM對系統(tǒng)中的中斷完成控制。因為 OEM (原始設(shè)備制造商)為特定操作系統(tǒng)設(shè)計傳統(tǒng) Windows CE 版本。 OCM 利用目標(biāo)操作環(huán)境限制使系統(tǒng)設(shè)計化。

  為減少響應(yīng)時間,OEM 控制 ISR 和IST 處理時間中斷優(yōu)先級線程優(yōu)先級。公式中的 value1 和 walue2 代表,Windows CE 內(nèi)核中處理時間,這是 OEM 不能控制的目前的在分時,研究工作涉及這些確認(rèn)值。

  確保Windows CE的實時操作

  兩種不同途徑被用來確保Windows CE操作:

  由Windows CE開發(fā)組進(jìn)行內(nèi)部的檢查或分析內(nèi)核代碼,

  OEM和ISV(獨(dú)立軟件銷售商)利用一些將在未來的Windows CE版本嵌入式工具包(for VCFT)提供工具來確保特定配置。

  Windows CE關(guān)于VC 的嵌入工具包包括以下工具:

 ?。ㄒ粋€對于分時研究的內(nèi)核的工具版本和Intrtinrt.ext應(yīng)用軟件來觀察,中斷過程的、、平均時間。

  微軟也能開發(fā)其它的針對顧客需要的分時工具。

  Windows CE開發(fā)組,已經(jīng)檢查了內(nèi)核代碼以證實它能由差的情況時間表征,它是獨(dú)立于系統(tǒng)對象數(shù)目的。

  為了利用這個檢查,內(nèi)核被表征成一套KCALLS或系統(tǒng)調(diào)用,在內(nèi)核關(guān)閉優(yōu)先權(quán)是它們是內(nèi)核程序,并且不允許其它的線程運(yùn)行,差事件時間,此時,實時進(jìn)程、標(biāo)止運(yùn)行,它能在內(nèi)核中表征成差事件KCALL時間(注意:這些時間不影響ISRS,只影響線程,例如ISTS)。

  開發(fā)組通過檢查發(fā)現(xiàn)這沒有非持久的循環(huán)在KCALLS,這意味著:并所有的KCALLS能夠表示成單向分支,代碼路徑,并確保通過KCALL并獨(dú)立于輸入?yún)?shù)發(fā)現(xiàn)差事件時間成為可能。

  查找實際的差事件時間包括使用In strum ented kemal,這僅是一個內(nèi)核版本,它在設(shè)定應(yīng)用環(huán)境后編輯使用,KCALL_PROFICE=1,以保證額外的分時功能,這個instrumented kemel 與debug kemel不同,Instrument ted是為一個零售的內(nèi)核使用,它用來獲得分時值,這常對于裝運(yùn)產(chǎn)品常常諱之莫深,在retail kernal和instrumented kernel區(qū)別是它的裝備。

  Instrumentted kernel記錄所有的KCALL時間,這些值,包括、和平均時間,并能夠通過調(diào)用專用的API函數(shù)Dum Pk call profile打印到調(diào)試接口,Instrumented kernel通常運(yùn)行在強(qiáng)狀態(tài)下,然后調(diào)用Dumpkcall prefile來獲得時間。

  中斷測試應(yīng)用軟件Intrtime.exe,在Windows CE標(biāo)準(zhǔn)版本收集中斷分時延遲信息,應(yīng)用軟件在測試中控制系統(tǒng)時間。因此,當(dāng)系統(tǒng)需要時間控制器時,是不合適使用的。例如,此應(yīng)用程序不能與內(nèi)核instrumented版本一起使用,因為它也需要時間控制。

  在Windows CE 2版(Beta版)測試響應(yīng)

  Intertime應(yīng)用軟件在odoSH3參考平臺上運(yùn)行1000次中斷測試,內(nèi)部運(yùn)行58.98Mhz,外部為14.745Mhz外部頻率,這個測試在一個標(biāo)準(zhǔn)的H/PC配置,它包括Windows CE所有模式和組合。僅有主操作系統(tǒng)進(jìn)程進(jìn)行(NK.exe, Filesys.exe, Gwes.exe, Device. EXE, Shell.EXE和Explover.EXE),在測試中無用戶初始中斷(觸摸屏、鍵盤或其它應(yīng)用),應(yīng)用軟件可下面的ISR和IST開始、和時間:

  響應(yīng) 、值(1000次測試)

  ISR開始 1.3-7.5微秒

  IST開始 93-275微秒

  大多數(shù)測試結(jié)果,分布在值數(shù)值附近,當(dāng)測試ISR開始時間時,值1.3和1.6微秒,出現(xiàn)了293和549次,共占測試的84%,類似的超過90%的(1000次中923)start-of-IST測試出響應(yīng)為102微秒或少一些。

  Intertime應(yīng)用軟件也使用一個用戶指定數(shù)目的系統(tǒng)對象來測試ISR和IST開始時間。雖然工作十分初級,但它驗證了ISR開始時間與系統(tǒng)對象數(shù)目無關(guān),測試設(shè)為1000次(除了特別更改)并且線程優(yōu)先權(quán)為5或7。

  ISR開始值 后臺線程、數(shù)目(每個線程一個事件) 優(yōu)先級

  8.4 0 7

  8.6 5(注:僅100次) 7

  9.0 10(注:僅100次) 5

  14.8 10 5

  19.2 10 5

  17.0 10 7

  12.8 20 5

  11.0 20(注:僅100次) 7

  10.0 50 7

  15.0 100 5

  15.6 100 7

  這數(shù)值不是系統(tǒng)對象數(shù)目的函數(shù),不同的值可能由于中斷出現(xiàn)時內(nèi)核狀態(tài),開發(fā)組目前正在研究以鑒定ISR開始差時間值。

  由這些結(jié)果向回推,假定ISR開始值代表情況。此時,dISR_Current和Sum(dISR_Htgbor)為0,的value 1=ISR開始值=1.3微秒,類似的設(shè)定情況時,Sum(dIST)和Sum(dISR)為0,Value值=.IST開始值=93微秒,單從測驗結(jié)果看,它是不能確定,valume 1或value 2值。

  附加的分時信息能夠由instrumented kernel 收集,對于一個差情況在IST開始前花費(fèi)時間valume2,能由下列公式計算:

  Value2=dkCall dNextThread

  dKcall=.內(nèi)核調(diào)用時間;當(dāng)消除優(yōu)先級時,花費(fèi)在內(nèi)核的一部分時間量。

  DNextThread=Next.Thread內(nèi)核調(diào)用時期?;ㄙM(fèi)在IST中時間量。

  實際上,在0級別線程調(diào)度要比Next Thread調(diào)用快,但此公式能估計出上限。

  下面表格顯示了用instrumented Kernel進(jìn)行初步測試時差事件結(jié)果,這些測試條件與Intrtime測試相同。

  內(nèi)核調(diào)用模型 值(ad-hoc.testing)

  時間值(所用內(nèi)核調(diào)用) 266微秒(Learecrite)

  Next Thread 237微秒

  總值 503微秒

  Instrumented kernel顯示這些條件下value 2上限為500微秒。這個值為兩個差事件總時間,遠(yuǎn)遠(yuǎn)超過了由Intritime應(yīng)用程序得到的結(jié)果,也大于實際差事件時間。例如:通過Nextthread調(diào)度一個優(yōu)先級為0的線程,不會導(dǎo)致差事件,這意味著500微秒是一個高于實際的差事件值的保守值。

  Intertime Utility對于從總體上觀察差事件值十分有用,Instrumentted Kemel對于獲得可能差事件的值,通過內(nèi)核描繪出所有響應(yīng)原因——一個IST在這些事件運(yùn)行,但在內(nèi)核非優(yōu)先部分運(yùn)行執(zhí)行時,將受阻礙,系統(tǒng)的差事件響應(yīng)可由每一部分的差事件總和計算。

  注意本論文中所有測試結(jié)果均基于內(nèi)部Windows CE的beta版,目前存在的操作系統(tǒng)和應(yīng)用將繼續(xù)得到修正,并且進(jìn)行附加測試以獲得在不同操作條件下系統(tǒng)操作,這些數(shù)值將繼續(xù)被更新并出版,以反思目前的操作系統(tǒng)版本。

  Windows CE的主要特色

  增進(jìn)工作的產(chǎn)能和效率通訊錄,日歷行程,工作管理,時鐘,計算機(jī),Windows檔案總管可攜式應(yīng)用軟體--Microsoft Pocket Excel與Microsoft Pocket Word控制臺--管理控制Windows CE與辦公室PC的連結(jié)--在您的桌上型與可攜式的辦公室間轉(zhuǎn)移資料與他人通訊--可透過電子郵件及紅外線無線電通訊,與其他手?jǐn)y式設(shè)備交換資料利用可攜式Internet Explorer遨游網(wǎng)絡(luò)想要并使你的HPC達(dá)到的功用。

  Windows CE的使用從隨時隨地的使用電腦及口袋中藏著PC,到智慧型家電用品及豐富的多媒體家庭劇院,Microsoft Windows CE為工作、家庭及其間的任何一點(diǎn)開啟了動態(tài)的、嶄新的開發(fā)遠(yuǎn)景。這個模組化、可自訂的作業(yè)系統(tǒng)將Windows平臺延伸到桌面之外,到達(dá)更小、更機(jī)動性、更特別的裝置之上,然而它的Windows血統(tǒng)則確保了它的相容性,并且支援了更廣泛的開發(fā)基礎(chǔ)?!窶ICROSOFT WINDOWS CE」揭露了革命性的系統(tǒng)架構(gòu),可以讓身為開發(fā)者或科技的您,擴(kuò)展消費(fèi)者及工業(yè)電子上的新市場,其中包括了:

  手握式PC手掌式PC車用電腦網(wǎng)絡(luò)電視網(wǎng)絡(luò)電話DVD及多媒體裝置未公開及未發(fā)現(xiàn)的秘密!您也將會發(fā)現(xiàn)觀念性的架構(gòu)來幫助您來了解您的設(shè)計選擇,并看到真實世界的范例,為您展現(xiàn)此一卓越作業(yè)系統(tǒng)的彈性及潛力。

  在WinCE中創(chuàng)建自己的快捷方式

  快捷方式或稱(。lnk)文件是可以提供到其他文件鏈接的很小的文件,你可以使用。lnk文件指向位于Windows文件夾中的文件。

  如果你不使用。lnk文件,你只能通過文件系統(tǒng)文件(。dat)在ROM之外制作Windows文件夾下的文件的完全復(fù)本。

  以下步驟列出了如何創(chuàng)建一個桌面快捷方式。當(dāng)你創(chuàng)建了這個文件以后,你需要把它加入到運(yùn)行時的image里,在大多數(shù)情況下,你需要把這個文件復(fù)制到Windows系統(tǒng)以外的地方。

  創(chuàng)建一個桌面快捷方式的方法如下:

  1、從Platform Builder中的File菜單選擇New Project or File

  2、在New Project or File對話框中選擇Files標(biāo)簽

  3、選擇Text File類型

  4、在File name文本框中,輸入<File Name>.lnk,其中<File Name>可根據(jù)需要輸入,下同。這樣,一個新文件就被創(chuàng)建并打開了

  5、在<File Name>.lnk中,輸入鏈接命令

  .lnk文件是一個包含了命令行和被鏈接目標(biāo)的文本文件,它有一個命令行長度部分和一個命令行。你也可以通過參數(shù)傳遞給被鏈接的目標(biāo),這是可選的。然而,如果快捷方式模塊在Coredll中被替換了,那么這個行為也可能會被改變。

  作為默認(rèn)的,一個。lnk文件使用如下的格式。

  [后面命令行和參數(shù)的ASCII字符串的長度]#[命令行[參數(shù)]]

  舉個例子,要能過兩個參數(shù)運(yùn)行你的MyApp.exe程序,一個MyApp.lnk文件內(nèi)可包含這個語句:

  40#\Windows\MyApp.exe parameter1 parameter2

  6、從File菜單中選擇Save As

  7、把這個文件保存在BSP的OAK部分以便于編譯進(jìn)操作系統(tǒng)image中。使用Save As對話框?qū)Ш降?_WINCEROOT%\public\<Platform Name>\<Windows CE Version>\<BSP Name>\OAK\Files并且選擇Save

  你已經(jīng)創(chuàng)建了快捷方式文件,你現(xiàn)在可以通過編輯Project.bib把它加入到OS中,或者添加到你的平臺組件樹中。如果是前者,只需打開Project.bib文件并且在FILES段中加入如下一行代碼:

  MyApp.LNK $(_FLATREL

  EASEDIR)\MyApp.LNK NK S

  在這個例子中,MyApp.LNK被放入NK的內(nèi)存塊中,可選的參數(shù)S把它定義成系統(tǒng)文件屬性。

  總結(jié)

  本文介紹微軟Windows CE內(nèi)核設(shè)計以達(dá)到RTOS要求,以使Windows CE用在許多不同類型的嵌入式和實時系統(tǒng)作為操作系統(tǒng);Windows CE擁有多線程和優(yōu)先級,而且支持個人線程優(yōu)先級;Windows CE支持優(yōu)先權(quán)繼承程序,以便調(diào)整優(yōu)銜級別以修改優(yōu)先權(quán)顛倒;Windows CE支持一個可預(yù)測的線程同步機(jī)理,包括等待對象,如互斥體關(guān)鍵部分,命名或未命名的事件對象,它基于線程優(yōu)先權(quán)排序。Windows CE也支持與系統(tǒng)控制器的聯(lián)連:OEM能夠控制類由系統(tǒng)支持的中斷處理,即通過執(zhí)行ISRS和ISTS,它可彌補(bǔ)中斷處理軟件;OEM完成在所有映射到中斷ID號的IRQS,并且它與中斷處理軟件相聯(lián)系(ISR和IST),描繪工具和應(yīng)用軟件可以利用記錄處理中斷時間。中斷響應(yīng)是可預(yù)測和有限制的,當(dāng)優(yōu)先權(quán)取消時,上限即為花費(fèi)在內(nèi)核中時間總量,匹配轉(zhuǎn)化時間,和由OEM執(zhí)行的ISRS和ISTS申請?zhí)幚頃r間。每個系統(tǒng)調(diào)用的時間是可預(yù)測的,并與系統(tǒng)對象數(shù)目無關(guān)。利用 instrumentted kernel系統(tǒng)調(diào)用時間能夠保證Windows CE內(nèi)核設(shè)計保證中斷和它們相關(guān)線。

  實時操作系統(tǒng)的相關(guān)概念

  (1)基本概念

  代碼臨界段:指處理時不可分割的代碼。一旦這部分代碼開始執(zhí)行則不允許中斷打入;資源:任何為任務(wù)所占用的實體;共享資源:可以被一個以上任務(wù)使用的資源;任務(wù):也稱作一個線程,是一個簡單的程序。每個任務(wù)被賦予一定的優(yōu)先級,有它自己的一套CPU寄存器和自己的??臻g。典型地,每個任務(wù)都是一個無限的循環(huán),每個任務(wù)都處在以下五個狀態(tài)下:休眠態(tài),就緒態(tài),運(yùn)行態(tài),掛起態(tài),被中斷態(tài);任務(wù)切換:將正在運(yùn)行任務(wù)的當(dāng)前狀態(tài)(CPU寄存器中的全部內(nèi)容)保存在任務(wù)自己的棧區(qū),然后把下一個將要運(yùn)行的任務(wù)的當(dāng)前狀態(tài)從該任務(wù)的棧中重新裝入CPU的寄存器,并開始下一個任務(wù)的運(yùn)行;   內(nèi)核:負(fù)責(zé)管理各個任務(wù),為每個任務(wù)分配CPU時間,并負(fù)責(zé)任務(wù)之間通訊。分為不可剝奪型內(nèi)核和可剝奪型內(nèi)核;調(diào)度:內(nèi)核的主要職責(zé)之一,決定輪到哪個任務(wù)運(yùn)行。一般基于優(yōu)先級調(diào)度法;

  (2)關(guān)于優(yōu)先級的問題

  任務(wù)優(yōu)先級:分為優(yōu)先級不可改變的靜態(tài)優(yōu)先級和優(yōu)先級可改變的動態(tài)優(yōu)先級;優(yōu)先級反轉(zhuǎn):優(yōu)先級反轉(zhuǎn)問題是實時系統(tǒng)中出現(xiàn)多的問題。共享資源的分配可導(dǎo)致優(yōu)先級低的任務(wù)先運(yùn)行,優(yōu)先級高的任務(wù)后運(yùn)行。解決的辦法是使用“優(yōu)先級繼承”算法來臨時改變?nèi)蝿?wù)優(yōu)先級,以遏制優(yōu)先級反轉(zhuǎn)。

  (3)互斥

  雖然共享數(shù)據(jù)區(qū)簡化了任務(wù)之間的信息交換,但是必須保證每個任務(wù)在處理共享共享數(shù)據(jù)時的排他性。使之滿足互斥條件的一般方法有:關(guān)中斷,使用測試并置位指令(TAS),禁止做任務(wù)切換,利用信號量。因為采用實時操作系統(tǒng)的意義就在于能夠及時處理各種突發(fā)的事件,即處理各種中斷,因而衡量嵌入式實時操作系統(tǒng)的主要、有代表性的性能指標(biāo)參數(shù)無疑應(yīng)該是中斷響應(yīng)時間了。中斷響應(yīng)時間通常被定義為:中斷響應(yīng)時間=中斷延遲時間+保存CPU狀態(tài)的時間+該內(nèi)核的ISR進(jìn)入函數(shù)的執(zhí)行時間。中斷延遲時間=MAX(關(guān)中斷的長時間,長指令時間) + 開始執(zhí)行ISR的條指令的時間。


  

版權(quán)與免責(zé)聲明

凡本網(wǎng)注明“出處:維庫電子市場網(wǎng)”的所有作品,版權(quán)均屬于維庫電子市場網(wǎng),轉(zhuǎn)載請必須注明維庫電子市場網(wǎng),http://m.58mhw.cn,違反者本網(wǎng)將追究相關(guān)法律責(zé)任。

本網(wǎng)轉(zhuǎn)載并注明自其它出處的作品,目的在于傳遞更多信息,并不代表本網(wǎng)贊同其觀點(diǎn)或證實其內(nèi)容的真實性,不承擔(dān)此類作品侵權(quán)行為的直接責(zé)任及連帶責(zé)任。其他媒體、網(wǎng)站或個人從本網(wǎng)轉(zhuǎn)載時,必須保留本網(wǎng)注明的作品出處,并自負(fù)版權(quán)等法律責(zé)任。

如涉及作品內(nèi)容、版權(quán)等問題,請在作品發(fā)表之日起一周內(nèi)與本網(wǎng)聯(lián)系,否則視為放棄相關(guān)權(quán)利。

廣告
OEM清單文件: OEM清單文件
*公司名:
*聯(lián)系人:
*手機(jī)號碼:
QQ:
有效期:

掃碼下載APP,
一鍵連接廣大的電子世界。

在線人工客服

買家服務(wù):
賣家服務(wù):
技術(shù)客服:

0571-85317607

網(wǎng)站技術(shù)支持

13606545031

客服在線時間周一至周五
9:00-17:30

關(guān)注官方微信號,
第一時間獲取資訊。

建議反饋

聯(lián)系人:

聯(lián)系方式:

按住滑塊,拖拽到最右邊
>>
感謝您向阿庫提出的寶貴意見,您的參與是維庫提升服務(wù)的動力!意見一經(jīng)采納,將有感恩紅包奉上哦!