天堂国产午夜亚洲专区-少妇人妻综合久久蜜臀-国产成人户外露出视频在线-国产91传媒一区二区三区

當(dāng)前位置:主頁 > 論文百科 > 研究生論文 >

實(shí)時(shí)操作系統(tǒng)任務(wù)調(diào)度算法的硬件化研究

發(fā)布時(shí)間:2016-08-04 09:47

第1章 緒論 

1.1  課題研究的背景和意義 
實(shí)時(shí)操作系統(tǒng)在如今的嵌入式領(lǐng)域具有廣泛的應(yīng)用,比如航天科技、自動(dòng)化生產(chǎn)、醫(yī)療器械、智能化可穿戴設(shè)備、移動(dòng)通訊設(shè)備等諸多應(yīng)用領(lǐng)域。而且實(shí)時(shí)操作系統(tǒng)相較于其他的操作系統(tǒng)具有不可替代的優(yōu)勢(shì),因此實(shí)時(shí)操作系統(tǒng)在各大嵌入式應(yīng)用領(lǐng)域作為信息產(chǎn)業(yè)和傳統(tǒng)產(chǎn)業(yè)的中介,處于越來越核心的地位,值得深入的研究。 相對(duì)于其他的操作系統(tǒng),在嵌入式領(lǐng)域中實(shí)時(shí)操作系統(tǒng)的優(yōu)勢(shì)尤為明顯。一方面,實(shí)時(shí)操作系統(tǒng)顯著的增強(qiáng)了實(shí)時(shí)系統(tǒng)的健壯程度。在傳統(tǒng)的超循環(huán)系統(tǒng)中,實(shí)時(shí)性要求很高的關(guān)鍵操作必須依靠中斷處理程序來保證,很容易出現(xiàn)任務(wù)無法及時(shí)回應(yīng),甚至是由于強(qiáng)烈干擾引起整個(gè)系統(tǒng)的死機(jī),從而產(chǎn)生無法估量的損失。而實(shí)時(shí)操作系統(tǒng)不僅可以充分滿足任務(wù)的實(shí)時(shí)性需求,而且可以把強(qiáng)烈干擾造成的破壞控制在局部,只引起少數(shù)進(jìn)程被破壞,系統(tǒng)的監(jiān)控機(jī)制還能夠盡可能的修復(fù)被破壞的進(jìn)程,從而減少損失[1]。另一方面,實(shí)時(shí)操作系統(tǒng)可以減少應(yīng)用軟件的開發(fā)周期和維護(hù)成本。在實(shí)時(shí)操作系統(tǒng)下,應(yīng)用程序被分化成若干相對(duì)獨(dú)立的任務(wù)模塊,使得應(yīng)用程序的開發(fā)變得獨(dú)立化和簡(jiǎn)單化。而且通過內(nèi)核的系統(tǒng)調(diào)用使得系統(tǒng)資源得到更充分的利用。在后期的維護(hù)過程中,如果想增加新功能,或者對(duì)于以前的功能進(jìn)行修改,也不必要做整體性的改動(dòng),大大降低了后期維護(hù)的成本。 在實(shí)時(shí)操作系統(tǒng)中,任務(wù)調(diào)度機(jī)制處于系統(tǒng)的支配地位,其遵循設(shè)定的任務(wù)調(diào)度算法,在每一個(gè)必須進(jìn)行任務(wù)調(diào)度的時(shí)間點(diǎn)選擇出下一個(gè)要執(zhí)行的任務(wù),并且完成相應(yīng)的任務(wù)上下文切換等工作,保證系統(tǒng)的實(shí)時(shí)性要求得到滿足,以及系統(tǒng)資源的合理化配置。而任務(wù)調(diào)度算法在任務(wù)調(diào)度過程中又處于核心地位,是確保實(shí)時(shí)系統(tǒng)中任務(wù)的時(shí)間約束性的關(guān)鍵依據(jù)。 
.......

