freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

操作系統(tǒng)內(nèi)核與應(yīng)用實(shí)踐09級-文庫吧

2025-04-23 10:23 本頁面


【正文】 等。 ? 運(yùn)行在嵌入式系統(tǒng)上的軟件:嵌入式操作系統(tǒng)、應(yīng)用程序、驅(qū)動(dòng)程序及部分開發(fā)工具。 嵌入式軟件體系結(jié)構(gòu) ? 驅(qū)動(dòng)層 ? 操作系統(tǒng)層 ? 中間件層 ? 應(yīng)用層 驅(qū)動(dòng)層 ? 驅(qū)動(dòng)層是直接與硬件的交互層,對操作系統(tǒng)和應(yīng)用提供驅(qū)動(dòng)支持。該層主要包括三種類型的程序: ? 板級初始化程序:嵌入式系統(tǒng)上電后初始化系統(tǒng)的硬件環(huán)境,包括嵌入式微處理器、存儲器、中斷控制器、 DMA、定時(shí)器等的初始化。 ? 與系統(tǒng)軟件相關(guān)的驅(qū)動(dòng):操作系統(tǒng)和中間件等系統(tǒng)軟件所需的驅(qū)動(dòng)程序。 ? 與應(yīng)用軟件相關(guān)的驅(qū)動(dòng):應(yīng)用軟件相關(guān)的驅(qū)動(dòng)不一定需要與操作系統(tǒng)連接,這些驅(qū)動(dòng)的設(shè)計(jì)和開發(fā)由應(yīng)用決定。 操作系統(tǒng)層 ? 操作系統(tǒng)層包括嵌入式內(nèi)核、嵌入式 TCP/IP網(wǎng)絡(luò)系統(tǒng)、嵌入式文件系統(tǒng)、嵌入式 GUI系統(tǒng)和電源管理等部分。 ? 嵌入式內(nèi)核:內(nèi)核是嵌入式操作系統(tǒng)的必備基礎(chǔ)。提供任務(wù)管理、內(nèi)存管理、通信、同步與互斥機(jī)制、中斷管理、時(shí)間管理及任務(wù)擴(kuò)展等功能 嵌入式操作系統(tǒng)體系結(jié)構(gòu) 硬件 基本進(jìn)程管理 虛存管理 I/O和設(shè)備管理 進(jìn)程間通信 文件系統(tǒng) 用戶 用戶模式 內(nèi)核模式 中間件層 ? 復(fù)雜的嵌入式系統(tǒng)中也開始采用中間件技術(shù),主要包括嵌入式 CORBA、嵌入式 Java、嵌入式 DCOM和面向應(yīng)用領(lǐng)域的中間件軟件。 ? 為解決分布異構(gòu)問題,提出中間件 (middleware)的概念。中間件是位于平臺 (硬件和操作系統(tǒng) )和應(yīng)用之間的通用服務(wù),這些服務(wù)具有標(biāo)準(zhǔn)的程序接口和協(xié)議。針對不同的操作系統(tǒng)和硬件平臺,它們可以有符合接口和協(xié)議規(guī)范的多種實(shí)現(xiàn)。 應(yīng)用層 ? 應(yīng)用程序劃分為若干應(yīng)用任務(wù) ? 每個(gè)應(yīng)用任務(wù)完成特定的工作,如 I/O任務(wù)、計(jì)算任務(wù)、通信任務(wù)等 ? 由操作系統(tǒng)按照搶占優(yōu)先級調(diào)度策略調(diào)度各個(gè)任務(wù)的運(yùn)行。 基于內(nèi)核的嵌入式應(yīng)用程序結(jié)構(gòu) ? 嵌入式實(shí)時(shí)內(nèi)核 ——內(nèi)核運(yùn)行機(jī)制 ? 應(yīng)用代碼 ——調(diào)用內(nèi)核接口 ? 兩級代碼完成編譯連接 ? 生成可執(zhí)行程序 ? 在宿主機(jī) PC機(jī)上運(yùn)行 嵌入式實(shí)時(shí)內(nèi)核基礎(chǔ)核心概念 ? 多任務(wù)運(yùn)行 ? 任務(wù)的優(yōu)先級 ? 搶占式優(yōu)先級調(diào)度 ? 任務(wù)間通信機(jī)制 ? 任務(wù)中的時(shí)間管理機(jī)制 嵌入式實(shí)時(shí)內(nèi)核的多任務(wù)管理 ? 多任務(wù)并發(fā)運(yùn)行 ? 優(yōu)先級最高的就緒任務(wù)運(yùn)行 ? 運(yùn)行權(quán)按優(yōu)先級搶占 ? 每個(gè)任務(wù)的運(yùn)行是死循環(huán) 任務(wù)的優(yōu)先級 ? 任務(wù)創(chuàng)建時(shí)確定優(yōu)先級 ? 優(yōu)先級由優(yōu)先數(shù)表示 ? 優(yōu)先數(shù) 0~63 搶占式優(yōu)先級調(diào)度 ? 內(nèi)核采用的調(diào)度算法:搶占式優(yōu)先級調(diào)度 ? 每個(gè)任務(wù)有一個(gè)唯一優(yōu)先數(shù) ? 優(yōu)先數(shù)小優(yōu)先級高 ? 一旦優(yōu)先級高任務(wù)就緒,立即進(jìn)行任務(wù)調(diào)度 任務(wù)間通信機(jī)制 ? 任務(wù)間通信機(jī)制 ? 并發(fā)執(zhí)行的任務(wù)需要使用互斥資源 ? 并發(fā)執(zhí)行的任務(wù)需要傳遞信息,完成合作。 ? 解決由于任務(wù)優(yōu)先級引發(fā)的問題 時(shí)間管理機(jī)制 ? 任務(wù)中的時(shí)間管理機(jī)制 ? 必須令任務(wù)自主睡眠若干時(shí)間 ? 必須控制任務(wù)的執(zhí)行頻率 ? 通過時(shí)間延遲控制任務(wù)自主睡眠 嵌入式實(shí)時(shí) 181。C/OSII內(nèi)核模塊接口 ? 核心雜項(xiàng)模塊 ? 任務(wù)管理模塊 ? 消息隊(duì)列模塊 ? 信號量模塊 ? 消息郵箱模塊 ? 時(shí)間管理模塊 ? 互斥信號量模塊 ? 內(nèi)存管理模塊 ? 事件標(biāo)志模塊 181。C/OSII內(nèi)核源代碼結(jié)構(gòu) ? SOFTWARE/ 181。C/OSII/SOURCE下: ? INCLUDE \SOFTWARE\UCOSII\SOURCE\ ? INCLUDE \SOFTWARE\UCOSII\SOURCE\ ? INCLUDE \SOFTWARE\UCOSII\SOURCE\ ? INCLUDE \SOFTWARE\UCOSII\SOURCE\ ? INCLUDE \SOFTWARE\UCOSII\SOURCE\ ? INCLUDE \SOFTWARE\UCOSII\SOURCE\ ? INCLUDE \SOFTWARE\UCOSII\SOURCE\ ? INCLUDE \SOFTWARE\UCOSII\SOURCE\ ? INCLUDE \SOFTWARE\UCOSII\SOURCE\ 內(nèi)核模塊及核心技術(shù) ? 核心雜項(xiàng)模塊:實(shí)現(xiàn)臨界區(qū)管理 ? 任務(wù)管理模塊:實(shí)現(xiàn)任務(wù)管理 ? 時(shí)間管理模塊:實(shí)現(xiàn)時(shí)間及中斷管理 ? 消息隊(duì)列模塊:任務(wù)間傳遞多個(gè)消息 ? 信號量模塊:任務(wù)實(shí)現(xiàn)信號量及其申請釋放 ? 消息郵箱模塊:任務(wù)間傳遞一個(gè)消息 ? 互斥信號量模塊:解決優(yōu)先級反轉(zhuǎn) ? 內(nèi)存管理模塊:內(nèi)存塊的分配回收 核心雜項(xiàng)模塊:臨界區(qū)的實(shí)現(xiàn) ? 并發(fā)運(yùn)行任務(wù)需要實(shí)現(xiàn)臨界區(qū)。 ? 臨界區(qū)必須通過關(guān)中斷開中斷實(shí)現(xiàn)。關(guān)中斷時(shí)長是實(shí)時(shí)系統(tǒng)的重要指標(biāo),越短越好。 ? 微處理器具有開關(guān)中斷的指令, Ucos_II用宏命令實(shí)現(xiàn) ? 宏調(diào)用 OS_ENTER_CRITICAL()實(shí)現(xiàn)進(jìn)入臨界區(qū) ? 宏調(diào)用 OS_EXIT_CRITICAL()實(shí)現(xiàn)退出臨界區(qū) 應(yīng)用示例 OS_ENTER_CRITICAL()。 PC_VectSet(0x08, OSTickISR)。 /*Install uC/OSII39。s clock tick ISR*/ PC_SetTickRate(OS_TICKS_PER_SEC)。 /*Reprogram tick rate*/ OS_EXIT_CRITICAL()。 ? INT8U OS_TCBInit (INT8U prio, OS_STK *ptos, OS_STK *pbos, INT16U id, INT32U stk_size, void *pext, INT16U opt) ? void OS_TaskStat (void *pdata) ? void OS_TaskIdle (void *pdata) ? void OS_Sched (void) ? static void OS_InitTCBList (void) ? static void OS_InitTaskStat (void) ? static void OS_InitTaskIdle (void) ? static void OS_InitRdyList (void) ? static void OS_InitMisc (void) ? static void OS_InitEventList (void) ? void OS_EventWaitListInit (OS_EVENT *pevent) ? void OS_EventTO (OS_EVENT *pevent) ? void OS_EventTaskWait (OS_EVENT *pevent) ? INT8U OS_EventTaskRdy (OS_EVENT *pevent, void *msg, INT8U msk) ? void OS_Dummy (void) ? INT16U OSVersion (void) ? void OSTimeTick (void) ? void OSStatInit (void) ? void OSStart (void) ? void OSSchedUnlock (void) ? void OSSchedLock (void) ? void OSIntExit (void) ? void OSIntEnter (void) ? void OSInit (void) 任務(wù)管理與調(diào)度 ? 可將應(yīng)用分解為多個(gè)并發(fā)任務(wù)。 ? 每個(gè)任務(wù)是一個(gè)獨(dú)立的執(zhí)行線程,應(yīng)用代碼中以函數(shù)為單位實(shí)現(xiàn)??梢耘c其它的并發(fā)任務(wù)競爭處理機(jī)時(shí)間。 ? 每個(gè)任務(wù)都是可調(diào)度的,根據(jù)預(yù)定的搶占式優(yōu)先級調(diào)度算法競爭系統(tǒng)的執(zhí)行時(shí)間。 任務(wù)管理 ? 可以通過創(chuàng)建、刪除、睡眠、喚醒、改變優(yōu)先級、發(fā)送或等待事件等操作對任務(wù)進(jìn)行管理。 ? 創(chuàng)建任務(wù)時(shí),給任務(wù)提供一個(gè)名字、一個(gè)唯一的ID、一個(gè)優(yōu)先級、一個(gè)任務(wù)控制塊、一個(gè)堆棧和一個(gè)任務(wù)函數(shù)代碼,這些內(nèi)容構(gòu)成任務(wù)對象 。 任務(wù)管理 ? OSTaskChangePrio():改變優(yōu)先級 ? OSTaskCreate():任務(wù)創(chuàng)建 ? OSTaskCreateExt():任務(wù)創(chuàng)建 ? OSTaskDel():任務(wù)刪除 ? OSTaskDelReq():任務(wù)刪除請求 ? OSTaskResume():任務(wù)恢復(fù) ? OSTaskStkChk():任務(wù)堆棧檢查 ? OSTaskSuspend():任務(wù)掛起 ? OSTaskQuery():任務(wù)查詢 任務(wù)的調(diào)度算法 ? 嵌入式操作系統(tǒng)多采用基于 靜態(tài)優(yōu)先級的可搶占式調(diào)度 。 ? 任務(wù)優(yōu)先級是在運(yùn)行前在任務(wù)創(chuàng)建時(shí)靜態(tài)分配完成,開始運(yùn)行時(shí),一旦有優(yōu)先級更高的任務(wù)就緒,就馬上進(jìn)行調(diào)度 。 ? 函數(shù)源代碼如下:參見源文件 void OSStart (void) { INT8U y。 INT8U x。 if (OSRunning == FALSE) { y = OSUnMapTbl[OSRdyGrp]。 /* Find highest priority39。s task priority number */ x = OSUnMapTbl[OSRdyTbl[y]]。 OSPrioHighRdy = (INT8U)((y 3) + x)。 OSPrioCur = OSPrioHighRdy。 OSTCBHighRdy = OSTCBPrioTbl[OSPrioHighRdy]。 /* Point to highest priority task ready to run*/ OSTCBCur = OSTCBHighRdy。 OSStartHighRdy()。 /* Execute target specific code to start task */ }} 任務(wù)的構(gòu)建模型 ? 任務(wù)( task)通常為進(jìn)程( process)和線程( thread)的統(tǒng)稱,它是調(diào)度的基本單位。 ? 大多數(shù)實(shí)時(shí)操作系統(tǒng)內(nèi)核都采用單進(jìn)程 /多線程模型,或簡單地稱為任
點(diǎn)擊復(fù)制文檔內(nèi)容
環(huán)評公示相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1