嵌入式系統(tǒng)7課件_第1頁
嵌入式系統(tǒng)7課件_第2頁
嵌入式系統(tǒng)7課件_第3頁
嵌入式系統(tǒng)7課件_第4頁
嵌入式系統(tǒng)7課件_第5頁
已閱讀5頁,還剩62頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

—嵌入式操作系統(tǒng)2006年5月12日

嵌入式系統(tǒng)主要內容嵌入式操作系統(tǒng)實時操作系統(tǒng)微內核與單內核嵌入式操作系統(tǒng)發(fā)展近十年來,嵌入式操作系統(tǒng)得到飛速的發(fā)展從支持8位微處理器到16位、32位甚至64位微處理器;從支持單一品種的微處理器芯片到支持多品種微處理器芯片;從只有內核到除了內核外還提供其他功能模塊,如文件系統(tǒng),TCP/IP網絡系統(tǒng),窗口圖形系統(tǒng)等。嵌入式操作系統(tǒng)技術現狀(續(xù))

分層和模塊化結構,將操作系統(tǒng)分為:硬件無關層硬件抽象層硬件相關層每層再劃分功能模塊移植工作集中在硬件相關層,與其余兩層無關功能的伸縮集中在模塊上,從而確保了系統(tǒng)具有良好的可移植性和可伸縮性。嵌入式操作系統(tǒng)技術現狀(續(xù))功能復雜,具有可剪裁、可配置的能力

