機(jī)電之家資源網(wǎng)
單片機(jī)首頁(yè)|單片機(jī)基礎(chǔ)|單片機(jī)應(yīng)用|單片機(jī)開發(fā)|單片機(jī)文案|軟件資料下載|音響制作|電路圖下載 |嵌入式開發(fā)
培訓(xùn)信息
贊助商
無(wú)線信息設(shè)備的理想操作系統(tǒng)SymbianOS
無(wú)線信息設(shè)備的理想操作系統(tǒng)SymbianOS
 更新時(shí)間:2008-8-18 11:00:26  點(diǎn)擊數(shù):26
【字體: 字體顏色

    摘要:從內(nèi)存管理、進(jìn)程調(diào)度、消息傳遞以及與內(nèi)存管理有關(guān)的編程等方面詳細(xì)介紹Symbian OS,說(shuō)明它是最適合無(wú)線信息設(shè)備的操作系統(tǒng)。

    關(guān)鍵詞:無(wú)線信息設(shè)備 操作系統(tǒng) 無(wú)線通信

無(wú)線信息設(shè)備(wireless information device)是集PDA與傳統(tǒng)手機(jī)與一體的新型手持設(shè)備,隨著無(wú)線通信網(wǎng)絡(luò)的發(fā)展必將成為未來(lái)幾年手持設(shè)備的發(fā)展趨勢(shì)。這種設(shè)備與其它嵌入式設(shè)備有所不同,它面對(duì)的是廣大消費(fèi)者,具有型號(hào)多、功耗低、重量輕、體積小和移動(dòng)性強(qiáng)的特性;而它的磁盤、內(nèi)存、電池和CPU處理能力又都比較有限。因此,對(duì)于所采用的操作系統(tǒng)具有特殊的要求。

無(wú)線信息設(shè)備的操作系統(tǒng)占用內(nèi)存要盡量少,并且支持高效的多任務(wù)及進(jìn)程間通信機(jī)制;應(yīng)具有有效的電源管理功能,適合利用電池供電;要連續(xù)運(yùn)行多年而無(wú)需重新啟動(dòng);確保用戶數(shù)據(jù)安全可靠的存儲(chǔ);提供友好的圖形用戶界面;采用面向?qū)ο蟮脑O(shè)計(jì)方法,軟件程序代碼具有良好的可重用性;支持多種標(biāo)準(zhǔn)通信協(xié)議,以便接入國(guó)際互聯(lián)網(wǎng)和與其它設(shè)備互連;提供開放的應(yīng)用程序平臺(tái),便于第三方軟件開發(fā)商提供多樣的應(yīng)用程序。

無(wú)線信息設(shè)備對(duì)操作系統(tǒng)的諸多要求中,高可靠性占了首要地位;而實(shí)現(xiàn)高可靠性的關(guān)鍵是其操作系統(tǒng)要具有高效的內(nèi)存操作及管理機(jī)制,提供的編程機(jī)制要能夠充分管理有限的內(nèi)存空間,不造成任何的內(nèi)存分配與回收錯(cuò)誤。否則,極微小的內(nèi)存泄漏故障經(jīng)過(guò)長(zhǎng)時(shí)間的積累都將導(dǎo)致災(zāi)難性的后果。

Symbian OS是由諾基亞、摩托羅拉、愛立 信、西門子等聯(lián)合開發(fā)的,為無(wú)線信息設(shè)備量身定制的操作系統(tǒng)。它充分滿足了無(wú)線信息設(shè)備對(duì)于操作系統(tǒng)的各項(xiàng)要求,得到了各廠商的青睞,F(xiàn)在已有多種商用無(wú)線信息設(shè)備采用了此操作系統(tǒng),如諾基亞的9210、9229、7650以及愛立信的R380、R380e等。

1 Symbian OS的主要特點(diǎn)

Symbian OS是一個(gè)開放的操作系統(tǒng)。它采用基于靜態(tài)優(yōu)先級(jí)的搶先式多任務(wù)機(jī)制且配合時(shí)間片輪轉(zhuǎn),構(gòu)成簡(jiǎn)捷、高效的內(nèi)核,具有模塊化的系統(tǒng)結(jié)構(gòu),提供了良好的擴(kuò)充空間,支持強(qiáng)大的通信及多媒體功能。

*高可靠性。具備高效電源管理機(jī),而且即使在電池耗盡的情況下,也能確保不丟失任何用戶數(shù)據(jù)。由于采用特殊的編程規(guī)范,可以及時(shí)高效地管理系統(tǒng)內(nèi)存資源的分配和回收,不會(huì)造成內(nèi)存的泄漏。因此,以Symbian OS為操作系統(tǒng)的設(shè)備可連接運(yùn)行多年而無(wú)須重新啟動(dòng),這也是對(duì)無(wú)線信息設(shè)備的基本要求。

