自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

Windows Embedded CE 6.0特性及系統(tǒng)結(jié)構(gòu)

開發(fā)
文章是對(duì)部分內(nèi)核知識(shí)的整理和總結(jié),Windows Embedded CE 6.0是非常優(yōu)秀的嵌入式系統(tǒng),對(duì)其內(nèi)核的學(xué)習(xí)對(duì)我們開發(fā)、移植驅(qū)動(dòng)和應(yīng)用程序,對(duì)開發(fā)、移植嵌入式系統(tǒng)都非常有好處。

Windows Embedded CE 6.0是非常優(yōu)秀的嵌入式系統(tǒng),對(duì)其內(nèi)核的學(xué)習(xí)對(duì)我們開發(fā)、移植驅(qū)動(dòng)和應(yīng)用程序,對(duì)開發(fā)、移植嵌入式系統(tǒng)都非常有好處。

1.Windows Embedded CE 6.0系統(tǒng)的一些關(guān)鍵特性

◆32位多任務(wù)操作系統(tǒng)。
◆多任務(wù)搶占、硬實(shí)時(shí)。
◆支持的處理器體系結(jié)構(gòu):ARM, x86, SH4, MIPS。
◆組件化。
◆Based on Win32 API Set,桌面系統(tǒng)的一個(gè)擴(kuò)展子集,超過(guò)2000個(gè)函數(shù)可以使用。
◆標(biāo)準(zhǔn)的Portable Executable(PE)文件格式。

另外需要注意的是Platform Builder開發(fā)工具集成的Visual Studio中,作為后者的一個(gè)插件。開發(fā)Windows Mobile 6.x時(shí)使用的還是獨(dú)立的Platform Builder for Windows Mobile,相信到Windows Mobile 7.0時(shí)會(huì)有所變化。

作為通用性桌面操作系統(tǒng)的Windows XP取得了巨大的成功,關(guān)于其系統(tǒng)特性請(qǐng)看這。所以微軟又推出了Windows XP Embedded。與Window XP Embedded需要借助第三方插件才能實(shí)現(xiàn)實(shí)時(shí)操作系統(tǒng)相比,Windows Embedded CE 6.0是具有32 位本機(jī)實(shí)時(shí)支持的統(tǒng)一內(nèi)核的。微軟另一款具有本機(jī)實(shí)時(shí)支持統(tǒng)一內(nèi)核的嵌入式操作系統(tǒng)是Windows Embedded NavReady。

2.系統(tǒng)架構(gòu)

下圖為Windows CE 5.0系統(tǒng)架構(gòu),與下下6.0的架構(gòu)圖相比,我們發(fā)現(xiàn):

Windows Embedded CE 6.0系統(tǒng)架構(gòu)

(1).5.0時(shí)的NK.EXE被分為6.0的NK.EXE(交給OEM開發(fā))和Kernel.DLL(微軟開發(fā))。
(2).驅(qū)動(dòng)分成內(nèi)核態(tài)和用戶態(tài)。
(3).從圖上看不出來(lái)的內(nèi)存架構(gòu)變化。 #p#

以下為Windows Embedded CE 6.0系統(tǒng)總架構(gòu):

Windows Embedded CE 6.0系統(tǒng)總架構(gòu)

以下為更詳細(xì)的架構(gòu)圖,結(jié)合上圖我們可以看到:

1.OEM商主要承擔(dān)OAL模塊(包括:NK.EXE和Bootloader)以及內(nèi)核態(tài)驅(qū)動(dòng)的開發(fā)。

2.其實(shí)從現(xiàn)在的市場(chǎng)來(lái)看OEM商有時(shí)也會(huì)負(fù)責(zé)應(yīng)用和用戶態(tài)驅(qū)動(dòng)的開發(fā)。

注:ISV(Independent Software Vendors):獨(dú)立軟件開發(fā)商。

3.中斷機(jī)制

下圖為中斷模型:

中斷模型

(1).設(shè)備發(fā)起一個(gè)硬件中斷。->
(2).內(nèi)核(Kernel.DLL)響應(yīng)該中斷,并call對(duì)應(yīng)的中斷服務(wù)例程(ISR)。->
(3).中斷服務(wù)例程快速處理該中斷。->
(4).驅(qū)動(dòng)中的中斷服務(wù)線程(IST)被通知處理該中斷,這里內(nèi)核使用Event通知IST。

這個(gè)過(guò)程中涉及到的ISR和IST都會(huì)處理中斷,但有所不同,前者的中斷級(jí)別更高,所做的工作也很簡(jiǎn)單,而后者做主要的處理工作。

