色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

Symbian和WinCE操作系統的內存管理技術研究

電子設計 ? 來源:單片機與嵌入式系統應用 ? 作者:田林林,張權,唐朝 ? 2020-09-05 12:21 ? 次閱讀

1 概 述

內存管理是操作系統中心任務之一。內存管理模塊通常是操作系統內核的一部分,其主要任務是為操作系統內核和各執行程序組織內存,跟蹤當前內存使用狀況,在需要時為進程分配內存,使用完畢后釋放并回收內存。智能手機操作系統作為嵌入式操作系統的一種,較之普通桌面型操作系統,其內存管理有著獨特之處:受硬件成本、設備體積等因素制約,內存容量一般相當有限,需要高效地使用;電源管理尤為重要,一次充電要保證數小時以上的工作時間;手持設備內程序一般幾天甚至幾個月不停運行,系統穩定性要求高,需保證用戶數據的安全。此外,與傳統的嵌入式實時操作系統相比,如Vx-Works,μClinux等,智能手機嵌入式操作系統還是一個開放性的操作系統,這意味著幾乎所有的智能手機嵌入式操作系統都允許用戶安裝第三方程序。因此,在操作系統設計時還要綜合考慮編程的易用性及接口的模塊化,以適應終端用戶、制造商、操作系統軟件開發者和第三方軟件開發者的不同需求。

1.1 Symbian操作系統

Symbian操作系統是智能手機市場中的主要成員,其市場份額超過70%。該操作系統由英國Symbian公司負責研發和維護,目前該公司由 Nokia、SonyErisson、Panaso-nic、Samsung等公司共同所有。Symbian操作系統的前身是EPOC,這是一個多任務的 32位軟實時操作系統。Symbian在設計之初就是專門針對高度內存受限的系統的,因此其在內存使用和電源管理上具有很多優勢。Symbian操作系統具有完善的軟件開發包,供第三方應用程序開發使用。目前最新版本的Symbian操作系統為Symbian OS 9.5。

1.2 WindOWS Mobile操作系統

Windows Mobile是微軟為手持設備推出的“移動版Windows”。使用Windows Mobile操作系統的設備主要有手機、PDA、隨身音樂播放器等。該操作系統是基于Windows CE內核的一種嵌入式操作系統。由于與桌面Windows操作系統的兼容性,第三方開發者可以很方便地為Windows CE開發程序,但與桌面Windows開發仍存在較大區別。目前常用版本為Windows Mobile 6.1,最新版本6.5,均基于Windows CE 5.2內核。為表述一致,下文中將Windows Mobile簡稱為WinCE。

2 內存管理技術分析與比較

2.1 整體架構

Symbian操作系統誕生之初,是針對掌上型資源高度受限設備開發的。為了追求極致的性能和最小的資源消耗,它從操作系統內核到編程框架都進行了嚴格的優化,甚至對C++的不少基本機制也進行了大刀闊斧的革新。因此軟件開發者和廠商需要掌握新的Symlbian C++語法及新的編程接口。Symbian操作系統兼容性較差,一般只支持ARM系列處理器

WinCE系統在設計之初就充分考慮到對桌面操作系統組件和編程接口的兼容性,這樣給程序開發者帶來很大益處,并且方便廠商進行設備升級及驅動維護。WinCE支持多種CPU,如ARM、MIPS、SH4、x86等。因此其在內存管理模塊設計上的兼容性和接口的規范性更好。Symbian相對于 WinCE的優勢在于其針對指定處理器設計的內存管理模塊更加高效,但是這也以犧牲兼容性為代價。出于對電源管理的考慮,Symbian系統的設備CPU 頻率普遍較WinCE要低,一般為100~300 MHz(WinCE是300~800 MHz)。

2.2 ROMRAM

(1)RAM

RAM全稱為隨機存取存儲器,通常作為操作系統或其他正在運行的程序的臨時存儲介質,速度較快,但是當電源關閉時存儲的數據會丟失。

WinCE中RAM被分成兩塊區域,對象存儲和程序區(系統堆)。對象存儲可以被看作類似一個永久的虛擬RAM磁盤。在Pocket PC上,當顯示屏關閉后,系統并沒有真正斷電,而是進入低功耗的睡眠狀態(由主電池來供電)。當按下Reset按鈕后,Windows CE內核在RAM中尋找最近一次創建的對象存儲,如果找到,就用這個對象存儲重新啟動。

RAM的另一個區域是程序區。這個區域就像PC機的RAM一樣。它存放所運行程序的堆和棧的空間。對象存儲和程序區的界限是可移動的。在低內存的情況下,系統會請求用戶把部分可用的存儲對象空間提供給運行程序使用,以滿足程序運行時對RAM的需要。在Symbian操作系統中,RAM不存在類似于對象存儲的區域,其RAM全部用于運行程序的臨時執行和數據存儲器。因此一般Symbian操作系統上RAM大小為7~30 MB,小于winCE中的32~128 MB。