*采用面向?qū)ο蟮脑O(shè)計(jì)和編程,程序代碼具有很好的可重用性。Symbian OS支持C++和Java兩種應(yīng)用廣泛的面各對(duì)象編程語(yǔ)言,提供各種常用的32位應(yīng)用程序接口函數(shù),而且具有圖形用戶界面編程框架,可以方便地創(chuàng)建用戶應(yīng)用程序。系統(tǒng)支持Unicode,容易進(jìn)行本地化。

*支持多任務(wù)、提供多種通信協(xié)議并具有一定的實(shí)時(shí)性,增強(qiáng)了與其它設(shè)備的互操作性。支持標(biāo)準(zhǔn)的國(guó)際互聯(lián)網(wǎng)通信協(xié)議(TCP/IP、PPP、Telnet、HTTP)、電子郵件協(xié)議(POP3、SMTP、IMAP4);提供GPRS、WAP等標(biāo)準(zhǔn)協(xié)議棧;支持短信息;具有藍(lán)牙協(xié)議模塊;可以通過(guò)電纜或紅外與PC機(jī)相連,進(jìn)行數(shù)據(jù)同步和備份。

*硬件配置充分考慮了現(xiàn)有無(wú)線信息設(shè)備的硬件選型和未來(lái)需求。以Symbian OS為操作系統(tǒng)的設(shè)備采用ARM系列RISC處理器,具有較強(qiáng)的處理能力;利用ROM進(jìn)行永久程序存儲(chǔ),并可通過(guò)外加快閃存儲(chǔ)卡來(lái)擴(kuò)展系統(tǒng)存儲(chǔ)量;支持高分辨率彩色顯示、觸摸屏和筆輸入,具有多媒體功能。

2 Symbian OS的系統(tǒng)管理機(jī)制

作為專門針對(duì)無(wú)線信息設(shè)備的操作系統(tǒng),Symbian OS的突出特色是它的高效內(nèi)存管理機(jī)制。另外,與其它操作系統(tǒng)不同,Symbian OS采用了事件驅(qū)動(dòng)的消息傳遞代替了其它操作系統(tǒng)中廣泛使用的多線程機(jī)制。多線程的使用會(huì)涉及上下文切換,增加系統(tǒng)開銷,并且容易產(chǎn)生各種錯(cuò)誤,增加系統(tǒng)運(yùn)行的不穩(wěn)定因素。Symbian OS可以更方便、有效地創(chuàng)建一個(gè)新的進(jìn)程,在進(jìn)程門傳遞消息來(lái)進(jìn)行通信,而不是生成新的線程。因此,采用Symbian OS的設(shè)備運(yùn)行更加穩(wěn)定,可靠性更高。

2.1 內(nèi)存地址的映射采用二極頁(yè)表結(jié)構(gòu)

現(xiàn)有的無(wú)線信息設(shè)備多采用32位的ARM RISC系列處理器作為中央處理器,因此,Symbian OS假設(shè)以ARM處理器作為內(nèi)存管理單元(MMU),采用二級(jí)頁(yè)表方式進(jìn)行尋址。

如圖1所示,32位的線性地址分為兩部分:高20位和低12位。高20位用于選擇相應(yīng)的頁(yè)物理地址,低12位給出在頁(yè)中的偏移量,偏移量加上基址就是最終的物理地址。而高20位地址從線性地址到物理地址的轉(zhuǎn)換又分兩步完成。其中高12位構(gòu)成頁(yè)目錄,低8位構(gòu)成頁(yè)表。這種二級(jí)頁(yè)表結(jié)構(gòu)對(duì)于進(jìn)程的調(diào)度起著關(guān)鍵作用。

2.2 進(jìn)程調(diào)度

Symbian OS采用基于靜態(tài)優(yōu)先級(jí)的搶先式多任務(wù)機(jī)制。高優(yōu)先級(jí)的任務(wù)先獲得處理器資源,相優(yōu)先級(jí)的任務(wù)要用時(shí)間片輪轉(zhuǎn)***流占用處理器資源。系統(tǒng)中有兩個(gè)特權(quán)級(jí)進(jìn)程:內(nèi)核服務(wù)器進(jìn)程和空進(jìn)程。前者在系統(tǒng)中具有最高優(yōu)先級(jí),處理其它客房進(jìn)程的要求;后者具有最低優(yōu)先級(jí),在沒(méi)有任何其它進(jìn)程運(yùn)行時(shí),調(diào)用電源管理子系統(tǒng)使設(shè)備處于休眠狀態(tài),以便節(jié)省能源。進(jìn)程的各種狀態(tài)及在各狀態(tài)間的轉(zhuǎn)換如圖2所示。由于各應(yīng)用程序都是單獨(dú)的進(jìn)程,避免了同一進(jìn)程中多個(gè)線程頻率調(diào)度導(dǎo)致上下文切換所需的內(nèi)存操作,增強(qiáng)了系統(tǒng)的穩(wěn)定性。

