![操作系統(tǒng)內(nèi)核與應(yīng)用實(shí)踐09級(jí)_第1頁(yè)](http://file2.renrendoc.com/fileroot_temp3/2021-11/5/4f3b6a7c-6d64-4c83-850b-899cb135c550/4f3b6a7c-6d64-4c83-850b-899cb135c5501.gif)
![操作系統(tǒng)內(nèi)核與應(yīng)用實(shí)踐09級(jí)_第2頁(yè)](http://file2.renrendoc.com/fileroot_temp3/2021-11/5/4f3b6a7c-6d64-4c83-850b-899cb135c550/4f3b6a7c-6d64-4c83-850b-899cb135c5502.gif)
![操作系統(tǒng)內(nèi)核與應(yīng)用實(shí)踐09級(jí)_第3頁(yè)](http://file2.renrendoc.com/fileroot_temp3/2021-11/5/4f3b6a7c-6d64-4c83-850b-899cb135c550/4f3b6a7c-6d64-4c83-850b-899cb135c5503.gif)
![操作系統(tǒng)內(nèi)核與應(yīng)用實(shí)踐09級(jí)_第4頁(yè)](http://file2.renrendoc.com/fileroot_temp3/2021-11/5/4f3b6a7c-6d64-4c83-850b-899cb135c550/4f3b6a7c-6d64-4c83-850b-899cb135c5504.gif)
![操作系統(tǒng)內(nèi)核與應(yīng)用實(shí)踐09級(jí)_第5頁(yè)](http://file2.renrendoc.com/fileroot_temp3/2021-11/5/4f3b6a7c-6d64-4c83-850b-899cb135c550/4f3b6a7c-6d64-4c83-850b-899cb135c5505.gif)
版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、第一章第一章 課程設(shè)置課程設(shè)置目標(biāo)與要求目標(biāo)與要求n獨(dú)立實(shí)踐課開(kāi)設(shè)的意義獨(dú)立實(shí)踐課開(kāi)設(shè)的意義n獨(dú)立實(shí)踐課的內(nèi)容獨(dú)立實(shí)踐課的內(nèi)容n課程安排及成績(jī)?cè)u(píng)估課程安排及成績(jī)?cè)u(píng)估本實(shí)踐課程開(kāi)設(shè)的意義本實(shí)踐課程開(kāi)設(shè)的意義操作系統(tǒng)是計(jì)算機(jī)系統(tǒng)中承上啟下的系統(tǒng)軟操作系統(tǒng)是計(jì)算機(jī)系統(tǒng)中承上啟下的系統(tǒng)軟件,它的工作流程和設(shè)計(jì)方法最有代表性和件,它的工作流程和設(shè)計(jì)方法最有代表性和實(shí)用價(jià)值。實(shí)用價(jià)值。要真正理解操作系統(tǒng)基本原理,切實(shí)可行的要真正理解操作系統(tǒng)基本原理,切實(shí)可行的方法是針對(duì)各類操作系統(tǒng)實(shí)例系統(tǒng)進(jìn)行各種方法是針對(duì)各類操作系統(tǒng)實(shí)例系統(tǒng)進(jìn)行各種類型的實(shí)踐,利用操作系統(tǒng)內(nèi)核進(jìn)行應(yīng)用程類型的實(shí)踐,利用操作系統(tǒng)內(nèi)核進(jìn)行應(yīng)
2、用程序設(shè)計(jì)。序設(shè)計(jì)。 培養(yǎng)實(shí)用型、創(chuàng)新型人才,提升學(xué)生的軟件培養(yǎng)實(shí)用型、創(chuàng)新型人才,提升學(xué)生的軟件研發(fā)能力。開(kāi)拓學(xué)生的專業(yè)視野和實(shí)際工作研發(fā)能力。開(kāi)拓學(xué)生的專業(yè)視野和實(shí)際工作能力。能力。體驗(yàn)系統(tǒng)級(jí)應(yīng)用程序的設(shè)計(jì)實(shí)現(xiàn)體驗(yàn)系統(tǒng)級(jí)應(yīng)用程序的設(shè)計(jì)實(shí)現(xiàn)n結(jié)合實(shí)際開(kāi)發(fā)需求,掌握開(kāi)發(fā)環(huán)境、開(kāi)發(fā)技術(shù)、結(jié)合實(shí)際開(kāi)發(fā)需求,掌握開(kāi)發(fā)環(huán)境、開(kāi)發(fā)技術(shù)、項(xiàng)目開(kāi)發(fā)實(shí)施方面的基本過(guò)程項(xiàng)目開(kāi)發(fā)實(shí)施方面的基本過(guò)程n以課題組方式進(jìn)行方案論證、設(shè)計(jì)、開(kāi)發(fā)環(huán)境以課題組方式進(jìn)行方案論證、設(shè)計(jì)、開(kāi)發(fā)環(huán)境構(gòu)建、分工、單元開(kāi)發(fā)、調(diào)試,集成調(diào)試運(yùn)行,構(gòu)建、分工、單元開(kāi)發(fā)、調(diào)試,集成調(diào)試運(yùn)行,以及文檔的編寫(xiě),組長(zhǎng)是項(xiàng)目小組核心。以及文檔的編寫(xiě),組
3、長(zhǎng)是項(xiàng)目小組核心。n該過(guò)程能使大家明確軟件開(kāi)發(fā)的各個(gè)環(huán)節(jié),結(jié)該過(guò)程能使大家明確軟件開(kāi)發(fā)的各個(gè)環(huán)節(jié),結(jié)合自身?xiàng)l件對(duì)每個(gè)環(huán)節(jié)進(jìn)行自己的設(shè)計(jì)實(shí)現(xiàn)。合自身?xiàng)l件對(duì)每個(gè)環(huán)節(jié)進(jìn)行自己的設(shè)計(jì)實(shí)現(xiàn)。操作系統(tǒng)內(nèi)核與應(yīng)用實(shí)踐實(shí)施方案操作系統(tǒng)內(nèi)核與應(yīng)用實(shí)踐實(shí)施方案n嵌入式實(shí)時(shí)操作系統(tǒng)嵌入式實(shí)時(shí)操作系統(tǒng)c/os-是實(shí)時(shí)操作系統(tǒng)的成是實(shí)時(shí)操作系統(tǒng)的成功范例。功范例。n開(kāi)放源代碼資源架設(shè)一個(gè)方便的開(kāi)發(fā)平臺(tái),提供一個(gè)開(kāi)放源代碼資源架設(shè)一個(gè)方便的開(kāi)發(fā)平臺(tái),提供一個(gè)很好實(shí)用的開(kāi)發(fā)工具環(huán)境,使學(xué)生能夠?qū)W⒂趯?shí)時(shí)應(yīng)很好實(shí)用的開(kāi)發(fā)工具環(huán)境,使學(xué)生能夠?qū)W⒂趯?shí)時(shí)應(yīng)用軟件技術(shù),不必為系統(tǒng)開(kāi)發(fā)環(huán)境等問(wèn)題耗費(fèi)精力。用軟件技術(shù),不必為系統(tǒng)開(kāi)發(fā)環(huán)
4、境等問(wèn)題耗費(fèi)精力。而且有大量的移植范例下載參考。而且有大量的移植范例下載參考。nc/os-的商業(yè)價(jià)值也很高,可以支持嵌入式商業(yè)的商業(yè)價(jià)值也很高,可以支持嵌入式商業(yè)應(yīng)用程序的開(kāi)發(fā)需求。應(yīng)用程序的開(kāi)發(fā)需求。操作系統(tǒng)實(shí)踐課達(dá)到的目標(biāo)操作系統(tǒng)實(shí)踐課達(dá)到的目標(biāo)理解把握實(shí)現(xiàn)操作系統(tǒng)的層次結(jié)構(gòu)和工作流程理解把握實(shí)現(xiàn)操作系統(tǒng)的層次結(jié)構(gòu)和工作流程設(shè)計(jì)應(yīng)用系統(tǒng)的工作流程設(shè)計(jì)應(yīng)用系統(tǒng)的工作流程學(xué)會(huì)使用需要的開(kāi)發(fā)工具環(huán)境學(xué)會(huì)使用需要的開(kāi)發(fā)工具環(huán)境選擇合適的軟件工具進(jìn)行編碼實(shí)現(xiàn)選擇合適的軟件工具進(jìn)行編碼實(shí)現(xiàn)進(jìn)行單元調(diào)試和集成調(diào)試進(jìn)行單元調(diào)試和集成調(diào)試課題組為單位展開(kāi)工作課題組為單位展開(kāi)工作編寫(xiě)開(kāi)發(fā)文檔及其課程設(shè)計(jì)報(bào)告編
5、寫(xiě)開(kāi)發(fā)文檔及其課程設(shè)計(jì)報(bào)告對(duì)軟件開(kāi)發(fā)全過(guò)程的技術(shù)運(yùn)用進(jìn)行考量對(duì)軟件開(kāi)發(fā)全過(guò)程的技術(shù)運(yùn)用進(jìn)行考量獨(dú)立實(shí)踐課培養(yǎng)檢驗(yàn)學(xué)生能力獨(dú)立實(shí)踐課培養(yǎng)檢驗(yàn)學(xué)生能力n培養(yǎng)學(xué)生的研究能力、協(xié)調(diào)培養(yǎng)學(xué)生的研究能力、協(xié)調(diào)協(xié)作能力、軟件系統(tǒng)的分析協(xié)作能力、軟件系統(tǒng)的分析設(shè)計(jì)能力、編碼能力,解決設(shè)計(jì)能力、編碼能力,解決問(wèn)題能力、表述能力等。問(wèn)題能力、表述能力等。 課程設(shè)計(jì)的實(shí)施課程設(shè)計(jì)的實(shí)施n自由自由2 2人組成課題組人組成課題組n選定一名組長(zhǎng),負(fù)責(zé)課題小組全面工作選定一名組長(zhǎng),負(fù)責(zé)課題小組全面工作n根據(jù)小組各成員的基礎(chǔ)和意愿從應(yīng)用題根據(jù)小組各成員的基礎(chǔ)和意愿從應(yīng)用題目中選擇進(jìn)行開(kāi)發(fā)目中選擇進(jìn)行開(kāi)發(fā)獨(dú)立實(shí)踐課的核心內(nèi)容獨(dú)
6、立實(shí)踐課的核心內(nèi)容n選擇實(shí)時(shí)操作系統(tǒng)選擇實(shí)時(shí)操作系統(tǒng)cos-iicos-ii進(jìn)行分析和應(yīng)用程序的仿進(jìn)行分析和應(yīng)用程序的仿真開(kāi)發(fā)。真開(kāi)發(fā)。n基于基于dosdos和和windowswindows操作系統(tǒng)平臺(tái),選用嵌入式實(shí)時(shí)操操作系統(tǒng)平臺(tái),選用嵌入式實(shí)時(shí)操作系統(tǒng)作系統(tǒng)cos-iicos-ii的源代碼(非常優(yōu)秀有價(jià)值的的源代碼(非常優(yōu)秀有價(jià)值的c c源代碼)源代碼)進(jìn)行分析,理解工作原理和工作流程,參考教材選擇進(jìn)行分析,理解工作原理和工作流程,參考教材選擇設(shè)計(jì)自己的應(yīng)用程序的功能,并編碼實(shí)現(xiàn),完成系統(tǒng)設(shè)計(jì)自己的應(yīng)用程序的功能,并編碼實(shí)現(xiàn),完成系統(tǒng)調(diào)試運(yùn)行。調(diào)試運(yùn)行。n可建立可建立2 2人的課題組進(jìn)行分
7、工,對(duì)每人負(fù)責(zé)的模塊分別人的課題組進(jìn)行分工,對(duì)每人負(fù)責(zé)的模塊分別進(jìn)行應(yīng)用程序設(shè)計(jì)或內(nèi)核分析程序運(yùn)行監(jiān)測(cè)。進(jìn)行應(yīng)用程序設(shè)計(jì)或內(nèi)核分析程序運(yùn)行監(jiān)測(cè)。n鼓勵(lì)選擇有個(gè)人創(chuàng)新內(nèi)容的應(yīng)用項(xiàng)目完成設(shè)計(jì)與實(shí)現(xiàn)鼓勵(lì)選擇有個(gè)人創(chuàng)新內(nèi)容的應(yīng)用項(xiàng)目完成設(shè)計(jì)與實(shí)現(xiàn)。方案技術(shù)內(nèi)容方案技術(shù)內(nèi)容n了解實(shí)時(shí)操作系統(tǒng)基本概念、工作原理,明確了解實(shí)時(shí)操作系統(tǒng)基本概念、工作原理,明確c/os-內(nèi)核應(yīng)用的結(jié)構(gòu)、組成方法,理解一個(gè)內(nèi)核應(yīng)用的結(jié)構(gòu)、組成方法,理解一個(gè)實(shí)時(shí)操作系統(tǒng)及其應(yīng)用的基本架構(gòu)。實(shí)時(shí)操作系統(tǒng)及其應(yīng)用的基本架構(gòu)。n掌握掌握c/os-內(nèi)核的運(yùn)行流程及應(yīng)用代碼運(yùn)行流內(nèi)核的運(yùn)行流程及應(yīng)用代碼運(yùn)行流程,能夠基于程,能夠基于c/os
8、-內(nèi)核,利用系統(tǒng)函數(shù)接口,內(nèi)核,利用系統(tǒng)函數(shù)接口,構(gòu)建用戶自己的應(yīng)用程序代碼,實(shí)現(xiàn)一個(gè)嵌入實(shí)時(shí)構(gòu)建用戶自己的應(yīng)用程序代碼,實(shí)現(xiàn)一個(gè)嵌入實(shí)時(shí)應(yīng)用程序的設(shè)計(jì)、編碼等開(kāi)發(fā)工作。應(yīng)用程序的設(shè)計(jì)、編碼等開(kāi)發(fā)工作。n利用提供編譯環(huán)境,編譯、調(diào)試、運(yùn)行應(yīng)用程序。利用提供編譯環(huán)境,編譯、調(diào)試、運(yùn)行應(yīng)用程序。 設(shè)計(jì)實(shí)現(xiàn)技術(shù)設(shè)計(jì)實(shí)現(xiàn)技術(shù)n授課講解內(nèi)核與應(yīng)用程序?qū)崿F(xiàn)技術(shù)授課講解內(nèi)核與應(yīng)用程序?qū)崿F(xiàn)技術(shù)n參考參考ucos-iiucos-ii系統(tǒng)代碼以及編譯生成技術(shù)系統(tǒng)代碼以及編譯生成技術(shù)(makemake文件)文件)n課題組選定所重點(diǎn)使用的內(nèi)核模塊,理解課題組選定所重點(diǎn)使用的內(nèi)核模塊,理解源碼,確立應(yīng)用方案源碼,確立應(yīng)
9、用方案n并用并用c c語(yǔ)言編碼實(shí)現(xiàn)語(yǔ)言編碼實(shí)現(xiàn)基于基于cos-iicos-ii內(nèi)核的應(yīng)用項(xiàng)目推薦內(nèi)核的應(yīng)用項(xiàng)目推薦n任務(wù)管理實(shí)驗(yàn)任務(wù)管理實(shí)驗(yàn)n信號(hào)量管理實(shí)驗(yàn)信號(hào)量管理實(shí)驗(yàn)n消息隊(duì)列實(shí)驗(yàn)消息隊(duì)列實(shí)驗(yàn)n時(shí)鐘中斷實(shí)驗(yàn)時(shí)鐘中斷實(shí)驗(yàn)n任務(wù)執(zhí)行時(shí)間測(cè)定任務(wù)執(zhí)行時(shí)間測(cè)定n生產(chǎn)者消費(fèi)者算法實(shí)驗(yàn)生產(chǎn)者消費(fèi)者算法實(shí)驗(yàn)n哲學(xué)家就餐實(shí)驗(yàn)哲學(xué)家就餐實(shí)驗(yàn)n鼓勵(lì)自行選擇感興趣的應(yīng)用程序鼓勵(lì)自行選擇感興趣的應(yīng)用程序課程安排及成績(jī)?cè)u(píng)估課程安排及成績(jī)?cè)u(píng)估一、一、授課授課8 8學(xué)時(shí)(學(xué)時(shí)(7 7、8 8周,周,4 4學(xué)時(shí)學(xué)時(shí)/ /周)周)達(dá)到目標(biāo):達(dá)到目標(biāo):1)1)明確獨(dú)立實(shí)踐課內(nèi)容及要求。明確獨(dú)立實(shí)踐課內(nèi)容及要求。2)2)理解內(nèi)
10、核編程技術(shù)及應(yīng)用系統(tǒng)功能理解內(nèi)核編程技術(shù)及應(yīng)用系統(tǒng)功能及各個(gè)模塊功能及接口,為應(yīng)用系及各個(gè)模塊功能及接口,為應(yīng)用系統(tǒng)分析設(shè)計(jì)打基礎(chǔ)。統(tǒng)分析設(shè)計(jì)打基礎(chǔ)。確立課題小組,提交任務(wù)書(shū)確立課題小組,提交任務(wù)書(shū)n上機(jī)實(shí)踐之前,確定以下內(nèi)容:上機(jī)實(shí)踐之前,確定以下內(nèi)容:n按選擇的項(xiàng)目自由組成一個(gè)課題按選擇的項(xiàng)目自由組成一個(gè)課題組,討論并確定開(kāi)發(fā)功能、開(kāi)發(fā)組,討論并確定開(kāi)發(fā)功能、開(kāi)發(fā)環(huán)境及軟件工具、分工交流方式環(huán)境及軟件工具、分工交流方式等。等。課程設(shè)計(jì)任務(wù)書(shū)建議內(nèi)容課程設(shè)計(jì)任務(wù)書(shū)建議內(nèi)容n開(kāi)發(fā)項(xiàng)目名稱(選擇題目)開(kāi)發(fā)項(xiàng)目名稱(選擇題目)n主要系統(tǒng)功能以及目標(biāo)(運(yùn)行功能描述)主要系統(tǒng)功能以及目標(biāo)(運(yùn)行功能描述
11、)n設(shè)計(jì)要求(內(nèi)核功能及接口、應(yīng)用代碼結(jié)構(gòu))設(shè)計(jì)要求(內(nèi)核功能及接口、應(yīng)用代碼結(jié)構(gòu))n成果形式(軟件驗(yàn)收、報(bào)告文檔)成果形式(軟件驗(yàn)收、報(bào)告文檔)n基本要求(階段檢查、進(jìn)度安排、驗(yàn)收要求)基本要求(階段檢查、進(jìn)度安排、驗(yàn)收要求)n主要參考文獻(xiàn)(課件、源代碼、實(shí)例程序、教材)主要參考文獻(xiàn)(課件、源代碼、實(shí)例程序、教材)n工作量(系統(tǒng)復(fù)雜度、創(chuàng)新等)工作量(系統(tǒng)復(fù)雜度、創(chuàng)新等)上機(jī)時(shí)間安排上機(jī)時(shí)間安排上機(jī)共上機(jī)共40學(xué)時(shí)學(xué)時(shí)安排地點(diǎn):計(jì)算機(jī)學(xué)院機(jī)房(安排地點(diǎn):計(jì)算機(jī)學(xué)院機(jī)房(307、308)安排時(shí)間:第安排時(shí)間:第9周周第第13周,每周周,每周8學(xué)時(shí),學(xué)時(shí),分兩次上機(jī)。第八周確定具體時(shí)間。分兩次上
12、機(jī)。第八周確定具體時(shí)間。安排批次:安排批次:計(jì)科計(jì)科0901-3(范艷芳)(范艷芳)計(jì)科計(jì)科0904-6(牛欣源)(牛欣源)上機(jī)實(shí)施內(nèi)容與步驟上機(jī)實(shí)施內(nèi)容與步驟v理解掌握內(nèi)核接口及應(yīng)用代碼結(jié)構(gòu)理解掌握內(nèi)核接口及應(yīng)用代碼結(jié)構(gòu)v以課題組為單位提出應(yīng)用系統(tǒng)需求和設(shè)計(jì)以課題組為單位提出應(yīng)用系統(tǒng)需求和設(shè)計(jì)建議,完成系統(tǒng)分析設(shè)計(jì)建議,完成系統(tǒng)分析設(shè)計(jì)v每人獨(dú)立進(jìn)行模塊詳細(xì)設(shè)計(jì)及編碼調(diào)試每人獨(dú)立進(jìn)行模塊詳細(xì)設(shè)計(jì)及編碼調(diào)試v完成課程設(shè)計(jì)報(bào)告的編寫(xiě)完成課程設(shè)計(jì)報(bào)告的編寫(xiě)v由教師對(duì)每組進(jìn)行階段檢查和項(xiàng)目驗(yàn)收由教師對(duì)每組進(jìn)行階段檢查和項(xiàng)目驗(yàn)收獨(dú)立實(shí)踐課成績(jī)?cè)u(píng)估獨(dú)立實(shí)踐課成績(jī)?cè)u(píng)估n課程設(shè)計(jì)任務(wù)書(shū)課程設(shè)計(jì)任務(wù)書(shū)n系統(tǒng)分
13、析設(shè)計(jì)報(bào)告系統(tǒng)分析設(shè)計(jì)報(bào)告n模塊詳細(xì)設(shè)計(jì)報(bào)告模塊詳細(xì)設(shè)計(jì)報(bào)告 n單元測(cè)試系統(tǒng)調(diào)試報(bào)告、用戶手冊(cè)單元測(cè)試系統(tǒng)調(diào)試報(bào)告、用戶手冊(cè) 20% n階段檢查(內(nèi)核、應(yīng)用代碼、測(cè)試)階段檢查(內(nèi)核、應(yīng)用代碼、測(cè)試) 30%n驗(yàn)收檢查(運(yùn)行與界面所有數(shù)據(jù))驗(yàn)收檢查(運(yùn)行與界面所有數(shù)據(jù))10%n開(kāi)卷期末考試開(kāi)卷期末考試40%階段檢查及內(nèi)容階段檢查及內(nèi)容l內(nèi)核模塊功能、應(yīng)用接口內(nèi)核模塊功能、應(yīng)用接口l應(yīng)用代碼的算法與數(shù)據(jù)結(jié)構(gòu)應(yīng)用代碼的算法與數(shù)據(jù)結(jié)構(gòu)l單元調(diào)試、系統(tǒng)測(cè)試單元調(diào)試、系統(tǒng)測(cè)試l工作量工作量l創(chuàng)新設(shè)計(jì)與實(shí)現(xiàn)、新編程技術(shù)、新設(shè)計(jì)方法創(chuàng)新設(shè)計(jì)與實(shí)現(xiàn)、新編程技術(shù)、新設(shè)計(jì)方法系統(tǒng)驗(yàn)收檢查及內(nèi)容系統(tǒng)驗(yàn)收檢查及內(nèi)容n
14、系統(tǒng)運(yùn)行平穩(wěn)系統(tǒng)運(yùn)行平穩(wěn)n界面友好界面友好n系統(tǒng)功能設(shè)計(jì)完備系統(tǒng)功能設(shè)計(jì)完備n系統(tǒng)調(diào)試完備系統(tǒng)調(diào)試完備文檔成績(jī)?cè)u(píng)估文檔成績(jī)?cè)u(píng)估n課程設(shè)計(jì)任務(wù)書(shū)課程設(shè)計(jì)任務(wù)書(shū)n系統(tǒng)分析設(shè)計(jì)報(bào)告系統(tǒng)分析設(shè)計(jì)報(bào)告n模塊詳細(xì)設(shè)計(jì)報(bào)告模塊詳細(xì)設(shè)計(jì)報(bào)告 n單元測(cè)試系統(tǒng)調(diào)試報(bào)告、用戶手冊(cè)單元測(cè)試系統(tǒng)調(diào)試報(bào)告、用戶手冊(cè) 20% 評(píng)價(jià)標(biāo)準(zhǔn):評(píng)價(jià)標(biāo)準(zhǔn):根據(jù)文檔質(zhì)量(可讀性,可根據(jù)文檔質(zhì)量(可讀性,可操作性,創(chuàng)新性,完整性,工作量)評(píng)操作性,創(chuàng)新性,完整性,工作量)評(píng)估文檔成績(jī)。估文檔成績(jī)。課程設(shè)計(jì)報(bào)告課程設(shè)計(jì)報(bào)告的編寫(xiě)的編寫(xiě) n參見(jiàn)參見(jiàn)課程設(shè)計(jì)報(bào)告撰寫(xiě)規(guī)范課程設(shè)計(jì)報(bào)告撰寫(xiě)規(guī)范 n報(bào)告每組打印一份上交報(bào)告每組打印一份上交課程設(shè)計(jì)報(bào)
15、告封面課程設(shè)計(jì)報(bào)告封面課程名稱課程名稱 題目題目指導(dǎo)教師指導(dǎo)教師設(shè)計(jì)起止日期設(shè)計(jì)起止日期系別系別專業(yè)專業(yè)學(xué)生姓名學(xué)生姓名班級(jí)班級(jí)/學(xué)號(hào)學(xué)號(hào)成績(jī)成績(jī)課程設(shè)計(jì)任務(wù)書(shū)內(nèi)容課程設(shè)計(jì)任務(wù)書(shū)內(nèi)容n題目:n主要系統(tǒng)功能以及目標(biāo):n設(shè)計(jì)要求n成果形式n基本要求n主要參考文獻(xiàn)n工作量課程設(shè)計(jì)報(bào)告撰寫(xiě)規(guī)范課程設(shè)計(jì)報(bào)告撰寫(xiě)規(guī)范1、任務(wù)書(shū)、任務(wù)書(shū)2、摘要:功能及實(shí)現(xiàn)技術(shù)的簡(jiǎn)練陳述,不超過(guò)、摘要:功能及實(shí)現(xiàn)技術(shù)的簡(jiǎn)練陳述,不超過(guò)400字,關(guān)鍵詞為字,關(guān)鍵詞為4個(gè)左右個(gè)左右3、目錄、目錄4、正文。正文。正文應(yīng)按目錄編排依次撰寫(xiě),要求論正文應(yīng)按目錄編排依次撰寫(xiě),要求論述清楚,文字簡(jiǎn)練通順,插圖簡(jiǎn)明,書(shū)寫(xiě)整述清楚,文字簡(jiǎn)練通
16、順,插圖簡(jiǎn)明,書(shū)寫(xiě)整潔。潔。 5、參考文獻(xiàn)、參考文獻(xiàn)(資料資料) 正文正文 核心文檔內(nèi)容與格式核心文檔內(nèi)容與格式一、系統(tǒng)分析與設(shè)計(jì)功能(小組編寫(xiě))一、系統(tǒng)分析與設(shè)計(jì)功能(小組編寫(xiě))1、從所使用內(nèi)核功能和實(shí)現(xiàn)應(yīng)用程序功能兩個(gè)方面說(shuō)明、從所使用內(nèi)核功能和實(shí)現(xiàn)應(yīng)用程序功能兩個(gè)方面說(shuō)明2、模塊結(jié)構(gòu)圖(按照內(nèi)核模塊、應(yīng)用模塊劃分)、模塊結(jié)構(gòu)圖(按照內(nèi)核模塊、應(yīng)用模塊劃分)3、系統(tǒng)實(shí)現(xiàn)方案編程工具說(shuō)明、系統(tǒng)實(shí)現(xiàn)方案編程工具說(shuō)明 4、系統(tǒng)運(yùn)行界面及功能說(shuō)明、系統(tǒng)運(yùn)行界面及功能說(shuō)明 三、系統(tǒng)模塊設(shè)計(jì)與調(diào)試文檔(設(shè)計(jì)實(shí)現(xiàn)者編寫(xiě))三、系統(tǒng)模塊設(shè)計(jì)與調(diào)試文檔(設(shè)計(jì)實(shí)現(xiàn)者編寫(xiě)) 1、模塊功能、模塊功能 2、模塊接口(
17、被調(diào)用、調(diào)用關(guān)系;調(diào)用參數(shù)和返回結(jié)果)、模塊接口(被調(diào)用、調(diào)用關(guān)系;調(diào)用參數(shù)和返回結(jié)果) 3、模塊主要處理步驟及其編碼實(shí)現(xiàn)方法、模塊主要處理步驟及其編碼實(shí)現(xiàn)方法(主要數(shù)據(jù)結(jié)構(gòu)設(shè)計(jì)實(shí)現(xiàn)、主要算法設(shè)計(jì)實(shí)現(xiàn))(主要數(shù)據(jù)結(jié)構(gòu)設(shè)計(jì)實(shí)現(xiàn)、主要算法設(shè)計(jì)實(shí)現(xiàn)) 4、模塊調(diào)試:調(diào)試數(shù)據(jù)、調(diào)試結(jié)果、問(wèn)題分析、模塊調(diào)試:調(diào)試數(shù)據(jù)、調(diào)試結(jié)果、問(wèn)題分析 四、系統(tǒng)集成調(diào)試(小組編寫(xiě))四、系統(tǒng)集成調(diào)試(小組編寫(xiě)) 五、用戶使用說(shuō)明五、用戶使用說(shuō)明n課程郵箱:課程郵箱:n郵箱密碼:郵箱密碼:welcomen答疑時(shí)間:答疑時(shí)間:7、8周周一下午周周一下午1:30-3:30第二章第二章 c/os-ii系統(tǒng)分析系統(tǒng)分析n通過(guò)分析通
18、過(guò)分析c/os-ii內(nèi)核源代碼程序及其數(shù)據(jù)結(jié)構(gòu)的內(nèi)核源代碼程序及其數(shù)據(jù)結(jié)構(gòu)的設(shè)計(jì),理解掌握一個(gè)成熟實(shí)時(shí)操作系統(tǒng)的基本架構(gòu)設(shè)計(jì),理解掌握一個(gè)成熟實(shí)時(shí)操作系統(tǒng)的基本架構(gòu)n與本學(xué)期操作系統(tǒng)課程的通用操作系統(tǒng)原理及其模與本學(xué)期操作系統(tǒng)課程的通用操作系統(tǒng)原理及其模塊設(shè)計(jì)作比較,從中可發(fā)現(xiàn)其異同。塊設(shè)計(jì)作比較,從中可發(fā)現(xiàn)其異同。n可根據(jù)可根據(jù)c/os-ii內(nèi)核的運(yùn)行流程,掌握操作系統(tǒng)的內(nèi)核的運(yùn)行流程,掌握操作系統(tǒng)的動(dòng)態(tài)工作流程,使得在學(xué)習(xí)操作系統(tǒng)原理中掌握的動(dòng)態(tài)工作流程,使得在學(xué)習(xí)操作系統(tǒng)原理中掌握的基本概念和模塊功能得到一個(gè)感性的認(rèn)識(shí),使各個(gè)基本概念和模塊功能得到一個(gè)感性的認(rèn)識(shí),使各個(gè)模塊的運(yùn)行機(jī)制及其
19、動(dòng)態(tài)邏輯關(guān)系得到真實(shí)的展現(xiàn)。模塊的運(yùn)行機(jī)制及其動(dòng)態(tài)邏輯關(guān)系得到真實(shí)的展現(xiàn)。嵌入式系統(tǒng)的應(yīng)用程序嵌入式系統(tǒng)的應(yīng)用程序n嵌入式系統(tǒng)的應(yīng)用程序是與操作系統(tǒng)內(nèi)嵌入式系統(tǒng)的應(yīng)用程序是與操作系統(tǒng)內(nèi)核集成在一起運(yùn)行,實(shí)現(xiàn)對(duì)系統(tǒng)監(jiān)控對(duì)核集成在一起運(yùn)行,實(shí)現(xiàn)對(duì)系統(tǒng)監(jiān)控對(duì)象的控制和處理,可基于和利用象的控制和處理,可基于和利用c/os-ii內(nèi)核,構(gòu)建用戶自己的應(yīng)用程序代碼,內(nèi)核,構(gòu)建用戶自己的應(yīng)用程序代碼,實(shí)現(xiàn)對(duì)特定任務(wù)的管理。實(shí)現(xiàn)對(duì)特定任務(wù)的管理。具體實(shí)施步驟具體實(shí)施步驟 n參考參考c/os-ii系統(tǒng)的內(nèi)核與實(shí)例應(yīng)用程序的系統(tǒng)的內(nèi)核與實(shí)例應(yīng)用程序的設(shè)計(jì)資料和源代碼,以及實(shí)例程序中實(shí)現(xiàn)編譯設(shè)計(jì)資料和源代碼,以及實(shí)
20、例程序中實(shí)現(xiàn)編譯鏈接的鏈接的make文件的設(shè)計(jì),課題組選定所修改文件的設(shè)計(jì),課題組選定所修改的模塊,確立應(yīng)用程序的功能設(shè)計(jì)方案,并用的模塊,確立應(yīng)用程序的功能設(shè)計(jì)方案,并用(borland c )編碼實(shí)現(xiàn)。)編碼實(shí)現(xiàn)。n在這個(gè)項(xiàng)目中,利用普通的在這個(gè)項(xiàng)目中,利用普通的pc機(jī)及其通用的機(jī)及其通用的操作系統(tǒng)環(huán)境,就可以自己動(dòng)手搭建嵌入式系操作系統(tǒng)環(huán)境,就可以自己動(dòng)手搭建嵌入式系統(tǒng)應(yīng)用程序的開(kāi)發(fā)平臺(tái),具有實(shí)際開(kāi)發(fā)操作系統(tǒng)應(yīng)用程序的開(kāi)發(fā)平臺(tái),具有實(shí)際開(kāi)發(fā)操作系統(tǒng)軟件的實(shí)用價(jià)值。統(tǒng)軟件的實(shí)用價(jià)值。授課基本內(nèi)容授課基本內(nèi)容1.1.嵌入式軟件系統(tǒng)。嵌入式軟件系統(tǒng)。主要介紹嵌入式軟件分類、主要介紹嵌入式軟件分
21、類、特點(diǎn)、體系結(jié)構(gòu)、運(yùn)行流程、操作系統(tǒng)及開(kāi)特點(diǎn)、體系結(jié)構(gòu)、運(yùn)行流程、操作系統(tǒng)及開(kāi)發(fā)工具。發(fā)工具。2.2.嵌入式實(shí)時(shí)嵌入式實(shí)時(shí)c/os-iic/os-ii內(nèi)核及模塊接口。內(nèi)核及模塊接口。具有具有嵌入式操作系統(tǒng)的組成原理和構(gòu)成特點(diǎn),主嵌入式操作系統(tǒng)的組成原理和構(gòu)成特點(diǎn),主要包括對(duì)多任務(wù)、任務(wù)的調(diào)度及任務(wù)間的通要包括對(duì)多任務(wù)、任務(wù)的調(diào)度及任務(wù)間的通信機(jī)制,內(nèi)存管理,時(shí)間管理等重要模塊。信機(jī)制,內(nèi)存管理,時(shí)間管理等重要模塊。3.3.嵌入式系統(tǒng)軟件的開(kāi)發(fā)。嵌入式系統(tǒng)軟件的開(kāi)發(fā)。主要討論嵌入式系主要討論嵌入式系統(tǒng)開(kāi)發(fā)工具的選擇、嵌入式軟件開(kāi)發(fā)模式的統(tǒng)開(kāi)發(fā)工具的選擇、嵌入式軟件開(kāi)發(fā)模式的實(shí)施、實(shí)時(shí)軟件分析設(shè)
22、計(jì)方法的運(yùn)用。實(shí)施、實(shí)時(shí)軟件分析設(shè)計(jì)方法的運(yùn)用。 4.4.仿真開(kāi)發(fā)環(huán)境仿真開(kāi)發(fā)環(huán)境borland c/c+ v4.5 borland c/c+ v4.5 及其源代及其源代碼資源。碼資源。介紹介紹c/os-iic/os-ii的內(nèi)核及應(yīng)用程序的的內(nèi)核及應(yīng)用程序的編譯連接運(yùn)行環(huán)境,講解應(yīng)用實(shí)例,為編寫(xiě)編譯連接運(yùn)行環(huán)境,講解應(yīng)用實(shí)例,為編寫(xiě)實(shí)例程序提供指導(dǎo)。實(shí)例程序提供指導(dǎo)。5.5.應(yīng)用方案設(shè)計(jì)。應(yīng)用方案設(shè)計(jì)。為學(xué)生提供應(yīng)用程序的設(shè)計(jì)為學(xué)生提供應(yīng)用程序的設(shè)計(jì)方案,可從中選擇,運(yùn)用方案,可從中選擇,運(yùn)用c/os-iic/os-ii提供的環(huán)提供的環(huán)境開(kāi)發(fā)生成自己的實(shí)時(shí)應(yīng)用程序。境開(kāi)發(fā)生成自己的實(shí)時(shí)應(yīng)用程序
23、。1、嵌入式軟件系統(tǒng)、嵌入式軟件系統(tǒng) n軟件與嵌入式軟件軟件與嵌入式軟件 n嵌入式軟件體系結(jié)構(gòu)嵌入式軟件體系結(jié)構(gòu) 軟件與嵌入式軟件軟件與嵌入式軟件n嵌入式軟件分為系統(tǒng)軟件、支撐軟件和應(yīng)用軟件。嵌入式軟件分為系統(tǒng)軟件、支撐軟件和應(yīng)用軟件。n系統(tǒng)軟件:控制、管理計(jì)算機(jī)系統(tǒng)資源。如:嵌入系統(tǒng)軟件:控制、管理計(jì)算機(jī)系統(tǒng)資源。如:嵌入式操作系統(tǒng)、嵌入式中間件(式操作系統(tǒng)、嵌入式中間件(corbacorba、javajava)等)等n支撐軟件:輔助軟件開(kāi)發(fā)的工具。如:系統(tǒng)分析設(shè)支撐軟件:輔助軟件開(kāi)發(fā)的工具。如:系統(tǒng)分析設(shè)計(jì)工具、仿真開(kāi)發(fā)工具、交叉開(kāi)發(fā)工具、測(cè)試工具、計(jì)工具、仿真開(kāi)發(fā)工具、交叉開(kāi)發(fā)工具、測(cè)試
24、工具、配置管理工具、維護(hù)工具等。配置管理工具、維護(hù)工具等。n應(yīng)用軟件:面向應(yīng)用領(lǐng)域。如:手機(jī)軟件、路由器應(yīng)用軟件:面向應(yīng)用領(lǐng)域。如:手機(jī)軟件、路由器軟件、交換機(jī)軟件、飛控軟件等。軟件、交換機(jī)軟件、飛控軟件等。n運(yùn)行平臺(tái)來(lái)分,嵌入式軟件可以分為運(yùn)行平臺(tái)來(lái)分,嵌入式軟件可以分為n運(yùn)行在開(kāi)發(fā)平臺(tái)上的軟件:設(shè)計(jì)、開(kāi)發(fā)、測(cè)運(yùn)行在開(kāi)發(fā)平臺(tái)上的軟件:設(shè)計(jì)、開(kāi)發(fā)、測(cè)試工具等。試工具等。n運(yùn)行在嵌入式系統(tǒng)上的軟件:嵌入式操作系運(yùn)行在嵌入式系統(tǒng)上的軟件:嵌入式操作系統(tǒng)、應(yīng)用程序、驅(qū)動(dòng)程序及部分開(kāi)發(fā)工具。統(tǒng)、應(yīng)用程序、驅(qū)動(dòng)程序及部分開(kāi)發(fā)工具。 嵌入式軟件體系結(jié)構(gòu)嵌入式軟件體系結(jié)構(gòu)n驅(qū)動(dòng)層驅(qū)動(dòng)層n操作系統(tǒng)層操作系統(tǒng)層
25、n中間件層中間件層n應(yīng)用層應(yīng)用層 驅(qū)動(dòng)層驅(qū)動(dòng)層n驅(qū)動(dòng)層是直接與硬件的交互層,對(duì)操作系統(tǒng)和驅(qū)動(dòng)層是直接與硬件的交互層,對(duì)操作系統(tǒng)和應(yīng)用提供驅(qū)動(dòng)支持。該層主要包括三種類型的應(yīng)用提供驅(qū)動(dòng)支持。該層主要包括三種類型的程序:程序:n板級(jí)初始化程序:嵌入式系統(tǒng)上電后初始化系統(tǒng)的板級(jí)初始化程序:嵌入式系統(tǒng)上電后初始化系統(tǒng)的硬件環(huán)境,包括嵌入式微處理器、存儲(chǔ)器、中斷控硬件環(huán)境,包括嵌入式微處理器、存儲(chǔ)器、中斷控制器、制器、dma、定時(shí)器等的初始化。、定時(shí)器等的初始化。 n與系統(tǒng)軟件相關(guān)的驅(qū)動(dòng):操作系統(tǒng)和中間件等系統(tǒng)與系統(tǒng)軟件相關(guān)的驅(qū)動(dòng):操作系統(tǒng)和中間件等系統(tǒng)軟件所需的驅(qū)動(dòng)程序。軟件所需的驅(qū)動(dòng)程序。n與應(yīng)用軟件
26、相關(guān)的驅(qū)動(dòng):應(yīng)用軟件相關(guān)的驅(qū)動(dòng)不一與應(yīng)用軟件相關(guān)的驅(qū)動(dòng):應(yīng)用軟件相關(guān)的驅(qū)動(dòng)不一定需要與操作系統(tǒng)連接,這些驅(qū)動(dòng)的設(shè)計(jì)和開(kāi)發(fā)由定需要與操作系統(tǒng)連接,這些驅(qū)動(dòng)的設(shè)計(jì)和開(kāi)發(fā)由應(yīng)用決定。應(yīng)用決定。操作系統(tǒng)層操作系統(tǒng)層n操作系統(tǒng)層包括嵌入式內(nèi)核、嵌入式操作系統(tǒng)層包括嵌入式內(nèi)核、嵌入式tcp/ip網(wǎng)絡(luò)系統(tǒng)、嵌入式文件系統(tǒng)、嵌入式網(wǎng)絡(luò)系統(tǒng)、嵌入式文件系統(tǒng)、嵌入式gui系系統(tǒng)和電源管理等部分。統(tǒng)和電源管理等部分。n嵌入式內(nèi)核:內(nèi)核是嵌入式操作系統(tǒng)的必備基礎(chǔ)。嵌入式內(nèi)核:內(nèi)核是嵌入式操作系統(tǒng)的必備基礎(chǔ)。提供任務(wù)管理、內(nèi)存管理、通信、同步與互斥機(jī)提供任務(wù)管理、內(nèi)存管理、通信、同步與互斥機(jī)制、中斷管理、時(shí)間管理及任務(wù)
27、擴(kuò)展等功能制、中斷管理、時(shí)間管理及任務(wù)擴(kuò)展等功能 嵌入式操作系統(tǒng)體系結(jié)構(gòu)嵌入式操作系統(tǒng)體系結(jié)構(gòu) 硬件硬件基本進(jìn)程管理基本進(jìn)程管理虛存管理虛存管理i/oi/o和設(shè)備管理和設(shè)備管理進(jìn)程間通信進(jìn)程間通信文件系統(tǒng)文件系統(tǒng)用戶用戶用戶模式用戶模式內(nèi)核模式內(nèi)核模式中間件層中間件層n復(fù)雜的嵌入式系統(tǒng)中也開(kāi)始采用中間件技術(shù),主要包括復(fù)雜的嵌入式系統(tǒng)中也開(kāi)始采用中間件技術(shù),主要包括嵌入式嵌入式corba、嵌入式、嵌入式j(luò)ava、嵌入式、嵌入式dcom和面向應(yīng)和面向應(yīng)用領(lǐng)域的中間件軟件。用領(lǐng)域的中間件軟件。n為解決分布異構(gòu)問(wèn)題,提出中間件為解決分布異構(gòu)問(wèn)題,提出中間件(middleware)的概的概念。中間件是位
28、于平臺(tái)念。中間件是位于平臺(tái)(硬件和操作系統(tǒng)硬件和操作系統(tǒng))和應(yīng)用之間的和應(yīng)用之間的通用服務(wù),這些服務(wù)具有標(biāo)準(zhǔn)的程序接口和協(xié)議。針對(duì)通用服務(wù),這些服務(wù)具有標(biāo)準(zhǔn)的程序接口和協(xié)議。針對(duì)不同的操作系統(tǒng)和硬件平臺(tái),它們可以有符合接口和協(xié)不同的操作系統(tǒng)和硬件平臺(tái),它們可以有符合接口和協(xié)議規(guī)范的多種實(shí)現(xiàn)。議規(guī)范的多種實(shí)現(xiàn)。 應(yīng)用層應(yīng)用層n應(yīng)用程序劃分為若干應(yīng)用任務(wù)應(yīng)用程序劃分為若干應(yīng)用任務(wù)n每個(gè)應(yīng)用任務(wù)完成特定的工作,如每個(gè)應(yīng)用任務(wù)完成特定的工作,如i/o任務(wù)、計(jì)算任務(wù)、通信任務(wù)等任務(wù)、計(jì)算任務(wù)、通信任務(wù)等n由操作系統(tǒng)按照搶占優(yōu)先級(jí)調(diào)度策略調(diào)由操作系統(tǒng)按照搶占優(yōu)先級(jí)調(diào)度策略調(diào)度各個(gè)任務(wù)的運(yùn)行。度各個(gè)任務(wù)的運(yùn)
29、行?;趦?nèi)核的嵌入式應(yīng)用程序結(jié)構(gòu)基于內(nèi)核的嵌入式應(yīng)用程序結(jié)構(gòu)n嵌入式實(shí)時(shí)內(nèi)核嵌入式實(shí)時(shí)內(nèi)核內(nèi)核運(yùn)行機(jī)制內(nèi)核運(yùn)行機(jī)制n應(yīng)用代碼應(yīng)用代碼調(diào)用內(nèi)核接口調(diào)用內(nèi)核接口n兩級(jí)代碼完成編譯連接兩級(jí)代碼完成編譯連接n生成可執(zhí)行程序生成可執(zhí)行程序n在宿主機(jī)在宿主機(jī)pc機(jī)上運(yùn)行機(jī)上運(yùn)行嵌入式實(shí)時(shí)內(nèi)核基礎(chǔ)核心概念嵌入式實(shí)時(shí)內(nèi)核基礎(chǔ)核心概念n多任務(wù)運(yùn)行多任務(wù)運(yùn)行n任務(wù)的優(yōu)先級(jí)任務(wù)的優(yōu)先級(jí)n搶占式優(yōu)先級(jí)調(diào)度搶占式優(yōu)先級(jí)調(diào)度n任務(wù)間通信機(jī)制任務(wù)間通信機(jī)制n任務(wù)中的時(shí)間管理機(jī)制任務(wù)中的時(shí)間管理機(jī)制嵌入式實(shí)時(shí)內(nèi)核的多任務(wù)管理嵌入式實(shí)時(shí)內(nèi)核的多任務(wù)管理n多任務(wù)并發(fā)運(yùn)行多任務(wù)并發(fā)運(yùn)行n優(yōu)先級(jí)最高的就緒任務(wù)運(yùn)行優(yōu)先級(jí)最高的就緒任務(wù)
30、運(yùn)行n運(yùn)行權(quán)按優(yōu)先級(jí)搶占運(yùn)行權(quán)按優(yōu)先級(jí)搶占n每個(gè)任務(wù)的運(yùn)行是死循環(huán)每個(gè)任務(wù)的運(yùn)行是死循環(huán)任務(wù)的優(yōu)先級(jí)任務(wù)的優(yōu)先級(jí)n任務(wù)創(chuàng)建時(shí)確定優(yōu)先級(jí)任務(wù)創(chuàng)建時(shí)確定優(yōu)先級(jí)n優(yōu)先級(jí)由優(yōu)先數(shù)表示優(yōu)先級(jí)由優(yōu)先數(shù)表示n優(yōu)先數(shù)優(yōu)先數(shù)063搶占式優(yōu)先級(jí)調(diào)度搶占式優(yōu)先級(jí)調(diào)度n內(nèi)核采用的調(diào)度算法:搶占式優(yōu)先內(nèi)核采用的調(diào)度算法:搶占式優(yōu)先級(jí)調(diào)度級(jí)調(diào)度n每個(gè)任務(wù)有一個(gè)唯一優(yōu)先數(shù)每個(gè)任務(wù)有一個(gè)唯一優(yōu)先數(shù)n優(yōu)先數(shù)小優(yōu)先級(jí)高優(yōu)先數(shù)小優(yōu)先級(jí)高n一旦優(yōu)先級(jí)高任務(wù)就緒,立即進(jìn)行任一旦優(yōu)先級(jí)高任務(wù)就緒,立即進(jìn)行任務(wù)調(diào)度務(wù)調(diào)度任務(wù)間通信機(jī)制任務(wù)間通信機(jī)制n任務(wù)間通信機(jī)制任務(wù)間通信機(jī)制n并發(fā)執(zhí)行的任務(wù)需要使用互斥資源并發(fā)執(zhí)行的任務(wù)需要使用互斥資源
31、n并發(fā)執(zhí)行的任務(wù)需要傳遞信息,完成并發(fā)執(zhí)行的任務(wù)需要傳遞信息,完成合作。合作。n解決由于任務(wù)優(yōu)先級(jí)引發(fā)的問(wèn)題解決由于任務(wù)優(yōu)先級(jí)引發(fā)的問(wèn)題時(shí)間管理機(jī)制時(shí)間管理機(jī)制n任務(wù)中的時(shí)間管理機(jī)制任務(wù)中的時(shí)間管理機(jī)制n必須令任務(wù)自主睡眠若干時(shí)間n必須控制任務(wù)的執(zhí)行頻率n通過(guò)時(shí)間延遲控制任務(wù)自主睡眠2 2、嵌入式實(shí)時(shí)、嵌入式實(shí)時(shí)c/os-iic/os-ii內(nèi)核模塊接口內(nèi)核模塊接口 n核心雜項(xiàng)模塊核心雜項(xiàng)模塊n任務(wù)管理模塊任務(wù)管理模塊n消息隊(duì)列模塊消息隊(duì)列模塊n信號(hào)量模塊信號(hào)量模塊n消息郵箱模塊消息郵箱模塊n時(shí)間管理模塊時(shí)間管理模塊n互斥信號(hào)量模塊互斥信號(hào)量模塊n內(nèi)存管理模塊內(nèi)存管理模塊n事件標(biāo)志模塊事件標(biāo)志模
32、塊c/os-iic/os-ii內(nèi)核源代碼結(jié)構(gòu)內(nèi)核源代碼結(jié)構(gòu)nsoftware/ c/os-ii/source下:下:n#include softwareucos-iisourceos_core.cn#include softwareucos-iisourceos_flag.cn#include softwareucos-iisourceos_mbox.cn#include softwareucos-iisourceos_mem.cn#include softwareucos-iisourceos_mutex.cn#include softwareucos-iisourceos_q.cn#inc
33、lude softwareucos-iisourceos_sem.cn#include softwareucos-iisourceos_task.cn#include softwareucos-iisourceos_time.c內(nèi)核模塊及核心技術(shù)內(nèi)核模塊及核心技術(shù)n核心雜項(xiàng)模塊:實(shí)現(xiàn)臨界區(qū)管理核心雜項(xiàng)模塊:實(shí)現(xiàn)臨界區(qū)管理n任務(wù)管理模塊:實(shí)現(xiàn)任務(wù)管理任務(wù)管理模塊:實(shí)現(xiàn)任務(wù)管理n時(shí)間管理模塊:實(shí)現(xiàn)時(shí)間及中斷管理時(shí)間管理模塊:實(shí)現(xiàn)時(shí)間及中斷管理n消息隊(duì)列模塊:任務(wù)間傳遞多個(gè)消息消息隊(duì)列模塊:任務(wù)間傳遞多個(gè)消息n信號(hào)量模塊:任務(wù)實(shí)現(xiàn)信號(hào)量及其申請(qǐng)釋放信號(hào)量模塊:任務(wù)實(shí)現(xiàn)信號(hào)量及其申請(qǐng)釋放n消息郵箱模塊
34、:任務(wù)間傳遞一個(gè)消息消息郵箱模塊:任務(wù)間傳遞一個(gè)消息n互斥信號(hào)量模塊:解決優(yōu)先級(jí)反轉(zhuǎn)互斥信號(hào)量模塊:解決優(yōu)先級(jí)反轉(zhuǎn)n內(nèi)存管理模塊:內(nèi)存塊的分配回收內(nèi)存管理模塊:內(nèi)存塊的分配回收核心雜項(xiàng)模塊:臨界區(qū)的實(shí)現(xiàn)核心雜項(xiàng)模塊:臨界區(qū)的實(shí)現(xiàn)n并發(fā)運(yùn)行任務(wù)需要實(shí)現(xiàn)臨界區(qū)。并發(fā)運(yùn)行任務(wù)需要實(shí)現(xiàn)臨界區(qū)。n臨界區(qū)必須通過(guò)關(guān)中斷開(kāi)中斷實(shí)現(xiàn)。關(guān)中臨界區(qū)必須通過(guò)關(guān)中斷開(kāi)中斷實(shí)現(xiàn)。關(guān)中斷時(shí)長(zhǎng)是實(shí)時(shí)系統(tǒng)的重要指標(biāo),越短越好。斷時(shí)長(zhǎng)是實(shí)時(shí)系統(tǒng)的重要指標(biāo),越短越好。n微處理器具有開(kāi)關(guān)中斷的指令,微處理器具有開(kāi)關(guān)中斷的指令,ucos_iiucos_ii用宏命令實(shí)現(xiàn)用宏命令實(shí)現(xiàn)n宏調(diào)用宏調(diào)用os_enter_criticalos_
35、enter_critical()實(shí)現(xiàn)進(jìn)入臨界區(qū)()實(shí)現(xiàn)進(jìn)入臨界區(qū)n宏調(diào)用宏調(diào)用os_exit_criticalos_exit_critical()實(shí)現(xiàn)退出臨界區(qū)()實(shí)現(xiàn)退出臨界區(qū)應(yīng)用示例應(yīng)用示例os_enter_critical();pc_vectset(0 x08, ostickisr); /*install uc/os-iis clock tick isr*/pc_settickrate(os_ticks_per_sec); /*reprogram tick rate*/os_exit_critical();os_core.c中的系統(tǒng)函數(shù)中的系統(tǒng)函數(shù)nint8u os_tcbinit (i
36、nt8u prio, os_stk *ptos, os_stk *pbos, int16u id, int32u stk_size, void *pext, int16u opt)nvoid os_taskstat (void *pdata)nvoid os_taskidle (void *pdata)nvoid os_sched (void)nstatic void os_inittcblist (void)nstatic void os_inittaskstat (void)nstatic void os_inittaskidle (void)nstatic void os_initrdy
37、list (void)nstatic void os_initmisc (void)nstatic void os_initeventlist (void)nvoid os_eventwaitlistinit (os_event *pevent)nvoid os_eventto (os_event *pevent)nvoid os_eventtaskwait (os_event *pevent)nint8u os_eventtaskrdy (os_event *pevent, void *msg, int8u msk)nvoid os_dummy (void)nint16u osversion
38、 (void)nvoid ostimetick (void)nvoid osstatinit (void)nvoid osstart (void)nvoid osschedunlock (void)nvoid osschedlock (void)nvoid osintexit (void)nvoid osintenter (void)nvoid osinit (void)任務(wù)管理與調(diào)度任務(wù)管理與調(diào)度n可將應(yīng)用分解為多個(gè)并發(fā)任務(wù)。可將應(yīng)用分解為多個(gè)并發(fā)任務(wù)。n每個(gè)任務(wù)是一個(gè)獨(dú)立的執(zhí)行線程,應(yīng)用代碼每個(gè)任務(wù)是一個(gè)獨(dú)立的執(zhí)行線程,應(yīng)用代碼中以函數(shù)為單位實(shí)現(xiàn)??梢耘c其它的并發(fā)任中以函數(shù)為單位實(shí)現(xiàn)。可以
39、與其它的并發(fā)任務(wù)競(jìng)爭(zhēng)處理機(jī)時(shí)間。務(wù)競(jìng)爭(zhēng)處理機(jī)時(shí)間。n每個(gè)任務(wù)都是可調(diào)度的,根據(jù)預(yù)定的搶占式每個(gè)任務(wù)都是可調(diào)度的,根據(jù)預(yù)定的搶占式優(yōu)先級(jí)調(diào)度算法競(jìng)爭(zhēng)系統(tǒng)的執(zhí)行時(shí)間。優(yōu)先級(jí)調(diào)度算法競(jìng)爭(zhēng)系統(tǒng)的執(zhí)行時(shí)間。 任務(wù)管理任務(wù)管理 n可以通過(guò)創(chuàng)建、刪除、睡眠、喚醒、改變優(yōu)先級(jí)、可以通過(guò)創(chuàng)建、刪除、睡眠、喚醒、改變優(yōu)先級(jí)、發(fā)送或等待事件等操作對(duì)任務(wù)進(jìn)行管理。發(fā)送或等待事件等操作對(duì)任務(wù)進(jìn)行管理。n創(chuàng)建任務(wù)時(shí),給任務(wù)提供一個(gè)名字、一個(gè)唯一的創(chuàng)建任務(wù)時(shí),給任務(wù)提供一個(gè)名字、一個(gè)唯一的id、一個(gè)優(yōu)先級(jí)、一個(gè)任務(wù)控制塊、一個(gè)堆棧、一個(gè)優(yōu)先級(jí)、一個(gè)任務(wù)控制塊、一個(gè)堆棧和一個(gè)任務(wù)函數(shù)代碼,這些內(nèi)容構(gòu)成任務(wù)對(duì)象和一個(gè)任務(wù)函數(shù)代
40、碼,這些內(nèi)容構(gòu)成任務(wù)對(duì)象 。任務(wù)管理任務(wù)管理task.c中的系統(tǒng)函數(shù)中的系統(tǒng)函數(shù)nostaskchangeprio():改變優(yōu)先級(jí):改變優(yōu)先級(jí)nostaskcreate():任務(wù)創(chuàng)建:任務(wù)創(chuàng)建nostaskcreateext():任務(wù)創(chuàng)建:任務(wù)創(chuàng)建nostaskdel():任務(wù)刪除:任務(wù)刪除nostaskdelreq():任務(wù)刪除請(qǐng)求:任務(wù)刪除請(qǐng)求nostaskresume():任務(wù)恢復(fù):任務(wù)恢復(fù)nostaskstkchk():任務(wù)堆棧檢查:任務(wù)堆棧檢查nostasksuspend():任務(wù)掛起:任務(wù)掛起nostaskquery():任務(wù)查詢:任務(wù)查詢?nèi)蝿?wù)的調(diào)度算法任務(wù)的調(diào)度算法 n嵌入式操作
41、系統(tǒng)多采用基于嵌入式操作系統(tǒng)多采用基于靜態(tài)優(yōu)先級(jí)靜態(tài)優(yōu)先級(jí)的可搶占式調(diào)度的可搶占式調(diào)度。n任務(wù)優(yōu)先級(jí)是在運(yùn)行前在任務(wù)創(chuàng)建時(shí)靜任務(wù)優(yōu)先級(jí)是在運(yùn)行前在任務(wù)創(chuàng)建時(shí)靜態(tài)分配完成,開(kāi)始運(yùn)行時(shí),一旦有優(yōu)先態(tài)分配完成,開(kāi)始運(yùn)行時(shí),一旦有優(yōu)先級(jí)更高的任務(wù)就緒,就馬上進(jìn)行調(diào)度級(jí)更高的任務(wù)就緒,就馬上進(jìn)行調(diào)度 。n函數(shù)源代碼如下:參見(jiàn)源文件函數(shù)源代碼如下:參見(jiàn)源文件core.cvoid osstart (void) int8u y; int8u x; if (osrunning = false) y = osunmaptblosrdygrp; /* find highest prioritys task prio
42、rity number */ x = osunmaptblosrdytbly; ospriohighrdy = (int8u)(y ostcbstkptr=sp;4.清中斷源;清中斷源;5.重新開(kāi)中斷;重新開(kāi)中斷;6.執(zhí)行用戶代碼做中斷服務(wù)執(zhí)行用戶代碼做中斷服務(wù); 7.調(diào)用調(diào)用osintexit();8.恢復(fù)所有恢復(fù)所有cpu寄存器;寄存器;9.執(zhí)行中斷返回指令;執(zhí)行中斷返回指令;時(shí)間管理模塊時(shí)間管理模塊n時(shí)鐘節(jié)拍是特定的周期性中斷。中斷時(shí)時(shí)鐘節(jié)拍是特定的周期性中斷。中斷時(shí)間間隔取決于不同的應(yīng)用。間間隔取決于不同的應(yīng)用。nc/os-ii需要提供周期性信號(hào)源,用于需要提供周期性信號(hào)源,用于實(shí)現(xiàn)時(shí)
43、間延遲和超時(shí)確認(rèn)(時(shí)間為節(jié)拍實(shí)現(xiàn)時(shí)間延遲和超時(shí)確認(rèn)(時(shí)間為節(jié)拍的整數(shù)倍)。的整數(shù)倍)。 時(shí)間管理功能時(shí)間管理功能 n嵌入式系統(tǒng)中,系統(tǒng)任務(wù)和用戶任務(wù)經(jīng)嵌入式系統(tǒng)中,系統(tǒng)任務(wù)和用戶任務(wù)經(jīng)常要隨著時(shí)間進(jìn)行調(diào)度和執(zhí)行。常要隨著時(shí)間進(jìn)行調(diào)度和執(zhí)行。n任務(wù)的執(zhí)行時(shí)間、任務(wù)的掛起時(shí)間、時(shí)任務(wù)的執(zhí)行時(shí)間、任務(wù)的掛起時(shí)間、時(shí)鐘節(jié)拍等等與時(shí)間相關(guān)聯(lián)的數(shù)據(jù)是控制鐘節(jié)拍等等與時(shí)間相關(guān)聯(lián)的數(shù)據(jù)是控制實(shí)時(shí)系統(tǒng)的關(guān)鍵參數(shù)實(shí)時(shí)系統(tǒng)的關(guān)鍵參數(shù) 時(shí)鐘管理時(shí)鐘管理time.c中的系統(tǒng)函數(shù)中的系統(tǒng)函數(shù)nostimedly()nostimedlyhmsm()nostimedlyresume()nostimeget()nostimes
44、et()nostimetick()任務(wù)間同步、互斥與通信及其實(shí)現(xiàn)任務(wù)間同步、互斥與通信及其實(shí)現(xiàn)n嵌入式系統(tǒng)中使用任務(wù)間原語(yǔ)實(shí)現(xiàn)任務(wù)嵌入式系統(tǒng)中使用任務(wù)間原語(yǔ)實(shí)現(xiàn)任務(wù)的同步和通信,稱為事件機(jī)制,一般包的同步和通信,稱為事件機(jī)制,一般包括:括:n信號(hào)量信號(hào)量n消息郵箱消息郵箱n消息隊(duì)列消息隊(duì)列n互斥信號(hào)量互斥信號(hào)量n事件標(biāo)志組事件標(biāo)志組事件事件 n在嵌入式實(shí)時(shí)內(nèi)核中,事件是指一種表明預(yù)在嵌入式實(shí)時(shí)內(nèi)核中,事件是指一種表明預(yù)先定義的系統(tǒng)事件已經(jīng)發(fā)生的機(jī)制。一個(gè)事先定義的系統(tǒng)事件已經(jīng)發(fā)生的機(jī)制。一個(gè)事件就是一個(gè)標(biāo)志,不具備其它信息。件就是一個(gè)標(biāo)志,不具備其它信息。n用于實(shí)現(xiàn)任務(wù)間的互斥和同步關(guān)系控制。
45、用于實(shí)現(xiàn)任務(wù)間的互斥和同步關(guān)系控制。n事件機(jī)制用于任務(wù)與任務(wù)之間、任務(wù)與事件機(jī)制用于任務(wù)與任務(wù)之間、任務(wù)與isr之間的同步。之間的同步。 用于支持后續(xù)具體同步機(jī)制。用于支持后續(xù)具體同步機(jī)制。事件控制塊事件控制塊ecbn事件本身的定義事件本身的定義n用于信號(hào)量的計(jì)數(shù)器用于信號(hào)量的計(jì)數(shù)器n用于指向郵箱的指針用于指向郵箱的指針n指向消息隊(duì)列的指針數(shù)組指向消息隊(duì)列的指針數(shù)組n等待該事件的所有任務(wù)的列表等待該事件的所有任務(wù)的列表 typedef struct void *oseventptr; /* 指向消息或者消息隊(duì)列的指針指向消息或者消息隊(duì)列的指針 */ int8u oseventtblos_eve
46、nt_tbl_size; /* 等待任務(wù)表等待任務(wù)表 */ int16u oseventcnt; /* 計(jì)數(shù)器計(jì)數(shù)器(當(dāng)事件是信號(hào)量時(shí)當(dāng)事件是信號(hào)量時(shí)) */ int8u oseventtype; /* 時(shí)間類型時(shí)間類型 */ int8u oseventgrp; /* 等待任務(wù)所在的組等待任務(wù)所在的組 */ os_event;事件的功能函數(shù)事件的功能函數(shù)n初始化一個(gè)事件控制塊,初始化一個(gè)事件控制塊,oseventwaitlistinit( )n使一個(gè)任務(wù)進(jìn)入就緒態(tài),使一個(gè)任務(wù)進(jìn)入就緒態(tài),oseventtaskrdy( ) n使一個(gè)任務(wù)進(jìn)入等待某事件發(fā)生狀態(tài)使一個(gè)任務(wù)進(jìn)入等待某事件發(fā)生狀態(tài), o
47、seventtaskwait( ) n由于等待超時(shí)而將任務(wù)置為就緒態(tài)由于等待超時(shí)而將任務(wù)置為就緒態(tài), oseventto( ) 信號(hào)量信號(hào)量 n在實(shí)時(shí)操作系統(tǒng)中,根據(jù)信號(hào)量的值,在實(shí)時(shí)操作系統(tǒng)中,根據(jù)信號(hào)量的值,內(nèi)核可以管理等待使用信號(hào)量的任務(wù)。內(nèi)核可以管理等待使用信號(hào)量的任務(wù)。n一般來(lái)說(shuō),操作系統(tǒng)對(duì)信號(hào)量提供初始一般來(lái)說(shuō),操作系統(tǒng)對(duì)信號(hào)量提供初始化、等待信號(hào)、發(fā)送信號(hào)等操作。就是化、等待信號(hào)、發(fā)送信號(hào)等操作。就是創(chuàng)建信號(hào)量、獲?。ㄉ暾?qǐng))信號(hào)量、釋創(chuàng)建信號(hào)量、獲?。ㄉ暾?qǐng))信號(hào)量、釋放信號(hào)量、刪除信號(hào)量、獲取有關(guān)信號(hào)放信號(hào)量、刪除信號(hào)量、獲取有關(guān)信號(hào)量的各種信息等操作。量的各種信息等操作。nc/
48、os-ii中的信號(hào)量由兩部分組成:中的信號(hào)量由兩部分組成:n一個(gè)是信號(hào)量的計(jì)數(shù)值,它是一個(gè)一個(gè)是信號(hào)量的計(jì)數(shù)值,它是一個(gè)16位的位的無(wú)符號(hào)整數(shù)(無(wú)符號(hào)整數(shù)(0 到到65,535之間);之間);n另一個(gè)是由等待該信號(hào)量的任務(wù)組成的等待另一個(gè)是由等待該信號(hào)量的任務(wù)組成的等待任務(wù)表。用戶要在任務(wù)表。用戶要在os_cfg.h中將中將os_sem_en開(kāi)關(guān)量常數(shù)置成開(kāi)關(guān)量常數(shù)置成1, 信號(hào)量如何創(chuàng)建信號(hào)量如何創(chuàng)建n調(diào)用調(diào)用ossemcreate( )函數(shù),對(duì)信號(hào)量函數(shù),對(duì)信號(hào)量初始計(jì)數(shù)值賦值。該初始值為初始計(jì)數(shù)值賦值。該初始值為0到到65,535之間的一個(gè)數(shù)。之間的一個(gè)數(shù)。n信號(hào)量用來(lái)表示一個(gè)或者多個(gè)事
49、件的發(fā)生,信號(hào)量用來(lái)表示一個(gè)或者多個(gè)事件的發(fā)生,初始值應(yīng)設(shè)為初始值應(yīng)設(shè)為0。n信號(hào)量用于對(duì)互斥資源的訪問(wèn),初始值應(yīng)設(shè)信號(hào)量用于對(duì)互斥資源的訪問(wèn),初始值應(yīng)設(shè)為為1。n信號(hào)量用來(lái)表示允許任務(wù)訪問(wèn)信號(hào)量用來(lái)表示允許任務(wù)訪問(wèn)n個(gè)相同的互個(gè)相同的互斥資源,初始值應(yīng)該是斥資源,初始值應(yīng)該是n。nc/os-ii提供了提供了5個(gè)對(duì)信號(hào)量操作的函數(shù)。個(gè)對(duì)信號(hào)量操作的函數(shù)。nossemcreate()nossempend()/*等待一個(gè)信號(hào)量等待一個(gè)信號(hào)量*/nossempost()/*發(fā)送一個(gè)信號(hào)量發(fā)送一個(gè)信號(hào)量 */nossemaccept() /*無(wú)等待請(qǐng)求一個(gè)信號(hào)量無(wú)等待請(qǐng)求一個(gè)信號(hào)量 */nossemq
50、uery() /*查詢信號(hào)量當(dāng)前狀態(tài)查詢信號(hào)量當(dāng)前狀態(tài) */nossempost()函數(shù)可由任務(wù)或中斷服務(wù)子函數(shù)可由任務(wù)或中斷服務(wù)子程序代碼調(diào)用,程序代碼調(diào)用,nossempend()和和ossemquery()函數(shù)只能函數(shù)只能由任務(wù)代碼調(diào)用由任務(wù)代碼調(diào)用 。信號(hào)量管理信號(hào)量管理os_sem.c中的系統(tǒng)函數(shù)中的系統(tǒng)函數(shù)nossemaccept()nossemcreate()nossempend()nossempost()nossemquery()消息郵箱消息郵箱 n郵箱是郵箱是c/os-ii中另一種通訊機(jī)制,它可以中另一種通訊機(jī)制,它可以使一個(gè)任務(wù)或者中斷服務(wù)子程序向另一個(gè)任使一個(gè)任務(wù)或者中斷
51、服務(wù)子程序向另一個(gè)任務(wù)發(fā)送一個(gè)指針型的變量。該指針指向一個(gè)務(wù)發(fā)送一個(gè)指針型的變量。該指針指向一個(gè)包含了特定包含了特定“消息消息”的數(shù)據(jù)結(jié)構(gòu)。的數(shù)據(jù)結(jié)構(gòu)。 nc/os-ii提供了提供了5種對(duì)郵箱的操作函數(shù):種對(duì)郵箱的操作函數(shù):osmboxcreate(),osmboxpend(),osmboxpost(),osmboxaccept(),osmboxquery()函數(shù)函數(shù) 操作函數(shù)及其參數(shù)操作函數(shù)及其參數(shù)os_event *osmboxcreate (void *msg) void *osmboxpend (os_event *pevent, int16u timeout, int8u *err)
52、 int8u osmboxpost (os_event *pevent, void *msg) void *osmboxaccept (os_event *pevent) int8u osmboxquery (os_event *pevent, os_mbox_data *pdata) 消息郵箱消息郵箱os_mbox.c中的系統(tǒng)函數(shù)中的系統(tǒng)函數(shù)nosmboxaccept()nosmboxcreate()nosmboxpend()nosmboxpost()nosmboxquery()消息隊(duì)列消息隊(duì)列n消息隊(duì)列是消息隊(duì)列是c/os-ii中另一種通訊機(jī)制,中另一種通訊機(jī)制,它可以使一個(gè)任務(wù)或者中斷服
53、務(wù)子程序它可以使一個(gè)任務(wù)或者中斷服務(wù)子程序向另一個(gè)任務(wù)發(fā)送多個(gè)指針變量。向另一個(gè)任務(wù)發(fā)送多個(gè)指針變量。 n在使用一個(gè)消息隊(duì)列之前,必須先建立在使用一個(gè)消息隊(duì)列之前,必須先建立該消息隊(duì)列。這可以通過(guò)調(diào)用該消息隊(duì)列。這可以通過(guò)調(diào)用osqcreate( )函數(shù),并定義消息隊(duì)列中函數(shù),并定義消息隊(duì)列中的單元數(shù)(消息數(shù))來(lái)完成。的單元數(shù)(消息數(shù))來(lái)完成。 c/os-ii消息隊(duì)列操作函數(shù)消息隊(duì)列操作函數(shù)nosqcreate()/*建立一個(gè)消息隊(duì)列建立一個(gè)消息隊(duì)列 */nosqpend()/*等待一個(gè)消息隊(duì)列中的消息等待一個(gè)消息隊(duì)列中的消息 */nosqpost()/*向消息隊(duì)列發(fā)送一個(gè)消息(向消息隊(duì)列發(fā)送
54、一個(gè)消息(fifo) */nosqpostfront()/*向消息隊(duì)列發(fā)送一個(gè)消息(后進(jìn)先出向消息隊(duì)列發(fā)送一個(gè)消息(后進(jìn)先出lifo) */nosqaccept()/*無(wú)等待地從一個(gè)消息隊(duì)列中取得消息無(wú)等待地從一個(gè)消息隊(duì)列中取得消息 */nosqflush()/*清空一個(gè)消息隊(duì)列清空一個(gè)消息隊(duì)列 */nosqquery() /*查詢一個(gè)消息隊(duì)列的狀態(tài)查詢一個(gè)消息隊(duì)列的狀態(tài) */消息隊(duì)列消息隊(duì)列os_q.c中的系統(tǒng)函數(shù)中的系統(tǒng)函數(shù)nosqaccept()nosqcreate()nosqflush()nosqpend()osqpost()nosqpostfront()nosqquery()內(nèi)存管理
55、和內(nèi)存管理和i/o管理管理n嵌入式操作系統(tǒng)的內(nèi)存管理比較簡(jiǎn)單,嵌入式操作系統(tǒng)的內(nèi)存管理比較簡(jiǎn)單,通常不采用虛擬存儲(chǔ)管理,而采用靜態(tài)通常不采用虛擬存儲(chǔ)管理,而采用靜態(tài)內(nèi)存分配和動(dòng)態(tài)內(nèi)存分配,內(nèi)存分配和動(dòng)態(tài)內(nèi)存分配,n固定大小內(nèi)存分配和可變大小內(nèi)存分配固定大小內(nèi)存分配和可變大小內(nèi)存分配相結(jié)合的管理方式。相結(jié)合的管理方式。 c/os-ii按分區(qū)來(lái)管理按分區(qū)來(lái)管理n每個(gè)分區(qū)中包含有整數(shù)個(gè)大小相同的內(nèi)存塊。每個(gè)分區(qū)中包含有整數(shù)個(gè)大小相同的內(nèi)存塊。nc/os-ii設(shè)計(jì)分配和釋放內(nèi)存塊函數(shù)可以分配設(shè)計(jì)分配和釋放內(nèi)存塊函數(shù)可以分配和釋放固定大小的內(nèi)存塊。和釋放固定大小的內(nèi)存塊。n分配和釋放內(nèi)存塊函數(shù)的執(zhí)行時(shí)間
56、也是固定的,分配和釋放內(nèi)存塊函數(shù)的執(zhí)行時(shí)間也是固定的,這樣確保實(shí)時(shí)內(nèi)核的系統(tǒng)性能。這樣確保實(shí)時(shí)內(nèi)核的系統(tǒng)性能。 內(nèi)存控制塊內(nèi)存控制塊n為了便于內(nèi)存的管理,在為了便于內(nèi)存的管理,在c/os-ii中使用內(nèi)存控制塊中使用內(nèi)存控制塊(memory control blocks)的數(shù)據(jù)結(jié)構(gòu)來(lái)跟蹤每一個(gè))的數(shù)據(jù)結(jié)構(gòu)來(lái)跟蹤每一個(gè)內(nèi)存分區(qū),系統(tǒng)中的每個(gè)內(nèi)存分區(qū)都有它自己的內(nèi)存內(nèi)存分區(qū),系統(tǒng)中的每個(gè)內(nèi)存分區(qū)都有它自己的內(nèi)存控制塊??刂茐K。 typedef struct void *osmemaddr; void *osmemfreelist; int32u osmemblksize; int32u osmemn
57、blks; int32u osmemnfree; os_mem;內(nèi)存的功能內(nèi)存的功能1.使用一個(gè)內(nèi)存分區(qū)之前,必須先建立該內(nèi)存使用一個(gè)內(nèi)存分區(qū)之前,必須先建立該內(nèi)存分區(qū)。調(diào)用分區(qū)。調(diào)用osmemcreate()函數(shù)完成。函數(shù)完成。2.應(yīng)用程序可以調(diào)用應(yīng)用程序可以調(diào)用osmemget()函數(shù)從已創(chuàng)函數(shù)從已創(chuàng)建的內(nèi)存分區(qū)中申請(qǐng)一個(gè)內(nèi)存塊。建的內(nèi)存分區(qū)中申請(qǐng)一個(gè)內(nèi)存塊。3.當(dāng)用戶應(yīng)用程序不再使用一個(gè)內(nèi)存塊時(shí),必當(dāng)用戶應(yīng)用程序不再使用一個(gè)內(nèi)存塊時(shí),必須及時(shí)釋放,并放回對(duì)應(yīng)內(nèi)存分區(qū)。調(diào)用須及時(shí)釋放,并放回對(duì)應(yīng)內(nèi)存分區(qū)。調(diào)用osmemput()函數(shù)完成。函數(shù)完成。 n在在c/os-ii 中,可以使用中,可
58、以使用osmemquery()函數(shù)來(lái)查詢一個(gè)特定內(nèi)存分區(qū)的有關(guān)消息:函數(shù)來(lái)查詢一個(gè)特定內(nèi)存分區(qū)的有關(guān)消息:n特定內(nèi)存分區(qū)中內(nèi)存塊的大小、特定內(nèi)存分區(qū)中內(nèi)存塊的大小、n可用內(nèi)存塊數(shù)可用內(nèi)存塊數(shù)n正在使用的內(nèi)存塊數(shù)等信息。正在使用的內(nèi)存塊數(shù)等信息。n所有這些信息都放在一個(gè)叫所有這些信息都放在一個(gè)叫os_mem_data的的數(shù)據(jù)結(jié)構(gòu)中數(shù)據(jù)結(jié)構(gòu)中 內(nèi)存塊管理內(nèi)存塊管理mem.c中的系統(tǒng)函數(shù)中的系統(tǒng)函數(shù)nosmemcreate()nosmemget()nosmemput()nosmemquery()nvoid os_meminit (void)i/o管理管理n所有的嵌入式系統(tǒng)都包括一些負(fù)責(zé)實(shí)現(xiàn)所有的嵌入
59、式系統(tǒng)都包括一些負(fù)責(zé)實(shí)現(xiàn)輸入輸出操作的模塊。這些輸入輸出操作的模塊。這些i/o操作運(yùn)操作運(yùn)行于不同類型的行于不同類型的i/o設(shè)備上,系統(tǒng)通過(guò)設(shè)備上,系統(tǒng)通過(guò)這些操作來(lái)控制這些操作來(lái)控制i/o設(shè)備的運(yùn)行。設(shè)備的運(yùn)行。n通常,設(shè)計(jì)一個(gè)嵌入式系統(tǒng)的目的就是通常,設(shè)計(jì)一個(gè)嵌入式系統(tǒng)的目的就是專門用來(lái)控制某些設(shè)備,并適應(yīng)該設(shè)備專門用來(lái)控制某些設(shè)備,并適應(yīng)該設(shè)備的特殊需求。的特殊需求。os_flag.c中的系統(tǒng)函數(shù)中的系統(tǒng)函數(shù)nos_flags osflagaccept (os_flag_grp *pgrp, os_flags flags, int8u wait_type, int8u *err)nos_
60、flag_grp *osflagcreate (os_flags flags, int8u *err)nos_flag_grp *osflagdel (os_flag_grp *pgrp, int8u opt, int8u *err)nos_flags osflagpend (os_flag_grp *pgrp, os_flags flags, int8u wait_type, int16u timeout, int8u *err)nos_flags osflagpost (os_flag_grp *pgrp, os_flags flags, int8u opt, int8u *err)c/o
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025-2030全球工業(yè)彩色標(biāo)簽打印機(jī)行業(yè)調(diào)研及趨勢(shì)分析報(bào)告
- 2025-2030全球嵌入式格柵熒光燈行業(yè)調(diào)研及趨勢(shì)分析報(bào)告
- 2025年全球及中國(guó)電腦鎮(zhèn)痛泵行業(yè)頭部企業(yè)市場(chǎng)占有率及排名調(diào)研報(bào)告
- 2025年全球及中國(guó)可編程玩具行業(yè)頭部企業(yè)市場(chǎng)占有率及排名調(diào)研報(bào)告
- 四川省宜賓市高三“二診”測(cè)試語(yǔ)文試題(含答案)
- 2025商場(chǎng)地產(chǎn)景區(qū)蛇年元宵節(jié)情人節(jié)發(fā)財(cái)(好巳花生主題)活動(dòng)策劃方案
- 物流協(xié)議合同
- 智能環(huán)保設(shè)備研發(fā)生產(chǎn)合同
- 2025委托代銷合同樣本新范文
- 三方消防工程合同
- 《聚焦客戶創(chuàng)造價(jià)值》課件
- 公安校園安全工作培訓(xùn)課件
- PTW-UNIDOS-E-放射劑量?jī)x中文說(shuō)明書(shū)
- 保險(xiǎn)學(xué)(第五版)課件全套 魏華林 第0-18章 緒論、風(fēng)險(xiǎn)與保險(xiǎn)- 保險(xiǎn)市場(chǎng)監(jiān)管、附章:社會(huì)保險(xiǎn)
- 許小年:淺析日本失去的30年-兼評(píng)“資產(chǎn)負(fù)債表衰退”
- 典范英語(yǔ)2b課文電子書(shū)
- 17~18世紀(jì)意大利歌劇探析
- β內(nèi)酰胺類抗生素與合理用藥
- 何以中國(guó):公元前2000年的中原圖景
- 第一章:公共政策理論模型
- GB/T 4513.7-2017不定形耐火材料第7部分:預(yù)制件的測(cè)定
評(píng)論
0/150
提交評(píng)論