4.線程、線程調(diào)度、線程同步

線程是被系統(tǒng)獨(dú)立調(diào)度和分派的基本單位,當(dāng)系統(tǒng)創(chuàng)建一個(gè)進(jìn)程時(shí),至少會(huì)存在一個(gè)線程(主線程)。所以進(jìn)程可以被理解為一個(gè)殼子。關(guān)于線程更多基本知識(shí)在此略去。應(yīng)用程序一般運(yùn)行在248-255優(yōu)先級(jí),被創(chuàng)建的線程默認(rèn)優(yōu)先級(jí)為251。

另外我們要注意的一個(gè)很重要問(wèn)題是優(yōu)先級(jí)反轉(zhuǎn)(Priority Inversion)問(wèn)題,比如現(xiàn)在有三個(gè)優(yōu)先級(jí)不同的線程A、B、C, A的優(yōu)先級(jí)***,B次之,C***。其中A和C需要的資源部分相同。處理器當(dāng)前執(zhí)行線程C,比C優(yōu)先級(jí)更高的B有可能打斷C而進(jìn)入運(yùn)行狀態(tài),這樣C占有的資源什么時(shí)候釋放就是一個(gè)未知的時(shí)間。A只有在C釋放了它所需要的資源后才能被調(diào)度,A被阻塞的時(shí)間也是未知的。這樣,低優(yōu)先級(jí)的B先于高優(yōu)先級(jí)的A被調(diào)度,優(yōu)先級(jí)發(fā)生了逆轉(zhuǎn)。

這個(gè)問(wèn)題在XP里面不是一個(gè)嚴(yán)重的問(wèn)題,最多A被多阻塞了一段時(shí)間。但是,在實(shí)時(shí)系統(tǒng)里面,特別是硬實(shí)時(shí)系統(tǒng)里是個(gè)很嚴(yán)重的問(wèn)題。這個(gè)問(wèn)題的解決方法一般有兩種,Windows Embedded CE 6.0采用的后一種方法。

線程同步

被用于線程同步的對(duì)象有很多種:臨界區(qū)(Critical Setions)、互斥體(Mutexes)、信號(hào)量(Semaphores)、事件(Events)、Interlocked Fuctions,這里對(duì)此進(jìn)行簡(jiǎn)單的介紹,關(guān)于更詳細(xì)的資料(比如臨界區(qū)和互斥體的本質(zhì)區(qū)別以及性能比較)請(qǐng)從網(wǎng)絡(luò)上查閱,比如這里。在CE 6.0系統(tǒng)中每個(gè)同步對(duì)象都有自己獨(dú)立的名字空間,比如一個(gè)空字符串"”被作為一個(gè)名字對(duì)象處理。在桌面系統(tǒng)中所有同步對(duì)象是共享名字的空間的。

【編輯推薦】

  1. Windows Embedded CE 6.0 R3 ***嵌入式系統(tǒng)發(fā)展趨勢(shì)
  2. 淺析Windows Embedded CE下Native C++的開發(fā)
  3. 點(diǎn)評(píng)Windows Embedded CE 6.0 R3的產(chǎn)品差異性
  4. 微軟發(fā)布Windows Embedded CE 6.0 R3
  5. 試用Windows Embedded 6.0 R3開發(fā)手記

 

責(zé)任編輯:王曉東 來(lái)源: IT168
相關(guān)推薦

2009-07-23 13:10:00

Windows Emb

2009-09-24 09:45:07

Windows Emb

2009-07-23 14:08:46

Windows Emb

2009-11-03 13:31:43

Windows Emb

2010-04-07 13:01:09

Windows Emb

2009-04-22 17:18:29

WindowsCEVistaXP

2010-03-03 16:37:50

Windows Emb

2010-01-12 15:46:51

Windows Emb

2011-08-01 16:52:42

Windows CE 嵌入式

2011-03-31 17:49:51

微軟嵌入式WindowsEmbe

2010-03-17 14:21:47

Windows Emb

2009-09-02 09:15:24

Windows Emb

2011-04-19 18:42:54

Windows Emb特性

2009-07-03 13:12:59

Windows CE

2009-11-02 17:36:01

Windows Emb

2010-01-13 14:18:52

Windows Emb

2010-06-04 18:19:24

Windows Emb微軟嵌入式Windows Emb

2009-11-10 16:40:46

WindowsEmbeddedWindows7

2009-07-03 16:48:05

Windows CE

2011-06-16 13:36:29

Qt Windows CE
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)