版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、嵌入式系統(tǒng)及應(yīng)用,第三章 嵌入式軟件系統(tǒng)基礎(chǔ),主要內(nèi)容,嵌入式軟件系統(tǒng)概述 嵌入式操作系統(tǒng) 嵌入式軟件開發(fā)工具(在嵌入式系統(tǒng)軟件開發(fā)一章中介紹) 嵌入式Java,第一節(jié) 嵌入式軟件系統(tǒng)概述,軟件系統(tǒng) 嵌入式軟件系統(tǒng)的分類 嵌入式軟件系統(tǒng)的體系結(jié)構(gòu) 嵌入式軟件運(yùn)行流程,軟件系統(tǒng),軟件(software)是計(jì)算機(jī)系統(tǒng)中與硬件(hardware)相互依存的另一部分,它包括程序(program)、相關(guān)數(shù)據(jù)(data)及其說(shuō)明文檔(document)。 其中: 程序是按照事先設(shè)計(jì)的功能和性能要求執(zhí)行的指令序列; 數(shù)據(jù)是程序能正常操縱信息的數(shù)據(jù)結(jié)構(gòu); 文檔是與程序開發(fā)維護(hù)和使用有關(guān)的各種圖文資料。,軟件系
2、統(tǒng),軟件是一種邏輯實(shí)體,具有抽象性。 這個(gè)特點(diǎn)使它與其它工程對(duì)象有著明顯的差異。人們可以把它記錄在紙上、內(nèi)存、和磁盤、光盤上,但卻無(wú)法看到軟件本身的形態(tài),必須通過(guò)觀察、分析、思考、判斷,才能了解它的功能、性能等特性。,軟件產(chǎn)品的特性,軟件沒(méi)有明顯的制造過(guò)程。 一旦研制開發(fā)成功,就可以大量拷貝同一內(nèi)容的副本。所以對(duì)軟件的質(zhì)量控制,必須著重在軟件開發(fā)方面下工夫。,軟件在使用過(guò)程中,沒(méi)有磨損、老化的問(wèn)題。 軟件在生存周期后期不會(huì)因?yàn)槟p而老化,但會(huì)為了適應(yīng)硬件、環(huán)境以及需求的變化而進(jìn)行修改,而這些修改有不可避免的引入錯(cuò)誤,導(dǎo)致軟件失效率升高,從而使的軟件退化。當(dāng)修改的成本變得難以接受時(shí),軟件就被拋棄
3、。,軟件對(duì)硬件和環(huán)境有著不同程度的依賴性。這導(dǎo)致了軟件移植的問(wèn)題。,軟件的開發(fā)至今尚未完全擺脫手工作坊式的開發(fā)方式,生產(chǎn)效率低。,軟件是復(fù)雜的,而且以后會(huì)更加復(fù)雜。 軟件是人類有史以來(lái)生產(chǎn)的復(fù)雜度最高的工業(yè)產(chǎn)品。軟件涉及人類社會(huì)的各行各業(yè)、方方面面,軟件開發(fā)常常涉及其它領(lǐng)域的專門知識(shí),這對(duì)軟件工程師提出了很高的要求。,軟件的成本相當(dāng)昂貴。 軟件開發(fā)需要投入大量、高強(qiáng)度的腦力勞動(dòng),成本非常高,風(fēng)險(xiǎn)也大?,F(xiàn)在軟件的開銷已大大超過(guò)了硬件的開銷。,軟件工作牽涉到很多社會(huì)因素。 許多軟件的開發(fā)和運(yùn)行涉及機(jī)構(gòu)、體制和管理方式等問(wèn)題,還會(huì)涉及到人們的觀念和心理。這些人的因素,常常成為軟件開發(fā)的困難所在,直接
4、影響到項(xiàng)目的成敗。,嵌入式軟件系統(tǒng)的分類,嵌入式軟件,系統(tǒng)軟件,支撐軟件,應(yīng)用軟件,控制、管理計(jì)算機(jī)系統(tǒng)的資源,嵌入式操作系統(tǒng) 嵌入式中間件(CORBA、 Java) 等等,輔助軟件開發(fā)的工具,系統(tǒng)分析設(shè)計(jì)工具 仿真開發(fā)工具 交叉開發(fā)工具 測(cè)試工具 配置管理工具 維護(hù)工具等,面向應(yīng)用領(lǐng)域,手機(jī)軟件 路由器軟件 交換機(jī)軟件 飛控軟件等,嵌入式軟件系統(tǒng)的分類,從運(yùn)行平臺(tái)來(lái)分,嵌入式軟件可以分為 運(yùn)行在開發(fā)平臺(tái)上的軟件:設(shè)計(jì)、開發(fā)、測(cè)試工具等。 運(yùn)行在嵌入式系統(tǒng)上的軟件:嵌入式操作系統(tǒng)、應(yīng)用程序、驅(qū)動(dòng)程序及部分開發(fā)工具。,嵌入式軟件系統(tǒng)的體系結(jié)構(gòu),硬件,應(yīng)用層,驅(qū)動(dòng)層,操作系統(tǒng)層,中間件層,嵌入式軟
5、件系統(tǒng)的體系結(jié)構(gòu),驅(qū)動(dòng)層 驅(qū)動(dòng)層是直接與硬件打交道的一層,它對(duì)操作系統(tǒng)和應(yīng)用提供所需的驅(qū)動(dòng)的支持。該層主要包括三種類型的程序。,板級(jí)初始化程序 這些程序在嵌入式系統(tǒng)上電后初始化系統(tǒng)的硬件環(huán)境,包括嵌入式微處理器、存儲(chǔ)器、中斷控制器、DMA、定時(shí)器等的初始化。,與系統(tǒng)軟件相關(guān)的驅(qū)動(dòng) 這類驅(qū)動(dòng)是操作系統(tǒng)和中間件等系統(tǒng)軟件所需的驅(qū)動(dòng)程序,它們的開發(fā)要按照系統(tǒng)軟件的要求進(jìn)行。 目前操作系統(tǒng)內(nèi)核所需的硬件支持一般都已集成在嵌入式微處理器中了,因此操作系統(tǒng)廠商提供的內(nèi)核驅(qū)動(dòng)一般不用修改。,與應(yīng)用軟件相關(guān)的驅(qū)動(dòng) 與應(yīng)用軟件相關(guān)的驅(qū)動(dòng)不一定需要與操作系統(tǒng)連接,這些驅(qū)動(dòng)的設(shè)計(jì)和開發(fā)由應(yīng)用決定。,嵌入式軟件系統(tǒng)的
6、體系結(jié)構(gòu),操作系統(tǒng)層 操作系統(tǒng)層包括嵌入式內(nèi)核、嵌入式TCP/IP網(wǎng)絡(luò)系統(tǒng)、嵌入式文件系統(tǒng)、嵌入式GUI系統(tǒng)和電源管理等部分。 其中嵌入式內(nèi)核是基礎(chǔ)和必備的部分,其他部分要根據(jù)嵌入式系統(tǒng)的需要來(lái)確定。,嵌入式軟件系統(tǒng)的體系結(jié)構(gòu),中間件層 目前在一些復(fù)雜的嵌入式系統(tǒng)中也開始采用中間件技術(shù),主要包括嵌入式CORBA、嵌入式Java、嵌入式DCOM和面向應(yīng)用領(lǐng)域的中間件軟件。 如基于嵌入式CORBA的應(yīng)用于軟件無(wú)線電臺(tái)的應(yīng)用中間件SCA(Software Core Architecture)等。,嵌入式軟件系統(tǒng)的體系結(jié)構(gòu),應(yīng)用層 應(yīng)用層軟件主要由多個(gè)相對(duì)獨(dú)立的應(yīng)用任務(wù)組成 每個(gè)應(yīng)用任務(wù)完成特定的工作
7、,如I/O任務(wù)、計(jì)算的任務(wù)、通信任務(wù)等,由操作系統(tǒng)調(diào)度各個(gè)任務(wù)的運(yùn)行。,嵌入式軟件運(yùn)行流程,上電復(fù)位,系統(tǒng)升級(jí),引導(dǎo)/升級(jí)系統(tǒng),系統(tǒng)初始化,應(yīng)用初始化,多任務(wù)應(yīng)用,板級(jí)初始化,遠(yuǎn)程升級(jí),本地升級(jí),基于多任務(wù)操作系統(tǒng)的嵌入式軟件的主要運(yùn)行流程 該運(yùn)行流程主要分為5個(gè)階段,嵌入式軟件運(yùn)行流程,上電復(fù)位、板級(jí)初始化階段 嵌入式系統(tǒng)上電復(fù)位后完成板級(jí)初始化工作。 板級(jí)初始化程序具有完全的硬件特性,一般采用匯編語(yǔ)言實(shí)現(xiàn)。不同的嵌入式系統(tǒng),板級(jí)初始化時(shí)要完成的工作具有一定的特殊性,但以下工作一般是必須完成的: CPU中堆棧指針寄存器的初始化。 BSS段(Block Storage Space表示未被初始化
8、的數(shù)據(jù))的初始化。 CPU芯片級(jí)的初始化:中斷控制器、內(nèi)存等的初始化。,返回,嵌入式軟件運(yùn)行流程,系統(tǒng)引導(dǎo)/升級(jí)階段 根據(jù)需要分別進(jìn)入系統(tǒng)軟件引導(dǎo)階段或系統(tǒng)升級(jí)階段。 軟件可通過(guò)測(cè)試通信端口數(shù)據(jù)或判斷特定開關(guān)的方式分別進(jìn)入不同階段。,嵌入式軟件運(yùn)行流程,系統(tǒng)引導(dǎo)階段 系統(tǒng)引導(dǎo)有幾種情況: 將系統(tǒng)軟件從NOR Flash中讀取出來(lái)加載到RAM中運(yùn)行:這種方式可以解決成本及Flash速度比RAM慢的問(wèn)題。軟件可壓縮存儲(chǔ)在Flash中。 不需將軟件引導(dǎo)到RAM中而是讓其直接在NorFlash上運(yùn)行,進(jìn)入系統(tǒng)初始化階段。 將軟件從外存(如NandFlash、CF卡、MMC等)中讀取出來(lái)加載到RAM中運(yùn)
9、行:這種方式的成本更低。,嵌入式軟件運(yùn)行流程,系統(tǒng)升級(jí)階段 進(jìn)入系統(tǒng)升級(jí)階段后系統(tǒng)可通過(guò)網(wǎng)絡(luò)進(jìn)行遠(yuǎn)程升級(jí)或通過(guò)串口進(jìn)行本地升級(jí)。 遠(yuǎn)程升級(jí)一般支持TFTP、FTP、HTTP等方式。 本地升級(jí)可通過(guò)Console口使用超級(jí)終端或特定的升級(jí)軟件進(jìn)行。,返回,嵌入式軟件運(yùn)行流程,系統(tǒng)初始化階段 在該階段進(jìn)行操作系統(tǒng)等系統(tǒng)軟件各功能部分必需的初始化工作,如根據(jù)系統(tǒng)配置初始化數(shù)據(jù)空間、初始化系統(tǒng)所需的接口和外設(shè)等。 系統(tǒng)初始化階段需要按特定順序進(jìn)行,如首先完成內(nèi)核的初始化,然后完成網(wǎng)絡(luò)、文件系統(tǒng)等的初始化,最后完成中間件等的初始化工作。,返回,嵌入式軟件運(yùn)行流程,應(yīng)用初始化階段 在該階段進(jìn)行應(yīng)用任務(wù)的創(chuàng)
10、建,信號(hào)量、消息隊(duì)列的創(chuàng)建和與應(yīng)用相關(guān)的其它初始化工作。 多任務(wù)應(yīng)用運(yùn)行階段 各種初始化工作完成后,系統(tǒng)進(jìn)入多任務(wù)狀態(tài),操作系統(tǒng)按照已確定的算法進(jìn)行任務(wù)的調(diào)度,各應(yīng)用任務(wù)分別完成特定的功能。,第二節(jié) 嵌入式操作系統(tǒng),概述 嵌入式操作系統(tǒng)的演變 嵌入式操作系統(tǒng)分類 嵌入式操作系統(tǒng)體系結(jié)構(gòu) 嵌入式操作系統(tǒng)的組成 嵌入式實(shí)時(shí)操作系統(tǒng)C/OS-II簡(jiǎn)介,概述,嵌入式操作系統(tǒng)可以統(tǒng)稱為應(yīng)用在嵌入式系統(tǒng)的操作系統(tǒng),它具有一般操作系統(tǒng)的功能,同時(shí)具有嵌入式軟件的特點(diǎn),主要有: 可固化 可配置、可剪裁 獨(dú)立的板級(jí)支持包,可修改 不同的CPU有不同的版本 應(yīng)用的開發(fā)需要有集成的交叉開發(fā)工具,概述,近十年來(lái),嵌入
11、式操作系統(tǒng)得到飛速的發(fā)展 從支持8位微處理器到16位、32位甚至64位微處理器; 從支持單一品種的微處理器芯片到支持多品種微處理器芯片; 從只有內(nèi)核到除了內(nèi)核外還提供其他功能模塊,如文件系統(tǒng),TCP/IP網(wǎng)絡(luò)系統(tǒng),窗口圖形系統(tǒng)等。 隨著嵌入式系統(tǒng)應(yīng)用領(lǐng)域的擴(kuò)展,目前嵌入式操作系統(tǒng)的市場(chǎng)在不斷細(xì)分,出現(xiàn)了針對(duì)不同領(lǐng)域的產(chǎn)品,這些產(chǎn)品按領(lǐng)域的要求和標(biāo)準(zhǔn)提供特定的功能。,嵌入式操作系統(tǒng)的演變,*Percent of total software supplied by RTOS vendor in a typical embedded device,Application,Application,A
12、pplication,Application,嵌入式操作系統(tǒng)的演變,在嵌入式系統(tǒng)的發(fā)展過(guò)程中,從操作系統(tǒng)的角度來(lái)看,大致經(jīng)歷了以下幾個(gè)階段: 無(wú)操作系統(tǒng)階段 簡(jiǎn)單操作系統(tǒng)階段 實(shí)時(shí)操作系統(tǒng)階段 面向Internet的階段,嵌入式操作系統(tǒng)的演變,無(wú)操作系統(tǒng)階段 嵌入式系統(tǒng)最初的應(yīng)用是基于單片機(jī)的,大多以可編程控制器的形式出現(xiàn),具有監(jiān)測(cè)、伺服、設(shè)備指示等功能,通常應(yīng)用于各類工業(yè)控制和飛機(jī)、導(dǎo)彈等武器裝備中,一般沒(méi)有操作系統(tǒng)的支持,只能通過(guò)匯編語(yǔ)言對(duì)系統(tǒng)進(jìn)行直接控制,運(yùn)行結(jié)束后再清除內(nèi)存。 這些裝置雖然已經(jīng)初步具備了嵌入式的應(yīng)用特點(diǎn),但僅僅只是使用8位的CPU芯片來(lái)執(zhí)行一些單線程的程序,因此嚴(yán)格地說(shuō)
13、還談不上系統(tǒng)的概念。 這一階段嵌入式系統(tǒng)的主要特點(diǎn)是:系統(tǒng)結(jié)構(gòu)和功能相對(duì)單一,處理效率較低,存儲(chǔ)容量較小,幾乎沒(méi)有用戶接口。由于這種嵌入式系統(tǒng)使用簡(jiǎn)便、價(jià)格低廉,因而曾經(jīng)在工業(yè)控制領(lǐng)域中得到了非常廣泛的應(yīng)用,但卻無(wú)法滿足現(xiàn)今對(duì)執(zhí)行效率、存儲(chǔ)容量都有較高要求的信息家電等場(chǎng)合的需要。,嵌入式操作系統(tǒng)的演變,簡(jiǎn)單操作系統(tǒng)階段 20世紀(jì)80年代,隨著微電子工藝水平的提高,IC制造商開始把嵌入式應(yīng)用中所需要的微處理器、I/O接口、串行接口以及RAM、ROM等部件統(tǒng)統(tǒng)集成到一片VLSI中,制造出面向I/O設(shè)計(jì)的微控制器,并一舉成為嵌入式系統(tǒng)領(lǐng)域中異軍突起的新秀。與此同時(shí),嵌入式系統(tǒng)的程序員也開始基于一些簡(jiǎn)
14、單的操作系統(tǒng)開發(fā)嵌入式應(yīng)用軟件,大大縮短了開發(fā)周期、提高了開發(fā)效率。 這一階段嵌入式系統(tǒng)的主要特點(diǎn)是:出現(xiàn)了大量高可靠、低功耗的嵌入式CPU(如Power PC等),各種簡(jiǎn)單的嵌入式操作系統(tǒng)開始出現(xiàn)并得到迅速發(fā)展。此時(shí)的嵌入式操作系統(tǒng)雖然還比較簡(jiǎn)單,但已經(jīng)初步具有了一定的兼容性和擴(kuò)展性,內(nèi)核精巧且效率高,主要用來(lái)控制系統(tǒng)負(fù)載以及監(jiān)控應(yīng)用程序的運(yùn)行。,嵌入式操作系統(tǒng)的演變,實(shí)時(shí)操作系統(tǒng)階段 20世紀(jì)90年代,在分布控制、柔性制造、數(shù)字化通信和信息家電等巨大需求的牽引下,嵌入式系統(tǒng)進(jìn)一步飛速發(fā)展,而面向?qū)崟r(shí)信號(hào)處理算法的DSP產(chǎn)品則向著高速度、高精度、低功耗的方向發(fā)展。隨著硬件實(shí)時(shí)性要求的提高,嵌
15、入式系統(tǒng)的軟件規(guī)模也不斷擴(kuò)大,逐漸形成了實(shí)時(shí)多任務(wù)操作系統(tǒng)(RTOS),并開始成為嵌入式系統(tǒng)的主流。 這一階段嵌入式系統(tǒng)的主要特點(diǎn)是:操作系統(tǒng)的實(shí)時(shí)性得到了很大改善,已經(jīng)能夠運(yùn)行在各種不同類型的微處理器上,具有高度的模塊化和擴(kuò)展性。此時(shí)的嵌入式操作系統(tǒng)已經(jīng)具備了文件和目錄管理、設(shè)備管理、多任務(wù)、網(wǎng)絡(luò)、圖形用戶界面(GUI)等功能,并提供了大量的應(yīng)用程序接口(API),從而使得應(yīng)用軟件的開發(fā)變得更加簡(jiǎn)單。,嵌入式操作系統(tǒng)的演變,面向Internet的階段 21世紀(jì)無(wú)疑將是一個(gè)網(wǎng)絡(luò)的時(shí)代,將嵌入式系統(tǒng)應(yīng)用到各種網(wǎng)絡(luò)環(huán)境中去的呼聲自然也越來(lái)越高。目前大多數(shù)嵌入式系統(tǒng)還孤立于Internet之外,隨著
16、Internet的進(jìn)一步發(fā)展,以及Internet技術(shù)與信息家電、工業(yè)控制技術(shù)等的結(jié)合日益緊密,嵌入式設(shè)備與Internet的結(jié)合才是嵌入式技術(shù)的真正未來(lái)。 信息時(shí)代和數(shù)字時(shí)代的到來(lái),為嵌入式系統(tǒng)的發(fā)展帶來(lái)了巨大的機(jī)遇,同時(shí)也對(duì)嵌入式系統(tǒng)廠商提出了新的挑戰(zhàn)。,嵌入式操作系統(tǒng)的演變,目前,嵌入式技術(shù)與Internet技術(shù)的結(jié)合正在推動(dòng)著嵌入式技術(shù)的飛速發(fā)展,嵌入式系統(tǒng)的研究和應(yīng)用產(chǎn)生了如下新的顯著變化: 新的微處理器層出不窮,嵌入式操作系統(tǒng)自身結(jié)構(gòu)的設(shè)計(jì)更加便于移植,能夠在短時(shí)間內(nèi)支持更多的微處理器。 嵌入式系統(tǒng)的開發(fā)成了一項(xiàng)系統(tǒng)工程,開發(fā)廠商不僅要提供嵌入式操作系統(tǒng)本身,同時(shí)還要提供強(qiáng)大的軟件
17、開發(fā)支持包。 通用計(jì)算機(jī)上使用的新技術(shù)、新觀念開始逐步移植到嵌入式系統(tǒng)中,如嵌入式數(shù)據(jù)庫(kù)、移動(dòng)代理、實(shí)時(shí)CORBA、Java等,嵌入式軟件平臺(tái)得到進(jìn)一步完善。,嵌入式操作系統(tǒng)的演變,各類嵌入式Linux操作系統(tǒng)迅速發(fā)展,由于具有源代碼開放、系統(tǒng)內(nèi)核小、執(zhí)行效率高、網(wǎng)絡(luò)結(jié)構(gòu)完整等特點(diǎn),很適合信息家電等嵌入式系統(tǒng)的需要,目前已經(jīng)形成了能與Windows CE、Symbian等嵌入式操作系統(tǒng)進(jìn)行有力競(jìng)爭(zhēng)的局面。 網(wǎng)絡(luò)化、信息化的要求隨著Internet技術(shù)的成熟和帶寬的提高而日益突出,以往功能單一的設(shè)備如電話、手機(jī)、冰箱、微波爐等功能不再單一,結(jié)構(gòu)變得更加復(fù)雜,網(wǎng)絡(luò)互聯(lián)成為必然趨勢(shì)。 精簡(jiǎn)系統(tǒng)內(nèi)核,
18、優(yōu)化關(guān)鍵算法,降低功耗和軟硬件成本。 提供更加友好的多媒體人機(jī)交互界面。,嵌入式操作系統(tǒng)分類,從應(yīng)用領(lǐng)域來(lái)分 面向信息家電的嵌入式操作系統(tǒng) 面向智能手機(jī)的嵌入式操作系統(tǒng),如SymbianOS、MS Mobile OS、PalmOS、Embedded Linux等 面向汽車電子的嵌入式操作系統(tǒng) 面向工業(yè)控制的嵌入式操作系統(tǒng) .,從實(shí)時(shí)性的角度來(lái)分 嵌入式實(shí)時(shí)操作系統(tǒng):具有強(qiáng)實(shí)時(shí)特點(diǎn),如VxWorks、QNX、Nuclear、OSE、DeltaOS、各種ITRON OS等。 非實(shí)時(shí)嵌入式操作系統(tǒng):一般只具有弱實(shí)時(shí)特點(diǎn),如WinCE、版本眾多的嵌入式Linux、PalmOS等。,從嵌入式系統(tǒng)的商業(yè)模
19、式來(lái)分類 商用型:功能穩(wěn)定、可靠,有完善的技術(shù)支持和售后服務(wù),開發(fā)費(fèi)用+版稅。 開源型:開放源碼,只收服務(wù)費(fèi),沒(méi)有版稅。 如Embedded linux,RTEMS,eCOS。,嵌入式操作系統(tǒng)體系結(jié)構(gòu),體系結(jié)構(gòu)是操作系統(tǒng)的基礎(chǔ),它定義了硬件與軟件的界限、內(nèi)核與操作系統(tǒng)其它組件(文件、網(wǎng)絡(luò)、GUI等)的組織關(guān)系、系統(tǒng)與應(yīng)用的接口。 體系結(jié)構(gòu)是確保系統(tǒng)的性能、可靠性、靈活性、可移植性、可擴(kuò)展性的關(guān)鍵,就好比房子的梁架,只有梁架搭牢固了才提得上房子的質(zhì)量,再做一些錦上添花的工作才有意義。 目前操作系統(tǒng)的體系結(jié)構(gòu)可分為:?jiǎn)螇K結(jié)構(gòu)、層次結(jié)構(gòu)和客戶/服務(wù)器(微內(nèi)核)結(jié)構(gòu)。,嵌入式操作系統(tǒng)體系結(jié)構(gòu),硬 件,
20、系統(tǒng)服務(wù),用戶態(tài),核心態(tài),應(yīng)用程序,應(yīng)用程序,單塊結(jié)構(gòu),嵌入式操作系統(tǒng)體系結(jié)構(gòu),層次結(jié)構(gòu),嵌入式操作系統(tǒng)體系結(jié)構(gòu),硬 件,進(jìn)程服務(wù),用戶態(tài),核心態(tài),應(yīng)用程序客戶,內(nèi)存服務(wù),微內(nèi)核,文件服務(wù),網(wǎng)絡(luò)服務(wù),顯示服務(wù),發(fā)送,應(yīng)答,客戶/服務(wù)器結(jié)構(gòu)(微內(nèi)核結(jié)構(gòu)),嵌入式操作系統(tǒng)體系結(jié)構(gòu),微內(nèi)核結(jié)構(gòu)的優(yōu)點(diǎn) 提供一致的接口 可擴(kuò)展性:擴(kuò)展對(duì)新的軟件/硬件支持 靈活性:可伸縮 可移植性 分布式系統(tǒng)支持 適用于面向?qū)ο蟛僮飨到y(tǒng)環(huán)境 性能問(wèn)題: 通過(guò)微內(nèi)核構(gòu)造和發(fā)送信息、接受應(yīng)答并解碼所花費(fèi)的時(shí)間比進(jìn)行一次系統(tǒng)調(diào)用的時(shí)間多 很大程度取決于微內(nèi)核的大小和功能,嵌入式操作系統(tǒng)體系結(jié)構(gòu),目前嵌入式操作系統(tǒng)主要采用分層和
21、模塊化相結(jié)合的結(jié)構(gòu)或微內(nèi)核結(jié)構(gòu)。 分層和模塊化結(jié)合的結(jié)構(gòu)將操作系統(tǒng)分為硬件無(wú)關(guān)層、硬件抽象層和硬件相關(guān)層,每層再劃分功能模塊。 這樣移植工作便集中在硬件相關(guān)層,與其余兩層無(wú)關(guān),功能的伸縮則集中在模塊上,從而確保其具有良好的可移植性和可伸縮性。 而采用微內(nèi)核結(jié)構(gòu),則可利用其可伸縮的特點(diǎn)適應(yīng)硬件的發(fā)展,便于擴(kuò)展。,嵌入式操作系統(tǒng)體系結(jié)構(gòu),應(yīng)用程序,任務(wù)管理,硬 件,用戶擴(kuò)展處理,調(diào)度管理,硬件抽象層,應(yīng)用編程接口,內(nèi)存管理,中斷管理,時(shí)鐘/定時(shí)器管理,I/O管理,出錯(cuò)處理,同步、通信管理(消息隊(duì)列,信號(hào)量,事件,異步信號(hào))),DeltaCORE的體系結(jié)構(gòu):層次模塊結(jié)構(gòu),分層次,模塊化,嵌入式操作系
22、統(tǒng)體系結(jié)構(gòu),用戶模式,應(yīng)用,應(yīng)用,應(yīng)用,網(wǎng)絡(luò)管理器,圖形管理器,設(shè)備管理器,文件系統(tǒng)管理器,網(wǎng)絡(luò)驅(qū)動(dòng),圖形驅(qū)動(dòng),設(shè)備驅(qū)動(dòng),文件系統(tǒng)驅(qū)動(dòng),硬 件,內(nèi)核模式 內(nèi)核(微內(nèi)核),QNX4.25的體系結(jié)構(gòu):客戶/服務(wù)器結(jié)構(gòu),嵌入式操作系統(tǒng)的組成,嵌入式內(nèi)核,內(nèi)核是嵌入式操作系統(tǒng)的基礎(chǔ),也是必備的部分。 內(nèi)核還提供特定的應(yīng)用編程接口,但目前沒(méi)有統(tǒng)一的標(biāo)準(zhǔn)。,任務(wù)管理,內(nèi)存管理,通信同步與互斥機(jī)制,中斷管理,時(shí)間管理,任務(wù)擴(kuò)展, ,返回,嵌入式內(nèi)核,任務(wù)管理 內(nèi)核的核心部分,具有任務(wù)調(diào)度、創(chuàng)建任務(wù)、刪除任務(wù)、掛起任務(wù)、解掛任務(wù)、設(shè)置任務(wù)優(yōu)先級(jí)等功能。 通用計(jì)算機(jī)的操作系統(tǒng)追求的是最大的吞吐率,為了達(dá)到最佳整
23、體性能,其調(diào)度原則是公平,采用Round-Robin或可變優(yōu)先級(jí)調(diào)度算法,調(diào)度時(shí)機(jī)主要以時(shí)間片為主驅(qū)動(dòng)。 而嵌入式操作系統(tǒng)多采用基于靜態(tài)優(yōu)先級(jí)的可搶占的調(diào)度,任務(wù)優(yōu)先級(jí)是在運(yùn)行前通過(guò)某種策略靜態(tài)分配好的,一旦有優(yōu)先級(jí)更高的任務(wù)就緒就馬上進(jìn)行調(diào)度。,返回,嵌入式內(nèi)核,內(nèi)存管理 嵌入式操作系統(tǒng)的內(nèi)存管理比較簡(jiǎn)單。 通常不采用虛擬存儲(chǔ)管理,而采用靜態(tài)內(nèi)存分配和動(dòng)態(tài)內(nèi)存分配(固定大小內(nèi)存分配和可變大小內(nèi)存分配)相結(jié)合的管理方式。 有些內(nèi)核利用MMU機(jī)制提供內(nèi)存保護(hù)功能。 通用操作系統(tǒng)廣泛使用了虛擬內(nèi)存的技術(shù),為用戶提供一個(gè)功能強(qiáng)大的虛存管理機(jī)制。,返回,嵌入式內(nèi)核,通信、同步和互斥機(jī)制 這些機(jī)制提供任
24、務(wù)間、任務(wù)與中斷處理程序間的通信、同步和互斥功能。 一般包括信號(hào)量、消息、事件、管道、異步信號(hào)和共享內(nèi)存等功能。 與通用操作系統(tǒng)不同的是,嵌入式操作系統(tǒng)需要解決在這些機(jī)制的使用中出現(xiàn)的優(yōu)先級(jí)反轉(zhuǎn)問(wèn)題。,返回,嵌入式內(nèi)核,中斷管理,一般具有以下功能: 安裝中斷服務(wù)程序 中斷發(fā)生時(shí),對(duì)中斷現(xiàn)場(chǎng)進(jìn)行保存,并且轉(zhuǎn)到相應(yīng)的服務(wù)程序上執(zhí)行 中斷退出前,對(duì)中斷現(xiàn)場(chǎng)進(jìn)行恢復(fù) 中斷棧切換 中斷退出時(shí)的任務(wù)調(diào)度,返回,嵌入式內(nèi)核,時(shí)間管理 提供高精度、應(yīng)用可設(shè)置的系統(tǒng)時(shí)鐘,該時(shí)鐘是嵌入式系統(tǒng)的時(shí)基,可設(shè)置為十毫秒以下。 提供日歷時(shí)間,負(fù)責(zé)與時(shí)間相關(guān)的任務(wù)管理工作如任務(wù)對(duì)資源有限等待的計(jì)時(shí)、時(shí)間片輪轉(zhuǎn)調(diào)度等,提供軟
25、定時(shí)器的管理功能等。 通用操作系統(tǒng)的系統(tǒng)時(shí)鐘的精度由操作系統(tǒng)確定,應(yīng)用不可調(diào),且一般是幾十個(gè)毫秒。,返回,嵌入式內(nèi)核,任務(wù)擴(kuò)展功能 任務(wù)擴(kuò)展功能就是在內(nèi)核中設(shè)置一些Hook的調(diào)用點(diǎn),在這些調(diào)用點(diǎn)上內(nèi)核調(diào)用應(yīng)用設(shè)置的、應(yīng)用自己編寫的擴(kuò)展處理程序,以擴(kuò)展內(nèi)核的有關(guān)功能。 Hook調(diào)用點(diǎn)有任務(wù)創(chuàng)建、任務(wù)切換、任務(wù)刪除、出錯(cuò)處理等。,返回,嵌入式TCP/IP,TCP/IP協(xié)議已經(jīng)廣泛地應(yīng)用于嵌入式系統(tǒng)中 嵌入式TCP/IP網(wǎng)絡(luò)系統(tǒng)提供符合TCP/IP協(xié)議標(biāo)準(zhǔn)的協(xié)議棧,提供Socket編程接口。,Socket 接 口,物 理 設(shè) 備,應(yīng)用程序/應(yīng)用協(xié)議,嵌入式TCP/IP,嵌入式TCP/IP網(wǎng)絡(luò)系統(tǒng)具有
26、以下的特點(diǎn): 可剪裁: 能根據(jù)嵌入式系統(tǒng)的功能的要求選擇所需的協(xié)議,對(duì)完整的TCP/IP協(xié)議簇進(jìn)行剪裁,以滿足用戶的需要。 采用“零拷貝”(Zero Copy)技術(shù),提高實(shí)時(shí)性 所謂“零拷貝”技術(shù),是指TCP/IP協(xié)議棧沒(méi)有用于各層間數(shù)據(jù)傳遞的緩沖區(qū),協(xié)議棧各層間傳遞的都是數(shù)據(jù)指針,只有當(dāng)數(shù)據(jù)最終要被驅(qū)動(dòng)程序發(fā)送出去或是被應(yīng)用程序取走時(shí),才進(jìn)行真正的數(shù)據(jù)搬移。,嵌入式TCP/IP,采用靜態(tài)分配技術(shù) 在網(wǎng)絡(luò)初始化時(shí)就靜態(tài)分配通信緩沖區(qū),設(shè)置了專門的發(fā)送和接收緩沖(其大小一般小于或等于物理網(wǎng)絡(luò)上的MTU值),從而確保了每次發(fā)送或接收時(shí)處理的數(shù)據(jù)不會(huì)超過(guò)MTU值,也就避免了數(shù)據(jù)處理任務(wù)的阻塞等待。,
27、返回,嵌入式文件系統(tǒng),通用操作系統(tǒng)的文件系統(tǒng)通常具有以下功能: 提供用戶對(duì)文件操作的命令 提供用戶共享文件的機(jī)制 管理文件的存儲(chǔ)介質(zhì) 提供文件的存取控制機(jī)制,保障文件及文件系統(tǒng)的安全性 提供文件及文件系統(tǒng)的備份和恢復(fù)功能 提供對(duì)文件的加密和解密功能,嵌入式文件系統(tǒng),嵌入式文件系統(tǒng)相比之下較為簡(jiǎn)單,主要具有文件的存儲(chǔ)、檢索、更新等功能,一般不提供保護(hù)和加密等安全機(jī)制。 它以系統(tǒng)調(diào)用和命令方式提供對(duì)文件的各種操作,主要有: 設(shè)置和修改對(duì)文件和目錄的存取權(quán)限 提供建立、修改、改變、刪除目錄等服務(wù) 提供創(chuàng)建、打開、讀、寫、關(guān)閉、撤消文件等服務(wù),嵌入式實(shí)時(shí)操作系統(tǒng)C/OS-II簡(jiǎn)介,C/OS-II是一個(gè)
28、搶占式實(shí)時(shí)多任務(wù)內(nèi)核。它是用ANSI的C語(yǔ)言編寫的,包含一小部分匯編語(yǔ)言代碼,使之可以提供給不同架構(gòu)的微處理器使用。 至今,從8位到64位,C/OS-II已經(jīng)在40多種不同架構(gòu)的微處理器上使用。 使用C/OS的領(lǐng)域包括:照相機(jī)行業(yè)、航空業(yè)、醫(yī)療器械、網(wǎng)絡(luò)設(shè)備、自動(dòng)提款機(jī)以及工業(yè)機(jī)器人等。,嵌入式實(shí)時(shí)操作系統(tǒng)C/OS-II簡(jiǎn)介,C/OS-II全部以源代碼的方式提供,大約有5500行。 CPU相關(guān)的部分使用的是針對(duì)Intel80 x86微處理器的代碼。 C/OS-II可以很容易地移植到不同架構(gòu)的嵌入式微處理器上。,嵌入式實(shí)時(shí)操作系統(tǒng)C/OS-II簡(jiǎn)介,C/OS-II的特點(diǎn): 源代碼 可移植 可固化
29、 可裁減 可搶占性 支持多任務(wù),可確定性 任務(wù)棧 系統(tǒng)服務(wù) 中斷管理 穩(wěn)定性和可靠性,嵌入式實(shí)時(shí)操作系統(tǒng)C/OS-II簡(jiǎn)介,源代碼文件介紹 對(duì)函數(shù)和環(huán)境的定義: PC.C 與處理器類型無(wú)關(guān)部分: OS_CORE.C OS_FLAG.C OS_MBOX.C OS_MEM.C OS_MUTEX.C OS_Q.C OS_SEM.C OS_TASK.C OS_TIME.C COS-II.C COS-II.H 與處理器類型相關(guān)部分: OS_CPU_A.S OS_CPU_C.C OS_CPU.H 給整個(gè)內(nèi)核庫(kù)提供總體的include文件:INCLUDES.H 配置文件,定義使用C/OS-II中的哪些功能:
30、OS_CFG.H,嵌入式實(shí)時(shí)操作系統(tǒng)C/OS-II簡(jiǎn)介,C/OS-II不是自由軟件, 用于商業(yè)目的時(shí)須取得許可證,第四節(jié) 嵌入式Java,概述 為什么需要J2ME J2ME用來(lái)做什么 進(jìn)一步了解J2ME J2ME應(yīng)用,概述,Java伴隨著Write Once, Run Anywhere的美好愿望而誕生,為什么需要Java ME,從PC時(shí)代到網(wǎng)絡(luò)時(shí)代:計(jì)算無(wú)處不在 消費(fèi)類嵌入式設(shè)備擁有龐大的市場(chǎng): 手機(jī) PDA 機(jī)頂盒 重新定義“電腦”計(jì)算+娛樂(lè)+溝通,為什么需要Java ME,且慢:在美好明天到來(lái)之前 競(jìng)爭(zhēng)的時(shí)代: 多樣化的硬件 多樣化的軟件 多樣化的網(wǎng)絡(luò) 運(yùn)營(yíng)商、設(shè)備制造商、軟件開發(fā)商所有人
31、都希望取得優(yōu)勢(shì),為什么需要Java ME,電信運(yùn)營(yíng)商:提供更多更好的增值服務(wù),尋找新的利潤(rùn)增長(zhǎng)點(diǎn) 設(shè)備制造商:需要更多的軟件支持 軟件開發(fā)商:需要開發(fā)功能更強(qiáng)、更有吸引力的應(yīng)用 所有人的難題:沒(méi)有統(tǒng)一的標(biāo)準(zhǔn),Java ME用來(lái)做什么,為不同的硬件/軟件/網(wǎng)絡(luò)環(huán)境定義一個(gè)統(tǒng)一的Java虛擬機(jī)架構(gòu)及統(tǒng)一的API 在PC上開發(fā)應(yīng)用,在嵌入式設(shè)備上運(yùn)行 應(yīng)用具備網(wǎng)絡(luò)交互能力 應(yīng)用無(wú)需移植,也無(wú)需重新編譯,直接運(yùn)行于所有平臺(tái),進(jìn)一步了解Java ME,Java Micro Edition (Java ME)含有虛擬機(jī)以及由Configuration指定的核心和在Profiles中指定的縱向的或與Opti
32、onal Package,進(jìn)一步了解Java ME- Configuration,我們可以根據(jù)如下特性對(duì)嵌入式設(shè)備分類: 內(nèi)存的類型和數(shù)量 處理器的類型和速度 是否具有網(wǎng)絡(luò)連接及連接類型 Configuration是一套規(guī)范,它為具有類似屬性的某一類設(shè)備定義了J2ME平臺(tái)應(yīng)該具有的基本功能,例如Java核心庫(kù)、Java虛擬機(jī)。 目前J2ME規(guī)范只有兩種Configuration: CLDC(Connected Limited Device Configuration) CDC(Connected Device configuration),進(jìn)一步了解Java ME- CLDC,CLDC主要是針
33、對(duì)那些具有間歇的網(wǎng)絡(luò)連接,速度較慢的處理器,有限內(nèi)存的小型設(shè)備,如手機(jī)、低端PDA等。 CLDC規(guī)范假定其目標(biāo)設(shè)備具有如下性質(zhì): 使用16或32位處理器 至少擁有160KB內(nèi)存,其中的128KB將配置給虛擬機(jī)和核心類庫(kù) 具有某種網(wǎng)絡(luò)連接,通常是無(wú)線的、間歇連接的,而且?guī)捰邢?CLDC規(guī)范所涉及的范圍包含下列五大項(xiàng): Java語(yǔ)言以及虛擬機(jī)的特性 核心類庫(kù)與輸入輸出 連網(wǎng)功能 安全性 國(guó)際化功能 目前CLDC的版本有: CLDC1.0 CLDC1.1 CLDC使用的虛擬機(jī)是KVM(Kilobyte VM),進(jìn)一步了解Java ME- CLDC,CLDC上的Profile,MIDP(Mobile
34、 Information Device Profile)主要是針對(duì)手機(jī)和低端PDA。 它為移動(dòng)應(yīng)用提供了核心功能,包括用戶界面、網(wǎng)絡(luò)連接、局部數(shù)據(jù)存儲(chǔ)和應(yīng)用管理。 MIDP與CLDC一起為手持設(shè)備提供了完整的Java運(yùn)行環(huán)境。 目前MIDP規(guī)范的版本有: MIDP1.0 MIDP2.0 MIDP3.0 今年底推出,CLDC Optional Package -JTWI,Minimize the fragmentation of mobile Java by defining a predictable and highly interoperable application and servi
35、ce environment for developers. Mandatory: CLDC 1.0 (JSR 30) MIDP 2.0 (JSR 118) WMA 1.1 (JSR 120) Optional/Conditional: CLDC 1.1 (JSR 139) MMAPI 1.1 (JSR 135),CLDC Optional Package -MSA,Many Operator specifications take MSA/MSA subset as its framework,CLDC Optional Package MIDP3.0,Multiple concurrent
36、 MIDlets in one VM. Improve UI expressability and extensibility IPv6 MIDlet provision through other means (e.g. OMA (SyncML) DM/DS, Bluetooth, removable media, MMS, JSR-232, etc.) Localization & Internationalization (JSR-238),CDC主要是針對(duì)那些具有更多內(nèi)存、更快速度的處理器和更大網(wǎng)絡(luò)帶寬的設(shè)備,如電視機(jī)頂盒、高端PDA、汽車通訊系統(tǒng)等。 CDC規(guī)范假定其目標(biāo)設(shè)備具有如下性質(zhì): 使用32位處理器 提供至少2MB的內(nèi)存給Java平臺(tái) 具有網(wǎng)絡(luò)連通的能力 CDC中使用的虛擬機(jī)是CVM,進(jìn)一步了解Java ME- CDC,CDC上的Profile,FP(Foundation Profile) 是一套支持資源受限設(shè)備,但不包含標(biāo)準(zhǔn)用戶圖形界面系統(tǒng)的Java API。 FP+
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 企業(yè)內(nèi)部審計(jì)與風(fēng)險(xiǎn)控制制度
- 2026湖南郴州市市直學(xué)校面向高校畢業(yè)生公開招聘教師25人參考題庫(kù)附答案
- 2026福建三明市衛(wèi)生健康委員會(huì)關(guān)于醫(yī)療衛(wèi)生高層次人才專項(xiàng)公開招聘39人的通告參考題庫(kù)附答案
- 2026福建省面向同濟(jì)大學(xué)選調(diào)生選拔工作備考題庫(kù)附答案
- 2026福建龍巖人民醫(yī)院招聘醫(yī)學(xué)類緊缺急需專業(yè)畢業(yè)生4人備考題庫(kù)附答案
- 公共交通運(yùn)營(yíng)成本核算制度
- 2026遼寧省中國(guó)醫(yī)科大學(xué)及附屬第一醫(yī)院招聘高層次和急需緊缺人才2人(第二批)備考題庫(kù)附答案
- 2026重慶某國(guó)有企業(yè)員工招聘2人備考題庫(kù)附答案
- 2026陜西省面向北京郵電大學(xué)招錄選調(diào)生參考題庫(kù)附答案
- 北京中西醫(yī)結(jié)合醫(yī)院編外崗位招聘10人參考題庫(kù)附答案
- 大型商業(yè)綜合體消防安全應(yīng)急預(yù)案
- 《砂漿、混凝土用低碳劑》
- 2025年社區(qū)工作總結(jié)及2026年工作計(jì)劃
- 無(wú)人機(jī)性能評(píng)估與測(cè)試計(jì)劃
- 2025年保安員(初級(jí))考試模擬100題及答案(一)
- 湖北省新八校協(xié)作體2025-2026學(xué)年度上學(xué)期高三10月月考 英語(yǔ)試卷(含答案詳解)
- 酒駕滿分考試題庫(kù)及答案2025
- 金礦開采提升項(xiàng)目可行性研究報(bào)告
- 華潤(rùn)燃?xì)獍踩嘤?xùn)
- 包鋼集團(tuán)歷年筆試題庫(kù)及答案
- 2025版實(shí)驗(yàn)動(dòng)物中心動(dòng)物實(shí)驗(yàn)動(dòng)物飼養(yǎng)合同
評(píng)論
0/150
提交評(píng)論