(2)ROM

ROM是只讀存儲器。在PC機上,ROM用來存儲BIOS,通常是64~128 KB。在WinCE系統中,ROM用來存儲整個操作系統以及和OS綁定的應用程序。Symbian系統中ROM功能類似,也是用來存儲系統驅動程序及系統 DLL和配置文件。對ROM進行寫入需要指定的設備,普通用戶無法對ROM中的數據進行操作。由于ROM中的代碼都是經過特殊編譯,去除了重定位代碼段,因此可以在ROM上直接執行(excute in place),不用加載到RAM中,從而提高了啟動速度并節省了RAM資源。

2.3 MMU

作為現代操作系統的一種,智能手機操作系統具有強大而高效的MMU,在這一點不同于其他實時嵌入式操作系統,如μC/OS-II和 μClinux。通過MMU提供的內存映射和數據保護,可以提高操作系統的運行效率和安全性。MMU運行于CPU和系統總線之間,負責在虛擬地址和物理地址之間進行轉換,在任一次內存訪問中都會進行MMU的地址查找。

(1)虛擬內存

Windows CE是32位操作系統,支持4 GB的虛擬地址空間。高2 GB是系統內存空間,用來存儲相應的系統數據。低2 GB是用戶空間。所有的應用程序均有2GB的虛擬地址,但是每個應用程序的內存空間都是受保護的,其他應用程序不能訪問。從最低的虛擬地址空間開始,分為 33個slot,每個slot為32 MB。每個slot被分配為當前運行的進程。slot 0中存放當前激活的進程。當WinCE在進程間切換時,它就重新映射地址空間,把原進程移出,新進程移進slot 0。這個任務是通過操作微處理器的頁轉換表來迅速完成的。

WinCE定義了4種內存狀態:normal、limited、low、critical。這些狀態的劃分主要取決于當前可用的內存大小。在 WinCE中,當出現內存不足的情況時,線程首先被掛起。這時系統如果沒有可用的物理RAM,需要棧空間的線程就會被掛起。系統首先發送 WM_HIBERNATE消息,該消息會向所有的進程請求。它們在不破壞各自內在狀態的情況下盡量釋放內存,比如釋放GDI對象、緩沖數據等,然后限制內存申請的請求。如果在給定的一小段時間內,這個內存需求不能得到響應,就會彈出系統異常。在低內存情況下不應該嘗試使用大量的棧空間。而在Symbian 操作系統中,系統能運行的程序數量是由實際內存大小決定的,而不限于32個。當內存不足時,運行新程序將會收到內存不足的警告,并終止進程。

(2)虛擬地址映射

MMU一般將頁面分成4 KB大小的頁面。由于CPU不同,頁面大小也可以是1 KB或其他大小。內核使用MMU,將物理內存映射到塊的虛擬地址范圍內。WinCE與Symbian的虛擬地址映射圖如圖1所示,其中WinCE內核表現為NK.exe進程。

在ARMv5中,最高層的頁表有4 096個條目,每個條目4字節,因此整個目錄就有16 KB。由于WinCE支持多種不同的CPU,CPU設計結構不同頁目錄也不同,但是計算方法與ARMv5類似。WinCE首先直接給每個進程分配一個不同的頁表,在進程切換中直接將不同進程的頁表寫入MMU的基寄存器TTBR中來實現映射。而Sym-bian系統認為每個進程分配16 KB頁表會造成內存的浪費,因此采用了另一種管理地址映射的方法。

該模型針對ARMv5結構設計,被稱為移動內存模型。其核心思想是對每個進程都提供同樣的虛擬地址空間,但是被保護的內存頁面卻不一樣。在頁面切換中,首先將原有進程的內存移出執行地址空間,使其在用戶模式下不能訪問。接著將新進程的數據移入執行地址,并使其可以訪問。這一思想是在內存模型上層通過Chunk實現的。通過ARMv5中提供的頁表訪問權限和域概念,通過改變MMU中寄存器指向的域,達到進程間保護和內存映射。這種設計方法帶來了內核層的低內存消耗,但是雖然在內核層的安全性和內存使用效率上有所改善,卻對其他進程的運行帶來一定影響。當映射到不同的虛擬地址空間,所有被修改的數據都要重新從主存中載入,并且緩存中的數據因為已經被丟棄,必須重新載入。因此,該模式下的進程上下文中很大一部分時間消耗在緩存的刷新上,一般情況下其速度是線程切換(同進程)的1/100左右。盡管采取了其他措施,但是沒有從根本上改變運行時間。