1.2  實(shí)時(shí)操作系統(tǒng)任務(wù)調(diào)度的研究現(xiàn)狀
自從 20 世紀(jì) 80 年代開始,在國(guó)外就有一些計(jì)算機(jī)科學(xué)科研機(jī)構(gòu)和科技企業(yè)從事嵌入式領(lǐng)域?qū)崟r(shí)操作系統(tǒng)的研究和開發(fā)。這些組織機(jī)構(gòu)開發(fā)出的經(jīng)典實(shí)時(shí)操作系統(tǒng)主要基于軟件實(shí)現(xiàn),其中比較有代表性的實(shí)時(shí)操作系統(tǒng)包括Vx Works、Lynx OS、μC/OS-II 等[4]。 Vx Works 是由美國(guó)的 Wind River 公司在 1983 年正式推出的一款可以在目標(biāo)機(jī)上運(yùn)行的可剪裁的、可靠的嵌入式實(shí)時(shí)操作系統(tǒng)。Vxwokrs 支持豐富的計(jì)算機(jī)網(wǎng)絡(luò)協(xié)議,可以實(shí)現(xiàn)遠(yuǎn)距離的程序調(diào)用和文件讀寫操作,是網(wǎng)絡(luò)中主機(jī)之間的連接更為密切[5]。Vxwokrs 提供了強(qiáng)大的網(wǎng)絡(luò)服務(wù)功能,使得目標(biāo)機(jī)能與其他主機(jī)方便的實(shí)現(xiàn)交互通信。Vxwokrs 的任務(wù)調(diào)度算法是基于優(yōu)先級(jí)且搶占式的,任務(wù)調(diào)度內(nèi)核保證把處理器和相關(guān)系統(tǒng)資源優(yōu)先分配給具有最高優(yōu)先級(jí)的就緒任務(wù),使得系統(tǒng)總能運(yùn)行目前最為緊迫的任務(wù)。如果有任務(wù)的狀態(tài)剛剛轉(zhuǎn)換為就緒態(tài),并且其優(yōu)先級(jí)高于正在執(zhí)行的任務(wù)的優(yōu)先級(jí)時(shí),任務(wù)調(diào)度內(nèi)核會(huì)重新開啟,保存正在執(zhí)行任務(wù)的上下文于任務(wù)堆棧當(dāng)中,然后將正在運(yùn)行的任務(wù)從運(yùn)行態(tài)轉(zhuǎn)換為就緒態(tài),插入到就緒隊(duì)列中相應(yīng)位置,并運(yùn)行就緒隊(duì)列中具有最高優(yōu)先級(jí)的任務(wù)。在 Vxwokrs 中任務(wù)的優(yōu)先級(jí)不是始終不變的,可以調(diào)用Task Priority()系統(tǒng)函數(shù)動(dòng)態(tài)的修改任務(wù)的優(yōu)先級(jí)。Vxwokrs 支持基于優(yōu)先級(jí)的搶占調(diào)度與基于時(shí)間片的輪轉(zhuǎn)調(diào)度相結(jié)合,使得處理器和相關(guān)的其他系統(tǒng)資源更公平的分配[6]。 
...........

第2章 實(shí)時(shí)操作系統(tǒng)的任務(wù)調(diào)度原理 