采用的主要技術:可剪裁技術。操作系統(tǒng)以內核為中心,包括很多獨立的功能組件如文件、網絡等。除內核外其他組件的選擇任意搭配,由應用決定??膳渲眉夹g。每個功能組件都可以根據應用的要求進行配置,比如最大任務數、內存地址、堆棧大小、系統(tǒng)任務的優(yōu)先級、緩沖區(qū)大小及文件數等。嵌入式操作系統(tǒng)技術現狀(續(xù))良好的實時性:時間確定性是嵌入式實時操作系統(tǒng)必備的特點,特別對于強實時嵌入式系統(tǒng)而言尤為重要。采用的主要技術:采用實時調度算法。主要采用靜態(tài)優(yōu)先級的可搶占式調度、比率單調算法等。采用內存靜態(tài)分配策略和零拷貝技術保證確定性。內存管理不采用虛存管理機制采用優(yōu)先級繼承和優(yōu)先級天花板兩種技術解決優(yōu)先級反轉(倒置)問題嵌入式操作系統(tǒng)的發(fā)展趨勢體系結構向微內核方向發(fā)展可伸縮、可移植、可剪裁、可配置行業(yè)的標準:多種操作系統(tǒng)平臺,應用決定操作系統(tǒng)結構緊湊、功能強大高可用(HighAvailable)、高可靠(HighReliable)、支持多處理器和分布式計算可動態(tài)加載和升級軟件與開發(fā)工具有機的結合起來行業(yè)標準行業(yè)性嵌入式軟硬件平臺嵌入式系統(tǒng)是以應用為中心的系統(tǒng),不會象PC一樣只有一種平臺吸取PC的成功經驗,形成不同行業(yè)的標準。統(tǒng)一的行業(yè)標準具有開放、設計技術共享、軟硬件重用、構件兼容、維護方便和合作生產的特點,是增強行業(yè)性產品競爭能力的有效手段。嵌入式操作系統(tǒng)嵌入式操作系統(tǒng)常常有實時要求早期:嵌入式操作系統(tǒng)=實時操作系統(tǒng)近期:1)手持計算機和掌上計算機的出現;2)CPU速度的提高;3)常規(guī)操作系統(tǒng)增加實時進程調度的支持,如POSIX.4嵌入式操作系統(tǒng)<>實時操作系統(tǒng)嵌入式操作系統(tǒng)許多嵌入式操作系統(tǒng)不采用存儲管理技術,即不支持虛擬存儲技術許多嵌入式操作系統(tǒng)不劃分“系統(tǒng)空間”和“用戶空間”操作系統(tǒng)的“內核”與外圍應用程序之間不再有物理的邊界;系統(tǒng)中所謂“進程”實際上全都是內核線程靜態(tài)連接、系統(tǒng)調用、進程調度/切換嵌入式操作系統(tǒng)對任何一個應用程序做細微的修改,都得重新生成整個系統(tǒng),并且“下載”之;系統(tǒng)調用的界面太龐大;共享變量的訪問,需要謹慎對待;把通用操作系統(tǒng)上的應用移植過來需考慮“可重入”的問題;嵌入式操作系統(tǒng)不分系統(tǒng)空間和用戶空間<>必須靜態(tài)連接如DOS、CP/M的INT21不分系統(tǒng)空間和用戶空間<>不能用頁面映射技術但只用于不同進程之間,而非不同空間之間即使采用了存儲管理,基本上都不采用頁面交換技術重啟動技術(watchdog)中斷延遲(InterruptLatency)中斷不可嵌套LINUX的BottomHalf中斷可嵌套:優(yōu)先級中斷大多微處理器不支持;LINUX不支持;UNIX支持與指令集有關DMA操作有關保證系統(tǒng)調用的原子性有關調度延遲(SchedulingLatency)中斷處理程序進程處理一般調度算法(RoundRobin)不能及時選中基于優(yōu)先級調度算法,一般能及時選中如果目標進程優(yōu)先級低呢?可剝奪調度和不可剝奪調度LINUX是屬于什么調度?Linux既不是完全的可剝奪,也不是完全的不可剝奪上下文切換延遲(ContextSwitchLatency)大小取決于CPU和操作系統(tǒng)采用MMU>不采用MMU實時性簡介對于什么是實時系統(tǒng),POSIX1003.b作了這樣的定義:指系統(tǒng)能夠在限定的響應時間內提供所需水平的服務實時系統(tǒng)根據其對于實時性要求的不同,可以分為軟實時和硬實時兩種類型一個計算機系統(tǒng)為了提供對于實時性的支持,它的操作系統(tǒng)必須對于CPU和其他資源進行有效的調度和管理,即實時調度實時調度分類各種實時操作系統(tǒng)的實時調度算法從調度策略上可以分為如下三種類別:基于優(yōu)先級的調度算法(Priority-drivenscheduling-PD)基于CPU使用比例的共享式的調度算法(Share-drivenscheduling-SD)基于時間的進程調度算法(Time-drivenscheduling-TD)從調度方式上來講可以分為:可搶占不可搶占從時間片來分:固定時間片可變時間片

實時性改造

