機電之家資源網(wǎng)
單片機首頁|單片機基礎(chǔ)|單片機應(yīng)用|單片機開發(fā)|單片機文案|軟件資料下載|音響制作|電路圖下載 |嵌入式開發(fā)
培訓(xùn)信息
贊助商
嵌入式RTOS講座(1)
嵌入式RTOS講座(1)
 更新時間:2008-8-18 14:36:39  點擊數(shù):42
【字體: 字體顏色
[編者按] RTOS是開發(fā)計算機嵌入式應(yīng)用產(chǎn)品的有力工具,研究和掌握RTOS的思想方法有益于提高開發(fā)人員的水平,從而縮短產(chǎn)品開發(fā)周期、提高產(chǎn)品質(zhì)量。從本期起,學(xué)習(xí)園地將連載《嵌入式RTOS講座》,主要內(nèi)容如下:什么是嵌入式RTOS;RTOS中的一些基本概念;介紹一個源碼公開的實時內(nèi)核;在PC機上實現(xiàn)該實時內(nèi)核的運行;讓該實時內(nèi)核在8位單片機上運行;如何將該實時內(nèi)核移植到32位CPU上。嵌入式RTOS講座(1) 什么是嵌入式實時操作系統(tǒng)清華MOTOROLA單片機應(yīng)用開發(fā)研究中心邵貝貝許慶豐王若鵬一、 計算機的操作系統(tǒng)最早的計算機誕生于20世紀(jì)40年代中期。哈佛大學(xué)的Howard Aiken、普林斯頓高等學(xué)院的John Von Neumann等成功地用真空管建造了計算機。當(dāng)時的操作主要是針對硬件的,連匯編語言都沒有,更不用提軟件設(shè)計以及操作系統(tǒng)了。到了50年代,晶體管的發(fā)明大大減小了計算機的體積,并提高了計算機的可靠性,出現(xiàn)了能夠大批量生產(chǎn)的機器,如IBM 1404、IBM 7094等,推動了設(shè)計人員、生產(chǎn)人員、操作員、程序員和維護人員的分工。這時,FORTRAN語言和匯編語言被用于解決科學(xué)計算問題,并出現(xiàn)了一些批處理系統(tǒng),如FMS FORTRAN監(jiān)控系統(tǒng)、IBM 7094機的IBSYS系統(tǒng)。60年代中期,集成電路制造工藝大大提高計算機硬件的性能價格比。IBM推出了一系列軟件兼容的計算機,組成IBM360系列機,其中包括許多性能檔次。這時軟件也有了突破性進展,終于在1962年誕生了第一個分時系統(tǒng)CTSS。隨著人們對操作系統(tǒng)的逐步深入理解,又出現(xiàn)了MULTICS、UNIX等非常成功的分時操作系統(tǒng)。 UNIX是多用戶、多任務(wù)的操作系統(tǒng)。在小型、中型乃至大型計算機上,幾十人甚至上百人同時使用一臺計算機,作各類應(yīng)用,長年累月運行而不會死機。操作系統(tǒng)可以說是計算機的靈魂。只有硬件,沒有操作系統(tǒng)的計算機稱作裸機。裸機是不能用的,也是沒有用的。 60年代以來,UNIX操作系統(tǒng)的研究與發(fā)展使之達到了幾乎完美的程度。它是世界上無數(shù)優(yōu)秀的計算機專家們數(shù)十年智慧的結(jié)晶。從80年代初到現(xiàn)在,計算機的發(fā)展已經(jīng)進入第四代。大規(guī)模集成電路工藝帶來了低成本、高性能的個人計算機,并且普及率大大提高。這時的操作系統(tǒng)有三個分支:一是主要用于個人機和工作站上的微軟MS\ DOS、Windows 98、Windows NT;二是在工作站和高檔機上占統(tǒng)治地位的UNIX;三是網(wǎng)絡(luò)操作系統(tǒng)和分布式操作系統(tǒng)。一臺計算機上可以有多種軟件,操作系統(tǒng)是其中最基本、最主要的軟件。它控制計算機的資源并提供開發(fā)應(yīng)用程序的基礎(chǔ)。圖1表示了操作系統(tǒng)在整個計算機中的地位。對操作系統(tǒng)的概念,可以從兩個方面去理解。一是面對應(yīng)用程序的部分,它將硬件細節(jié)與程序員隔離開來,使編程工作不用總是涉及底層硬件,相當(dāng)于為用戶提供了一臺等價的虛擬機;另一方面,操作系統(tǒng)必須用物理硬件能夠明白的語言來操縱各種資源,如處理器、存儲器、時鐘、磁盤、打印機等等,從這種意義上講,它更像一個資源管理器。應(yīng)用程序編輯器〖〗編譯器〖〗命令解釋器操作系統(tǒng)機器語言微程序物理設(shè)備[] 系統(tǒng)程序 硬件圖1計算機系統(tǒng)的組成二、 什么是實時操作系統(tǒng)實時操作系統(tǒng),簡稱RTOS(Real Time Operating System)。UNIX是分時系統(tǒng),定時器的優(yōu)先級最高。以UNIX為基礎(chǔ),允許對中斷處理的優(yōu)先級做些調(diào)整,使系統(tǒng)對外部事件的響應(yīng)速度保證不大于某一特定的時間間隔,就構(gòu)成了實時系統(tǒng),如Lynx、OS\ 9等操作系統(tǒng)。如果操作系統(tǒng)能做到不死機,且響應(yīng)速度有保證就可以用于各種控制目的了。用于控制目的時,多任務(wù)是必要的,而多用戶往往并不需要,尤其是在嵌入式應(yīng)用中。因此可以將UNIX多用戶那部分功能去掉,并根據(jù)嵌入式應(yīng)用的特點,舍棄一部分不必要的功能,以適應(yīng)嵌入式應(yīng)用中要求占用內(nèi)存少的特點,這就是嵌入式多任務(wù)實時操作系統(tǒng)。在這里,“操作”二字已經(jīng)失去了本來的含義。 RTOS的開發(fā)工具允許用戶針對不同的應(yīng)用對象對RTOS的內(nèi)核進行裁剪、壓縮,以適應(yīng)各類應(yīng)用,并提供應(yīng)用程序的調(diào)試環(huán)境。從理論上講,無論UNIX還是基于UNIX思想的RTOS,都包含了計算機軟件理論最精華的那一部分。從實踐上說,它們亦是被無數(shù)應(yīng)用系統(tǒng)證明是完全成功的。實時系統(tǒng)是指能在確定的時間內(nèi)執(zhí)行其功能并對外部的異步事件做出響應(yīng)的計算機系統(tǒng)。其操作的正確性不僅依賴于邏輯設(shè)計的正確程度,而且跟這些操作進行的時間有關(guān)!霸诖_定的時間內(nèi)”是這個定義的核心。也就是說,實時系統(tǒng)是對響應(yīng)時間有嚴(yán)格要求的。例如,一個視頻播放系統(tǒng)要從CD\ ROM中讀取高壓縮率的數(shù)據(jù),并將其解壓縮,送到顯示設(shè)備。解壓縮的工作必須在很短的時間(毫秒級)內(nèi)完成,否則會出現(xiàn)畫面的不連續(xù)。假設(shè)圖像每幀的停留時間為30ms,那么該系統(tǒng)必須在這段時間內(nèi)將下一幀從CD\ ROM中讀出并完成解壓縮。30ms就成為一個時間限制,每次處理均在30ms內(nèi)就是實時的,一萬次處理有一次處理時間大于30ms也不是好的實時系統(tǒng)。一個系統(tǒng)具有實時性并不說明該系統(tǒng)的響應(yīng)和處理速度非?;而一個高速系統(tǒng)也未必是實時系統(tǒng)。特定的實時系統(tǒng)有其具體的時限(或速度)要求,該時限要求對不同系統(tǒng)千差萬別。高能粒子甄別系統(tǒng)的甄別處理要求在微秒或納秒級時間內(nèi)完成;而實時數(shù)據(jù)庫查詢系統(tǒng)僅要求在用戶鍵入請求后幾秒內(nèi)得到查詢結(jié)果。所以設(shè)計實時系統(tǒng)之初,應(yīng)該明確目標(biāo)系統(tǒng)的實時要求是秒級的,還是毫秒、微秒級的,避免盲目追求高速度,造成浪費。實時系統(tǒng)通常分為硬實時和軟實時系統(tǒng)。前者意味著存在必須滿足的時間限制,而后者意味著偶爾超過時間限制是可以容忍的。實時操作系統(tǒng)是基于計算機的,是管理計算機硬件資源并提供人機命令或編程接口的系統(tǒng),它能在固定的時間內(nèi)對一個或多個由外設(shè)發(fā)出的信號做出適當(dāng)?shù)姆磻?yīng)。與普通(分時)操作系統(tǒng)不同,實時操作系統(tǒng)強調(diào)了系統(tǒng)對外部異步事件響應(yīng)時間的確定性,這已經(jīng)逐漸接近嵌入式系統(tǒng)的設(shè)計思想了。實時操作系統(tǒng)和分時操作系統(tǒng)的另一個重要區(qū)別在于二者的任務(wù)調(diào)度方式不同。常見的分時調(diào)度算法有時間片輪轉(zhuǎn)調(diào)度、優(yōu)先級調(diào)度、多重隊列、最短作業(yè)優(yōu)先、保證調(diào)度算法以及彩票調(diào)度算法。這里不詳細描述這些算法。實時調(diào)度算法主要有三種,比較經(jīng)典的是事件發(fā)生率單調(diào)算法(Liu和Layland,1993)。該算法事先為每個任務(wù)分配一個與事件發(fā)生頻率成正比的優(yōu)先級,調(diào)度程序總是調(diào)度優(yōu)先級最高的就緒任務(wù),必要時將剝奪當(dāng)前任務(wù)的CPU使用權(quán),讓高優(yōu)先級的任務(wù)先運行。這種算法被證明是最優(yōu)的,也是為大部分實時內(nèi)核所采用的調(diào)度方式。另一種流行的實時調(diào)度算法是最早截止優(yōu)先算法。當(dāng)一個事件發(fā)生時,對應(yīng)的任務(wù)被加到就緒隊列中,該隊列按照截止期限排序,截止期限最短的優(yōu)先級最高。對周期性事件,截止時間即為事件下次發(fā)生的時間。第三種算法首先計算各任務(wù)的富裕時間,稱作裕度(laxity)。如果一個任務(wù)需要運行200ms,而它必須在250ms內(nèi)完成,則其裕度為50ms。該算法稱為最少裕度法,即選擇裕度最少的任務(wù)。盡管通過這三種算法中的任何一個都可以將分時操作系統(tǒng)轉(zhuǎn)化為實時操作系統(tǒng),但實際上,由于前者的任務(wù)切換時間太
[1] [2] [3]  下一頁
  • 上一篇: 嵌入式C編程技術(shù)(六)
  • 下一篇: 嵌入式RTOS講座(2)
  • 發(fā)表評論   告訴好友   打印此文  收藏此頁  關(guān)閉窗口  返回頂部
    熱點文章
     
    推薦文章
     
    相關(guān)文章
    網(wǎng)友評論:(只顯示最新5條。)
    關(guān)于我們 | 聯(lián)系我們 | 廣告合作 | 付款方式 | 使用幫助 | 機電之家 | 會員助手 | 免費鏈接

    點擊這里給我發(fā)消息66821730(技術(shù)支持)點擊這里給我發(fā)消息66821730(廣告投放) 點擊這里給我發(fā)消息41031197(編輯) 點擊這里給我發(fā)消息58733127(審核)
    本站提供的機電設(shè)備,機電供求等信息由機電企業(yè)自行提供,該企業(yè)負責(zé)信息內(nèi)容的真實性、準(zhǔn)確性和合法性。
    機電之家對此不承擔(dān)任何保證責(zé)任,有侵犯您利益的地方請聯(lián)系機電之家,機電之家將及時作出處理。
    Copyright 2007 機電之家 Inc All Rights Reserved.機電之家-由機電一體化網(wǎng)更名-聲明
    電話:0571-87774297 傳真:0571-87774298
    杭州濱興科技有限公司提供技術(shù)支持

    主辦:杭州市高新區(qū)(濱江)機電一體化學(xué)會
    中國行業(yè)電子商務(wù)100強網(wǎng)站

    網(wǎng)站經(jīng)營許可證:浙B2-20080178-1