在最新的ARMv6中,Symbian引入了多重內存模型。該模型兼容性更強,并可在主流處理器Intel x86和Re-nesas SuperH上使用。該模型建立在與設備和操作系統無關的基礎上,利用ARMv6中的應用空間辨識器(ASID),并通過物理標記緩存技術保證了在虛擬地址和物理地址間多重映射的正確性,很好地解決了移動內存模型中的緩存刷新問題。

2.4 其他技術

(1)按需頁面調度

由于在系統中虛擬內存遠大于物理內存,因此系統必須對內存使用格外注意。一種節約物理內存使用的方法是,只加載當前運行程序使用的虛擬內存所對應的物理內存,這種方法稱為按需頁面調度。當一個進程試圖訪問一個不在當前內存中的虛擬內存地址時,系統這時會重新從磁盤上將該區域加載到內存中去。桌面操作系統很久以來一直使用這一技術,來加快系統啟動速度和優化程序運行效率,WinCE也不例外。

WinCE中,可以通過使用Config.bib對整個系統的按需頁面調度進行設置,或通過LoadDriver等函數對單個DLL的按需頁面調度進行設置。Symbian操作系統卻不支持這一技術。這主要是由于系統本身內存太小,采用這一技術會帶來性能大幅下降。不過隨著手機硬件的發展,在 Symbian OS v9.3以后,系統開始支持按需頁面調度。這一技術優化了內存使用,在需要時加載只讀代碼,從而實現了對RAM的更高使用效率。這讓用戶可以更快地安裝應用程序,并同時保持多個應用程序的開放狀態。

(2)內存碎片整理

在一個實時系統中,連續的頁面請求可能會帶來性能的下降。這是由于在小對象(小于1 KB的數據類型)對內存的頻繁的動態申請和釋放過程中,由于釋放后留下的空洞不夠新對象分配,導致不連續的內存可用空間無法被應用程序獲得,造成可用內存迅速耗盡。這種內存空洞也叫內存碎片。操作系統可能會對這種情況作一定程度的優化,但是由于將內存可用空間壓縮而導致的效率負擔,并不是所有的操作系統都會對此優化。

得益于Symbian操作系統本身優化的內存管理和高度受限的內存使用原則,內存碎片其實并不會對手機系統的性能和內存使用率造成明顯影響,因此早期的Symbian版本并不支持內存碎片整理,只提供簡單的手動內存壓縮功能。Symbian 9.5之所以引入“自動”內存碎片整理,一個重要的原因是:目前手機終端的內存容量變得越來越大,內存的能耗已經不容忽視。在新版本中,借助內存碎片整理,可以關閉連續的空閑物理內存塊以節約能耗,當然它同時也提供了其他在主流操作系統中體現的改進一一更高效的內存訪問和更大的空閑可用內存。在 WinCE中,雖然不存在自動內存碎片處理,但是微軟推薦使用VirtualAlloc、LocalAlloc、HeapAlloc等函數直接操作虛擬內存頁,本地堆和分離堆進行內存分配操作,而不是使用如malloc、new這類會導致內存泄漏或異常的操作。

3 小結

Symbian與WinCE在內存管理模塊的設計上各有優劣,這主要是由于兩個操作系統在設計之初的理念不同。Symbian設計之初是以高度受限的內存為原則進行設計,在硬件發展較為落后的時期取得了巨大的成功,但這也給第三方軟件開發者帶來很多困難。WinCE設計之初既要保持與 Windows其他系統在編程接口上的兼容,又要盡可能地提高內存使用效率,這樣不免對性能帶來一定程度的影響。隨著硬件的發展,智能手機的處理器速度和內存大小都有了很大提高,WinCE由于對第三方開發者的友好性,其發展仍然不可限量。

責任編輯:gt

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 智能手機
    +關注

    關注

    66

    文章

    18477

    瀏覽量

    180111
  • 嵌入式
    +關注

    關注

    5082

    文章

    19104

    瀏覽量

    304816
  • 操作系統
    +關注

    關注

    37

    文章

    6801

    瀏覽量

    123285
