分類
android
Android是基於Linux開放性核心的作業系統,是Google公司在2007年11月5日公布的手機作業系統. 早期 由原名為"Android"的公司開發,谷歌在2005年收購"Android.Inc"後,繼續進行對Android系統開發運營,它採用了軟體堆層(software stack,又名軟體疊層)的架構,主要分為三部分。底層Linux核心只提供基本功能,其他的套用軟體則由各公司自行開發,部分程式以Java編寫。
2011年初數據顯示,僅正式上市兩年的作業系統Android已經超越稱霸十年的塞班系統,使之躍居全球最受歡迎的智慧型手機平台。如今,Android系統不但套用於智慧型手機,也在平板電腦市場急速擴張,甚至在汽車,智慧型電視,智慧型播放器上均占有大部分市場份額。除諾基亞,蘋果,黑莓外,幾乎所有手機廠商都把安卓系統作為首要發展對象,並延伸出自家的UI。
Symbian
Symbian是一個實時性、多任務的純32位作業系統,具有功耗低、記憶體占用少等特點,
非常適合手機等移動設備使用,經過不斷完善,可以支持GPRS、藍牙、SyncML、以及3G技術。
最重要的是它是一個標準化的開放式平台,任何人都可以為支持Symbian的設備開發軟體。
與微軟產品不同的是,Symbian將移動設備的通用技術,也就是作業系統的核心,
與圖形用戶界面技術分開,能很好的適應不同方式輸入的平台,
也可以使廠商可以為自己的產品製作更加友好的操作界面,符合個性化的潮流,
這也是用戶能見到不同樣子的symbian系統的主要原因。
為這個平台開發的java程式已經開始在網際網路上盛行。
用戶可以通過安裝這些軟體,擴展手機功能。
2013年2月,諾基亞宣布塞班系統停止開發,塞班時代終結。
Linux
Linux憑藉其自由、免費、開放原始碼的優勢,
經過來自網際網路、遍布全球的程式設計師的努力,
再加上IBM、Sun等計算機巨頭的支持,
Linux在手機作業系統市場中異軍突起,
尤其是在眾多知名廠商宣布支持Linux手機作業系統之後,
Linux的發展將不容忽視。
做為基本的代碼它可以完全被改頭換面。
Mac作業系統是根據Unix衍生來的,Macintosh operating system 的縮寫,
就是apple的作業系統,俗稱蘋果機。
Windows
由於大多數機型支持彩色顯示,因此耗電量極大,
並且由於Windows CE本身對於資源的巨大吞噬作用,
Palm
Palm OS是Palm公司的是一種32位的嵌入式作業系統,
它的操作界面採用觸控式,差不多所有的控制選項都排列在螢幕上,
使用觸控筆便可進行所有操作。作為一套極具開放性的系統,
開發商向用戶免費提供Palm作業系統的開發工具,
允許用戶利用該工具在Palm作業系統的基礎上編寫、修改相關軟體,
使支持Palm的應用程式豐富多彩、應有盡有。
BlackBerry
所謂“黑莓”(BlackBerry)是指一種移動電子郵件系統終端,可以配合手機使用。
目前有內置“黑莓”功能的手機產品。它的終端包含一個非常小的標準電腦鍵盤,
黑色的按鍵看上去如同草莓表面的黑籽兒,因此才得到這個暱稱。
技術上來說,BlackBerry是一種採用雙向尋呼模式的移動郵件系統,兼容現有的無線數據鏈路。
它出現於1998年,RIM的品牌戰略顧問認為,無線電子郵件接收器擠在一起的小小的標準英文黑色鍵盤,
看起來像是草莓表面的一粒粒種子,就起了這么一個有趣的名字。
應該說,Blackberry與桌面PC同步堪稱完美,它可以自動把你Outlook郵件轉寄到Blackberry中,
不過在你用Blackberry發郵件時,它會自動在郵件結尾加上“此郵件由Blackberry發出”字樣。
Hopen
HOPEN產品解決方案——智慧型手機,
可以廣泛套用於普通手機、PDA手機、智慧型手機、
遠程信息處理等無線終端設備。
參數
引言
目前為止套用在手機上的作業系統主要有PalmOS、SymbianOS、Windows Mobile、BlackBerryOS、MacOS、Android、HopenOS和LinuxOS,Winows Phone等9種。
Android
Android以Java為程式語言,從接口到功能,都有層出不窮的變化,其中Activity等同於J2ME的MIDlet,一個 Activity 類(class)負責創建視窗(window),一個活動中的Activity就是在 foreground(前景)模式,背景運行的程式叫做Service。兩者之間通過由ServiceConnection和AIDL連結,達到複數程式同時運行的效果。如果運行中的 Activity 全部畫面被其他 Activity 取代時,該 Activity 便被停止(stopped),甚至被系統清除(kill)。
View等同於J2ME的Displayable,程式人員可以通過 View 類與“XMLlayout”檔將UI放置在視窗上,Android 1.5的版本可以利用 View 打造出所謂的 Widgets,其實Widget只是View的一種,所以可以使用xml來設計layout,HTC的Android Hero手機即含有大量的widget。至於ViewGroup 是各種layout 的基礎抽象類(abstract class),ViewGroup之內還可以有ViewGroup。View的構造函式不需要再Activity中調用,但是Displayable的是必須的,在Activity 中,要通過findViewById()來從XML 中取得View,Android的View類的顯示很大程度上是從XML中讀取的。View 與事件(event)息息相關,兩者之間通過Listener 結合在一起,每一個View都可以註冊一個event listener,例如:當View要處理用戶觸碰(touch)的事件時,就要向Android框架註冊View.OnClickListener。另外還有Image等同於J2ME的BitMap。
作業系統與應用程式的溝通橋樑,套用分為兩層:函式層(Library)和虛擬機(Virtual Machine)。 Bionic是 Android 改良libc的版本。Android 同時包含了Webkit,所謂的Webkit 就是Apple Safari 瀏覽器背後的引擎。Surface flinger 是就2D或3D的內容顯示到螢幕上。Android使用工具鏈(Toolchain)為Google自製的Bionic Libc。
Android採用OpenCORE作為基礎多媒體框架。OpenCORE可分7大塊:PVPlayer、PVAuthor、Codec、PacketVideo Multimedia Framework(PVMF)、Operating System Compatibility Library(OSCL)、Common、OpenMAX。
Android 使用skia 為核心圖形引擎,搭配OpenGL/ES。skia與Linux Cairo功能相當,但相較於Linux Cairo, skia 功能還只是雛形的。2005年Skia公司被Google收購,2007年初,Skia GL源碼被公開,到目前為止Skia 也是Google Chrome 的圖形引擎。
Android的多媒體資料庫採用SQLite資料庫系統。資料庫又分為共用資料庫及私用資料庫。用戶可通過ContentResolver類(Column)取得共用資料庫。
Android的中間層多以Java 實現,並且採用特殊的Dalvik虛擬機(Dalvik Virtual Machine)。Dalvik虛擬機是一種“暫存器型態”(Register Based)的Java虛擬機,變數皆存放於暫存器中,虛擬機的指令相對減少。
Dalvik虛擬機可以有多個實例(instance), 每個Android應用程式都用一個自屬的Dalvik虛擬機來運行,讓系統在運行程式時可達到最佳化。Dalvik虛擬機並非運行Java位元組碼(Bytecode),而是運行一種稱為.dex格式的檔案。
Android 的 HAL(硬體抽像層)是能以封閉源碼形式提供硬體驅動模組。HAL 的目的是為了把 Android framework 與 Linux kernel 隔開,讓 Android 不至過度依賴 Linux kernel,以達成 kernel independent 的概念,也讓 Android framework 的開發能在不考量驅動程式實現的前提下進行發展。
HAL stub 是一種代理人(proxy)的概念,stub 是以 *.so 檔的形式存在。Stub 向 HAL“提供”操作函式(operations),並由 Android runtime 向 HAL 取得 stub 的 operations,再 callback 這些操作函式。HAL 里包含了許多的 stub(代理人)。Runtime 只要說明“類型”,即 module ID,就可以取得操作函式。
Android 是運行於 Linux kernel之上,但並不是GNU/Linux。因為在一般GNU/Linux 里支持的功能,Android 大都沒有支持,包括Cairo、X11、Alsa、FFmpeg、GTK、Pango及Glibc等都被移除掉了。Android又以bionic 取代Glibc、以Skia 取代Cairo、再以opencore 取代FFmpeg 等等。Android 為了達到商業套用,必須移除被GNU GPL授權證所約束的部份,例如Android將驅動程式移到 userspace,使得Linux driver 與 Linux kernel徹底分開。bionic/libc/kernel/ 並非標準的kernel header files。Android 的 kernel header 是利用工具由 Linux kernel header 所產生的,這樣做是為了保留常數、數據結構與宏。
到目前為止Android 的 Linux kernel控制包括安全(Security),存儲器管理(Memory Management),程式管理(Process Management),網路堆疊(Network Stack),驅動程式模型(Driver Model)等。下載Android源碼之前,先要安裝其構建工具Repo來初始化源碼。Repo 是 Android 用來輔助Git工作的一個工具。
很多玩家用戶可能會奇怪:“為什麼 Android 會用甜點作為它們系統版本的代號?”這個命名方法開始於 Andoird 1.5 發布的時候。作為每個版本代表的甜點的尺寸越變越大,然後按照26個字母數序:紙杯蛋糕,甜甜圈,鬆餅,凍優酪乳,薑餅,蜂巢。
Symbian
在Symbian發展階段,出現了三個分支:分別是Crystal、Pearl和Quarz。前兩個主要針對通訊器市場,也是出現在手機上最多的,是今後智慧型手機作業系統的主力軍。第一款基於Symabian系統的手機是2000年上市的某款愛立信手機。而真正較為成熟的同時引起人們注意的則是2001年上市的諾基亞9210,它採用了Crystal分支的系統。而2002年推出的諾基亞7650與3650則是Symbian Pearl分系的機型,其中7650是第一款基於2.5G網的智慧型手機產品,他們都屬於Symbian的6.0版本。索尼愛立信推出的一款機型也使用了Symbian的Pearl分支,版本已經發展到7.0,是專為3G網路而開發的,可以說代表了當今最強大的手機作業系統。此外,Symbian從6.0版本就開始支持外接存儲設備,如MMC,CF卡等,這讓它強大的擴展能力得以充分發揮,使存放更多的軟體以及各種大容量的多媒體檔案成為了可能。
Symbian按版本來分,繼2005年二月Symbian推出一款新的手機作業系統軟體OSv9.0,到目前為止已先後有了6.0、6.1、7.0、7.0s、8.0、9.0幾種版本。1999年3月Symbian推出了Symbian5.0作業系統,它的主要核心集合了網路,無線文字,電子郵件,名片薄以及個人信息助理,同時還具有支持標準網路頁面的瀏覽器,配合java語言的支持,使得Symbian可以運行小型的應用程式。不過這個版本採用的機型甚少,基本上與EPOC沒有太多的差別。
Symbian 6.0則在5.0的基礎上增加了,GPRS、WAP1.2瀏覽器以及藍牙技術的支持,用戶可以運行第三方基於C++和J2ME開發的程式。而Symbian 6.1則是和Symbian 6.0相比主要增加了對USB的支持。Symbian 6.0的主要特點是: 支持語音通話和數據通信 ,支持Bluetooth和WAP ,配備安全性功能(SSL,HTTPS,WTLS) ,採用16bit Unicode,支持多語言顯示 ,採用“PersonalJava 3.0”和“JavaPhone 1.0” 。
Symbian 7.0則支持多模式和3G手機(專區),可以讓製造商們可以面向全世界推出可以運行於所有網路之上的Symbian OS手機,而且可以不對代碼進行重大改動的情況下就可以重新使用許多到目前為止已有的軟體套用。7.0包含一些新的通訊、訊息、聯網和套用開發技術,並對一些與安全和認證相關的功能進行了改進。Symbian OS 7.0的其他功能包括:支持靈活的用戶界面,例如Nokia的Series 60;支持幾種音頻/圖像格式和許多面向遊戲開發人員的API;全力的加密和認證管理,基於安全通訊協定(包括HTTPS、WTLS和SSL)及認證的套用安裝;和Over-the-air(OTA)SyncML同步支持。
2004年2月,Symbian在授權LG等公司的時候,發布了Symbian8 .0版本。該版本改善了實時系統性能,提高了原有作業系統的兼容能力。此外,Symbian OS 8.0的軟體工具改進了遠程接入控制系統功能,運用調節裝置消除手機用戶使用增值服務時會受到的干擾。這個系統包含了絕對現代化的多媒體和Java設備,支持多種標準,其中包括JSR118, CLDC1.1 (JSR139),MobileMedia (JSR135),3D圖像數據(JSR184), JTWI 1.0 c(JSR185)。最後,新版OS還支持SDIO。
2005年二月,英國著名手機軟體製造商Symbian推出一款新的手機作業系統軟體OSv9.0,它支持更高像素數位相機與三維遊戲動畫。該作業系統軟體對運行環境要求較高,到目前為止運行在由英國晶片開發商ARM提供的快速處理器晶片,並且需要相關設計與其它工具的支持來幫助手機生產商在開發其它版本時能夠節約時間和降低成本。該軟體可以處理200萬像素的數字圖片,甚至能夠向無線耳機傳送立體聲音樂,更可喜的是,它不需要同步軟體就能夠從PC上導出MP3檔案。
Series60是智慧型手機中套用最廣泛的系統版本。Series60系統還分為6.0 OS、7.0 OS和8.0 OS三個版本。區別Series60的最直觀因素在於螢幕的解析度,Series60支持的解析度為176*208像素,但以後S60還會支持240*320像素、352*416像素等。S60是擁有最多第三方軟體或遊戲的界面。
識別Series80界面最簡單的辦法就是看手機是否支持全鍵盤,例如諾基亞高端系列的9210、9300甚至9500,都採用全鍵盤的。識別Series90的最簡便方法是:會採用觸控螢幕幕,解析度也高達640*320像素。Series90應該是手機遊戲、娛樂的最強平台,但因為採用Series90界面的手機型號太少,第三方軟體的支持很少,所以S60依舊是玩家首選。
S40或S60是指諾基亞手機的上層平台。S60都是智慧型手機,所用底層作業系統是Symbian。諾基亞128*128螢幕都是S40 1.0。而128*160是S40 2.0。
另外S40中,3100支持javaMIDP 1.0,所以最大支持64KB的java;6230支持java MIDP 2.0,所以最大支持128KB的java40和60,包括90,還有以前的30,都是針對與nokia不同的作業系統而言40,是nokia自行研製的手機作業系統,面對於中低端客戶,支持kjava的開發,其處理器效率不高,記憶體偏低,螢幕大小128*128。
S60,是基於Symbian作業系統,也就是以前的epoc,其處理器為arm9,處理效率很高,記憶體頗大,螢幕大小為208*176同時支持kjava和C++的開發90,屬於手持式設備,也是Symbian 作業系統但是功能強勁,等同於一個PDA了。
其實技術來上說,S40跟S60是區別在系統平台上,就好像WIN98跟WIN2000,但手機不像PC,螢幕大小的確是個關口,以致於平台不容易做到向下兼容,但有的遊戲也同樣做出不同版本來的。
S40比S60不單單是螢幕上的差距,更大的是性能上的差距,一般來說,S60開發出來的遊戲質量都比S40高好多,但可惜,S60比S40的機子又貴上了很多。
Linux
由於Linux具有原始碼開放、軟體授權費用低、套用開發人才資源豐富等優點,便於開發個人和行業套用。這一特點非常重要,因為豐富的套用是智慧型手機的優越性體現和關鍵賣點所在。從套用開發的角度看,由於Linux的原始碼是開放的,有利於獨立軟體開發商(ISV)開發出硬體利用效率高、功能更強大的套用軟體,也方便行業用戶開發自己的安全、可控認證系統。
採用Linux作業系統的理由是降低智慧型手機的生產成本。Linux開發起來最大的特點是從根本上開放原始碼,與其他系統相比,採用開放原始碼的Linux手機作業系統能夠大大降低成本。而且開放原始碼還有一個好處是允許手機製造商根據實際情況,有針對性地開發適合自己手機的Linux作業系統,這樣既能讓自己的產品有特色,又能避免受制於人,還能夠滿足用戶多方面的套用。手機的套用就由通話和簡單的郵件傳輸,發展到Web瀏覽和拍照攝影,照片編輯,動畫播放等多個方面,這樣一來,手機軟體的開發規模是5倍以上。基於這個原因,開發Linux OS,開發者教育等各方面的成本就削減了不少,從而上市的產品便會更具競爭力。
Linux作業系統在使用中的優點也是十分明顯的。首先,對於消費來說,採用的套用於智慧型手機上的Linux作業系統和我們常說的套用於電腦上的Linux作業系統是一個系統,而且都是全免費作業系統。在作業系統上的免費,就等於節省了產品的生產成本,附加到消費者身上的也就少了,給大家帶來了實惠。Linux作業系統系統資源占用率較低,而且性能比較穩定,這都是大家公認的。使用起來能帶來急速體驗,在同硬體配置上,能獲得其他智慧型手機作業系統得不到的快樂。如果以Linux平台的系統資源占用程度同體積龐大。
早在2000年,韓國公司Palm就推出了第一台採用Linux的Tynux手機。2003年1月,NEC宣布將在其手機中使用Linux作業系統,代表著Linux成功進軍手機領域。摩托羅拉A760卻搶現發布搶先,進入市場,搶了NEC頭籌,隨後,採用Linux手機智慧型系統得手機開始多起來了,韓國手機巨頭三星,LG也先後加入了Linux手機智慧型系統陣營。就國產手機而言,各大國內廠商推出智慧型手機開始升溫到已經進入一個飛速發展的階段。
列入國家863計畫的中興智慧型手機e3的推出,代表著國產手機在Linux智慧型手機上的最高成就。國產手機能否借Linux打個翻身仗,還是個疑問。支持LINUX作業系統的機型:摩托羅拉A768I、摩托羅拉A780、飛利浦968、海爾N60、中興E3。
由於智慧型手機結合了強大的硬體運行能力以及開放的軟體作業系統,因此無論是娛樂還是商務套用,智慧型手機的功能都能夠在強大的第三方軟體的支持下獲得無限的擴展。因此,在未來的手機市場上,智慧型手機將引領整個手機發展的潮流,而不是局限於高端手機。手機未來的趨勢是開放系統會逐步地擠掉封閉系統和專有系統。
Windows
Windows Mobile包括Pocket PC、SmartPhone以及Pocket PC Phone三大平台體系,Windows Mobile具有錄音、音視頻播放等多媒體功能。由於大多數機型支持彩色顯示,因此耗電量極大,並且由於Windows CE本身對於資源的巨大吞噬作用,所以在能耗方面Windows CE系統要明顯遜於Palm作業系統。在功能擴展方面微軟比較傾向於集成使用,用戶可以根據自己的需要增加記憶體、攝像頭、數據機等設備。
針對中國用戶而言,Windows Moblie的中文作業系統已經比較成熟。到目前為止,摩托羅拉、ARM、ST、NeoMagic、德州儀器、Intel、三星、現代都已經生產了針對該系統的處理器;有數十家製造商生產基於Smartphone和Pocket PC技術的移動設備,有35家運營商分銷這些產品。
SmartPhone手機源於Windows Mobile家族,Windows Mobile家族主要包括 Pocket PC、Pocket PC Phone Edition、Smartphone、 Portable Media Center這4個系列產品。
為了積極進入更加廣闊的移動通信市場,微軟把在PDA 市場所使用的 Pocket PC作業系統,改良加入電話的功能,成為新型的 Pocket PC Phone,並在2002年時積極的向手機市場邁進,推出基於 Smartphone 的手機系統。
雖然Smartphone和Pocket PC Phone手機都是基於微軟WindowsCE系統的產品,由於在基本設計出發點不同,所以操作、應用程式上也有所不同。它們的軟體不能通用,操作上PPC手機一般是採用觸控螢幕操作,而Smartphone手機只能使用手機的按鍵來操作。
雖然PPC手機的功能十分強大,但由於它高昂的價格和碩大的體積不是每個用戶都能夠認可的,SmartPhone的出現就是為了讓智慧型手機更加大眾化,以類似於普通手機的體積和相對低廉的價格使用戶感受到智慧型手機給我們到來的便利,當然也為微軟公司獲得更多的利潤。
Smartphone手機中使用的作業系統有Smartphone2002和Smartphone2003兩個版本,這兩個版本實質上並沒有太大的變化,只是2003系統增加了對新硬體技術的支持,就像Windows2000和XP這種版本的升級相似。到目前為止我們市場上出售的的SmartPhone手機主要是採用的SmartPhone2003作業系統。
Palm
Palm作業系統最明顯的優勢還在於其本身是一套專門為掌上電腦編寫的作業系統,在編寫時充分考慮到了掌上電腦記憶體相對較小的情況,所以Palm作業系統本身所占的記憶體極小,基於Palm作業系統編寫的應用程式所占的空間也很小,通常只有幾十KB,所以基於Palm作業系統的掌上電腦雖然只有幾兆記憶體卻可以運行眾多的應用程式。Palm在其它方面還存在一些不足,Palm作業系統本身不具有錄音、MP3播放功能等,如果你需要使用這些功能,就需要另外加入第三方軟體或硬體設備方可實現。
BlackBerry
BlackBerry.nterpriseSolution是一種領先的無線解決方案,可供移動專業人員用來實現與客戶、同事和業務運作所需的信息連線。這是一種經證明有效的優秀平台,它為世界各地的移動用戶提供了與大量業務信息和通信的安全的無線連線。
電子郵件-BlackBerry安全無線延伸移動商業用戶其的企業電子郵件帳戶、即使他們在辦公室外、也可輕鬆處理電郵、就像從沒有離開辦公桌。用戶可以在旅途中傳送、接收、歸檔和刪除郵件、並閱讀電郵附屬檔案、支持格式:如Microsoft.Word、MicrosoftExcel、MicrosoftPowerPoint.、Adobe.PDF、Corel.WordPerfect.、HTML和ASCII)。BlackBerry解決方案的“始終線上”推入技術可以自動傳遞電郵、用戶不需要執行任何操作就可接收通信。
iOS
iOS作業系統,就是蘋果公司的手機作業系統,俗稱蘋果機,可以嵌入到手機中使用的實時作業系統。
Hopen
HOPEN產品解決方案——智慧型手機,HMAP(Hopen Mobile Application Platform)是基於嵌入式實時作業系統的智慧型手機解決方案,可以廣泛套用於普通手機、PDA手機、智慧型手機、遠程信息處理等無線終端設備。