對操作系統(tǒng)實時性的擴展可以從兩方面進行:向外擴展和向上擴展向外擴展是從范圍上擴展,讓實時系統(tǒng)支持的范圍更廣,支持的設備更多向上擴展是擴充操作系統(tǒng)內核,從功能上擴充系統(tǒng)的實時處理實時系統(tǒng)在實時計算中,系統(tǒng)的正確性不僅僅依賴于計算的邏輯結果而且依賴于結果產生的時間響應時間限定可預知實時操作系統(tǒng)與I/O實時操作系統(tǒng)還需要有效的中斷處理能力來處理異步事件和高效的I/O能力來處理有嚴格時間限制的數據收發(fā)應用。即:系統(tǒng)應該有在事先定義的時間范圍內識別和處理離散的事件的能力。系統(tǒng)能夠處理和存儲控制系統(tǒng)所需要的大量的數據。RTOS基本struct實時多任務core任務管理:多任務和基于優(yōu)先級的任務調度定時器:系統(tǒng)的實時時鐘服務,以及各個定時任務的調入等Mem:管理系統(tǒng)的內存資源,如DRAM,ROM,FLASHRAM等資源管理:管理系統(tǒng)的各種資源如系統(tǒng)的各種設備,端口,中斷等;事件和消息管理:管理各種系統(tǒng)級的事件,如實時中斷響應,各種異常等;任務間同步和通信(信號量和郵箱等)以及各種系統(tǒng)消息和應用程序之間的通訊RTOS的系統(tǒng)調用90%以上的設備獨立RTOS的任務--分時系統(tǒng)Process實時帶來的問題1-時間在實時系統(tǒng)中最基本的是系統(tǒng)應該能夠提供對時間正確性進行指定的方法系統(tǒng)提供一種指定時間尺度的方法通用系統(tǒng)的延時不能滿足問題2-實時系統(tǒng)的結構實時系統(tǒng)的體系結構必須滿足:高運算速度高速的中斷處理高的I/O吞吐率合理的處理器和I/O設備的拓撲連接高速可靠的和有時間約束的通信體系結構支持的出錯處理體系結構支持的調度體系結構支持的操作系統(tǒng)體系結構支持的實時語言特性問題3-容錯與分布穩(wěn)定性容錯分布式應用問題4-實時通訊邏輯正確要有確定的延遲時間問題5-其他問題時間特性的指定和確正,這點與實際系統(tǒng)設計相同。實時的調度理論。由于實時系統(tǒng)應用的特殊性以往通用系統(tǒng)中以大吞吐量為目標的調度算法必須改進以適應實時應用的需要。主要要求是滿足時間的正確性,然后提供高度動態(tài)的,滿足在線需求的,適應性的實時調度。實時操作系統(tǒng)的設計和實現。在設計上首要目標是提供保證實時性的方法,包括一系列的經典問題的針對實時系統(tǒng)的解決方案。實現上要求操作系統(tǒng)的低開銷,而且必須保證內核以及其他關鍵的可重入性。實時的編程語言和設計方法。在編程語言級完成或提供實時應用所需要的方法。如Ada語言,FORTH語言。分布式的實時數據庫系統(tǒng)的容錯實時時鐘的同步實時系統(tǒng)中的人工智能與通用計算機區(qū)別通用:方便用戶管理計算機資源追求系統(tǒng)資源最大利用率RTOS調度的實時性響應時間可確定性高可靠性性能衡量標準對傳統(tǒng)的通用系統(tǒng):大的系統(tǒng)吞吐量合理的響應速度對每個系統(tǒng)用戶相對公平的進行計算資源的分配實時系統(tǒng)實時的數據吞吐取代了以吞吐量為目標的標準。對硬實時應用的優(yōu)先響應取代了對每個用戶的恰當的反應速度。系統(tǒng)的計算資源和其他外設資源必須優(yōu)先滿足實時應用的要求RTOS的衡量指標系統(tǒng)響應時間(Systemresponsetime):系統(tǒng)發(fā)出處理要求到系統(tǒng)給出應答信號的時間;上下文切換時間(Context-switchingtime):任務之間切換而使用的時間;中斷延遲(Interruptlatencytime):是計算機接收到中斷信號到操作系統(tǒng)作出響應,并完成換道轉入中斷服務程序的時間;RTOS的任務調度機制決定了多任務能力與實時性通用模式:調度策略:優(yōu)先級調度、時間片輪轉調度調度方式:搶占式、不可搶占式、選擇可搶占式時間片:定長時間片與變長時間片RTOS一般使用搶占式任務調度時間限定的任務調度算法速度單調算法工作由定期任務組織任務時間定長度使用頻率高的優(yōu)先級高時限驅動算法工作定期與不定期執(zhí)行時長隨著時間變化下一個要安排執(zhí)行的任務是時限最早的任務存儲管理單元(MMU)實模式保護模式Mem管理中斷禁止時間用戶態(tài)->中斷態(tài)中斷延時時間確認中斷-----中斷服務第一語句執(zhí)行三部分Microprocessor的硬件延時RTOS由中斷將權利交給相關代碼的時間中斷禁止時間可中斷式內核中斷發(fā)生時;即使運行核心服務也保證一定時間內響應縮短中斷延時時間任務切換時間控制權取回交給另外一任務兩個主要評價實時性的指標:

