版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
操作系統(tǒng)的基本功能:1、任務(wù)管理,2、內(nèi)存管理,3、文件管理,4、CPU管理5、I/O口設(shè)備管理。操作系統(tǒng)基本特征:1、多任務(wù)操作系統(tǒng),2、多級(jí)中斷機(jī)制,3、優(yōu)先級(jí)調(diào)度機(jī)制。任務(wù)的定義:程序的動(dòng)態(tài)表現(xiàn),在操作系統(tǒng)中體現(xiàn)為線程,是程序的一次執(zhí)行過程。任務(wù)的狀態(tài)有:1、睡眠態(tài),2、就緒態(tài),3、運(yùn)行態(tài),4、阻塞態(tài),5、掛起態(tài)。調(diào)度算法:根據(jù)系統(tǒng)資源的資源分配策略所規(guī)定的資源分配算法。有“短作業(yè)優(yōu)先算法”“輪轉(zhuǎn)法”事件:實(shí)時(shí)操作系統(tǒng)運(yùn)行過程中發(fā)生的重要事件事件處理對(duì)象:1、信號(hào)量,2、互斥信號(hào)量,3、事件標(biāo)志組,4、郵箱,5、消息隊(duì)列。信號(hào)量定義:資源是具體的顯示東西,把它數(shù)字化后,操作系統(tǒng)就便于管理這些資源。信號(hào)量的用法:1、建立,2、請(qǐng)求,3、釋放。互斥信號(hào)量:是一種特殊的信號(hào)量,該信號(hào)不僅是只用于互斥資源的訪問,還在于信號(hào)量管理需要解決的優(yōu)先級(jí)反轉(zhuǎn)問題?;コ庑盘?hào)量管理:取值0或1,只能有一個(gè)任務(wù)訪問的獨(dú)占資源,應(yīng)采用信號(hào)來管理,為了保證系統(tǒng)的定時(shí)性拒絕優(yōu)先級(jí)反轉(zhuǎn),對(duì)互斥信號(hào)量的管理,采用優(yōu)先級(jí)繼承機(jī)制。時(shí)鐘:是一種特定的周期性中斷,起“心臟”作用。時(shí)鐘節(jié)拍是周期性中斷,對(duì)應(yīng)的中斷服務(wù)程序成為時(shí)鐘滴答服務(wù)。中斷:在任務(wù)的執(zhí)行過程中,當(dāng)出現(xiàn)異常情況或特殊請(qǐng)求時(shí),停止任務(wù)的執(zhí)行,轉(zhuǎn)而對(duì)這些異?;蛱厥膺M(jìn)行處理,處理結(jié)束后返回當(dāng)前任務(wù)的中斷處。Uc/os內(nèi)存管理方法:Uc/os采用內(nèi)存控制塊管理內(nèi)存,內(nèi)存控制塊記錄了“內(nèi)存分區(qū)地址,分區(qū)內(nèi)存塊的大小和數(shù)量,空閑塊數(shù)量信息”。內(nèi)存管理含有:“內(nèi)存分區(qū)的創(chuàng)建,分配,釋放,使用和等待系統(tǒng)調(diào)用時(shí)間標(biāo)志節(jié)點(diǎn),.”事件標(biāo)志組管理的主要數(shù)據(jù)結(jié)構(gòu):包括“事件標(biāo)志組,(XX實(shí)體,XX列表,XX節(jié)點(diǎn)鏈表)?!庇脩粽{(diào)用兩個(gè)函數(shù)創(chuàng)建任務(wù),不允許用戶進(jìn)行修改,被稱為系統(tǒng)服務(wù)。用戶的程序以函數(shù)的形式由用戶編寫,為用戶函數(shù)。和操作系統(tǒng)的服務(wù)劃分了界限。Uc/os采用搶占式任務(wù)調(diào)度算法,所有信息保存在TCB中。任務(wù)就緒組是:為了查找高級(jí)優(yōu)先級(jí)的任務(wù)與正在運(yùn)行任務(wù)的優(yōu)先級(jí)進(jìn)行比較,以確定是否進(jìn)行切換。事件控制塊(ECB):是核心的數(shù)據(jù)結(jié)構(gòu),被頻繁訪問,定義出現(xiàn)在操作系統(tǒng)的頭文件ucos.h中承載了任務(wù)的相關(guān)信息。Typedefstructosevent{INT8U OSEventType; /*事件控制塊的類型*/Void *OSEventPtr; /*指向下一個(gè)ECB或消息隊(duì)列的指針*/INT16U OSEventCnt;/*信號(hào)量計(jì)數(shù)值,對(duì)除信號(hào)量意外其他事件無效*/OSPRIO OSEventGrp; /*事件等待組*/OSPRIO OSEventGbl[OSEVENTTBLSIZE]; /*等待事件的任務(wù)表*/INT8U*OSEventName; /*事件名稱*/}OSEVENT;移植步驟:1、使用開發(fā)軟件MDK4.70,為uc/os操作系統(tǒng)建立一個(gè)目錄,將系統(tǒng)的代碼復(fù)制到該目錄下,要有一個(gè)子目錄。2、在該目錄下創(chuàng)建工程。3、建立主程序main.c。4、對(duì)os_cpu.h說明,根據(jù)硬件修改os_cpu.h。5、修改os_cpu.c。6、編譯,下載,運(yùn)行信號(hào)量函數(shù)列表:NameDescriptionOsSemCreat創(chuàng)建一個(gè)信號(hào)量OsSemSet設(shè)置信號(hào)量值OsSemDel刪除一個(gè)信號(hào)量OsSemPend等待一個(gè)信號(hào)量OsSemAccept無等待請(qǐng)求信號(hào)OsSemPendAbort放棄等待信號(hào)量OsSemPost發(fā)出一個(gè)信號(hào)量OsSemQuery查詢一個(gè)信號(hào)量內(nèi)存管理函數(shù):NameDescriptionOSMemInit創(chuàng)建一個(gè)內(nèi)存分區(qū)OsMemCreate、OsSemCreat分配一個(gè)內(nèi)存塊,創(chuàng)建一個(gè)信號(hào)量OS_ENTER_CRITICAL(); //進(jìn)入臨界區(qū)(無法被中斷打斷) OSTaskCreate(TaskMessageSen,(void*)0,(OS_STK*)&MBOX_SEN_STK[MBOX_SEN_STK_SIZE-1],MBOX_SEN_PRIO); OSTaskCreate(TaskMessageRec,(void*)0,(OS_STK*)&MBOX_REC_STK[MBOX_REC_STK_SIZE-1],MBOX_REC_PRIO); OSTaskSuspend(START_TASK_PRIO); //掛起起始任務(wù). OS_EXIT_CRITICAL(); //退出臨界區(qū)(可以被中斷打斷)}voidTaskMessageSen(void*pParam){ INT32Uscount; scount=0;myMBox=OSMboxCreate(&scount); if(myMBox==(OS_EVENT*)0) { printf("時(shí)間:%d,TaskMessageSen創(chuàng)建郵箱失敗\n",OSTimeGet()); OSTaskDel(OS_PRIO_SELF); return; } printf("時(shí)間:%d,TaskMessageSen創(chuàng)建郵箱成功\n",OSTimeGet()); while(1) { OSTimeDly(100); scount++; printf("時(shí)間:%d,任務(wù)TaskMessageSen準(zhǔn)備發(fā)消息,消息為%d\n",OSTimeGet(),scount); OSMboxPost(myMBox,&scount); }}voidTaskMessageRec(void*pParam){ INT8U*perr; INT8Uerr; INT32U*prcount; perr=&err; err=OS_ERR_NONE; if(myMBox==(OS_EVENT*)0) { printf("時(shí)間:%d,TaskMessageRec判斷郵箱不存在!\n",OSTimeGet()); OSTaskDel(OS_PRIO_SELF); return; } prcount=(INT32U*)OSMboxPend(myMBox,0,perr); if(*perr==OS_ERR_NONE) printf("時(shí)間:%d,任
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 【-學(xué)案導(dǎo)學(xué)設(shè)計(jì)】2020-2021學(xué)年高中物理(人教版-選修3-1)第3章-第3節(jié)-課時(shí)作業(yè)
- 【名師一號(hào)】2020-2021學(xué)年高中地理新課標(biāo)版必修1-雙基限時(shí)練11
- 《紅對(duì)勾》2022屆高考英語人教版新課標(biāo)一輪總復(fù)習(xí)-滾動(dòng)測(cè)試10
- 永州市2025屆高三高考第二次模擬考試(二模)生物試卷
- 【創(chuàng)新大課堂】2022屆高三生物一輪復(fù)習(xí)人教版課時(shí)作業(yè)-第4單元-第11講-減數(shù)分裂和受精作用-
- 【創(chuàng)新設(shè)計(jì)】2021版生物二輪專題復(fù)習(xí)(閩津渝版)專題整合+演練提升:1-7-1基因工程與克隆技術(shù)
- 天津市外國語大學(xué)附屬外國語學(xué)校2024-2025學(xué)年七年級(jí)上學(xué)期期末階段性檢測(cè)英語試題(含答案無聽力原文無音頻)
- (語文試卷)2024年秋綿陽市游仙區(qū)九年級(jí)期末測(cè)試
- 浙江音樂學(xué)院2023年本科招生簡(jiǎn)章
- 【名師一號(hào)】2020-2021學(xué)年高中英語人教版必修4語篇提能-22
- 長安杯質(zhì)量要求
- 2021年醫(yī)療衛(wèi)生招聘考試題庫附答案
- 鋼筋廠建設(shè)施工方案
- 醫(yī)院臨時(shí)醫(yī)囑單
- 剝皮芝煤礦消防安全自檢方案及自查報(bào)告
- GB/T 22740-2008地理標(biāo)志產(chǎn)品靈寶蘋果
- GB/T 11211-2009硫化橡膠或熱塑性橡膠與金屬粘合強(qiáng)度的測(cè)定二板法
- 《人力資源情緒管理問題研究開題報(bào)告(含提綱)》
- 浪潮云海數(shù)據(jù)中心管理平臺(tái)v5.0-快速部署指南v1.0centos
- 哮喘吸入裝置的正確使用方法課件
- 2023年成都東部集團(tuán)有限公司招聘筆試題庫及答案解析
評(píng)論
0/150
提交評(píng)論