版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
第三章
嵌入式系統(tǒng)的軟件基礎(chǔ)主要內(nèi)容嵌入式軟件系統(tǒng)概述嵌入式實時操作系統(tǒng)簡介常用的嵌入式操作系統(tǒng)概述第一節(jié)
嵌入式軟件系統(tǒng)概述軟件系統(tǒng)嵌入式軟件系統(tǒng)的體系結(jié)構(gòu)嵌入式軟件運行流程軟件系統(tǒng)軟件(software)是計算機系統(tǒng)中與硬件(hardware)相互依存的另一部分,它包括程序(program)、相關(guān)數(shù)據(jù)(data)及其說明文檔(document)。其中:程序是按照事先設(shè)計的功能和性能要求執(zhí)行的指令序列;數(shù)據(jù)是程序能正常操縱信息的數(shù)據(jù)結(jié)構(gòu);文檔是與程序開發(fā)維護(hù)和使用有關(guān)的各種圖文資料。軟件系統(tǒng)軟件是一種邏輯實體,具有抽象性。
這個特點使它與其它工程對象有著明顯的差異。人們可以把它記錄在紙上、內(nèi)存、和磁盤、光盤上,但卻無法看到軟件本身的形態(tài),必須通過觀察、分析、思考、判斷,才能了解它的功能、性能等特性。
軟件產(chǎn)品的特性軟件沒有明顯的制造過程。一旦研制開發(fā)成功,就可以大量拷貝同一內(nèi)容的副本。所以對軟件的質(zhì)量控制,必須著重在軟件開發(fā)方面下工夫。軟件在使用過程中,沒有磨損、老化的問題。軟件在生存周期后期不會因為磨損而老化,但會為了適應(yīng)硬件、環(huán)境以及需求的變化而進(jìn)行修改,而這些修改有不可避免的引入錯誤,導(dǎo)致軟件失效率升高,從而使的軟件退化。當(dāng)修改的成本變得難以接受時,軟件就被拋棄。軟件對硬件和環(huán)境有著不同程度的依賴性。這導(dǎo)致了軟件移植的問題。軟件的開發(fā)至今尚未完全擺脫手工作坊式的開發(fā)方式,生產(chǎn)效率低。軟件是復(fù)雜的,而且以后會更加復(fù)雜。軟件是人類有史以來生產(chǎn)的復(fù)雜度最高的工業(yè)產(chǎn)品。軟件涉及人類社會的各行各業(yè)、方方面面,軟件開發(fā)常常涉及其它領(lǐng)域的專門知識,這對軟件工程師提出了很高的要求。軟件的成本相當(dāng)昂貴。軟件開發(fā)需要投入大量、高強度的腦力勞動,成本非常高,風(fēng)險也大?,F(xiàn)在軟件的開銷已大大超過了硬件的開銷。軟件工作牽涉到很多社會因素。許多軟件的開發(fā)和運行涉及機構(gòu)、體制和管理方式等問題,還會涉及到人們的觀念和心理。這些人的因素,常常成為軟件開發(fā)的困難所在,直接影響到項目的成敗。3.1.1嵌入式軟件系統(tǒng)的體系結(jié)構(gòu)硬件應(yīng)用層驅(qū)動層操作系統(tǒng)層中間件層板級初始化FLASH驅(qū)動RTC/定時器驅(qū)動串口驅(qū)動以太網(wǎng)驅(qū)動LCD
驅(qū)動鍵盤驅(qū)動其他驅(qū)動內(nèi)核TCP/IP網(wǎng)絡(luò)系統(tǒng)文件系統(tǒng)嵌入式GUI電源管理嵌入式CORBA嵌入式JAVA嵌入式DCOM面向應(yīng)用領(lǐng)域的中間件應(yīng)用任務(wù)1應(yīng)用任務(wù)2……應(yīng)用任務(wù)n嵌入式軟件系統(tǒng)的體系結(jié)構(gòu)(1)驅(qū)動層(BSP)
驅(qū)動層是直接與硬件打交道的一層,它對操作系統(tǒng)和應(yīng)用提供所需的驅(qū)動的支持。該層主要包括三種類型的程序。板級初始化程序這些程序在嵌入式系統(tǒng)上電后初始化系統(tǒng)的硬件環(huán)境,包括嵌入式微處理器、存儲器、中斷控制器、DMA、定時器等的初始化。(網(wǎng)絡(luò)?)與系統(tǒng)軟件相關(guān)的驅(qū)動這類驅(qū)動是操作系統(tǒng)和中間件等系統(tǒng)軟件所需的驅(qū)動程序,它們的開發(fā)要按照系統(tǒng)軟件的要求進(jìn)行。目前操作系統(tǒng)內(nèi)核所需的硬件支持一般都已集成在嵌入式微處理器中了,因此操作系統(tǒng)廠商提供的內(nèi)核驅(qū)動一般不用修改。與應(yīng)用軟件相關(guān)的驅(qū)動
與應(yīng)用軟件相關(guān)的驅(qū)動不一定需要與操作系統(tǒng)連接,這些驅(qū)動的設(shè)計和開發(fā)由應(yīng)用決定。嵌入式軟件系統(tǒng)的體系結(jié)構(gòu)(2)操作系統(tǒng)層操作系統(tǒng)層包括嵌入式內(nèi)核、嵌入式TCP/IP網(wǎng)絡(luò)系統(tǒng)、嵌入式文件系統(tǒng)、嵌入式GUI系統(tǒng)和電源管理等部分。其中嵌入式內(nèi)核是基礎(chǔ)和必備的部分,其他部分要根據(jù)嵌入式系統(tǒng)的需要來確定。嵌入式軟件系統(tǒng)的體系結(jié)構(gòu)(3)中間件層目前在一些復(fù)雜的嵌入式系統(tǒng)中也開始采用中間件技術(shù),主要包括嵌入式CORBA、嵌入式Java、嵌入式DCOM和面向應(yīng)用領(lǐng)域的中間件軟件。如基于嵌入式CORBA的應(yīng)用于軟件無線電臺的應(yīng)用中間件SCA(SoftwareCoreArchitecture)等。嵌入式軟件系統(tǒng)的體系結(jié)構(gòu)(4)應(yīng)用層應(yīng)用層軟件主要由多個相對獨立的應(yīng)用任務(wù)組成每個應(yīng)用任務(wù)完成特定的工作,如I/O任務(wù)、計算的任務(wù)、通信任務(wù)等,由操作系統(tǒng)調(diào)度各個任務(wù)的運行。3.1.2嵌入式軟件運行流程上電復(fù)位系統(tǒng)升級引導(dǎo)/升級系統(tǒng)系統(tǒng)初始化應(yīng)用初始化多任務(wù)應(yīng)用板級初始化遠(yuǎn)程升級本地升級基于多任務(wù)操作系統(tǒng)的嵌入式軟件的主要運行流程該運行流程主要分為5個階段嵌入式軟件運行流程(1)上電復(fù)位、板級初始化階段嵌入式系統(tǒng)上電復(fù)位后完成板級初始化工作。板級初始化程序具有完全的硬件特性,一般采用匯編語言實現(xiàn)。不同的嵌入式系統(tǒng),板級初始化時要完成的工作具有一定的特殊性,但以下工作一般是必須完成的:CPU中堆棧指針寄存器的初始化。BSS段(BlockStorageSpace表示未被初始化的數(shù)據(jù))的初始化。CPU芯片級的初始化:中斷控制器、內(nèi)存等的初始化。返回嵌入式軟件運行流程(2)系統(tǒng)引導(dǎo)/升級階段根據(jù)需要分別進(jìn)入系統(tǒng)軟件引導(dǎo)階段或系統(tǒng)升級階段。軟件可通過測試通信端口數(shù)據(jù)或判斷特定開關(guān)的方式分別進(jìn)入不同階段。嵌入式軟件運行流程系統(tǒng)引導(dǎo)階段系統(tǒng)引導(dǎo)有幾種情況:將系統(tǒng)軟件從NORFlash中讀取出來加載到RAM中運行:這種方式可以解決成本及Flash速度比RAM慢的問題。軟件可壓縮存儲在Flash中。(啟動慢,運行速度快)不需將軟件引導(dǎo)到RAM中而是讓其直接在NorFlash上運行,進(jìn)入系統(tǒng)初始化階段。(啟動快,運行慢)將軟件從外存(如NandFlash、CF卡、MMC等)中讀取出來加載到RAM中運行:這種方式的成本更低。(便宜,啟動慢,運行速度快)嵌入式軟件運行流程系統(tǒng)升級階段進(jìn)入系統(tǒng)升級階段后系統(tǒng)可通過網(wǎng)絡(luò)進(jìn)行遠(yuǎn)程升級或通過串口進(jìn)行本地升級。遠(yuǎn)程升級一般支持TFTP、FTP、HTTP等方式。本地升級可通過Console口使用超級終端或特定的升級軟件進(jìn)行。返回嵌入式軟件運行流程(3)系統(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)等的初始化,最后完成中間件等的初始化工作。返回嵌入式軟件運行流程(4)應(yīng)用初始化階段
在該階段進(jìn)行應(yīng)用任務(wù)的創(chuàng)建,信號量、消息隊列的創(chuàng)建和與應(yīng)用相關(guān)的其它初始化工作。(5)多任務(wù)應(yīng)用運行階段
各種初始化工作完成后,系統(tǒng)進(jìn)入多任務(wù)狀態(tài),操作系統(tǒng)按照已確定的算法進(jìn)行任務(wù)的調(diào)度,各應(yīng)用任務(wù)分別完成特定的功能。第二節(jié)
嵌入式實時操作系統(tǒng)簡介嵌入式操作系統(tǒng)特點嵌入式操作系統(tǒng)體系結(jié)構(gòu)實時系統(tǒng)的評價指標(biāo)概述 嵌入式操作系統(tǒng)可以統(tǒng)稱為應(yīng)用在嵌入式系統(tǒng)的操作系統(tǒng),它具有一般操作系統(tǒng)的功能,同時具有嵌入式軟件的特點,主要有:可固化可配置、可剪裁獨立的板級支持包,可修改不同的CPU有不同的版本應(yīng)用的開發(fā)需要有集成的交叉開發(fā)工具概述近十年來,嵌入式操作系統(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)域的擴展,目前嵌入式操作系統(tǒng)的市場在不斷細(xì)分,出現(xiàn)了針對不同領(lǐng)域的產(chǎn)品,這些產(chǎn)品按領(lǐng)域的要求和標(biāo)準(zhǔn)提供特定的功能。1)實時操作系統(tǒng)的特點
隨著硬件實時性要求的提高,嵌入式系統(tǒng)的軟件規(guī)模也不斷擴大,逐漸形成了實時多任務(wù)操作系統(tǒng)(RTOS),并開始成為嵌入式系統(tǒng)的主流。
這一階段嵌入式系統(tǒng)的主要特點是:操作系統(tǒng)的實時性得到了很大改善,已經(jīng)能夠運行在各種不同類型的微處理器上,具有高度的模塊化和擴展性。此時的嵌入式操作系統(tǒng)已經(jīng)具備了文件和目錄管理、設(shè)備管理、多任務(wù)、網(wǎng)絡(luò)、圖形用戶界面(GUI)等功能,并提供了大量的應(yīng)用程序接口(API),從而使得應(yīng)用軟件的開發(fā)變得更加簡單。實時操作系統(tǒng)的特點
(1)多任務(wù)
一個任務(wù)也稱作一個線程,是一個簡單的運行程序。每個任務(wù)都是整個應(yīng)用的某一部分,每個任務(wù)被賦予一定的優(yōu)先級,有它自己的一套CPU寄存器和自己的棧空間多任務(wù)運行的實現(xiàn),實際上是靠CPU(中央處理單元)在許多任務(wù)之間轉(zhuǎn)換、調(diào)度。CPU只有一個,輪番服務(wù)于一系列任務(wù)中的某一個。多任務(wù)運行使CPU的利用率得到最大的發(fā)揮,并使應(yīng)用程序模塊化。(2)任務(wù)的事件驅(qū)動
通用操作系統(tǒng)只注重平均性能,所有任務(wù)的平均響應(yīng)時間是關(guān)鍵,并不關(guān)心單個任務(wù)的響應(yīng)時間。而嵌入式實時系統(tǒng)是指在一個確定的時間內(nèi),實現(xiàn)系統(tǒng)功能并做出及時響應(yīng)的系統(tǒng)。任務(wù)實時任務(wù)非實時任務(wù)事件驅(qū)動時間驅(qū)動內(nèi)部事件:運算結(jié)果、設(shè)備請求等外部事件:開關(guān)量輸入等絕對時間驅(qū)動相對時間驅(qū)動CPU中斷控制器1中斷控制器2外部事件(3)中斷與中斷優(yōu)先級
系統(tǒng)實現(xiàn)中斷可以帶來CPU和外設(shè)間的同步工作、實現(xiàn)實時處理和故障處理。(4)同步與異步 與系列時間相關(guān)事件稱為同步事件,驅(qū)動的任務(wù)為同步任務(wù)。隨機發(fā)生的事件稱為異步事件,驅(qū)動的任務(wù)為異步任務(wù),如中斷等。
任何任務(wù)所占用的實體都可稱為資源。資源可以是輸入輸出設(shè)備,例如打印機、鍵盤、顯示器,資源也可以是一個變量、一個結(jié)構(gòu)或一個數(shù)組等。 程序進(jìn)行時可使用的軟硬件環(huán)境稱為資源,2個以上任務(wù)可同時訪問的共享資源稱為臨界資源。
(5)資源與臨界資源
容錯:當(dāng)系統(tǒng)軟、硬件發(fā)生故障時,系統(tǒng)仍能正常運轉(zhuǎn),完成預(yù)定的任務(wù)或某些重要的不允許間斷的任務(wù)。包括系統(tǒng)自診斷、自恢復(fù)、自動切換等功能。安全性:是指系統(tǒng)對自身文件和用戶文件的存取合法性的控制。如口令、加密。(6)容錯與安全2)嵌入式操作系統(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)用的接口。目前操作系統(tǒng)的體系結(jié)構(gòu)可分為:單塊結(jié)構(gòu)、層次結(jié)構(gòu)和客戶/服務(wù)器(微內(nèi)核)結(jié)構(gòu)。嵌入式操作系統(tǒng)體系結(jié)構(gòu)硬件系統(tǒng)服務(wù)用戶態(tài)核心態(tài)應(yīng)用程序應(yīng)用程序…單塊結(jié)構(gòu)嵌入式操作系統(tǒng)體系結(jié)構(gòu)硬件基本進(jìn)程管理虛存管理I/O和設(shè)備管理進(jìn)程間通信文件系統(tǒng)用戶用戶模式內(nèi)核模式層次結(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)點提供一致的接口可擴展性:擴展對新的軟件/硬件支持靈活性:可伸縮可移植性分布式系統(tǒng)支持適用于面向?qū)ο蟛僮飨到y(tǒng)環(huán)境性能問題:通過微內(nèi)核構(gòu)造和發(fā)送信息、接受應(yīng)答并解碼所花費的時間比進(jìn)行一次系統(tǒng)調(diào)用的時間多很大程度取決于微內(nèi)核的大小和功能嵌入式操作系統(tǒng)體系結(jié)構(gòu)目前嵌入式操作系統(tǒng)主要采用分層和模塊化相結(jié)合的結(jié)構(gòu)或微內(nèi)核結(jié)構(gòu)。分層和模塊化結(jié)合的結(jié)構(gòu)將操作系統(tǒng)分為硬件無關(guān)層、硬件抽象層和硬件相關(guān)層,每層再劃分功能模塊。這樣移植工作便集中在硬件相關(guān)層,與其余兩層無關(guān),功能的伸縮則集中在模塊上,從而確保其具有良好的可移植性和可伸縮性。而采用微內(nèi)核結(jié)構(gòu),則可利用其可伸縮的特點適應(yīng)硬件的發(fā)展,便于擴展。
嵌入式操作系統(tǒng)體系結(jié)構(gòu)應(yīng)用程序任務(wù)管理硬件用戶擴展處理調(diào)度管理硬件抽象層應(yīng)用編程接口內(nèi)存管理中斷管理時鐘/定時器管理I/O管理出錯處理同步、通信管理(消息隊列,信號量,事件,異步信號))DeltaCORE的體系結(jié)構(gòu):層次+模塊結(jié)構(gòu)分層次模塊化嵌入式操作系統(tǒng)體系結(jié)構(gòu)用戶模式應(yīng)用應(yīng)用應(yīng)用網(wǎng)絡(luò)管理器圖形管理器設(shè)備管理器文件系統(tǒng)管理器網(wǎng)絡(luò)驅(qū)動圖形驅(qū)動設(shè)備驅(qū)動文件系統(tǒng)驅(qū)動硬件內(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)用編程接口,但目前沒有統(tǒng)一的標(biāo)準(zhǔn)。任務(wù)管理內(nèi)存管理通信同步與互斥機制中斷管理時間管理任務(wù)擴展…………返回嵌入式內(nèi)核任務(wù)管理內(nèi)核的核心部分,具有任務(wù)調(diào)度、創(chuàng)建任務(wù)、刪除任務(wù)、掛起任務(wù)、解掛任務(wù)、設(shè)置任務(wù)優(yōu)先級等功能。通用計算機的操作系統(tǒng)追求的是最大的吞吐率,為了達(dá)到最佳整體性能,其調(diào)度原則是公平,采用Round-Robin或可變優(yōu)先級調(diào)度算法,調(diào)度時機主要以時間片為主驅(qū)動。而嵌入式操作系統(tǒng)多采用基于靜態(tài)優(yōu)先級的可搶占的調(diào)度,任務(wù)優(yōu)先級是在運行前通過某種策略靜態(tài)分配好的,一旦有優(yōu)先級更高的任務(wù)就緒就馬上進(jìn)行調(diào)度。返回嵌入式內(nèi)核內(nèi)存管理通用操作系統(tǒng)廣泛使用了虛擬內(nèi)存的技術(shù),為用戶提供一個功能強大的虛存管理機制。嵌入式操作系統(tǒng)的內(nèi)存管理比較簡單。通常不采用虛擬存儲管理,而采用靜態(tài)內(nèi)存分配和動態(tài)內(nèi)存分配(固定大小內(nèi)存分配和可變大小內(nèi)存分配)相結(jié)合的管理方式。有些內(nèi)核利用MMU機制提供內(nèi)存保護(hù)功能。返回嵌入式內(nèi)核通信、同步和互斥機制這些機制提供任務(wù)間、任務(wù)與中斷處理程序間的通信、同步和互斥功能。一般包括信號量、消息、事件、管道、異步信號和共享內(nèi)存等功能。與通用操作系統(tǒng)不同的是,嵌入式操作系統(tǒng)需要解決在這些機制的使用中出現(xiàn)的優(yōu)先級反轉(zhuǎn)問題。返回嵌入式內(nèi)核中斷管理,一般具有以下功能:安裝中斷服務(wù)程序中斷發(fā)生時,對中斷現(xiàn)場進(jìn)行保存,并且轉(zhuǎn)到相應(yīng)的服務(wù)程序上執(zhí)行中斷退出前,對中斷現(xiàn)場進(jìn)行恢復(fù)中斷棧切換中斷退出時的任務(wù)調(diào)度
返回嵌入式內(nèi)核時間管理提供高精度、應(yīng)用可設(shè)置的系統(tǒng)時鐘,該時鐘是嵌入式系統(tǒng)的時基,可設(shè)置為十毫秒以下。提供日歷時間,負(fù)責(zé)與時間相關(guān)的任務(wù)管理工作如任務(wù)對資源有限等待的計時、時間片輪轉(zhuǎn)調(diào)度等,提供軟定時器的管理功能等。通用操作系統(tǒng)的系統(tǒng)時鐘的精度由操作系統(tǒng)確定,應(yīng)用不可調(diào),且一般是幾十個毫秒。返回嵌入式內(nèi)核任務(wù)擴展功能任務(wù)擴展功能就是在內(nèi)核中設(shè)置一些Hook的調(diào)用點,在這些調(diào)用點上內(nèi)核調(diào)用應(yīng)用設(shè)置的、應(yīng)用自己編寫的擴展處理程序,以擴展內(nèi)核的有關(guān)功能。Hook調(diào)用點有任務(wù)創(chuàng)建、任務(wù)切換、任務(wù)刪除、出錯處理等。返回實時系統(tǒng)是面向具體應(yīng)用,對外來事件在限定時間內(nèi)能做出反應(yīng)的系統(tǒng)。限定時間的范圍很廣可以從微秒級(如信號處理)到分鐘級(如聯(lián)機查詢系統(tǒng))。在實時系統(tǒng)中主要有三個指標(biāo)來衡量系統(tǒng)的實時性,即響應(yīng)時間(ResponseTime)、生存時間(SurvivalTime)、吞吐量(Throughput)。3)實時系統(tǒng)的評價指標(biāo)
響應(yīng)時間(ResponseTime):是計算機識別一個外部事件到作出響應(yīng)的時間,在控制應(yīng)用中它是最重要的指標(biāo),如果事件不能及時的處理,系統(tǒng)可能就會崩潰。生存時間(SurvivalTime):是數(shù)據(jù)有效等待時間,在這段時間里數(shù)據(jù)是有效的。吞吐量(Throughput):是在一給定時間內(nèi)(秒),系統(tǒng)可以處理的事件總數(shù)。例如通訊控制器用每秒鐘處理的字符數(shù)來表示吞吐量,吞吐量是平均響應(yīng)時間的倒數(shù)。參考:一個實時操作系統(tǒng)的實時性能的主要評測標(biāo)準(zhǔn)和指標(biāo)包括系統(tǒng)響應(yīng)時間、上下文切換時間,中斷延遲時間、中斷響應(yīng)時間、任務(wù)切換時間、調(diào)度器延遲時間,周期性抖動(jitter這是操作系統(tǒng)的主要職責(zé)之一,它決定該輪到哪個任務(wù)運行了。 往往調(diào)度是基于任務(wù)的優(yōu)先級,根據(jù)其重要不同被賦予任務(wù)不同的優(yōu)先級。CPU總是讓處在就緒態(tài)的優(yōu)先級最高的任務(wù)先運行。 何時讓高優(yōu)先級任務(wù)掌握CPU的使用權(quán),有兩種不同的情況,這要看用的是什么類型的內(nèi)核,是非占先式的還是占先式的內(nèi)核。
(2)任務(wù)調(diào)度(dispatcher)(3)非占先式調(diào)度法與占先式調(diào)度法①非占先式(non-preemptive)式調(diào)度法非占先式也稱作合作型多任務(wù)(cooperativemultitasking),各個任務(wù)彼此合作共享一個CPU。中斷服務(wù)可以使一個高優(yōu)先級的任務(wù)由掛起狀態(tài)變?yōu)榫途w狀態(tài)。但中斷服務(wù)以后控制權(quán)還是回到原來被中斷了的那個任務(wù),直到該任務(wù)主動放棄CPU的使用權(quán)時,那個高優(yōu)先級的任務(wù)才能獲得CPU的使用權(quán)。低優(yōu)先級任務(wù)ISR高優(yōu)先級任務(wù)(1)(2)(3)(4)(5)(6)(7)中斷服務(wù)程序使高優(yōu)先級任務(wù)就緒低優(yōu)先級任務(wù)釋放CPU使用權(quán)TIME非占先式(Non-Preemptive)圖
非占先式內(nèi)核的一個特點是幾乎不需要使用信號量保護(hù)共享數(shù)據(jù)。正在運行著的任務(wù)占有CPU,而不必?fù)?dān)心被別的任務(wù)搶占。 非占先式內(nèi)核的最大缺陷在于其響應(yīng)高優(yōu)先級的任務(wù)慢②占先式(搶先式)preemptive)
當(dāng)系統(tǒng)響應(yīng)時間很重要時,要使用占先式內(nèi)核。最高優(yōu)先級的任務(wù)一旦就緒,總能得到CPU的控制權(quán)。即當(dāng)一個運行著的任務(wù)使一個比它優(yōu)先級高的任務(wù)進(jìn)入了就緒態(tài),當(dāng)前任務(wù)的CPU使用權(quán)就被剝奪了,或者說被掛起了,那個高優(yōu)先級的任務(wù)立刻得到了CPU的控制權(quán)。
低優(yōu)先級任務(wù)ISR高優(yōu)先級任務(wù)(1)(2)(3)(4)(5)(6)中斷服務(wù)程序使高優(yōu)先級任務(wù)就緒高優(yōu)先級任務(wù)得到CPU使用權(quán)TIME占先式(Preemptive)圖
(4)任務(wù)優(yōu)先級(priority)
首先介紹一下任務(wù)優(yōu)先級的種類,每個任務(wù)都有其優(yōu)先級(priority),靜態(tài)優(yōu)先級和動態(tài)優(yōu)先級。
應(yīng)用程序執(zhí)行過程中,如果各任務(wù)優(yōu)先級不變,則稱之為靜態(tài)優(yōu)先級。在靜態(tài)優(yōu)先級系統(tǒng)中,各任務(wù)以及它們的時間約束在程序編譯時是已知的。 應(yīng)用程序執(zhí)行過程中,如果任務(wù)的優(yōu)先級是可變的,則稱之為動態(tài)優(yōu)先級。第三節(jié)
常用的嵌入式操作系統(tǒng)概述操作系統(tǒng)功能概述嵌入式操作系統(tǒng)的演變常用的嵌入式系統(tǒng)簡介1、操作系統(tǒng)功能的概述
現(xiàn)在的操作系統(tǒng)十分復(fù)雜,它管理著計算機系統(tǒng)中各種不同的軟硬件資源。一般來說,操作系統(tǒng)主要功能有進(jìn)程管理(處理機管理)、存儲器管理、設(shè)備管理和文件管理。 進(jìn)程管理的主要功能是完成CPU資源的調(diào)度和分配,以某種預(yù)定的策略運行系統(tǒng)中的任務(wù)。 存儲器管理是操作系統(tǒng)的一個重要職責(zé),主要完成計算機內(nèi)存資源的管理和分配任務(wù)。 設(shè)備管理負(fù)責(zé)管理各種計算機外設(shè),主要有設(shè)備驅(qū)動程序完成。 文件管理負(fù)責(zé)管理磁盤上的各種文件和目錄。2、嵌入式操作系統(tǒng)的演變*PercentoftotalsoftwaresuppliedbyRTOSvendorinatypicalembeddeddevice10%*Kernel30%*KernelNetworkingFileSystem75%*KernelNetworkingFileSystemMultiprocessingMemoryManagementNetworkingUtilityWindowsAPIApplicationApplicationApplicationApplication90%*KernelNetworkingFileSystemMultiprocessingFaultToleranceDistributedObjectsAdvancedNetworkingAdvancedInterconnectJavaBrowser/GUI嵌入式操作系統(tǒng)的演變 在嵌入式系統(tǒng)的發(fā)展過程中,從操作系統(tǒng)的角度來看,大致經(jīng)歷了以下幾個階段:無操作系統(tǒng)階段簡單操作系統(tǒng)階段實時操作系統(tǒng)階段面向Internet的階段嵌入式操作系統(tǒng)的演變無操作系統(tǒng)階段嵌入式這一階段嵌入式系統(tǒng)的主要特點是:系統(tǒng)結(jié)構(gòu)和功能相對單一,處理效率較低,存儲容量較小,幾乎沒有用戶接口。由于這種嵌入式系統(tǒng)使用簡便、價格低廉,因而曾經(jīng)在工業(yè)控制領(lǐng)域中得到了非常廣泛的應(yīng)用,但卻無法滿足現(xiàn)今對執(zhí)行效率、存儲容量都有較高要求的信息家電等場合的需要。嵌入式操作系統(tǒng)的演變簡單操作系統(tǒng)階段20世紀(jì)80年代,隨著微電子工藝水平的提高,IC制造商開始把嵌入式應(yīng)用中所需要的微處理器、I/O接口、串行接口以及RAM、ROM等部件統(tǒng)統(tǒng)集成到一片VLSI中,制造出面向I/O設(shè)計的微控制器,并一舉成為嵌入式系統(tǒng)領(lǐng)域中異軍突起的新秀。與此同時,嵌入式系統(tǒng)的程序員也開始基于一些簡單的"操作系統(tǒng)"開發(fā)嵌入式應(yīng)用軟件,大大縮短了開發(fā)周期、提高了開發(fā)效率。嵌入式操作系統(tǒng)的演變簡單操作系統(tǒng)階段這一階段嵌入式系統(tǒng)的主要特點是:出現(xiàn)了大量高可靠、低功耗的嵌入式CPU(如PowerPC等),各種簡單的嵌入式操作系統(tǒng)開始出現(xiàn)并得到迅速發(fā)展。此時的嵌入式操作系統(tǒng)雖然還比較簡單,但已經(jīng)初步具有了一定的兼容性和擴展性,內(nèi)核精巧且效率高,主要用來控制系統(tǒng)負(fù)載以及監(jiān)控應(yīng)用程序的運行。嵌入式操作系統(tǒng)的演變實時操作系統(tǒng)階段20世紀(jì)90年代,在分布控制、柔性制造、數(shù)字化通信和信息家電等巨大需求的牽引下,嵌入式系統(tǒng)進(jìn)一步飛速發(fā)展,而面向?qū)崟r信號處理算法的DSP產(chǎn)品則向著高速度、高精度、低功耗的方向發(fā)展。隨著硬件實時性要求的提高,嵌入式系統(tǒng)的軟件規(guī)模也不斷擴大,逐漸形成了實時多任務(wù)操作系統(tǒng)(RTOS),并開始成為嵌入式系統(tǒng)的主流。嵌入式操作系統(tǒng)的演變實時操作系統(tǒng)階段這一階段嵌入式系統(tǒng)的主要特點是:操作系統(tǒng)的實時性得到了很大改善,已經(jīng)能夠運行在各種不同類型的微處理器上,具有高度的模塊化和擴展性。此時的嵌入式操作系統(tǒng)已經(jīng)具備了文件和目錄管理、設(shè)備管理、多任務(wù)、網(wǎng)絡(luò)、圖形用戶界面(GUI)等功能,并提供了大量的應(yīng)用程序接口(API),從而使得應(yīng)用軟件的開發(fā)變得更加簡單。嵌入式操作系統(tǒng)的演變面向Internet的階段21世紀(jì)無疑將是一個網(wǎng)絡(luò)的時代,將嵌入式系統(tǒng)應(yīng)用到各種網(wǎng)絡(luò)環(huán)境中去的呼聲自然也越來越高。目前大多數(shù)嵌入式系統(tǒng)還孤立于Internet之外,隨著Internet的進(jìn)一步發(fā)展,以及Internet技術(shù)與信息家電、工業(yè)控制技術(shù)等的結(jié)合日益緊密,嵌入式設(shè)備與Internet的結(jié)合才是嵌入式技術(shù)的真正未來。信息時代和數(shù)字時代的到來,為嵌入式系統(tǒng)的發(fā)展帶來了巨大的機遇,同時也對嵌入式系統(tǒng)廠商提出了新的挑戰(zhàn)。嵌入式操作系統(tǒng)的演變 目前,嵌入式技術(shù)與Internet技術(shù)的結(jié)合正在推動著嵌入式技術(shù)的飛速發(fā)展,嵌入式系統(tǒng)的研究和應(yīng)用產(chǎn)生了如下新的顯著變化:新的微處理器層出不窮,嵌入式操作系統(tǒng)自身結(jié)構(gòu)的設(shè)計更加便于移植,能夠在短時間內(nèi)支持更多的微處理器。嵌入式系統(tǒng)的開發(fā)成了一項系統(tǒng)工程,開發(fā)廠商不僅要提供嵌入式操作系統(tǒng)本身,同時還要提供強大的軟件開發(fā)支持包。通用計算機上使用的新技術(shù)、新觀念開始逐步移植到嵌入式系統(tǒng)中,如嵌入式數(shù)據(jù)庫、移動代理、實時CORBA、Java等,嵌入式軟件平臺得到進(jìn)一步完善。3、μC/OS-II簡介μC/OS-II是一個搶占式實時多任務(wù)內(nèi)核。它是用ANSI的C語言編寫的,包含一小部分匯編語言代碼,使之可以提供給不同架構(gòu)的微處理器使用。至今,從8位到64位,μC/OS-II已經(jīng)在40多種不同架構(gòu)的微處理器上使用。使用μC/OS的領(lǐng)域包括:照相機行業(yè)、航空業(yè)、醫(yī)療器械、網(wǎng)絡(luò)設(shè)備、自動提款機以及工業(yè)機器人等。
4、Linux操作系統(tǒng)簡介
嵌入式系統(tǒng)越來越追求數(shù)字化、網(wǎng)絡(luò)化和智能化。因此原來在某些設(shè)備或領(lǐng)域中占主導(dǎo)地位的軟件系統(tǒng)越來越難以為繼,整個系統(tǒng)必須是開放的、提供標(biāo)準(zhǔn)的API,并且能夠方便地與眾多第三方的軟硬件溝通。
Linux在嵌入式領(lǐng)域異軍突起,不過是近兩年的事情。過去的一年中有13%的用戶已經(jīng)開始使用嵌入式Linux系統(tǒng)進(jìn)行開發(fā)工作;有52%的用戶決定在未來24個月內(nèi)開始使用Linux作為嵌入式操作系統(tǒng)的開發(fā)原型。
隨著Linux的迅速發(fā)展,嵌入式Linux現(xiàn)在已經(jīng)有了許多版本,包括強實時的嵌入式Linux(RT-Linux和KURT-Linux)和一般的嵌入式Linux(如uClinux和PorketLinux等)。其中,RT-Linux通過把通常的Linux任務(wù)優(yōu)先級設(shè)為最低,而所有的實時任務(wù)的優(yōu)先級都高于它,以達(dá)到既兼容通常的Linux任務(wù),又保證強實時性能的目的。嵌入式uCLinux
另一種常用的嵌入式Linux是uClinux,它是指對Linux經(jīng)過小型化裁剪后,能夠固化在容量只有幾百K字節(jié)或幾兆字節(jié)的存儲器芯片中,即針對沒有MMU的處理器而設(shè)計的。它不能使用處理器的虛擬內(nèi)存管理技術(shù),對內(nèi)存的訪問是直接的,所有程序中的地址都是實際的物理地址。它專為嵌入式系統(tǒng)作了許多小型化的工作。嵌入式Linux(EmbeddedLinux)應(yīng)用于特定嵌入式場合。嵌入式Linux的開發(fā)和研究是目前操作系統(tǒng)領(lǐng)域的一個熱點。5、WindowsCE操作系統(tǒng)簡介
1)概述
WindowsCE是Microsoft公司為開發(fā)各類信息設(shè)備而開發(fā)出來的一個嵌入式軟實時操作系統(tǒng)。
WindowsCE是一個非常小巧精致的操作系統(tǒng)。這個操作系統(tǒng)的核心全部是由C語言開發(fā)的,操作系統(tǒng)本身還包含許多由各個廠家用C語言和匯編語言開發(fā)的驅(qū)動程序。
WindowsCE可以看作是Windows98/NT的微縮版,專門為體積小、資源要求低、便攜的機器而設(shè)計。但它們之間還存在著一些明顯的差別,WindowsCE不得不放棄某些復(fù)雜的特性。
WindowsCE是針對有限資源的平臺而設(shè)計的多線程、完整優(yōu)先權(quán)、多任務(wù)的操作系統(tǒng),但它不是一個強實時操作系統(tǒng),高度模塊化是它的重要特性,它適合作為可裁減的32位嵌入式操作系統(tǒng)。WinCE既適用于工業(yè)設(shè)備的嵌入式控制模塊,也適用于消費類電子產(chǎn)品,如電話、機頂盒和掌上電腦等。針對不同的目標(biāo)設(shè)備硬件環(huán)境,可以在內(nèi)核基礎(chǔ)上添加各種模塊,從而形成一個定制的嵌入式操作系統(tǒng)。
WindowsCE的核允許每個進(jìn)程有256個優(yōu)先級,采用搶占式優(yōu)先權(quán)調(diào)度法。WindowsCE內(nèi)核至少約為200KB的ROM。對于應(yīng)用程序開發(fā)者來說,WindowsCE提供了Windows程序員熟悉的各種開發(fā)環(huán)境,例如,MicrosoftWin32API(應(yīng)用程序接口)、ActiveX控件、消息隊列、COM接口、ATL和MFC。它們不僅有助于提高開發(fā)者的開發(fā)效率,而且有利于從其他Microsoft平臺上移植各種成功的應(yīng)用程序。2)WinCE與Windows操作系統(tǒng)的區(qū)別⑴WindowsCE不能運行現(xiàn)有的應(yīng)用程序⑵WindowsCE有嚴(yán)格的內(nèi)存限制。⑶WindowsCE有精簡的運行庫和API⑷WindowsCE設(shè)備通常沒有鼠標(biāo)⑸WindowsCE硬件并不十分標(biāo)準(zhǔn)化
使用WinCE用戶需與Microsoft公司簽訂合同方可獲得源代碼。
WindowsCE支持非常流行的Windows應(yīng)用程序接口API,提供了互聯(lián)網(wǎng)的瀏覽服務(wù)和其他服務(wù),使其很適合用于需要與互聯(lián)網(wǎng)連接的系統(tǒng)中。目前常使用的有WindowsCE4.2、CE5.0等版本。6、VxWorks
VxWorks操作系統(tǒng)是美國WindRiver公司于1983年設(shè)計開發(fā)的一種嵌入式(無MMU)實時操作系統(tǒng)(RTOS),具有良好的持續(xù)發(fā)展能力、高性能的內(nèi)核以及友好的用戶開發(fā)環(huán)境,在嵌入式實時操作系統(tǒng)領(lǐng)域牢牢占據(jù)著一席之地。
VxWorks操作系統(tǒng)基于微內(nèi)核結(jié)構(gòu),由400多個相對獨立的目標(biāo)模塊組成,用戶可以根據(jù)需要增加或減少模塊來裁剪和配置系統(tǒng),其連接器可按應(yīng)用的需要來動態(tài)連接目標(biāo)模塊。大多數(shù)的VxWorksAPI是專用的,采用GNU的編譯和調(diào)試器。VxWorks所具有的顯著特點
-可靠性、實時性和可裁減性。 -它支持多種處理器,如x86、i960、SunSparc、MotorolaMC68xxx、MIPS、PowerPC等等。例如在美國的F-16和FA-18戰(zhàn)斗機、B2隱形轟炸機、愛國者導(dǎo)彈和“索杰納”火星探測車上使用的都是VxWorks操作系統(tǒng)。
7、智能手機操作系統(tǒng)簡介概述目前的手機操作系統(tǒng)平臺被Symbian、Linux、微軟和Palm四家所掌控。操作系統(tǒng)的成本占15%~20%。1)PalmOS“胖子”由PalmComputing公司設(shè)計開發(fā)的一種32位嵌入式操作系統(tǒng),主要應(yīng)用在掌上電腦(PDA),以及現(xiàn)在的智能手機。Palm已售出3000萬部以上的移動化電腦產(chǎn)品。PalmOS操作系統(tǒng)的最大特點就是節(jié)能以及占用很少的系統(tǒng)資源。同時它還是采用開放式的架構(gòu),因此吸引了眾多為PalmOS平臺開發(fā)應(yīng)用程序的程序設(shè)計人員。目前在其上面運行的共享軟件和免費軟件已超過1萬種。2)SymbianOS“塞班系統(tǒng)”由諾基亞聯(lián)合摩托羅拉、西門子等幾家大型移動通訊設(shè)備商共同出資組建的一個合資公司,專門研發(fā)手機操作系統(tǒng),并得到了占據(jù)市場份額大多數(shù)的手持通訊設(shè)備廠商的支持。Symbian操作系統(tǒng)的前身是EPOC,而EPOC是ElectronicPieceofCheese取第一個字母而來的,其原意為“使用電子產(chǎn)品時可以像吃乳酪一樣簡單”。在諾基亞的大力倡導(dǎo)下,Symbian已經(jīng)成為一個開放的、易用的、專業(yè)的開發(fā)平臺。支持C++,Java語言,支持藍(lán)牙、USB、IPv4、IPv6、
溫馨提示
- 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024年度綠色環(huán)保紙箱批量購銷合作協(xié)議書3篇
- 2024信用卡年度信用卡用戶信用修復(fù)與信用體系建設(shè)服務(wù)協(xié)議3篇
- 2024年地磚行業(yè)綠色生產(chǎn)標(biāo)準(zhǔn)認(rèn)證合同3篇
- 2024年數(shù)據(jù)中心弱電系統(tǒng)集成及配套設(shè)備租賃合同3篇
- 2024宿舍管理員宿舍衛(wèi)生習(xí)慣養(yǎng)成聘用合同書3篇
- 2024年影視制作合同標(biāo)的拍攝計劃
- 2024中草藥種植與中醫(yī)藥養(yǎng)生度假村合作合同3篇
- 癰病的護(hù)理常規(guī)
- 編制教材合同范例寫
- 后期承包合同范例
- 村里廟會募捐倡議書
- 自控系統(tǒng)操作說明
- 2024年俄羅斯反沖洗過濾器行業(yè)應(yīng)用與市場潛力評估
- 餐飲采購合同樣本
- 2024年省內(nèi)江市東興區(qū)公辦學(xué)??颊{(diào)教師67人(高頻重點提升專題訓(xùn)練)共500題附帶答案詳解
- 幼兒園安全教育課件:生水喝不得
- 《第一節(jié) 生活方式對健康的影響》教學(xué)設(shè)計教學(xué)反思-2023-2024學(xué)年高中體育與健康人教版全一冊
- 技能成才強國有我課件模板
- 2023-2024學(xué)年冀教版數(shù)學(xué)四年級上冊期末試題 ( 有答案 )
- 幽門螺桿菌科普
- “雙減”背景下小學(xué)數(shù)學(xué)“教、學(xué)、評”一體化的思考與實踐
評論
0/150
提交評論