最大中斷禁止時間任務切換時間任務分時系統(tǒng)以進程(線程)為基本單位RTOS以任務為基本單位組成:任務控制塊程序區(qū)數據區(qū)堆棧區(qū)系統(tǒng)堆棧用戶堆棧任務的狀態(tài)運行就緒掛起休眠任務的同步與通訊消息事件信號量信箱共享內存消息系統(tǒng)公用數據交換區(qū)私有消息緩沖區(qū)公用消息緩沖池消息機制創(chuàng)建刪除接受消息發(fā)送消息廣播消息緊急消息消息可以是定長與不定長事件應用于同步,通訊數據量不大接受事件發(fā)送事件RTOS一般有15-32個事件信號量創(chuàng)建刪除P操作V操作RTOS需要解決優(yōu)先級倒置問題優(yōu)先級倒置問題條件高優(yōu)先級任務H低優(yōu)先級任務L中優(yōu)先級任務M共享內存Y,寫操作信號量S,互斥優(yōu)先級倒置問題步驟1)L取得S(P操作),但是未做V操作2)H中斷,H運行態(tài)3)H寫Y,但是Y的S被占用4)L重新取得控制權5)M出現,取得控制權結果:M比H優(yōu)先

如果不斷的M出現,H不能執(zhí)行解決方法1、采用非搶占式任務管理2、優(yōu)先級繼承L搶回控制權后,暫時繼承H的優(yōu)先級(priorityinheritance)設S為正占用著某項共享資源的進程P以及所有正在等待占用這個資源的進程的集合;找出這個集合中的優(yōu)先級最高者,其優(yōu)先級為P’把進程P的優(yōu)先級設置成P’

優(yōu)先級封頂(priorityceiling)設S為所有可能競爭使用某項共享資源的進程的集合。事先為這個集合規(guī)定一個優(yōu)先級上限p’,使得這個集合中所有進程的優(yōu)先級都小于p’。注意p’并不一定是整個系統(tǒng)中的最好優(yōu)先級。在創(chuàng)建保護該項資源的信號量或互斥量時,將p’作為一個參數。每當有進程通過這個信號量或互斥量取得共享資源時,就將此進程的優(yōu)先級暫時提高到p’,一直到釋放該項資源的時候才恢復其原有的優(yōu)先級。可以看出,操作系統(tǒng)的“實時”與否,并不僅僅取決于速度問題,甚至更多的是反應速度和處理時間的可預測性問題。微內核與單內核分層模擬通用計算機需要“大而全”的內核你不需要,別人可能需要當局限于某個具體領域時,做些“裁減”嵌入式系統(tǒng)的用戶群以及對功能的要求是相對封閉的商業(yè)上考慮,大而全也不合適微內核與單內核(續(xù))“裁減”或“系統(tǒng)生成”沒有根本上解決問題將內核中的部分內容移到內核外面,作為服務進程運行。代表:MACH把內核中的部分內容移到外面,但不作為獨立的進程運行,而是作為讓應用程序調用的庫函數存在。fopen與opensocket微內核與單內核(續(xù))在微內核中保留哪些東西?進程管理存儲管理進程間通信中斷響應框架微內核的優(yōu)先級倒置問題有A、B兩個應用程序,A的優(yōu)先級比B高,但是A在睡眠,而B在運行。B需要進行文件操作,發(fā)請求給文件服務進程,自己進入睡眠,等待文件操作完成本來在睡眠的文件服務進程接受到B的請求后開始為B服務。此時A因某外部事件而變成就緒。發(fā)生調度時,A與文件服務進程都是就緒狀態(tài)。文件服務進程由于優(yōu)先級高而更為優(yōu)先。可是文件服務進程代表的是B,因此發(fā)生優(yōu)先級倒置。微內核的優(yōu)先級倒置問題以上問題的解決辦法是采用“客戶驅動優(yōu)先級”,但是對于LINUX等操作系統(tǒng),由于是不可剝奪的,因此天生

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論