收藏 人收藏

    評論

    相關推薦

    什么是嵌入式操作系統內存管理技術

    還是一個開放性的操作系統,這意味著幾乎所有的智能手機嵌入式操作系統都允許用戶安裝第三方程序。因此,在操作系統設計時還要綜合考慮編程的易用性及接口的模塊化,以適應終端用戶、制造商、操作系統
    發表于 07-30 07:19

    操作系統對于內存管理

    操作系統如何有效的管理內存便顯得尤為重要。本文講述操作系統對于內存管理的過去和現在,以及一些頁
    發表于 08-07 06:53

    嵌入式操作系統內存管理技術是什么?

    嵌入式操作系統內存管理技術是什么?
    發表于 04-28 06:07

    什么是嵌入式操作系統? 

    、INTEGRITY、OSE、C ExecuTIve  什么是嵌入式操作系統 嵌入式操作系統是一種支持嵌入式系統應用的操作系統軟件,它是嵌入式系統
    發表于 10-28 07:35

    無線信息設備的理想操作系統Symbian OS

    內存管理、進程調度、消息傳遞以及與內存管理有關的編程等方面詳細介紹Symbian OS,說明它是最適合無線信息設備的
    發表于 04-15 08:38 ?14次下載

    基于Symbian操作系統的套接字通信研究

            信息技術的發展使人們已經不滿足傳統的 Internet 交流方式,應運而生的便是無線網絡通信技術的應用。Symbian 作為一個獨立的智能手機
    發表于 09-14 09:52 ?25次下載

    Symbian操作系統環境下通信系統的設計與實現

    Symbian操作系統是一種32位搶占式多任務操作系統,具有功耗低、內存占用少等特點,非常適合手機等移動設備使用。它提供了廣泛的通信基礎結構,包括串行通信、TCP/IP、IrDA、US
    發表于 07-27 15:40 ?23次下載

    什么是Symbian操作系統

    什么是Symbian操作系統?        隨著3G時代手機平臺的重要性增加,如今,移動電話市場發展火熱,而智能手
    發表于 06-17 07:31 ?907次閱讀

    嵌入式操作系統內存管理技術的分析與比較

    嵌入式操作系統內存管理技術的分析與比較  1 概 述   內存管理
    發表于 01-14 11:30 ?743次閱讀
    嵌入式<b class='flag-5'>操作系統</b><b class='flag-5'>內存</b><b class='flag-5'>管理</b><b class='flag-5'>技術</b>的分析與比較

    什么是手機Symbian操作系統

    什么是手機Symbian操作系統 Symbian由摩托羅拉、西門子、諾基亞等幾家大型移動通訊設備商共同出資組建的一個合資公司,專門研發手
    發表于 01-28 10:38 ?666次閱讀

    手機操作系統Symbian系介紹

    Symbian操作系統是現今手機領域中應用范圍最廣的操作系統,并且擁有相當多針對不同用戶的界面,也就是常說的Series。關于Symbian操作系統
    發表于 11-01 16:11 ?0次下載

    SymbianWinCE內存管理技術分析及對比

    1 概 述 內存管理操作系統的中心任務之一。內存管理模塊通常是操作系統內核的一部分,其主要任務
    發表于 11-01 16:59 ?0次下載

    Symbian操作系統環境下通信系統如何進行設計與實現

    Symbian 操作系統是一種32 位搶占式多任務操作系統,具有功耗低、內存占用少等特點,非常適合手機等移動設備使用。它提供了廣泛的通信基礎結構,包括串行通信、TCP/IP、IrDA、
    發表于 06-26 14:33 ?5次下載
    <b class='flag-5'>Symbian</b><b class='flag-5'>操作系統</b>環境下通信<b class='flag-5'>系統</b>如何進行設計與實現

    嵌入式操作系統FreeRTOS內存如何管理和堆

    嵌入式操作系統FreeRTOS內存管理和堆
    的頭像 發表于 01-10 15:17 ?4694次閱讀
    嵌入式<b class='flag-5'>操作系統</b>FreeRTOS<b class='flag-5'>內存</b>如何<b class='flag-5'>管理</b>和堆

    機器人操作系統EtherCAT技術研究綜述

    機器人操作系統EtherCAT技術研究綜述
    發表于 08-02 10:35 ?1次下載
    主站蜘蛛池模板: 国语自产一区视频| 国产在线一区二区三区四区| 国产欧美日韩国产高清| 久久国产乱子伦精品免费不卡| 女子叉开腿让男子桶免费软件| 无码不卡中文字幕在线观看| 永久免费观看视频| 高清国产mv视频在线观看| 久草在线福利视频在线播放| 青柠电影高清在线观看| 亚洲精品国产自在在线观看| Chineseman瘦老头77| 精品国产mmd在线观看| 日本色呦呦| 真人美女精美小穴| 国产精品-区区久久久狼| 男女又黄又刺激B片免费网站 | 色欲天天婬色婬香影院| 英国video性精品高清最新| 丰满人妻熟女色情A片| 久久一级片| 性刺激欧美三级在线现看中文| AV天堂午夜精品蜜臀AV| 精品国产人妻国语| 双性大乳浪受噗呲噗呲h总| 999久久国产精品免费人妻| 果冻传媒2021一二三区| 一本道色综合手机久久| 成人免费在线| 国产网站免费观看| 日本久久精品毛片一区随边看| 午夜男人免费福利视频| 一个人在线观看的视频| 91精品视频网站| qvod激情图片| 娇女的呻吟亲女禁忌h16| 久久免费视频1| 亚洲男人天堂网| 一边亲着一面膜下的免费过程| 国产精品国产三级国产专区53 | 韩国成人理伦片免费播放|