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

正文內(nèi)容

課嵌入式實(shí)時(shí)操作系統(tǒng)簡介ppt課件(參考版)

2025-05-16 04:01本頁面
  

【正文】 void main() { __asm__ ( “cld \n\t” “rep \n\t” “stosl” : :”c”(count),”a”(value),”D”(buf[0]) :”%ecx”,“%eax”,”%edi” )。 int value=5。 sys_myprint(str)。 ?內(nèi)嵌匯編代碼格式: __asm__ [__volatile__](“statements” :output_regs :input_regs :clobbered_regs ) ? statements :匯編語言代碼 ? output_regs:匯編語言的輸出說明,導(dǎo)出 C語言變量 ? input_regs :匯編語言的輸入說明,載入 C語言變量 ? clobbered_regs:匯編語言中被改變的寄存器說明 83 : define sys_myprint(v) \ { \ __asm__ __volatile__ ( \ “mov r0, %0 \n\t” \ swi 0x900000+227\n\t” \ ::”r” ((long) v) \ :” r0”, “l(fā)r”)。 void hello(void) { printk(“hello world\n”)。 若宏定義中有變量定義,將出現(xiàn)編譯錯(cuò)誤。 else x+=y。 a = a b。 } 操作系統(tǒng)內(nèi)核編程風(fēng)格說明- define中的 do {}while(0)作用( 1/2) 80 在宏定義中的 do{}while(0)結(jié)構(gòu)將宏定義中的多條執(zhí)行語句進(jìn)行了保護(hù),可以確保語句的模塊化: define SWAP(a, b) do { a = a + b。 sys_hello()。 } 79 創(chuàng)建和使用不帶參數(shù)的系統(tǒng)調(diào)用實(shí)驗(yàn)代碼如下: : define sys_hello() do {__asm__ __volatile__ (swi 0x900000+226\n\t)。 sys_hello(str)。 77 然后執(zhí)行 啟動(dòng)開發(fā)板,將應(yīng)用程序 test通過 zmodem協(xié)議下載到開發(fā)板的文件系統(tǒng)目錄下,在板子上運(yùn)行 test程序所得結(jié)果如下: armlinuxgcc o test ./test start hello hello world end hello 必做一 創(chuàng)建不帶參數(shù)的系統(tǒng)調(diào)用( 4/4) 78 進(jìn)而,實(shí)現(xiàn)一個(gè)帶參數(shù)的系統(tǒng)調(diào)用 必做 二 創(chuàng)建帶一個(gè)參數(shù)的系統(tǒng)調(diào)用 : include include “” int main(void) { char *str = “hello world\n”。 printf(end hello\n)。}while(0) : include include “” int main(void) { printf(start hello\n)。 ? 庫函數(shù)與操作系統(tǒng)內(nèi)核提供的系統(tǒng)調(diào)用關(guān)系,可分為如下三類: ? 1: 0,如: strcpy、 strcmp、 strstr等; ? 1: 1,如: printf、 fopen、 fread等 ? 1: n printf() … write() … 應(yīng)用軟件 sys_write() C運(yùn)行庫 操作系統(tǒng)內(nèi)核 用戶級(jí)別 特權(quán)級(jí)別 70 ARMLINUX系統(tǒng)調(diào)用原理 printf() … write()… 應(yīng)用軟件 sys_write C運(yùn)行庫 操作系統(tǒng)內(nèi)核 用戶級(jí)別 特權(quán)級(jí)別 軟中斷指令 swi ?系統(tǒng)調(diào)用號(hào) ?系統(tǒng)調(diào)用參數(shù) 系統(tǒng)調(diào)用 映射表 71 兩個(gè)問題-問題 2 問題 2:從應(yīng)用程序訪問系統(tǒng)調(diào)用方法有哪些? 答案: 由庫函數(shù)訪問系統(tǒng)調(diào)用 通過匯編訪問系統(tǒng)調(diào)用 72 實(shí)驗(yàn)?zāi)康? 熟悉系統(tǒng)調(diào)用原理 熟悉 ARMLinux系統(tǒng)調(diào)用擴(kuò)展方法 熟悉操作系統(tǒng)內(nèi)核編譯方法 熟悉通過匯編訪問系統(tǒng)調(diào)用方法 73 實(shí)驗(yàn)三內(nèi)容清單 創(chuàng)建和使用不帶參數(shù)的系統(tǒng)調(diào)用 ( 必做 ) 創(chuàng)建和使用帶 1個(gè)參數(shù)的系統(tǒng)調(diào)用( 必做 ) 創(chuàng)建和使用帶 5個(gè)參數(shù)的系統(tǒng)調(diào)用( 必做 ) 創(chuàng)建和使用帶 6個(gè)參數(shù)的系統(tǒng)調(diào)用( 選做 ) 74 必做一 創(chuàng)建不帶參數(shù)的系統(tǒng)調(diào)用( 1/4) 在 arch/arm/kernel/目錄下創(chuàng)建一個(gè)新的文件 在 arch/arm/kernel/ 中添加新的系統(tǒng)調(diào)用,新的系統(tǒng)調(diào)用號(hào) 0x900000+226 void hello(void) { printk(“hello world\n”)。 ? 內(nèi)核可提供的擴(kuò)展點(diǎn)包括: ? 任務(wù)創(chuàng)建、任務(wù)啟動(dòng)、任務(wù)刪除、任務(wù)上下文切換、任務(wù)退出 ? 例如:在任務(wù)上下文切換時(shí)擴(kuò)展增加功能 實(shí)時(shí)內(nèi)核基本功能-用戶擴(kuò)展管理 taskSwitchTable 函數(shù)指針 4 函數(shù)指針 3 函數(shù)指針 2 函數(shù)指針 1 switchTasks: 。 ?信號(hào) ? 用于實(shí)現(xiàn)任務(wù)之間、 ISR~任務(wù)之間的異步操作。任務(wù)可以使用標(biāo)準(zhǔn)的 I/O接口 open、 read、 write,以及 ioctl調(diào)用。 被信號(hào)量阻塞的任務(wù)排隊(duì)策略 ? FIFO ? 優(yōu)先級(jí)排序 實(shí)時(shí)內(nèi)核基本功能-同步、互斥 64 ? 消息 ? 是內(nèi)存空間中一段長度可變的緩沖區(qū)。 ? 互斥信號(hào)量( mutex):針對互斥問題進(jìn)行優(yōu)化的二元信號(hào)量。 61 ? 同步與通訊的需求 ? 任務(wù)~任務(wù)之間:單向、雙向 ? ISR~任務(wù)之間: 單向 ? 常用的同步、通訊機(jī)制: ? 共享內(nèi)存 ? 信號(hào)量 ? 消息:郵箱、消息隊(duì)列 ? 事件 ? 信號(hào) ? 管道 實(shí)時(shí)內(nèi)核基本功能-同步與通訊 62 ? 共享數(shù)據(jù)結(jié)構(gòu) ? 最直接的任務(wù)間通信方式 ? 全局變量、線性緩沖區(qū)、循環(huán)緩沖區(qū)、鏈表,可以被不同上下文環(huán)境中運(yùn)行的代碼直接訪問 ? 需采用互斥方法進(jìn)行保護(hù) 實(shí)時(shí)內(nèi)核基本功能-通訊 63 ? 信號(hào)量:解決任務(wù)間同步與互斥的主要手段 。 } while (key) 。lock, amp。 實(shí)時(shí)內(nèi)核基本功能-中斷管理 59 實(shí)時(shí)內(nèi)核基本功能-共享資源互斥 ? 實(shí)現(xiàn)共享資源互斥的方法很多,不同之處在于互斥的影響范圍和程度不同,常用的方法包括: ?關(guān)中斷:互斥力度最強(qiáng),但可能降低系統(tǒng)實(shí)時(shí)性 ?測試并置位指令:利用某個(gè)全局變量判斷資源互斥 ?禁止任務(wù)搶占:對任務(wù)調(diào)度上鎖,但不禁止中斷 ?使用信號(hào)量:對共享資源上鎖,比關(guān)中斷、禁止任務(wù)搶占粒度更精細(xì) lock = 0; key = 1。 ? ISR不允許執(zhí)行 I/O操作 ,或調(diào)用含有 I/O操作的函數(shù)。 ? 但 ISR要和其他應(yīng)用任務(wù)之間協(xié)作,以快速、合理響應(yīng)外部事件。 ? 按照上述交換方法,任何靜態(tài)優(yōu)先級(jí)調(diào)度最終都可以轉(zhuǎn)換成RM調(diào)度。 實(shí)時(shí)內(nèi)核基本功能-任務(wù)調(diào)度經(jīng)典算法舉例 54 ? 定理:如果一個(gè)任務(wù)集能夠被其他靜態(tài)算法調(diào)度,那么 RM算法就一定能調(diào)度這個(gè)任務(wù)集,即 RM調(diào)度是最優(yōu)的靜態(tài)調(diào)度算法。 ? 如果所有任務(wù)的臨界時(shí)間均小于任務(wù)周期,則任務(wù)可調(diào)度。 ? 對 RM算法研究的貢獻(xiàn)在于 ? 提出了 臨界時(shí)間 概念,用于判定調(diào)度過程中的最壞情況; ? 證明了 RM算法是靜態(tài)調(diào)度算法中的 最優(yōu)性 ; ? 提出了一個(gè) RM算法中任務(wù)可調(diào)度性分析的 充分條件 。 實(shí)時(shí)內(nèi)核基本功能-任務(wù)調(diào)度 50 ?在實(shí)時(shí)任務(wù)搶占式調(diào)度算法中,根據(jù)任務(wù)的優(yōu)先級(jí)確定時(shí)機(jī),實(shí)時(shí)任務(wù)調(diào)度算法可分為靜態(tài)調(diào)度和動(dòng)態(tài)調(diào)度兩類。 嵌入式實(shí)時(shí)操作系統(tǒng)的安全性認(rèn)證 47 課程大綱 ? 嵌入式實(shí)時(shí)操作系統(tǒng)概況 ? 嵌入式實(shí)時(shí)操作系統(tǒng)特點(diǎn) ? 嵌入式實(shí)時(shí)操作系統(tǒng)功能簡介 ? ARMLinux嵌入式操作系統(tǒng)內(nèi)核實(shí)驗(yàn)
點(diǎn)擊復(fù)制文檔內(nèi)容
教學(xué)課件相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1