2.1  實(shí)時(shí)操作系統(tǒng)的主要特點(diǎn) 
實(shí)時(shí)操作系統(tǒng)是指具有較高實(shí)時(shí)性需求的,當(dāng)外部有突發(fā)事件需要響應(yīng)時(shí),能夠盡可能迅速的進(jìn)行處理[27]和控制系統(tǒng)內(nèi)的所有任務(wù)協(xié)調(diào)的并發(fā)運(yùn)行[28]的,支持實(shí)時(shí)性控制工作的操作系統(tǒng)。對(duì)于實(shí)時(shí)操作系統(tǒng)來說,滿足系統(tǒng)對(duì)于時(shí)間的限制和要求,調(diào)動(dòng)一切可以利用的資源保證實(shí)時(shí)的多任務(wù)控制才是第一位的,其次才是提高計(jì)算機(jī)系統(tǒng)其他方面的性能。 從表現(xiàn)上來看,實(shí)時(shí)操作系統(tǒng)是在啟動(dòng)嵌入式系統(tǒng)之后運(yùn)行的背景程序,應(yīng)用程序是在此基礎(chǔ)上運(yùn)行的多個(gè)任務(wù)。實(shí)時(shí)操作系統(tǒng)依據(jù)各個(gè)任務(wù)的具體要求,進(jìn)行消息處理、任務(wù)調(diào)度和資源管理等工作。在實(shí)時(shí)操作系統(tǒng)支持的系統(tǒng)中,根據(jù)各個(gè)任務(wù)的重要性和緊迫性不同,都被指定相應(yīng)的優(yōu)先級(jí),以此為關(guān)鍵依據(jù)動(dòng)態(tài)的的切換任務(wù),以確保系統(tǒng)對(duì)實(shí)時(shí)性的要求。這種體系結(jié)構(gòu)大大化簡(jiǎn)了編程,比以前的的循環(huán)控制結(jié)構(gòu)更適用于嵌入式系統(tǒng)。 從性能上來看,實(shí)時(shí)操作系統(tǒng)與其他操作系統(tǒng)的根本差別體現(xiàn)在實(shí)時(shí)性上。在實(shí)時(shí)計(jì)算中,系統(tǒng)的運(yùn)行結(jié)果是否正確不僅取決計(jì)算結(jié)果本身,還取決于產(chǎn)生結(jié)果的時(shí)刻。從這個(gè)角度來看,實(shí)時(shí)操作系統(tǒng)是一個(gè)能夠在指定的時(shí)間內(nèi)實(shí)現(xiàn)預(yù)期功能,并且對(duì)于各種事件作出及時(shí)響應(yīng)的操作系統(tǒng)。這就要求系統(tǒng)能夠保存和處理系統(tǒng)控制所需要的大規(guī)模數(shù)據(jù),從而在事先設(shè)定的時(shí)間范圍內(nèi)識(shí)別和處理離散的事件。 實(shí)時(shí)操作系統(tǒng)與其他操作系統(tǒng)不同,,實(shí)時(shí)操作系統(tǒng)不僅僅要解決任務(wù)如何完成,還要解決任務(wù)在規(guī)定的時(shí)間范圍內(nèi)及時(shí)完成的問題。另外,實(shí)時(shí)操作系統(tǒng)大多應(yīng)用于嵌入式領(lǐng)域,系統(tǒng)還需要根據(jù)嵌入式系統(tǒng)的應(yīng)用需求做出一些相應(yīng)的調(diào)整。 
.........

2.2  μC/OS-II 的任務(wù)調(diào)度機(jī)制
在支持多道程序的環(huán)境下,允許多個(gè)程序并發(fā)的執(zhí)行,此時(shí)這些程序的封閉執(zhí)行就被打破了,具有了不可重現(xiàn)和間斷執(zhí)行的特性。為此操作系統(tǒng)引入了進(jìn)程的概念,以便于合理的描述和控制多道程序的并發(fā)運(yùn)行,實(shí)現(xiàn)系統(tǒng)的資源共享性和程序并發(fā)性。引入進(jìn)程是為了使多道程序并發(fā)的執(zhí)行,提高系統(tǒng)的吞吐量和資源利用率;而引入線程是為了降低程序在并發(fā)執(zhí)行時(shí)所產(chǎn)生的時(shí)間和空間的開銷,用以提高系統(tǒng)并發(fā)性。在 μC/OS-II 內(nèi)核中,將一個(gè)線程稱之為一個(gè)任務(wù),它是用戶應(yīng)用程序的一個(gè)具體運(yùn)行實(shí)體,作為處理器的一個(gè)基本執(zhí)行單位,被系統(tǒng)獨(dú)立的調(diào)度和分派。每一個(gè)任務(wù)都被分配自己的處理器寄存器和任務(wù)堆?臻g,在其得到執(zhí)行時(shí)獨(dú)占處理器資源。 從形式上來看,任務(wù)是一個(gè)無限循環(huán)的程序段落,被寫成類似函數(shù)的形式,有形式參數(shù)和返回類型,但是不可能真正的返回。任務(wù)函數(shù)的形式參數(shù)通常被定義成 void 類型指針,通過這種方式在任務(wù)被創(chuàng)建時(shí)用戶可以被傳入任意類型的數(shù)據(jù)。用戶也可以創(chuàng)建多個(gè)任務(wù),但是都重入一個(gè)任務(wù)函數(shù),只是輸入的初始數(shù)據(jù)不同,大大減少代碼空間的占用。 
........

