


版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、Maemo手冊(5.1-5.3小節(jié))參考譯文計53班特力更體系結(jié)構(gòu)本文從應(yīng)用程序編程人員的視角出發(fā)描述了Maem評臺的高層體系結(jié)構(gòu)(參考第3部分來得到更多的細(xì)節(jié)描述)。本文還包含Maem南流行的Ubuntu和Debian桌面Linux發(fā)行版本之間的比較。1簡介Maem遑基于DebianGNU/Linux這種繼承自Unix體系結(jié)構(gòu)的操作系統(tǒng)的開發(fā)平臺。Linux,GNUDebian是開源的項目(或者是包含了多個獨立項目的項目),他們都支持共享源代碼,共同協(xié)作以及開放編程模型。MaemOW樣提倡這些做法,它通過共享源碼并直接向上游軟件項目做出貢獻(xiàn)提供了完整的基于開源軟件的移動設(shè)備平臺。1.1關(guān)鍵部
2、件Maem原于Linux操作系統(tǒng)內(nèi)核。Linux是支持多種硬件平臺的獨立內(nèi)核并且可以升級來支持更寬范圍更多種類的設(shè)備,其支持的設(shè)備可以從腕表到大型的服務(wù)器系統(tǒng)?,F(xiàn)在所有基于MaemO勺設(shè)備都有OMA芯片組,其包括通用目的的ARMfe理器和DSP單元。Maem般備目前運行2.6版本內(nèi)核。用戶空間軟件與標(biāo)準(zhǔn)的GNUC語言庫接口進(jìn)行鏈接。除了一些使用了一些進(jìn)行過大小優(yōu)化的C語言庫(例如uClibc)的最小化的嵌入式系統(tǒng)之外,目前大多數(shù)主要的Linux發(fā)行版本都包含了GNUC語言庫。GNUC語言庫是保持POSIX兼容的,而Maem詣在與主流Linux兼容,盡可能地降低移植應(yīng)用程序和應(yīng)用程序引擎的工作量
3、,并且盡可能地引進(jìn)最好的移動計算的開源解決方案。MaemO勺包管理框架,文件系統(tǒng)層次,和通用設(shè)計方案來自于Debian發(fā)行版本。Maemo旨在盡可能地遵循Debian的設(shè)計方法。到目前為止Debian發(fā)行版本擁有最大的開發(fā)社區(qū);到2007年9月,Debian支持十多個不同的硬件架構(gòu),并且擁有多于18000個軟件組件可供使用。MaemO勺用戶接口結(jié)構(gòu)基于GNOM框架,尤其是GTK廊件集。GNOME最主要的桌面Linux系統(tǒng)的應(yīng)用框架。MaemoGNOME目中繼承了很多核心組件,包括比如GTK-+GStreamer多媒體框架,GConf配置管理,和XML庫。MaemoB過提供移動桌面Hildon擴(kuò)
4、展來擴(kuò)展GTK+/GNOME1.2開發(fā)環(huán)境Maem成用了基于Scratchbox的交叉編譯環(huán)境。在Linux系統(tǒng)中交叉編譯并不完善,因為通常其生成腳本利用了自動工具,而自動工具還未被設(shè)計完善以適用于交叉編譯。所以,許多的Linux發(fā)行版本都回避了交叉編譯的問題,并且使用專用硬件來運行本地交叉編譯。這是一個很大的限制,因為有時本地硬件生成環(huán)境搭建起來很困難。并且即使它是可以使用的,那么通常生成腳本過程運行起來也會比交叉編譯慢數(shù)倍。Scratchbox完全分離了目標(biāo)和主機(jī)環(huán)境從而解決了這個問題?;谧詣庸ぞ叩纳赡_本可以不經(jīng)修改地運行于Scratchbox,從而在擁有不同于目標(biāo)系統(tǒng)的硬件平臺的主機(jī)
5、系統(tǒng)上生成目標(biāo)平臺的二進(jìn)制程序。官方的MaemoAPI提供的是C語言的。MaemO勺核心API還有C+和Python版本的。還存在使用于其他語言和環(huán)境的非官方的版本2軟件層這一部分簡短地描述了Maem啪軟件層。在下一部分會給出一個更加詳細(xì)的描述(軟件分解視角)。2.1操作系統(tǒng)層和啟動引導(dǎo)引導(dǎo)裝載程序需要關(guān)注一些硬件細(xì)節(jié)的初始化,然后在啟動過程的早期階段裝入操作系統(tǒng)內(nèi)核。Maemo系統(tǒng)基于Linux2.6操作系統(tǒng)。在內(nèi)核引導(dǎo)過程的最后階段,InitFS(一個小的JFFS2文件系統(tǒng)鏡像)將會被映射。InitFS將在引導(dǎo)階段被用作根文件系統(tǒng),并且在通常的設(shè)備操作中被映射到/mnt/initfs。最終
6、的根文件系統(tǒng)在JFFS2鏡像之上,而這個鏡像是在InitFS引導(dǎo)腳本運行結(jié)束以后被映射的。InitFS上的應(yīng)用程序會連接uClibc庫,這是一個體積很小的C語言庫的版本,可以減少空間的占用。設(shè)備狀態(tài)管理實體(dsme)也在InitFS中。Dsme守護(hù)進(jìn)程的存在是至關(guān)重要的,因為它也用于檢查硬件監(jiān)視程序。Linux內(nèi)核是系統(tǒng)的核心軟件部分。它為系統(tǒng)的設(shè)備提供硬件抽象層、內(nèi)存管理、進(jìn)程管理、還有包括鏈路和傳輸層協(xié)議例如TCP/IP的網(wǎng)絡(luò)服務(wù)、包括文件系統(tǒng)的文件管理以及多種其他的服務(wù)。內(nèi)核的一部分在功能上可以被實現(xiàn)為動態(tài)加載的內(nèi)核模塊。一個內(nèi)核模塊可以在運行時被加載或者被移除。例如設(shè)備驅(qū)動、網(wǎng)絡(luò)協(xié)議
7、、或者文件系統(tǒng)等內(nèi)核功能都可以被實現(xiàn)為內(nèi)核模塊。在Maem毆備上的基于ARM/OMA的Linux內(nèi)核在內(nèi)核核心的虛擬服務(wù)層之上實現(xiàn)了一些針對特定硬件的設(shè)備驅(qū)動和總線驅(qū)動。這些設(shè)備驅(qū)動包括USBLCDWLAN攝像頭和音頻等。而總線驅(qū)動包括了Flash總線、SPI、I2C和串行總線等。2.2系統(tǒng)庫Maem原于標(biāo)準(zhǔn)的GNUC語言庫,并且也實現(xiàn)了標(biāo)準(zhǔn)的C+砰。關(guān)于網(wǎng)絡(luò)安全,OpenSSL庫可以提供加密,并且libcurl可以為應(yīng)用程序提供HTTP支持。對于硬件抽象,Maemo供了HAL(HardwareAbstractionLayer)。它提供了一個擁有設(shè)備對象API的共享庫。一個設(shè)備對象有很多屬性,
8、并且這些屬性還要取決于實際的設(shè)備驅(qū)動是否支持這些屬性。因此,當(dāng)一個新設(shè)備被探測到,創(chuàng)建或者修改/dev的文件,跟蹤設(shè)備的狀態(tài),或者提供使用設(shè)備的方法時,HAL就需要加載正確的設(shè)備驅(qū)動。2.3系統(tǒng)服務(wù)應(yīng)用程序間進(jìn)行通信的主要通道是DBUSDBU弛提供了系統(tǒng)和應(yīng)用程序間進(jìn)行交互的通道。除此之外,DBU馳被用于通過發(fā)送消息來調(diào)用應(yīng)用程序。系統(tǒng)提供了一個SQL數(shù)據(jù)庫SQLite3,可以用來存儲用戶應(yīng)用程序的數(shù)據(jù)。SQLite數(shù)據(jù)庫可以通過一個庫接口來使用,并且沒有集中服務(wù)器進(jìn)程需要連接。2.4Hildon框架用戶接口是基于帶有Matchbox窗口管理器的X窗口系統(tǒng)。X頂部的應(yīng)用程序編程API是一個帶有
9、Hildon擴(kuò)展的GTK部件工具集。GTK也是GNOME程的UI框架。其他的GNOME!件也包含在了Maem伸,例如GConf應(yīng)用程序配置管理,XMLB,GnomeVFS地址簿和日歷管理的數(shù)據(jù)庫后端服務(wù)器,GSF結(jié)構(gòu)文件流,以及SVG(ScalableVectorGraphics)?;贕-Streamer的多媒體框架也包含在其中。Hildon框架提供了在GNOME件之上的構(gòu)件來支持控制面板、狀態(tài)欄、任務(wù)導(dǎo)航器和主窗口小程序。Hildon框架也提供了備份/還原框架、幫助框架和一個應(yīng)用程序管理器。2.5應(yīng)用程序應(yīng)用程序建立在Hildon框架之上。簡單的應(yīng)用程序只需要鏈接Hildon庫、GTK+G
10、lib和提供圖形用戶接口的libosso。更多的復(fù)雜應(yīng)用程序根據(jù)它們的需求使用了其他的服務(wù),比方說它們?yōu)榱耸褂枚嗝襟w而鏈接G-Streamer或者為了使用HTTP而鏈接libcurl。3軟件分解視角3.1軟件構(gòu)件Maemo勺主要構(gòu)件在下表中列出。更多的細(xì)節(jié)可以在點擊所需的構(gòu)件后看到。Maemo勾件的分劃并不是在實際的包的分劃上做一一的映射,因為MaemcS加了一些抽象的構(gòu)件。也就是說,圖片中的各層并不代表實際的包的上層會依賴于下層,盡管其中的某些依賴關(guān)系是存在的。比方說,GTK痕之下的所有構(gòu)件都不依賴于GTK/一層。ApplicationsFontsSoundsIcons5.3.1Connec
11、ticity5.3.1SystemUI5.3.1Search5.3.1TextInput5.3.1MIMETypes5.3.1HomeApplets5.3.1ControlPanel5.3.1TaskNavigator5.3.1StatusBar5.3.1Backup5.3.1Installer5.3.1Alarm5.3.1Help5.3.1LauncherXMLE-D-STelepathyGConfGStreamerGnomeVFSGSF5.3.1Sapwood5.3.1HildonWidgets5.3.1HildonFileUIHTMLWidgetGTK+GDKGdkPixbufPango
12、CairoAtkGLibGObjectSambaGPSObex3.1ConICUPnPJPEGPNGTIFFSVGMatchboxD-BUSHALSQLitecurlHIIP3.1ClipboardSSL5.3.1SystemSW5.3.1Cert.mgnt5.3.1libossoXLibstdC+Sysvinit5.3.1BaseFiles5.3.1CompressionBusyboxdpkgGNUCLibraryaptCoreLibsFreetypeCoreUtilsFontconfig5.3.1CoreDaemonsBlueZ3.1PowermgntWLANsecurityALSAVid
13、eo4-LinuxBootloaderLinuxkernelincludingJFFS2,TCP/IPInitFSin-CludinguClibcdsme標(biāo)記著黃顏色的構(gòu)件通常只提供二進(jìn)制程序(雖然一些子構(gòu)件可能會提供源代碼),其他的構(gòu)件會附帶有源代碼。然而一些特定的應(yīng)用程序會提供源代碼。一些Maemo有的構(gòu)件如下所述。Maemcitl接控制子系統(tǒng)Maemcjtl接控制體系的構(gòu)件包括:Maem說接控制UI一連接控制的用戶接口部分。這些包括連接管理器,控制面板小程序和一些不同的對話框。Maem施接控制守護(hù)進(jìn)程(ICd)一和ICd一起運行的LibConICAPI操縱著所有的互聯(lián)網(wǎng)訪問點(IAPs)
14、。IC守護(hù)進(jìn)程控制著WLA日藍(lán)牙連接。OBE灘寸裝一OBEX服務(wù)的接口。這個庫的主要目標(biāo)用戶是OBEXgnome-vfs模塊。OpenOBEX對象交換協(xié)議(OBEX的開源實現(xiàn)。可以從BlueZ藍(lán)牙堆棧一實際的Linux藍(lán)牙的實現(xiàn)??梢詮目吹礁嗟男畔ⅰluezD-BUSAPIBluez通過D-BUS接受命令。WLA嘔接控制守護(hù)進(jìn)程一這個守護(hù)進(jìn)程控制著WLAN勺連接。WLAM備驅(qū)動一無線網(wǎng)(IEEE802.11g)的設(shè)備驅(qū)動。內(nèi)核驅(qū)動由兩個部分組成:一個二進(jìn)制部分(閉源)和一個開源封裝,這個包裝把二進(jìn)制部分和Linux內(nèi)核綁定在一起。MaemoiR統(tǒng)用戶接
15、口系統(tǒng)UI由兩個部分組成。一個部分是系統(tǒng)UI自身,而另外一個部分由系統(tǒng)UI的插件程序組成。系統(tǒng)UI為系統(tǒng)UI插件提供了主應(yīng)用程序,包含了插件加載和卸載的功能。系統(tǒng)UI插件為很多功能提供了用戶接口,包括功能鍵菜單、閃屏、警報器、設(shè)備鎖、觸摸屏、小鍵盤鎖以及模式轉(zhuǎn)換。Maemoi:局搜索Maem鴕局搜索構(gòu)件為Maem魄供了搜索框架。Maemo俞入法Maem魄供了輸入法。嵌入式設(shè)備對于文本輸入有著特殊的需求。這個框架為Hildon主窗口小程序主窗口小程序(也可以稱為插件)是一些主窗口上的小應(yīng)用程序。它們可以提供很多功能,例如在線天氣信息查詢,或者最新新聞條目視圖。Hildon控制面板Hildon控制
16、面板為系統(tǒng)中應(yīng)用程序、服務(wù)器等提供終端用戶修改設(shè)置的功能。Hildon任務(wù)導(dǎo)航Hildon任務(wù)導(dǎo)航提供了應(yīng)用程序間切換的菜單。為了使得Hildon任務(wù)導(dǎo)航中的應(yīng)用程序可見,應(yīng)用程序的桌面文件是必需的。這個文件包含了在菜單中顯示應(yīng)用程序入口所需的所有基本信息,例如文件名、二進(jìn)制名和D-BUS服務(wù)名。文件名應(yīng)該為應(yīng)用程序.desktop,以及在文件系統(tǒng)中的位置/usr/share/applications/hildon/。Hildon狀態(tài)欄狀態(tài)欄是一個UI組件,可以在主屏幕上用小按鈕顯示多個系統(tǒng)任務(wù)的狀態(tài)。Maemo犬態(tài)欄也可以包含用戶定義的項目。通??梢匀菁{兩個附加的項目。這兩個位置默認(rèn)被usb
17、連接顯示器和警報顯示器使用,但是也可以被任何插件程序使用。雖然插件程序可以被指明一個優(yōu)先級,但是目前版本的狀態(tài)欄不能夠處理插件程序的優(yōu)先級,所以只有最新的兩個插件程序是可見的。MIME類型注冊這個組件提供了MIME類型注冊。Maemo份Maem臨份程序可以保存并且恢復(fù)存儲在一些特定目錄中的用戶數(shù)據(jù),這些目錄包括/MyDocs(默認(rèn))andsettingdirectories/files/etc/osso-af-init/gconf-dir(這是一個鏈接,鏈接到GConf數(shù)據(jù)庫/var/lib/gconf),/etc/osso-af-init/locale和/etc/bluetooth/name
18、。同樣也可以配置備份程序去備份其他的位置或者文件,具體方法可以參考自定義配置文件。Maem臨份程序的備份或者恢復(fù)操作絕對不能被其他應(yīng)用程序的讀寫操作打斷。對于恢復(fù)過程,備份程序會征求用戶的同意,讓應(yīng)用程序關(guān)閉器去關(guān)閉所有的應(yīng)用程序,然后一直等待直到它完成。對于備份過程,備份開始和備份結(jié)束的D-BUS信號會被發(fā)送到會話總線上,指示應(yīng)用程序不能夠?qū)懭氪疟P。Maem況用程序管理器Maem旺用程序管理器是一個可以管理應(yīng)用程序安裝和升級的應(yīng)用程序。這個結(jié)構(gòu)是基于dpkg和apt的。MaemcH報框架Maem漕報框架提供了一個管理定時事件的機(jī)制。定時事件在功能上由alarmd守護(hù)進(jìn)程提供。它使得應(yīng)用程序獲
19、得D-BUS消息或者在特定時間得到exec調(diào)用成為可能。包含在子系統(tǒng)中的包有:LibalarmalarmdMaem滯助框架Maemc助框架集中地向用戶程序提供提供幫助服務(wù)。MaemcT臺擁有一個嵌入式的幫助系統(tǒng),可以使用幫助框架來操縱所有的程序的幫助文檔。對于這個,有一些庫可以將程序注冊到幫助框架,這樣只需要寫入實際的幫助文檔的內(nèi)容就可以了。一個ID標(biāo)簽會交給XML格式的幫助文件。這種方法容易控制,當(dāng)用戶尋求幫助的時候,只要調(diào)用正確的幫助內(nèi)容的ID就可以載入幫助文件了。如果使用幫助框架,那么在使用Maem評臺幫助程序的時候,就可以使用程序的幫助文檔。MaemoU動器Maem亦動器可以啟動Mae
20、m評臺上的大部分應(yīng)用程序。通過MaemcCn動器來共享一些應(yīng)用程序的初始化數(shù)據(jù)可以加速應(yīng)用程序的啟動過程。MaemcCB動器由兩部分組成:(I)Maemc調(diào)用器;(II)Maemc啟動器。Maem碘用器由D-BUS守護(hù)進(jìn)程或者腳本執(zhí)行來啟動應(yīng)用程序提供的服務(wù);而MaemcCB動器是一個初始化大多數(shù)應(yīng)用程序所需數(shù)據(jù)的服務(wù)。Maem碘用器會要求Maem亦動器啟動實際的應(yīng)用程序。使用MaemcCn動器需要應(yīng)用程序被編譯為一個共享庫。有一套輔助Debian軟件包規(guī)則可以使得在給定合適的生成選項的時候可以讓應(yīng)用程序自動地使用Maemo調(diào)用器。應(yīng)用程序的二進(jìn)制名通過其啟動擴(kuò)展被鏈接到Maem溯用器。默認(rèn)的
21、情況下,Maem碘用器會一直等待直到MaemcCn動器通知它應(yīng)用程序已經(jīng)退出,這樣它就可以向調(diào)用程序返回正確的返回值。Maem亦動器是一個服務(wù)進(jìn)程,它可以初始化應(yīng)用程序的數(shù)據(jù),例如Glib類型,Gtk主題和一些Gtk部件類。當(dāng)它被Maem碘用器調(diào)用來啟動應(yīng)用程序的時候,MaemcCB動器并沒有執(zhí)行二進(jìn)制程序,而是dl-lCad應(yīng)用程序作為一個共享庫,fork并且調(diào)用main()。通過fork,初始化數(shù)據(jù)被處理為CCpy-Cn-write,也就是說,被共享直到它被修改。如果應(yīng)用程序異常退出,MaemcCB動器會通知桌面,這樣桌面可以向用戶展示這些。因為預(yù)鏈接并不與dl-loaded庫共同工作,M
22、aemcOn動器不能加速應(yīng)用程序的啟動過程,而庫鏈接在啟動過程的加速要遠(yuǎn)比AF庫初始化更加有效。盡管它可以節(jié)省內(nèi)存空間。SapwoodSapwood為訪問主題圖像提供了服務(wù)器和客戶端庫。服務(wù)器負(fù)責(zé)加載主題相關(guān)的圖像,并且將它們發(fā)布給客戶端。Pixbuf引擎不會在應(yīng)用程序之間共享位圖,而Sapwood與Pixbuf引擎相比更加節(jié)省內(nèi)存。另外,Sapwood也會更快,因為它使用XServer來拼貼16位圖像,然而pixbuf引擎會在客戶端判斷24/32位圖像并且把它們轉(zhuǎn)化到16位從而XServer可以blitting(按塊處理)。Hildon部件Hildon組件在GTK標(biāo)準(zhǔn)組件集之上還提供了很多G
23、UI擴(kuò)展。這些包括了應(yīng)用程序組件(例如HildonApp,HildonWindow以及HildonProgram),選擇器(例如HildonCalenderPopup),編輯器(例如HildonRange),通知器(例如HildonBanner)等。Hildon文件UI這個包為訪問文件系統(tǒng)提供了圖形用戶接口組件。LibOSSOLibOSSO是一個共享庫,它包含了使得Maem旺用程序可以更好地集成在平臺上的必需的和有幫助的服務(wù)。系統(tǒng)軟件系統(tǒng)軟件子系統(tǒng)為應(yīng)用程序和用戶提供了整個系統(tǒng)范圍的服務(wù)。這些服務(wù)包括了設(shè)備狀態(tài)管理(dsg,模式控制(mce),電池管理(bm。和一些圖形用戶接口元素來管理這些服
24、務(wù)的行為。以下是關(guān)于這些組件更多的細(xì)節(jié)描述:設(shè)備狀態(tài)管理:負(fù)責(zé)管理設(shè)備的狀態(tài),包括關(guān)閉和啟動。另外,dsm還負(fù)責(zé)保持設(shè)備運行和工作。這個可以通過檢測關(guān)鍵進(jìn)程的狀態(tài)來實現(xiàn),例如D-BUSX11和窗口管理器。最后,dsm還負(fù)責(zé)跟蹤不活動狀態(tài),并且在此基礎(chǔ)上初始化省電操作(例如關(guān)閉屏幕)。模式控制:為控制各種設(shè)備模式提供接口,例如離線模式(禁用藍(lán)牙和WLAN;提供各種系統(tǒng)級的用戶接口,例如設(shè)備鎖、觸摸屏和鍵盤鎖、LED等。電池管理:負(fù)責(zé)電池電壓監(jiān)測和識別,電池充電和充電器識別。電源管理電源管理(PM框架考慮到了各種概念,包括dynamictick、操作系統(tǒng)空閑、時鐘框架和DVFSPM框架可以分為兩個
25、獨立的機(jī)制:操作系統(tǒng)空閑和DVFS操作系統(tǒng)空閑基于操作系統(tǒng)的調(diào)度器。不論何時調(diào)度器沒有任務(wù)執(zhí)行,它就會調(diào)用空閑函數(shù)??臻e函數(shù)之后會選擇關(guān)閉全部或部分硬件從而節(jié)省電源。省電的級別要根據(jù)使用的時鐘和電壓。DVF饑許在運行時按比例減小SoC的頻率和電壓來降低電流泄露,從而節(jié)省電源。ARMDSP處理器降頻(從而降壓)的根據(jù)處理器上的負(fù)載程序而不同。操作系統(tǒng)空閑和DVFS兩者是獨立觸發(fā)的。DVFS的觸發(fā)是基于所需處理的電源的增加或者減少,而操作系統(tǒng)空閑的觸發(fā)是靠Linux調(diào)度器。目前Linux驅(qū)動模型提供的待機(jī)和恢復(fù)功能還不能使用。同樣,內(nèi)核級的電源管理也不能從用戶空間得到引導(dǎo)。剪貼板在Maeme,有很
26、多X剪貼板和Gtk+的剪貼板改進(jìn)使得:支持當(dāng)應(yīng)用程序所獨有的剪貼板退出時保留剪貼板數(shù)據(jù),在不同的應(yīng)用程序的Gtk+文本視圖之間復(fù)制和粘貼富文本數(shù)據(jù)。普遍提供了更好的用戶體驗;使得應(yīng)用程序開發(fā)人員可以更加容易做到當(dāng)應(yīng)用程序不支持剪貼板中的數(shù)據(jù)格式時讓“粘貼”的菜單項變灰。壓縮這個子系統(tǒng)為一般目的的數(shù)據(jù)壓縮和解壓提供了多個庫和程序。支持的壓縮算法包括Lempel-Ziv(gzip),而該算法也被用為zip和PKZIP。支持的壓縮格式包括:zlibdeflategzipConICConIC為操作和使用互聯(lián)網(wǎng)訪問點(IAP)和IAP連接提供了一個接口。證書管理Maem評臺提供了API來證書的存儲和處理
27、。這樣可以使得軟件的每個部分可以訪問到所有的證書,從而使得很多操作更易實現(xiàn),例如,安裝一個新的CA證書從而在所有相關(guān)的程序(如WebU覽器、e-mail、VPN和無線連接)中立即生效。這樣可以節(jié)省工作量和磁盤空間。核心守護(hù)進(jìn)程守護(hù)進(jìn)程用來執(zhí)行一些特定任務(wù)的服務(wù)進(jìn)程。大多數(shù)的守護(hù)進(jìn)程,像dbus-daemon,被分別描述從而這個子系統(tǒng)可以有多種多樣的進(jìn)程。這部分的包包括:Sysklogd(系統(tǒng)消息日志)基本文件這個子系統(tǒng)會傳遞Debian系統(tǒng)的基本的文件系統(tǒng)層次,同時也會傳遞包含用戶和組ID的用戶數(shù)據(jù)庫文件(/etc/passwd和/etc/group)原拷貝。這部分的包包括:base-file
28、sbase-passwd3.2內(nèi)核Maem成用一個Linux2.6的操作系統(tǒng)內(nèi)核。Linux是一個開源的操作系統(tǒng),它是由成千上萬的志愿者和公司開發(fā)的,他們都在GNUGP1議的基礎(chǔ)上共享了他們的工作成果。結(jié)構(gòu)上Linux有一個整體的內(nèi)核。所有內(nèi)核代碼都在超級用戶模式下運行。Linux內(nèi)核可以通過動態(tài)加載內(nèi)核模塊在運行時擴(kuò)展。還有很多設(shè)備驅(qū)動、文件系統(tǒng)以及網(wǎng)絡(luò)協(xié)議模塊的API。開發(fā)人員可以增加新的內(nèi)核模塊。Maem曲核是基于AR岫核分支并且可以由開發(fā)人員修改,再編譯并且拷貝到閃存。一些模塊只有二進(jìn)制程序,例如WLAN那么如果開發(fā)人員改變了內(nèi)核,這些模塊的API應(yīng)該保持不變。3.3閃存分區(qū)在基于Ma
29、emct勺設(shè)備上有四個獨立的閃存分區(qū)。這些分區(qū)是:啟動加載分區(qū)內(nèi)核分區(qū)初始文件系統(tǒng)(在一個小的JFFS2分區(qū))根文件系統(tǒng)分區(qū)(在一個JFFS2分區(qū))根文件系統(tǒng)分區(qū)包含了組件分解表的所有組件,而不是讓這些組件在更低的層次。3.4應(yīng)用程序框架應(yīng)用程序框架的設(shè)計目的是為了提供一個應(yīng)用程序的標(biāo)準(zhǔn)結(jié)構(gòu)來幫助應(yīng)用程序的開發(fā)。帶有圖形用戶接口的應(yīng)用程序都會有一個類似的結(jié)構(gòu),比方說,事件驅(qū)動的運行時模型。這些事件由用戶觸發(fā),例如在觸摸屏上觸摸了一個按鈕。事件也可以被應(yīng)用程序引擎自身觸發(fā)。一個例子就是從網(wǎng)絡(luò)上接受到新的數(shù)據(jù)。Maemct勺應(yīng)用程序框架叫做Hildon。Hildon一部分基于和GNOM鋌架同樣的技
30、術(shù),比較明顯的就是GTK書勺組件。Hildon有一些GNOME/GT娜付加和擴(kuò)展,包括Hildon組件集,Sapwood主題引擎和圖像服務(wù)器、任務(wù)導(dǎo)航器、Hildon控制面板和狀態(tài)欄。與標(biāo)準(zhǔn)GNOM的一些不同之處,例如Sapwood,其設(shè)計的目的是為了減少內(nèi)存的需求以及提高在小型手持設(shè)備上的運行速度。另外,Hildon框架有很多支持移動性的特點,例如自動存儲狀態(tài)、觸摸屏輸入技術(shù)以及小型便攜設(shè)備上的窗口管理??蚣艿木幊藺PI對于GNOMEGTK程序員來說非常熟悉??蚣茉谙聦佑蠫lib和GObject對象管理系統(tǒng)。GTK組件集和Hildon擴(kuò)展一起提供。進(jìn)程間的通信使用了D-BUS消息。用戶文件可
31、以通過GNOME-VFS問,并且多媒體應(yīng)用程序可以使用GStreamer來獲得對于多種編解碼器的加速支持。用戶配置通過GConf來存儲,并且還可以獲得一個XML分析器的API。圖表1:主要應(yīng)用程序框架組件圖表1說明了MaemoS用程序開發(fā)員必需處理的最至關(guān)緊要的組件和它們從屬組件。這些組件在下一個部分將會解釋更多的細(xì)節(jié)。3.5基本發(fā)行版本Maemd艮大程度上基于和DebianLinux發(fā)行版本同樣的開源組件。Maem疝GNU/Linux之上構(gòu)建了操作系統(tǒng)核心和GNOME/GTK+戶接口體系結(jié)構(gòu)。Maem敏用了和Debian-dpkg-tool二進(jìn)制包相同的組件包系統(tǒng)??梢园惭b新的包,而舊的包可
32、以被卸載,并且整個系統(tǒng)可以通過包管理框架進(jìn)行升級更新。整個文件系統(tǒng)結(jié)構(gòu)也來自于Debian。MaemcW很多優(yōu)化和擴(kuò)展可以使得在InternetTablet上運行軟件。這些包括電源管理相關(guān)的問題,觸摸屏輸入,性能和大小優(yōu)化。為了減少空間,Maem敏用了shell和Busybox的命令行工具。很明顯Maem評臺很緊密地附屬于GNOME動平臺。在寫操作的時候,Maem皎用了與GNOME移動平臺完全相同的組件,除了服務(wù)發(fā)現(xiàn)功能部分。標(biāo)準(zhǔn)Debian系統(tǒng)的基本包和Delta核心版本是Debian,例如對于安裝包管理使用了dpkg和apt之類的工具。同樣,sysvinit,base-files和base-passwd也被包含在DebianEtch基本包列表中。然而與標(biāo)準(zhǔn)Debian想比也有幾個不同的地方。一個是用B
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 大連醫(yī)科大學(xué)《皮革整飾化學(xué)與工藝學(xué)》2023-2024學(xué)年第二學(xué)期期末試卷
- 浙江藥科職業(yè)大學(xué)《學(xué)前兒童衛(wèi)生學(xué)》2023-2024學(xué)年第二學(xué)期期末試卷
- 天津醫(yī)學(xué)高等??茖W(xué)?!吨嗅t(yī)基礎(chǔ)理論》2023-2024學(xué)年第二學(xué)期期末試卷
- 衡陽師范學(xué)院南岳學(xué)院《信號與系統(tǒng)綜合實踐》2023-2024學(xué)年第二學(xué)期期末試卷
- 工程竣工驗收報告防腐涂料質(zhì)量評估
- 針對進(jìn)口商品各種情況調(diào)查
- 2025年中國醫(yī)藥市場分析:規(guī)模突破4萬億元 基因藥物增速領(lǐng)跑行業(yè)
- 深溝槽專項施工方案
- 湖南省株洲市淥口區(qū)第三中學(xué)、株洲健坤瀟湘高級中學(xué)2024-2025學(xué)年高二上學(xué)期1月期末聯(lián)考數(shù)學(xué)試題(解析版)
- 成渝經(jīng)濟(jì)圈名校聯(lián)盟2024-2025學(xué)年高三上學(xué)期第一次聯(lián)考數(shù)學(xué)試題(解析版)
- 中小學(xué)勞動教育實踐指導(dǎo)手冊
- 基于語文核心素養(yǎng)的初中語文綜合性學(xué)習(xí)教學(xué)策略研究
- 高血壓員工免責(zé)協(xié)議范本
- 工藝部述職報告
- 供貨交貨進(jìn)度計劃及保證措施
- 第17課《學(xué)習(xí)中的煩心事》課件
- 規(guī)劃選址及用地預(yù)審流程
- 關(guān)于衛(wèi)健系統(tǒng)工作調(diào)研報告
- 烯烴習(xí)題參考答案
- 2023-2024學(xué)年山東省淄博市高青縣七年級下學(xué)期期中考試英語試題 (含答案)
- 各國鋼材牌號對照大全
評論
0/150
提交評論