2.3 事件驅(qū)動(dòng)的消息傳遞機(jī)制

Symbian OS4采用客房/服務(wù)器形式來(lái)簡(jiǎn)化片獲得高效的進(jìn)程間通信,因此系統(tǒng)包括多個(gè)管理程序。管理程序是不直接與用戶交互的應(yīng)用程序,它管理一個(gè)或多個(gè)系統(tǒng)資源,執(zhí)行服務(wù)器的功能,響應(yīng)客房請(qǐng)求,并通過(guò)操作系統(tǒng)的API函數(shù)為客戶提供服務(wù)。其客戶可以是應(yīng)用程序或其它的管理器。

文件管理器、窗口管理器和通信管理器是Symbian OS系統(tǒng)中最主要的管理程序。文件管理器負(fù)責(zé)文件處理,窗口管理呂是Symbian OS高效率事件傳遞及處理機(jī)制的核心,通信管理器提供對(duì)多種通信協(xié)議的支持。在Symbian OS系統(tǒng)中,每個(gè)應(yīng)用程序和管理程序都是獨(dú)立的事件處理進(jìn)程。窗口管理器負(fù)責(zé)提供用戶、應(yīng)用程序和操作系統(tǒng)內(nèi)核間的事件傳遞。用戶按鍵、筆等輸入事件先傳給窗口管理器,由它將事件發(fā)送給應(yīng)用程序。應(yīng)用程序完成相應(yīng)的事件處理后,通知窗口管理器,并由窗口管理器負(fù)責(zé)處理應(yīng)用程序的屏幕重畫請(qǐng)求。事件處理過(guò)程如圖3所示。通信管理器分為串行通信管理器、管道管理器和電話應(yīng)用管理器三個(gè)部分。串行通信管理器提供串行通信的支持,管道管理器利用通用的管道機(jī)制支持TCP/IP、短信息數(shù)據(jù)包、紅外數(shù)據(jù)接包,電話數(shù)據(jù)接口,電話應(yīng)用管理器提供與GSM電話及調(diào)制器解調(diào)器相關(guān)的接口功能。

3 Symbian OS與內(nèi)存操作相關(guān)的編程

Symbian OS支持C++和Java兩種應(yīng)用廣泛的編程語(yǔ)言。由于操作系統(tǒng)本身是由C++編寫的,因此,用C++去進(jìn)行開發(fā)可以獲得操作系統(tǒng)最充分的支持,使應(yīng)用程序更加靈活、高效。目前,大多數(shù)Symbian OS應(yīng)用程序開發(fā)者采用C++。

鑒于無(wú)線信息設(shè)備的特殊性,Symbian OS針對(duì)內(nèi)存操作方面的編程具有自己的規(guī)范。開發(fā)人員遵從這一規(guī)范,就能夠充分保證應(yīng)用程序進(jìn)行內(nèi)存操作的安全性,創(chuàng)建穩(wěn)定的應(yīng)用程序。

首先,Symbian OS提供了與內(nèi)存分配相關(guān)的出錯(cuò)處理機(jī)制。如果應(yīng)用程序有一系列內(nèi)存申請(qǐng)的連續(xù)操作,其中任何一步出現(xiàn)內(nèi)存分配失敗,都需要在出錯(cuò)處理程序釋放所有在這步之間已成功分配的內(nèi)存,以確保系統(tǒng)內(nèi)存的正確回收。因此,編程人員在開發(fā)出錯(cuò)處理程序時(shí)要充分考慮應(yīng)用程序中的內(nèi)存使用狀況,防止內(nèi)存泄漏的發(fā)生。為了更有效地管理內(nèi)存的分配和回收,簡(jiǎn)化開發(fā)人員的編程工作,Symbian OS提供了Eleave標(biāo)識(shí)和Cleanup棧。具有Eleave標(biāo)識(shí)的指針指向的內(nèi)存空間可以在程序退出時(shí)被系統(tǒng)自動(dòng)釋放,Cleanup棧是系統(tǒng)提供的專門用于存儲(chǔ)且具有Eleave標(biāo)識(shí)的指針堆棧,開發(fā)人員可以通過(guò)調(diào)用系統(tǒng)函數(shù)將其清空。從堆中分配指針時(shí),以Eleave作為指針標(biāo)識(shí),指針?lè)峙涑晒髮⑵鋲喝隒leanup棧。如果此指針指向的對(duì)象在程序后序處理中出現(xiàn)申請(qǐng)內(nèi)存的失敗,系統(tǒng)會(huì)自動(dòng)釋放棧中指針指向的所有內(nèi)存,并在程序調(diào)用PopAndDestroy函數(shù)時(shí)刪除此指針,保證內(nèi)存的有效回收。