第 3 章  實(shí)時(shí)操作系統(tǒng)的任務(wù)調(diào)度算法改進(jìn) .... 19 
3.1  經(jīng)典任務(wù)調(diào)度算法分析 ......... 19 
3.1.1  實(shí)時(shí)調(diào)度算法 ......... 19 
3.1.2  非實(shí)時(shí)調(diào)度算法 ..... 21 
3.2 μC/OS-II 的任務(wù)調(diào)度算法改進(jìn) ....... 22 
3.2.1  調(diào)度算法設(shè)計(jì) ......... 22 
3.2.2  數(shù)據(jù)結(jié)構(gòu)修改 ......... 25 
3.3  本章小結(jié) ...... 26 
第 4 章  實(shí)時(shí)操作系統(tǒng)的任務(wù)調(diào)度算法硬件化 ......... 27 
4.1 FPGA 設(shè)計(jì)原理 ..... 27 
4.2 μC/OS-II 的硬件任務(wù)調(diào)度器設(shè)計(jì) ............ 29 
4.2.1  調(diào)度器的整體結(jié)構(gòu) .......... 29 
4.2.2  任務(wù)組的調(diào)度 ......... 31 
4.2.3  組內(nèi)同級(jí)任務(wù)的調(diào)度 ...... 32 
4.3  本章小結(jié) ...... 34 
第 5 章  仿真及實(shí)驗(yàn)結(jié)果分析 .......... 35 
5.1 XUP Virtex-II Pro 開發(fā)平臺(tái) ............ 35 
5.2  集成軟件環(huán)境 ISE ......... 36 
5.3  任務(wù)調(diào)度器的仿真結(jié)果及分析 ...... 37 
5.4  本章小結(jié) ...... 41 

第5章 仿真及實(shí)驗(yàn)結(jié)果分析 

5.1  XUP Virtex-II Pro 開發(fā)平臺(tái)

Xilinx  公司是全球最早研發(fā)出 FPGA  器件的機(jī)構(gòu),也是目前全球規(guī)模最大的可編程邏輯器件供應(yīng)商。Xilinx 公司在通信行業(yè)除了研發(fā)和生產(chǎn)制造 FPGA 器件之外,還在行業(yè)標(biāo)準(zhǔn)的制定扮演重要的角色,積極提供各種系統(tǒng)集成和系統(tǒng)解決的設(shè)計(jì)方案等。 本課題采用 Xilinx  公司的 XUP Virtex-II Pro 作為實(shí)驗(yàn)平臺(tái),其具有強(qiáng)大的處理功能,通過擴(kuò)展連接器能夠與多種外部模塊連接,而且該系統(tǒng)的設(shè)計(jì)得到包括 ISE、System Generator、EDK 在內(nèi)的多種行業(yè)主流的開發(fā)工具支持。所以很多研究機(jī)構(gòu)和高校都采用這一系列的產(chǎn)品作為研發(fā)平臺(tái)。 Virtex-II  Pro 系列器件是在 Virtex-II 的基礎(chǔ)上增強(qiáng)了嵌入式相關(guān)的處理功能,內(nèi)置了 Power PC  405 處理器硬核,為了應(yīng)對(duì)高性能系統(tǒng)的挑戰(zhàn),還引入了主動(dòng)互聯(lián)技術(shù),采用 0.13μm 工藝,支持超過 20 種 I/O 接口標(biāo)準(zhǔn),完善了時(shí)鐘處理和數(shù)字信號(hào)處理功能。本課題選用的是 FPGA 芯片型號(hào)是 Virtex-II Pro 系列中的 XC2VP30。 Virtex-II Pro 系列的 XC2VP30 可編程系統(tǒng)芯片在芯片內(nèi)部集成了 2 片 32  位的 Power PC  405  處理器內(nèi)核,內(nèi)置了 8 個(gè) I/O  bank  、8  個(gè) DCM 和 30816  個(gè)Logic Cell,從而確保較為復(fù)雜的算法實(shí)現(xiàn)。  Virtex-II  Pro 的可配置 I/O  管腳最多可達(dá) 644 個(gè),可用 I/O  管腳最多可達(dá)644 個(gè),  Block RAM 的最大容量到達(dá) 2448KB,18kb  的 Block RAM 數(shù)目為 136個(gè)。 Virtex-II  Pro 還提供了 100MHz 系統(tǒng)時(shí)鐘和 75MHz 的 SATA 時(shí)鐘,支持 “User”和“Golden”FPGA  配置比特流文件,并且配備了 USB  配置端口和 JTAG 配置端口各一路。 

