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

正文內(nèi)容

林科大涉外嵌入式整理資料-資料下載頁

2025-06-27 03:50本頁面
  

【正文】 U的控制權(quán)。不可剝奪型內(nèi)核幾乎不需要使用信號量保護共享數(shù)據(jù)。不可剝奪型內(nèi)核缺點:。與前后系統(tǒng)一樣,不可剝奪型內(nèi)核的任務級響應時間是不確定的。占先式:,要使用占先式內(nèi)核。因此絕大多數(shù)商業(yè)上銷售的實時內(nèi)核都是占先式內(nèi)核。,總能得到CPU的控制權(quán)。當一個運行著的任務使一個比它優(yōu)先級高的任務進入了就緒狀態(tài),當前任務的CPU使用權(quán)就被剝奪了,或者說被掛起了,那個高優(yōu)先級的任務立刻得到了CPU的控制權(quán)。,中斷完成時,中斷了的任務被掛起,優(yōu)先級高的那個任務開始運行。圖示:低優(yōu)先級任務ISR中斷服務程序使高優(yōu)先級任務就緒高優(yōu)先級任務高優(yōu)先級任務得到CPU使用權(quán)。占先式內(nèi)核特點:,最高優(yōu)先級的任務什么時候可以執(zhí)行,可以得到CPU的控制權(quán)是可知的。,應用程序不應直接使用不可重入型函數(shù)。調(diào)用不可重入型函數(shù)時,要滿足互斥條件,這一點可以用互斥型信號量來實現(xiàn)??芍厝胄?Reentrancy):。,一段時間以后又可以運行,而相應數(shù)據(jù)不會丟失。,即變量保存在CPU寄存器中或堆棧中。如使用全局變量,則要對全局變量予以保護??芍厝氪a:可重入的代碼指的是一段可以被多個任務同時調(diào)用,而不必擔心會破壞數(shù)據(jù)的代碼(比如:一個函數(shù))。即:可重入型函數(shù)在任何時候都可以被中斷執(zhí)行,過一段時間以后又可以繼續(xù)運行,而不會因為在函數(shù)中斷的時候被其他的任務重新調(diào)用,而影響函數(shù)中的數(shù)據(jù)。例:不可重入型函數(shù)int Temp。Void swap (int *x,int*y){ Temp=*x。 *X=*Y。 *y=Temp。}例:可重入型函數(shù)Void swap (int *x,int*y){ int Temp。 Temp=*x。 *X=*Y。 *y=Temp。} //因參數(shù)保存在堆棧中,故函數(shù)可被多個任務調(diào)用,不必擔心各任務調(diào)用函數(shù)期間會破壞對方的指針。makefile文件:makefile的規(guī)則如下:目標:依賴關(guān)系 命令目標:.o目標文件,或可執(zhí)行文件依賴關(guān)系:為了生成目標所需要的文件,或其它目標命令:為生成目標需要執(zhí)行的命令如:hello: armv4lunknownlinuxgcc o hellomakefile宏:宏的定義:宏名=字符串;宏的使用:$(宏名)。如:cc=armv4lunknownlinuxgccsrc= obj= exe=testall:$(obj) $(cc) $(obj) –o $(exe)$(obj):$(src) $(cc) –c $(src)多線程程序設計:之一:,用printf函數(shù)顯示一個整數(shù)的值,并且每循環(huán)一次整數(shù)的值增加1;,當輸入“s”時停止上述循環(huán),輸入“r”時繼續(xù)上述循環(huán),輸入“e”時退出整個程序。// 整數(shù)值遞加循環(huán)的線程函數(shù)int status = 0。void* f1(void* a){ int i=0。 while(1) { if(status == 1) { printf(%d \n, i)。 i++。 sleep(1)。 } elseif(status == 1) break。 }}// 接受用戶輸入的線程函數(shù)void* f2(void* a){ char cmd。 while(1) { scanf(%c, amp。cmd)。 if(cmd == ‘r’) status = 1。 // run else if(cmd == ‘s’) status = 0。 // stop else if(cmd == ‘e’){ status = 1。 // exit break。 } // 退出本循環(huán) }}// 主函數(shù) 主線程main(){ void * retval。 pthread_t th_a, th_b。 pthread_create(amp。th_a, NULL, f1, 0)。 pthread_create(amp。th_b, NULL, f2, 0)。 pthread_join(th_a, amp。retval)。 pthread_join(th_b, amp。retval)。}之二:,用printf函數(shù)顯示一個整數(shù)的值,并且每循環(huán)一次整數(shù)的值加1或減1;,當輸入“+”后(1)中的整數(shù)每循環(huán)一次加1,輸入“”后(1)中的整數(shù)每循環(huán)一次減1,輸入“0”時退出整個程序。// 整數(shù)值遞加遞減循環(huán)的線程函數(shù)int status = 0。void* f1(void* a){ int i=0。 while(1) { if(status == 1) { printf(%d \n, i)。 i++。 sleep(1)。 } else if(status == 1) { printf(%d \n, i)。 i。 sleep(1)。 } elseif(status == 1) break。 }}// 接受用戶輸入的線程函數(shù)void* f2(void* dat){ char cmd。 while(1) { scanf(%c, amp。cmd)。 if(cmd == ‘+’) status = 1。 // ++ else if(cmd == ‘’) status = 0。 // else if(cmd == ‘0’){ status = 1。 // exit break。 } // 退出本循環(huán) }}// 主函數(shù) 主線程main(){ void * retval。 pthread_t th_a, th_b。 pthread_create(amp。th_a, NULL, f1, 0)。 pthread_create(amp。th_b, NULL, f2, 0)。 pthread_join(th_a, amp。retval)。 pthread_join(th_b, amp。retval)。}
點擊復制文檔內(nèi)容
畢業(yè)設計相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1