其次,類的兩步構(gòu)造。標(biāo)準(zhǔn)的C++構(gòu)造函數(shù)是在類的對(duì)象實(shí)例創(chuàng)建時(shí)自動(dòng)調(diào)用的,因此,不可能人為地將其中申請(qǐng)的指針?lè)湃隒leanup棧中。如果類創(chuàng)建失敗,在構(gòu)造函數(shù)中分配的內(nèi)存也就無(wú)法被操作系統(tǒng)回收。由于無(wú)線信息設(shè)備是常年連續(xù)運(yùn)行而不重新啟動(dòng)的,因此內(nèi)存的泄漏會(huì)不斷積累,最終導(dǎo)致嚴(yán)重的后果。為解決這一問(wèn)題,Symbian OS提出了類的創(chuàng)建分兩步進(jìn)行:第1步是按照C++本身的特性自動(dòng)運(yùn)行構(gòu)造函數(shù),但是在構(gòu)造函數(shù)中不進(jìn)行任何從堆中申請(qǐng)內(nèi)存的操作;第2步是調(diào)用含有內(nèi)存請(qǐng)求的類創(chuàng)建函數(shù)ConstructL,在ConstructL中采用Symbian OS的內(nèi)存分配出錯(cuò)處理機(jī)制。這樣的設(shè)計(jì)可以增強(qiáng)系統(tǒng)的穩(wěn)定性。

最后,內(nèi)存管理有關(guān)的宏。Symbian OS提供了一些檢測(cè)堆中內(nèi)存泄漏的宏代碼,如_UHEAP_MARK,_UHEAP_MARKEND,_UHEAP_MARKENDC(aCount),_UHEAP_CHECK(aCount)等。通過(guò)在程序代碼中嵌入它們可以動(dòng)態(tài)監(jiān)控堆的分配情況。

結(jié)束語(yǔ)

以上從系統(tǒng)管理方式及與內(nèi)存管理相關(guān)的編程方法的角度介紹了Symbian OS,說(shuō)明它具有高效的處理機(jī)制,高度的可靠性,充分滿足了無(wú)線信息設(shè)備的需要。隨著無(wú)線通信從第2代向第2.5代的過(guò)渡,以及第3代移動(dòng)通信的最終實(shí)現(xiàn),無(wú)線信息設(shè)備必將擁有廣闊的市場(chǎng)前景,Symbian OS作為理想的操作系統(tǒng)也定會(huì)得到更廣泛的應(yīng)用。

  • 上一篇: 基于AD6620和TMS320C6x的軟件無(wú)線電接收子系統(tǒng)
  • 下一篇: 數(shù)字信號(hào)OOK/ASK無(wú)線收發(fā)電路設(shè)計(jì)
  • 發(fā)表評(píng)論   告訴好友   打印此文  收藏此頁(yè)  關(guān)閉窗口  返回頂部
    熱點(diǎn)文章
     
    推薦文章
     
    相關(guān)文章
    網(wǎng)友評(píng)論:(只顯示最新5條。)
    關(guān)于我們 | 聯(lián)系我們 | 廣告合作 | 付款方式 | 使用幫助 | 機(jī)電之家 | 會(huì)員助手 | 免費(fèi)鏈接

    點(diǎn)擊這里給我發(fā)消息66821730(技術(shù)支持)點(diǎn)擊這里給我發(fā)消息66821730(廣告投放) 點(diǎn)擊這里給我發(fā)消息41031197(編輯) 點(diǎn)擊這里給我發(fā)消息58733127(審核)
    本站提供的機(jī)電設(shè)備,機(jī)電供求等信息由機(jī)電企業(yè)自行提供,該企業(yè)負(fù)責(zé)信息內(nèi)容的真實(shí)性、準(zhǔn)確性和合法性。
    機(jī)電之家對(duì)此不承擔(dān)任何保證責(zé)任,有侵犯您利益的地方請(qǐng)聯(lián)系機(jī)電之家,機(jī)電之家將及時(shí)作出處理。
    Copyright 2007 機(jī)電之家 Inc All Rights Reserved.機(jī)電之家-由機(jī)電一體化網(wǎng)更名-聲明
    電話:0571-87774297 傳真:0571-87774298
    杭州濱興科技有限公司提供技術(shù)支持

    主辦:杭州市高新區(qū)(濱江)機(jī)電一體化學(xué)會(huì)
    中國(guó)行業(yè)電子商務(wù)100強(qiáng)網(wǎng)站

    網(wǎng)站經(jīng)營(yíng)許可證:浙B2-20080178-1