實(shí)時(shí)操作系統(tǒng)任務(wù)調(diào)度算法的硬件化研究

........

結(jié)論 

本文在研究了國(guó)內(nèi)外實(shí)時(shí)操作系統(tǒng)任務(wù)調(diào)度的研究成果后,結(jié)合 μC/OS-II實(shí)時(shí)操作系統(tǒng)內(nèi)核的自身特點(diǎn),為 μC/OS-II 原來的任務(wù)調(diào)度算法擴(kuò)展了同級(jí)任務(wù)調(diào)度功能,并基于 FPGA 硬件邏輯設(shè)計(jì)并實(shí)現(xiàn)了基于改進(jìn)算法的硬件任務(wù)調(diào)度器。本文主要完成了以下工作:首先介紹了實(shí)時(shí)操作系統(tǒng)的主要特點(diǎn),然后重點(diǎn)分析了 μC/OS-II 的任務(wù)調(diào)度機(jī)制,包括任務(wù)控制塊結(jié)構(gòu)、任務(wù)狀態(tài)轉(zhuǎn)換,以及任務(wù)的管理、調(diào)度和切換的工作原理。首先分析和總結(jié)了一些經(jīng)典任務(wù)調(diào)度算法的突出特點(diǎn),并提出了要根據(jù)應(yīng)用需要選擇和修改現(xiàn)有的任務(wù)調(diào)度算法;然后為了改進(jìn) μC/OS-II 不支持同級(jí)任務(wù)調(diào)度的不足,設(shè)計(jì)了一種二級(jí)混合調(diào)度算法。第一級(jí)調(diào)度采用原來的基于優(yōu)先級(jí)的調(diào)度算法選擇出最高的有就緒任務(wù)的優(yōu)先級(jí);第二級(jí)調(diào)度對(duì)該優(yōu)先級(jí)對(duì)應(yīng)的同級(jí)任務(wù)啟動(dòng)同級(jí)調(diào)度策略。在同級(jí)調(diào)度中,對(duì)于實(shí)時(shí)的同級(jí)任務(wù)采用較公平的時(shí)間片輪轉(zhuǎn)算法;對(duì)于非實(shí)時(shí)的同級(jí)任務(wù)采用開銷較小的先來先服務(wù)算法。為了適應(yīng)改進(jìn)的算法,本文還修改μC/OS-II 內(nèi)核的部分?jǐn)?shù)據(jù)結(jié)構(gòu),主要包括任務(wù)控制塊的內(nèi)部參數(shù)和增加了由用戶設(shè)置的優(yōu)先級(jí)閾值。 
.........
參考文獻(xiàn)(略)




本文編號(hào):84429

資料下載
論文發(fā)表

本文鏈接:http://sikaile.net/wenshubaike/lwfw/84429.html


Copyright(c)文論論文網(wǎng)All Rights Reserved | 網(wǎng)站地圖 |

版權(quán)申明:資料由用戶cd66f***提供,本站僅收錄摘要或目錄,作者需要?jiǎng)h除請(qǐng)E-mail郵箱bigeng88@qq.com