




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、嵌入式系統(tǒng)設(shè)計與實例開發(fā)ARM與C/OS-第二講 嵌入式系統(tǒng)的基本概念課程大綱講課講稿實驗時間題目內(nèi)容時間內(nèi)容第二周3.4/二1引言嵌入式系統(tǒng)技術(shù)前沿、應(yīng)用領(lǐng)域、發(fā)展趨勢及相關(guān)領(lǐng)域研究成果第三周3.112嵌入式系統(tǒng)的基本知識嵌入式系統(tǒng)的特點、分類、基本概念第四周3.183嵌入式實時操作系統(tǒng)介紹主流實時操作系統(tǒng),深入剖析WinCE、Linux、C/OS,包括系統(tǒng)結(jié)構(gòu)、實時性、應(yīng)用第六周4.14嵌入式硬件平臺介紹主流硬件平臺,詳細介紹ARM、DSP、ATMEL單片機功能及應(yīng)用第五周實驗一、ARM SDT 2.5開發(fā)環(huán)境及ARM開發(fā)平臺簡介第八周5嵌入式系統(tǒng)的設(shè)計方法介紹嵌入式系統(tǒng)設(shè)計的一般方法,以
2、嵌入式工程機械智能監(jiān)控器與嵌入式控制器為例第七周實驗二、ARM的輸入輸出接口實驗:I/O、A/D、鍵盤驅(qū)動第九周6嵌入式系統(tǒng)的硬件設(shè)計簡要介紹外圍接口設(shè)計,以LCD、觸摸屏為例,著重講解人機交互接口設(shè)計第十周實驗三、ARM的串行通訊實驗第十一周實驗四、ARM的觸摸屏驅(qū)動實驗第十二周實驗五、C/OS-在ARM上的移植實驗第十三周7嵌入式系統(tǒng)編程簡要介紹嵌入式軟件的體系結(jié)構(gòu),著重講解嵌入式GUI的編程方法第十四周實驗六、基于C/OS-的嵌入式編程實驗:消息循環(huán)、文件系統(tǒng)第十五周實驗七、GUI編程實驗第十六周8嵌入式技術(shù)演討選擇5-8名有嵌入式開發(fā)經(jīng)驗的學生做報告,師生點評,探討。第十七周綜合實驗:
3、LCD、UDP編程9考試參考資料1.王田苗 主編. 嵌入式系統(tǒng)設(shè)計及實例開發(fā)ARM與C/OS-. 北京:清華大學出版社,2002.92(美)Jean J.Labrosse, 邵貝貝譯. C/OS-源碼公開的實時嵌入式操作系統(tǒng). 北京:中國電力出版社,2001.8簡介:是目前學習嵌入式操作系統(tǒng)最好的入門教材,書中對一個完整的嵌入式實時內(nèi)核C/OS-進行了剖析,詳細講述了實時內(nèi)核的設(shè)計和創(chuàng)建方法,以及多任務(wù)實時系統(tǒng)的原理和編程思想。4. 馬忠梅等著. ARM嵌入式微處理器體系結(jié)構(gòu)。北航出版社3(美)Wayne Wolf,孫玉方等譯. 嵌入式計算機系統(tǒng)設(shè)計原理. 北京:機械工業(yè)出版社,2002.2
4、簡介:被稱為“嵌入式計算系統(tǒng)設(shè)計的第一本教科書”,書中重點介紹了嵌入式技術(shù)和基本原理和技術(shù),涉及到嵌入式系統(tǒng)的相關(guān)的指令系統(tǒng)、CPU、計算平臺、程序設(shè)計與分析、進程和操作系統(tǒng)、硬件加速器、網(wǎng)絡(luò)、系統(tǒng)設(shè)計技術(shù)等方面。1、什么是嵌入式系統(tǒng)2、硬件基礎(chǔ)3、嵌入式操作系統(tǒng)嵌入式系統(tǒng)的基本概念一、嵌入式系統(tǒng)的定義發(fā)展歷史嵌入式系統(tǒng)本身是一個相對模糊的定義。一個手持的MP3和一個PC104的微型工業(yè)控制計算機都可以認為是嵌入式系統(tǒng)。嵌入式系統(tǒng)已經(jīng)有了近30年的發(fā)展歷史,它是硬件和軟件交替發(fā)展的雙螺旋式發(fā)展。第一款微處理器是Intel的4004,它出現(xiàn)在1971年,然后是是Intel公司的8048,它出現(xiàn)在
5、1976年。Motorola同時推出了68HC05,Zilog公司推出了Z80系列,這些早期的單片機均含有256字節(jié)的RAM、4K的ROM、4個8位并口、1個全雙工串行口、兩個16位定時器。之后在80年代初,Intel又進一步完善了8048,在它的基礎(chǔ)上研制成功了8051。 1981年Ready System發(fā)展了世界上第1個商業(yè)嵌入式實時內(nèi)核(VTRX32)包含了許多傳統(tǒng)操作系統(tǒng)的特征,包括任務(wù)管理、任務(wù)間通訊、同步與相互排斥、中斷支持、內(nèi)存管理等功能。隨后,出現(xiàn)了如Integrated System Incorporation (ISI)的PSOS、IMG的VxWorks、QNX公司的QN
6、X等,Palm OS,WinCE,嵌入式Linux,Lynx,uCOS、Nucleus,以及國內(nèi)的Hopen、Delta OS等嵌入式操作系統(tǒng)。今天RTOS已經(jīng)在全球形成了1個產(chǎn)業(yè),根據(jù)美國EMF(電子市場分析)報告,1999年全球RTOS市場產(chǎn)值達3.6億美元,而相關(guān)的整個嵌入式開發(fā)工具(包括仿真器、邏輯分析儀、軟件編譯器和調(diào)試器)則高達9億美元。 IEEE定義 根據(jù)IEEE(國際電氣和電子工程師協(xié)會)的定義:嵌入式系統(tǒng)是“用于控制、監(jiān)視或者輔助操作機器和設(shè)備的裝置”(原文為devices used to control, monitor, or assist the operation o
7、f equipment, machinery or plants)??梢钥闯龃硕x是從應(yīng)用上考慮的,嵌入式系統(tǒng)是軟件和硬件的綜合體,還可以涵蓋機電等附屬裝置。 一般定義 “以應(yīng)用為中心、以計算機技術(shù)為基礎(chǔ)、軟件硬件可裁剪、功能、可靠性、成本、體積、功耗嚴格要求的專用計算機系統(tǒng)?!?、嵌入式系統(tǒng)的幾個重要特征(1)系統(tǒng)內(nèi)核小由于嵌入式系統(tǒng)一般是應(yīng)用于小型電子裝置的,系統(tǒng)資源相對有限,所以內(nèi)核較之傳統(tǒng)的操作系統(tǒng)要小得多。比如ENEA公司的OSE分布式系統(tǒng),內(nèi)核只有5K,而Windows的內(nèi)核則要大得多。()專用性強嵌入式系統(tǒng)的個性化很強,其中的軟件系統(tǒng)和硬件的結(jié)合非常緊密,一般要針對硬件進行系統(tǒng)的
8、移植。即使在同一品牌、同一系列的產(chǎn)品中也需要根據(jù)系統(tǒng)硬件的變化和增減不斷進行修改。同時針對不同的任務(wù),往往需要對系統(tǒng)進行較大更改,程序的編譯下載要和系統(tǒng)相結(jié)合,這種修改和通用軟件的“升級”是完全不同的概念。 ()系統(tǒng)精簡嵌入式系統(tǒng)一般沒有系統(tǒng)軟件和應(yīng)用軟件的明顯區(qū)分,不要求其功能設(shè)計及實現(xiàn)上過于復(fù)雜,這樣一方面利于控制系統(tǒng)成本,同時也利于實現(xiàn)系統(tǒng)安全。()高實時性O(shè)S這是嵌入式軟件的基本要求,而且軟件要求固態(tài)存儲,以提高速度。軟件代碼要求高質(zhì)量和高可靠性、實時性。 (5)嵌入式軟件開發(fā)走向標準化嵌入式系統(tǒng)的應(yīng)用程序可以沒有操作系統(tǒng)直接在芯片上運行。為了合理地調(diào)度多任務(wù)、利用系統(tǒng)資源、系統(tǒng)函數(shù)以
9、及和專家?guī)旌瘮?shù)接口,用戶必須自行選配RTOS(RealTime Operating System)開發(fā)平臺,這樣才能保證程序執(zhí)行的實時性、可靠性,并減少開發(fā)時間,保障軟件質(zhì)量。(6)嵌入式系統(tǒng)開發(fā)需要開發(fā)工具和環(huán)境由于其本身不具備自主開發(fā)能力,即使設(shè)計完成以后,用戶通常也是不能對其中的程序功能進行修改,必須有一套開發(fā)工具和環(huán)境才能進行開發(fā)。這些工具和環(huán)境一般是基于通用計算機上的軟硬件設(shè)備以及各種邏輯分析儀、混合信號示波器等。開發(fā)時往往有主機和目標機的概念,主機用于程序的開發(fā),目標機作為最后的執(zhí)行機,開發(fā)時需要交替結(jié)合進行。 嵌入式系統(tǒng)與PC之間的區(qū)別嵌入式系統(tǒng)一般是專用系統(tǒng),而PC是通用計算平
10、臺嵌入式系統(tǒng)的資源比PC少得多嵌入式系統(tǒng)軟件故障帶來的后果比PC機大得多嵌入式系統(tǒng)一般采用實時操作系統(tǒng)嵌入式系統(tǒng)大都有成本、功耗的要求嵌入式系統(tǒng)得到多種微處理體系的支持嵌入式系統(tǒng)需要專用的開發(fā)工具典型嵌入式系統(tǒng)基本組成硬件MPU微處理器電源模塊時鐘復(fù)位FlashRAMROMUSBLCDKeyboard外圍電路Other外設(shè)典型嵌入式系統(tǒng)基本組成軟件處理器存儲器輸入輸出操作系統(tǒng)應(yīng)用程序軟件結(jié)構(gòu)硬件結(jié)構(gòu)嵌入式系統(tǒng)一般指非PC系統(tǒng),它包括硬件和軟件兩部分。 硬件包括處理器微處理器、存儲器及外設(shè)器件和IO端口、圖形控制器等。 軟件部分包括操作系統(tǒng)軟件(OS)(要求實時和多任務(wù)操作)和應(yīng)用程序編程。有時
11、設(shè)計人員把這兩種軟件組合在一起。 應(yīng)用程序控制著系統(tǒng)的運作和行為;而操作系統(tǒng)控制著應(yīng)用程序編程與硬件的交互作用。 嵌入式系統(tǒng)的核心是嵌入式微處理器。嵌入式微處理器一般就具備以下4個特點1)對實時多任務(wù)有很強的支持能力,能完成多任務(wù)并且有較短的中斷響應(yīng)時間,從而使內(nèi)部的代碼和實時內(nèi)核心的執(zhí)行時間減少到最低限度。 2)具有功能很強的存儲區(qū)保護功能。這是由于嵌入式系統(tǒng)的軟件結(jié)構(gòu)已模塊化,而為了避免在軟件模塊之間出現(xiàn)錯誤的交叉作用,需要設(shè)計強大的存儲區(qū)保護功能,同時也有利于軟件診斷。 3)可擴展的處理器結(jié)構(gòu),以能最迅速地開展出滿足應(yīng)用的最高性能的嵌入式微處理器。4)嵌入式微處理器必須功耗很低,尤其是用
12、于便攜式的無線及移動的計算和通信設(shè)備中靠電池供電的嵌入式系統(tǒng)更是如此,如需要功耗只有mW甚至W級。 嵌入式處理器 嵌入式處理器是嵌入式系統(tǒng)的核心,是控制、輔助系統(tǒng)運行的硬件單元。 位、 位單片機,16位、 32位、64位嵌入式CPU。實時操作系統(tǒng) 實時操作系統(tǒng)是嵌入式系統(tǒng)目前最主要的組成部分。實時性需要調(diào)度一切可利用的資源完成實時控制任務(wù),著眼于提高計算機系統(tǒng)的使用效率,滿足對時間的限制和要求。 系統(tǒng)響應(yīng)時間(System response time):系統(tǒng)發(fā)出處理要求,到系統(tǒng)給出應(yīng)答信號的時間。 任務(wù)切換時間(Context-switching time):任務(wù)之間切換而使用的時間。 中斷延
13、遲(Interrupt latency):計算機接收到中斷信號到操作系統(tǒng)作出響應(yīng),并完成切換轉(zhuǎn)入中斷服務(wù)程序的時間。馮諾依曼體系結(jié)構(gòu)和哈佛體系結(jié)構(gòu)CISC與RICS影響CPU性能的因素存儲器系統(tǒng)I/O接口二、硬件基礎(chǔ)馮諾依曼體系結(jié)構(gòu)模型指令寄存器控制器數(shù)據(jù)通道輸入輸出中央處理器存儲器程序指令0指令1指令2指令3指令4數(shù)據(jù)數(shù)據(jù)0數(shù)據(jù)1數(shù)據(jù)2指令的執(zhí)行周期T1)取指令(Instruction Fetch):TF2)指令譯碼(Instruction Decode):TD3)執(zhí)行指令(Instruction Execute):TE4)存儲(Storage):TS每條指令的執(zhí)行周期:T= TF+TD+T
14、E+TS馮諾依曼體系的特點1)數(shù)據(jù)與指令都存儲在存儲器中2)被大多數(shù)計算機所采用3)ARM7馮諾依曼體系哈佛體系結(jié)構(gòu)指令寄存器控制器數(shù)據(jù)通道輸入輸出中央處理器程序存儲器指令0指令1指令2數(shù)據(jù)存儲器數(shù)據(jù)0數(shù)據(jù)1數(shù)據(jù)2地址指令地址數(shù)據(jù)哈佛體系結(jié)構(gòu)的特點1)程序存儲器與數(shù)據(jù)存儲器分開2)提供了較大的數(shù)存儲器帶寬3)適合于數(shù)字信號處理4)大多數(shù)DSP都是哈佛結(jié)構(gòu)5)ARM9是哈佛結(jié)構(gòu)CISC和RISCCISC:復(fù)雜指令集(Complex Instruction Set Computer)具有大量的指令和尋址方式8/2原則:80%的程序只使用20%的指令大多數(shù)程序只使用少量的指令就能夠運行。RISC:精
15、簡指令集(Reduced Instruction Set Computer)在通道中只包含最有用的指令確保數(shù)據(jù)通道快速執(zhí)行每一條指令使CPU硬件結(jié)構(gòu)設(shè)計變得更為簡單 CISC與RISC的數(shù)據(jù)通道IFIDREGALUMEM開始退出IFIDALUMEMREG微操作通道開始退出單通數(shù)據(jù)通道影響CPU性能的因素:流水線、超標量和緩存流水線技術(shù):幾個指令可以并行執(zhí)行 提高了CPU的運行效率 內(nèi)部信息流要求通暢流動譯碼取指執(zhí)行add譯碼取指執(zhí)行sub譯碼取指執(zhí)行cmp時間AddSubCmp超標量執(zhí)行超標量執(zhí)行:超標量CPU采用多條流水線結(jié)構(gòu) 執(zhí)行1預(yù)取指令CACHE譯碼2譯碼1執(zhí)行2執(zhí)行1預(yù)取譯碼2譯碼1
16、執(zhí)行2流水線1流水線2數(shù)據(jù)高速緩存(CACHE)1、為什么采用高速緩存 微處理器的時鐘頻率比內(nèi)存速度提高快得多,高速緩存可以提高內(nèi)存的平均性能。2、高速緩存的工作原理 高速緩存是一種小型、快速的存儲器,它保存部分主存內(nèi)容的拷貝。 CPU高速緩存控制器CACHE主存數(shù)據(jù)數(shù)據(jù)地址總線和總線橋CPU低速設(shè)備橋數(shù)據(jù)高速總線存儲器高速設(shè)備高速設(shè)備低速總線存儲器系統(tǒng)RAM:隨機存取存儲器, SRAM:靜態(tài)隨機存儲器, DRAM:動態(tài)隨機存儲器 1)SRAM比DRAM快 2)SRAM比DRAM耗電多 3)DRAM存儲密度比SRAM高得多 4)DRM需要周期性刷新ROM:只讀存儲器FLASH:閃存SRAM和D
17、RAM1)SRAM 2)DRAMCSR/WAddrDataCSR/WCASDataRASAddr輸入輸出接口1)I/O2)A/D、D/A3)鍵盤4)LCD5)存儲器接口6)設(shè)備接口三、嵌入式操作系統(tǒng)操作系統(tǒng)的分類嵌入式實時操作系統(tǒng)多任務(wù),任務(wù)優(yōu)先級,調(diào)度前臺與后臺非占先式與占先式、可重入型函數(shù)3.1 操作系統(tǒng)的分類(1)順序執(zhí)行系統(tǒng):系統(tǒng)內(nèi)只含有一個程序,獨占CPU的運行時間,按語句順序執(zhí)行該程序,直至執(zhí)行完畢,另一程序才能啟動運行。如DOS操作系統(tǒng)。(2)分時操作系統(tǒng):系統(tǒng)內(nèi)同時可以有多個程序運行,把CPU的時間分按順序分成若干片,每個時間片內(nèi)執(zhí)行不同的程序。如UNIX(3)實時操作系統(tǒng):系
18、統(tǒng)內(nèi)有多個程序運行,每個程序有不同的優(yōu)先級,只有最高優(yōu)先級的任務(wù)才能占有CPU的控制權(quán)。 具有強實時特點的嵌入式操作系統(tǒng) 具有弱實特點的嵌入式操作系統(tǒng) 沒有實時特點的嵌入式操作系統(tǒng)按實時性分類1.強實時系統(tǒng),其系統(tǒng)響應(yīng)時間在毫秒或微秒級(數(shù)控機床);2.一航實時系統(tǒng),其系統(tǒng)響應(yīng)時間在毫秒幾秒的數(shù)量級上,其實時性的要求比強實時系統(tǒng)要差一些(電子菜譜的查詢)。3.弱實時系統(tǒng),其系統(tǒng)響應(yīng)時間約為數(shù)十秒或更長(工程機械)。(1).循環(huán)輪詢系統(tǒng):(Polling Loop)最簡單的軟件結(jié)構(gòu)是循環(huán)輪詢,程序依次檢查系統(tǒng)的每一個輸入條件,一旦條件成立就進行相應(yīng)的處理。Initialize()While(tr
19、ue) if(condition_1) action_1(); if(condition_2) action_2(); if(condition_n) acition_n();按軟件結(jié)構(gòu)分類(2).事件驅(qū)動系統(tǒng):(Event-Driven system)事件驅(qū)動系統(tǒng)是能對外部事件直接響應(yīng)的系統(tǒng)。它包括前后臺、實時多任務(wù)、多處理器等,是嵌入式實時系統(tǒng)的主要形式。應(yīng)用程序是一個無限的循環(huán),循環(huán)中調(diào)用相應(yīng)的函數(shù)完成相應(yīng)的操作,這部分可以看成后臺行為(background)。中斷服務(wù)程序處理異步事件,這部分可以看成前臺行為(foreground)。后臺也可以叫做任務(wù)級,前臺也叫中斷級。例如,很多基于微
20、處理器的產(chǎn)品采用前后臺系統(tǒng)設(shè)計,如微波爐、電話機、玩具等。從省電的角度出發(fā),平時微處理器處在停機狀態(tài),所有的事都靠中斷服務(wù)來完成。前后臺系統(tǒng)(后臺循環(huán)、前臺中斷)ISRISR后臺 前臺ISR時間3.2 嵌入式實時操作系統(tǒng)實時操作系統(tǒng)的特點:1、多任務(wù)CPU寄存器任務(wù)控制塊1任務(wù)控制塊2任務(wù)控制塊n休眠、就緒、運行、掛起、被中斷任務(wù)1任務(wù)2任務(wù)nCPU寄存器一個任務(wù),也稱作一個線程,是一個簡單的運行程序。每個任務(wù)都是整個應(yīng)用的某一部分,每個任務(wù)被賦予一定的優(yōu)先級, 有它自己的一套CPU寄存器和自己的??臻g。多任務(wù)運行的實現(xiàn)實際上是靠CPU(中央處理單元)在許多任務(wù)之間轉(zhuǎn)換、調(diào)度。 CPU只有一個
21、,輪番服務(wù)于一系列任務(wù)中的某一個。多任務(wù)運行使CPU的利用率得到最大的發(fā)揮,并使應(yīng)用程序模塊化。在實際應(yīng)用中,多任務(wù)的最大特點是,開發(fā)人員可以將很復(fù)雜的應(yīng)用程序?qū)哟位C合實驗(時鐘、位圖、USB、KEY)。任務(wù)實時任務(wù)非實時任務(wù)事件驅(qū)動時間驅(qū)動內(nèi)部事件:運算結(jié)果、設(shè)備請求等外部事件:開關(guān)量輸入等絕對時間驅(qū)動相對時間驅(qū)動2、任務(wù)的事件驅(qū)動3、中斷與中斷優(yōu)先級CPU中斷控制器1中斷控制器2外部事件4、同步與異步 一系列時間相關(guān)事件稱為同步事件,驅(qū)動的任務(wù)為同步任務(wù) 隨機發(fā)生的事件稱為異步事件,驅(qū)動的任務(wù)為異步任務(wù),如中斷5、資源與臨界資源 程序進行時可使用的軟硬件環(huán)境稱為資源,2個以上任務(wù)可同時訪
22、問的共享資源稱為臨界資源。 任何任務(wù)所占用的實體都可稱為資源。資源可以是輸入輸出設(shè)備,例如打印機、鍵盤、顯示器,資源也可以是一個變量、一個結(jié)構(gòu)或一個數(shù)組等。任務(wù)1共享內(nèi)存任務(wù)2任務(wù)N6、容錯與安全 容錯:當系統(tǒng)軟、硬件發(fā)生故障時,系統(tǒng)仍能正常運轉(zhuǎn),完成預(yù)定的任務(wù)或某些重要的不允許間斷的任務(wù)。包括系統(tǒng)自論斷、自恢復(fù)、自動切換等功能。 安全性:是指系統(tǒng)對自身文件和用戶文件的存取合法性的控制。如口令、加密。實時系統(tǒng)是面向具體應(yīng)用,對外來事件在限定時間內(nèi)能做出反應(yīng)的系統(tǒng)。限定時間的范圍很廣可以從微秒級(如信號處理)到分級(如聯(lián)機查詢系統(tǒng))。在實時系統(tǒng)中主要有三個指標來衡量系統(tǒng)的實時性,即響應(yīng)時間(Re
23、sponse Time)、生存時間(Survival Time)、吞吐量(Throughput)。響應(yīng)時間(Response Time):是計算機識別一個外部事件到作出響應(yīng)的時間,在控制應(yīng)用中它是最重要的指標,如果事件不能及時的處理,系統(tǒng)可能就會崩潰。生存時間(Survival Time):是數(shù)據(jù)有效等待時間,在這段時間里數(shù)據(jù)是有效的。吞吐量(Throughput):是在一給定時間內(nèi)(秒),系統(tǒng)可以處理的事件總數(shù)。例如通訊控制器用每秒鐘處理的字符數(shù)來表示吞吐量,吞吐量是平均響應(yīng)時間的倒數(shù)。實時系統(tǒng)的評價指標多任務(wù)系統(tǒng)中,內(nèi)核負責管理各個任務(wù),或者說為每個任務(wù)分配CPU時間,并且負責任務(wù)之間的通
24、信。內(nèi)核提供的基本服務(wù)是任務(wù)切換。內(nèi)核本身也增加了應(yīng)用程序的額外負荷,代碼空間增加ROM用量,內(nèi)核本身的數(shù)據(jù)結(jié)構(gòu)增加了RAM的用量。內(nèi)核本身對CPU的占用時間一般在2到5個百分點之間。系統(tǒng)內(nèi)核這是操作系統(tǒng)的主要職責之一,它決定該輪到哪個任務(wù)運行了。往往調(diào)度是基于優(yōu)先級的,根據(jù)其重要不同被賦予任務(wù)不同的優(yōu)先級。 CPU總是讓處在就緒態(tài)的優(yōu)先級最高的任務(wù)先運行。何時讓高優(yōu)先級任務(wù)掌握CPU的使用權(quán),有兩種不同的情況,這要看用的是什么類型的內(nèi)核,是非占先式的還是占先式的內(nèi)核。 調(diào)度(dispatcher) 任務(wù)優(yōu)先級(priority) 每個任務(wù)都有其優(yōu)先級(priority),靜態(tài)優(yōu)先級和動態(tài)優(yōu)先
25、級。應(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)先級.非占先式與占先式非占先式(non-preemptive)非占先式調(diào)度法也稱作合作型多任務(wù)(cooperative multitasking),各個任務(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)。非占先式內(nèi)核的一個特點是幾乎不需要使用信號量保護
26、共享數(shù)據(jù)。運行著的任務(wù)占有CPU,而不必擔心被別的任務(wù)搶占。非占先式內(nèi)核的最大缺陷在于其響應(yīng)高優(yōu)先級的任務(wù)慢,任務(wù)已經(jīng)進入就緒態(tài),但還不能運行,也許要等很時間,直到當前運行著的任務(wù)釋放CPU。內(nèi)核的任務(wù)級響應(yīng)時間是不確定的,不知道什么時候最高優(yōu)先級的任務(wù)才能拿到CPU的控制權(quán),完全取決于應(yīng)用程序什么時候釋放CPU。非占先式(Non-Preemptive)低優(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占先式(preemptive)當系統(tǒng)響應(yīng)時間很重要時,要使用占先式(preemptive)內(nèi)核。最高優(yōu)先級
27、的任務(wù)一旦就緒,總能得到CPU的控制權(quán)。當一個運行著的任務(wù)使一個比它優(yōu)先級高的任務(wù)進入了就緒態(tài),當前任務(wù)的CPU使用權(quán)就被剝奪了,或者說被掛起了,那個高優(yōu)先級的任務(wù)立刻得到了CPU的控制權(quán)。使用占先式內(nèi)核時,應(yīng)用程序不應(yīng)直接使用不可重入型函數(shù)。如果調(diào)入可重入型函數(shù)時,低優(yōu)先級的任務(wù)CPU的使用權(quán)被高優(yōu)先級任務(wù)剝奪,不可重入型函數(shù)中的數(shù)據(jù)有可能被破壞。占先式(Preemptive)低優(yōu)先級任務(wù)ISR高優(yōu)先級任務(wù)(1)(2)(3)(4)(5)(6)中斷服務(wù)程序使高優(yōu)先級任務(wù)就緒高優(yōu)先級任務(wù)得到CPU使用權(quán)TIME可以被一個以上的任務(wù)調(diào)用,而不必擔心數(shù)據(jù)的破壞??芍厝胄秃瘮?shù)任何時候都可以被中斷,一段時間以后又可以運行,而相應(yīng)數(shù)據(jù)不會丟失??芍厝胄秃瘮?shù)或者只使用局部變量,即變量保存在CPU寄存器中或堆棧中。一個不可重入型函數(shù)的例子int Temp;Void swap (int *x,int*y)Temp=*x;*X=*Y;*y=Temp;可重入型函數(shù)一個可重入型函數(shù)的例子Void swap (int *x,int*y)int Temp;Temp=*x;*X=*Y;*y=Temp;代碼的臨界區(qū)也稱為臨界區(qū),指處理時不可分割的代碼。一旦這部分代碼開始執(zhí)行,則不允許任何中斷打入。在進入臨界區(qū)之前要關(guān)中斷,而臨界區(qū)代碼執(zhí)行完以后要立即開中斷(在任務(wù)
溫馨提示
- 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 牛津譯林版七年級英語上冊教學計劃(含進度表)
- 2025年黨章黨史國史國情知識競賽題庫及答案(共220題)
- 新型家庭醫(yī)生簽約服務(wù)對促進轄區(qū)孕產(chǎn)婦管理的效果分析
- 《單片機技術(shù)應(yīng)用》 課件
- 節(jié)能環(huán)保居間服務(wù)合同范例
- 道路交通規(guī)劃方案介紹
- 低空經(jīng)濟行業(yè)報告
- 醫(yī)院裝修大包合同參考范本
- 投資可行性分析報告包括哪些內(nèi)容
- 低空經(jīng)濟涉及的行業(yè)
- Q-CR 9520-2018 高速鐵路通信工程細部設(shè)計和工藝質(zhì)量標準
- 《有機化學》第7章 鹵代烴
- 設(shè)備檢維修作業(yè)許可證
- 眼內(nèi)炎教學講解課件
- 體育教學論-課件
- 拼音aoe 完整版教學課件
- 中醫(yī)基礎(chǔ)理論教學-課件
- 叉車使用申請表
- 注塑機日常保養(yǎng)點檢表
- 《影視鑒賞(第二版)》課件2-4故事片表演
- 模具首試前檢驗標準
評論
0/150
提交評論