WINCE6.0作業系統—核心(kernel)學習

來源:互聯網
上載者:User

備忘:這裡的核心指kernel,其表現形式為kernel.dll,OS指作業系統,core指核心。

 

 

圖1 WINCE6.0體繫結構

1.      kernel的組成和功能

WINCE6.0作業系統內(kernel)在代碼中的表現形式是kernel.dll(也就是kern.dll), WINCE5.0中核心的表現形式為NK.exe,而WINCE6.0中的NK.exe中僅僅包含一些OAL代碼和保持相容性的程式了。

核心提供任何WINCE6.0裝置的基本OS功能,這些準系統包括進程、線程和記憶體管理,另外核心也提供一些檔案管理功能、線程調度、即時效能、裝載器(loader)、系統調用、電源管理和OS提供的多種多樣的服務。核心服務(service)使應用程式可以使用這些核心(core)功能。

NK.exe是OAL層的進程,在OAL層啟動的過程中載入kernel.dll。使用核心進程和線程函數可以建立、終止、同步進程和線程,並且可以調度和掛起線程。進程是正在啟動並執行程式(比如iexplore.exe)的單個執行個體,這樣使得同時可以運行多個程式,對於WINCE5.0來說能夠同時啟動並執行進程是32個,假如我們同時開啟多個Internet Explorer瀏覽器(對應一個iexplore.exe),那這時記憶體中就相應有多個瀏覽器的進程,所以WINCE5.0作業系統如果要應用在網路系統,尤其是同時運行多進程的系統中並不是很好的選擇。WINCE6.0支援同時啟動並執行進程數達到32000個,就基本不存在這方面應用的限制。線程使得程式一次可以執行多個任務,因為一個程式可以建立多個線程。線程優先等級、優先順序繼承、中斷支援、和計時(timing)與調用也都是核心包含的功能。核心的所有功能共同為對時間要求很嚴格的系提供即時應用。

WINCE核心基於頁式虛擬記憶體系統(virtual-memory system)來管理和分配應用記憶體,虛擬記憶體系統提供連續的大小為64KB記憶體塊,每塊的大小為4KB,所以應用程式不需要管理記憶體的分配。如果一個應用程式需要使用小於64KB的記憶體,那麼它可以使用局部堆(local heap)或是建立獨立的堆來提供記憶體空間。核心也要為每個新的進程或線程分配棧(stack)空間。

 

核心使用記憶體函數來分配和釋放虛擬記憶體,可以使用local堆和獨立堆的記憶體,可以從棧中分配記憶體,也可以使用裝載應用程式所需要分配但又沒有使用的待用資料庫記憶體。而且進程可以使用記憶體映射對象(memory-mapped object)來共用資料。

 

2.      Kernel.dll的編譯產生

在common.bib檔案中可以找到下面的內容:

IF IMGPROFILER !

    kernel.dll      $(_FLATRELEASEDIR)\kern.dll                 NK  SHZ

ENDIF IMGPROFILER !

可知kernel.dll實際就是kern.dll,那kern.dll在哪裡產生的呢?沒有找到和kern.dll相關的sources檔案,但在\WINCE600\PUBLIC\COMMON\CESYSGEN\makefile檔案中,從下面的內容可以看到kern.dll是如何編譯產生的

 

圖2 指示產生kern.dll的makefile內容

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.