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

正文內(nèi)容

嵌入式操作系統(tǒng)實(shí)驗(yàn)報(bào)告(存儲(chǔ)版)

2025-10-29 19:22上一頁面

下一頁面
  

【正文】 dy_head!=ready_tail||block_head!=block_tail){struct QueueNode *p,*q。x++。printf(”空閑一個(gè)時(shí)間片t“)。ready_tail=q。懂得調(diào)式的重要性。在t1時(shí)間之后,有作業(yè)A、B、C、D分別請(qǐng)求8K、16K、64K、124K的內(nèi)存空間;在t2時(shí)間之后,作業(yè)C完成;在t3時(shí)間之后,作業(yè)E請(qǐng)求50K的內(nèi)存空間;在t4時(shí)間之后,作業(yè)D完成。struct busylinkNode{ char name。//占用區(qū)隊(duì)列隊(duì)尾指針 void start(void)/* 設(shè)置系統(tǒng)初始狀態(tài)*/ { struct freelinkNode *p。plen=64064。qnext=NULL。plen=require。if(wlen==require){free(w)。v=vnext。p=busy_headnext。len=plen。while((v!=NULL)amp。printf(”內(nèi)存的空閑情況為:n“)。requireMemo(39。,64)。)。freeMemo(39。二、實(shí)驗(yàn)內(nèi)容。實(shí)驗(yàn)二 Linux操作系統(tǒng)的運(yùn)行模式一、實(shí)驗(yàn)?zāi)康模私釲inux命令的格式,使用學(xué)會(huì)利用常用的Linux命令來完成系統(tǒng)的管理和維護(hù)。,查看GNOME桌面的面板和桌面,設(shè)置GNOME,包括屏幕保護(hù)程序、更改背景和指定關(guān)聯(lián)程序等。在program下輸入【mkdir{java,C}】,可創(chuàng)立java和C兩個(gè)目錄,【ls】查看。,利用OpenOffice的文字處理工具OpenOffice Writer制作一份表格形式的個(gè)人簡(jiǎn)歷。()系統(tǒng)調(diào)用,掌握利用fork()創(chuàng)建進(jìn)程的方法。子進(jìn)程分別顯示字符39。及39。 并進(jìn)入進(jìn)行編輯用GCC 進(jìn)行編譯,再查看文件,發(fā)現(xiàn)產(chǎn)生執(zhí)行文件 執(zhí)行這個(gè)可執(zhí)行文件得到結(jié)果5050編寫一段程序,使用系統(tǒng)調(diào)用fork()創(chuàng)建兩個(gè)子進(jìn)程。試觀察記錄屏幕上的顯示結(jié)果,并分析原因。parent ??39。、編譯和調(diào)試的技巧。float EndTime。iprintf(“input the the ArriveTime of arrayTask[%d]:”,i)。arrayTask[i].StartTime=0。}if(w==1)break。iif(arrayTask[i].Status==1){g=arrayTask[i].EndTime。ig)g=arrayTask[i].EndTime。}for(i=0。break。iif(arrayTask[i].Status==1)d=arrayTask[i].EndTime。}arrayTask[s].DQRunTime=arrayTask[s].RunTime/arrayTask[s].RequestTime。} main(){int i,b,k,a,c=0。printf(“please input the number a:n”)。printf(“NumbertArrivetServertStarttFinishtTurnovetTake power turnover timen”)。case S: printf(“please input the differentRequestTime of arrayTasksn”)。進(jìn)程調(diào)度是處理機(jī)管理的核心內(nèi)容。四.實(shí)驗(yàn)設(shè)備硬件部分:PC計(jì)算機(jī)(宿主機(jī))、亮點(diǎn)STM32實(shí)驗(yàn)板、JLINK。使用JLINK下載代碼到目標(biāo)板,查看運(yùn)行結(jié)果,使用JLINK在線調(diào)試。這里需要注意的是 KEY0 和KEY1 是低電平有效的,而WK_UP 是高電平有效的,而且要確認(rèn)WK_UP 按鈕與DS18B20 的連接是否已經(jīng)斷開,要先斷開,否則DS18B20 會(huì)干擾WK_UP按鍵!并且KEY0 和KEY1 連接在與JTAG 相關(guān)的IO 口上,所以在軟件編寫的時(shí)候要先禁用JTAG 功能,才能把這兩個(gè)IO 口當(dāng)成普通IO 口使用。接著我們打開串口調(diào)試助手,看到如下信息:證明串口數(shù)據(jù)發(fā)送沒問題。三.實(shí)驗(yàn)內(nèi)容初始化IO口的輸入,開啟復(fù)用時(shí)鐘,設(shè)置IO與中斷的映射關(guān)系,從而開啟與IO口相對(duì)應(yīng)的線上中斷事件,設(shè)置觸發(fā)條件。4)配置中斷分組(NVIC),并使能中斷。4)中斷處理函數(shù)用庫(kù)函數(shù)時(shí),寫錯(cuò)。2)開啟 IO 口復(fù)用時(shí)鐘,設(shè)置 IO 口與中斷線的映射關(guān)系。這里我們將介紹如何將這兩者結(jié)合起來,實(shí)現(xiàn)外部中斷輸入。軟件部分:PC機(jī)WINDOWS系統(tǒng)、MDK KEIL軟件、ISP軟件、串口調(diào)試助手。七.實(shí)驗(yàn)總結(jié)通過本次實(shí)驗(yàn),我學(xué)會(huì)了如何使用STM32 的IO 口作為輸入用。二.實(shí)驗(yàn)?zāi)康氖炀毷褂脦?kù)函數(shù)操作GPIO,掌握中斷配置和中斷服務(wù)程序編寫方法,掌握通過全局變量在中斷服務(wù)程序和主程序間通信的方法。通過ISP下載代碼到實(shí)驗(yàn)板,查看運(yùn)行結(jié)果。bdefault:printf(“the number input another number!n”)。bPrintresult(d[b])。GetTask()。for(i=0。printf(“%”,arrayTask[j].RunTime)。arrayTask[s].EndTime=arrayTask[s].StartTime+arrayTask[s].RequestTime。}if(g==1)/*當(dāng)處理的不是第一個(gè)未執(zhí)行的進(jìn)程時(shí)執(zhí)行*/ {arrayTask[s].Status=1。iif(arrayTask[i].Status==0)continue。} else{ /*否則按FCFS*/ for(i=0。} }return a。float g。i{if(arrayTask[i].Status==0){t=arrayTask[i].ArriveTime。a)。float a。float RequestTime。編寫C語言程序時(shí)用到了fork()函數(shù),再調(diào)用execl()用新的程序替換該子進(jìn)程的內(nèi)容。son ??39。和字符39。三、實(shí)驗(yàn)過程及結(jié)果利用Linux的進(jìn)程管理命令ps、top來監(jiān)視和跟蹤進(jìn)程,體會(huì)進(jìn)程和程序的關(guān)系。子進(jìn)程顯示39。讓每一個(gè)進(jìn)程在屏幕上顯示一個(gè)字符:父進(jìn)程顯示39。實(shí)驗(yàn)四 進(jìn)程控制與管理一、實(shí)驗(yàn)?zāi)康?,學(xué)會(huì)利用GCC編輯器來編輯C語言程序,學(xué)會(huì)利用GDB調(diào)試器來調(diào)試C語言程序。,熟悉Linux網(wǎng)絡(luò)配置的方法,掌握在Linux環(huán)境下配置Web服務(wù)器和ftp服務(wù)的方法。輸入【chmod u+x etc】賦予文件可執(zhí)行的權(quán)限,輸入【ll】查看。,將/etc目錄下與網(wǎng)絡(luò)相關(guān)的文件和子目錄拷貝到該目錄,并將這些文件的執(zhí)行權(quán)限設(shè)置為可執(zhí)行。安裝過程中一定要注意選擇版本的時(shí)候要選擇Red Hat Enterprise Linux 5版本,否則安裝不能成功。初步掌握Linux系統(tǒng)的啟動(dòng)和退出方法。printlink()。freeMemo(39。requireMemo(39。start()。} } } void past(int time)/* 模擬系統(tǒng)過了time 時(shí)間*/ { printf(”過了時(shí)間%d后:n“,time)。u=free_head。} else{if(p==busy_tail){busy_tail=q。freelinkNode *w,*u,*v。amp。w=free_headnext。pname=name。/* S表示操作系統(tǒng)占用*/qlen=64。// 創(chuàng)建占用鏈頭結(jié)點(diǎn)p=(struct freelinkNode *)malloc(sizeof(struct freelinkNode))。//自由鏈隊(duì)列(帶頭結(jié)點(diǎn))隊(duì)首指針struct busylinkNode *busy_head=NULL。struct freelinkNode *next。內(nèi)存空閑區(qū)使用自由鏈管理,采用最壞適應(yīng)算法從自由鏈中尋找空閑區(qū)進(jìn)行分配,內(nèi)存回收時(shí)假定不做與相鄰空閑區(qū)的合并。} 6運(yùn)行結(jié)果:7實(shí)驗(yàn)總結(jié):實(shí)驗(yàn)幫我復(fù)習(xí)了數(shù)據(jù)結(jié)構(gòu)和C語言,且鞏固課本知識(shí),知道了如何定義結(jié)構(gòu)體,如何在鏈接隊(duì)列中增刪節(jié)點(diǎn)。if(block_headnext==NULL){block_tail=block_head。}}else{unuse_cpu++。printf(”進(jìn)程%d調(diào)度t“,p)。t)。while(p){printf(“進(jìn)程%d的pid和cpu_time:%5d%5d%5dn“,i,p,p,p)。scanf(“%d%d”,amp。}q=(struct QueueNode *)malloc(sizeof(struct QueueNode))。pnext =NULL。printf(“輸入阻塞節(jié)點(diǎn)個(gè)數(shù)m:”)。struct QueueNode *ready_head=NULL,//ready隊(duì)列隊(duì)首指針*ready_tail=NULL,//ready隊(duì)列隊(duì)尾指針*block_head=NULL,//blocked隊(duì)列隊(duì)首指針*block_tail=NULL。就緒進(jìn)程運(yùn)行一次,usecpu加1,當(dāng)就緒隊(duì)列為空時(shí)unusecpu加1,CPU利用率為use_cpu/(use_cpu+unuse_cpu)。隊(duì)列類型描述如下:struct QueueNode{struct PCB_typePCB。編寫程序模擬實(shí)現(xiàn)進(jìn)程的輪轉(zhuǎn)法調(diào)度過程,模擬程序只對(duì)PCB進(jìn)行相應(yīng)的調(diào)度模擬操作,不需要實(shí)際程序。為了確保設(shè)定的延時(shí)時(shí)間,建議用戶設(shè)定的時(shí)鐘節(jié)拍數(shù)加 1。 OSTimeDly()OSTimeDly()將一個(gè)任務(wù)延時(shí)若干個(gè)時(shí)鐘節(jié)拍。如果指定的信號(hào)量是零或大于零,OSSemPost()函數(shù)遞增該信號(hào)量并返回。l OS_TIMEOUT :信號(hào)量沒有在指定數(shù)目的時(shí)鐘周期內(nèi)被設(shè)置。參數(shù)說明: :: :pevent是指向信號(hào)量的指針。注意:必須先建立信號(hào)量,然后使用。OSSemPost(fork[j])。j=(i+1)% 5。五個(gè)哲學(xué)家任務(wù)(phphphphph5)主要有兩種過程:思考(即睡眠一段時(shí)間)和就餐。l OS_TASK_RESUME_PRIO:要喚醒的任務(wù)不存在。l OS_TASK_ SUSPEND _PRIO:要掛起的任務(wù)不存在。函數(shù)原型:INT8U OSTaskSuspend(INT8U prio)。 OSTaskSuspend()OSTaskSuspend()無條件掛起一個(gè)任務(wù)。返回值:OSTaskCreate()的返回值為下述之一: l OS_NO_ERR:函數(shù)調(diào)用成功。任務(wù)堆棧用來保存局部變量,函數(shù)參數(shù),返回地址 以及任務(wù)被中斷時(shí)的 CPU 寄存器內(nèi)容。一個(gè)任務(wù)必須為無限循環(huán)結(jié)構(gòu),且 不能有返回點(diǎn)。printf(“TASK_1 IS RUNNING..............................................................nr”)。err=OSTaskSuspend(5)。(2)應(yīng)用任務(wù)應(yīng)用任務(wù) Task0 運(yùn)行后將自己掛起,之后操作系統(tǒng)就會(huì)調(diào)度處于就緒狀態(tài)的優(yōu)先級(jí)最高的任務(wù),具體代碼如下: void Task0(void *pdata){INT8U i。具體負(fù)責(zé)應(yīng)用任務(wù)創(chuàng)建的 TaskStartCreateTasks 函數(shù)代碼如下,它創(chuàng)建了兩個(gè)應(yīng)用任務(wù) Task0 和 Task1:void TaskStartCreateTasks(void){INT8U i。必須給每個(gè)任務(wù)賦以不同的優(yōu)先級(jí),任務(wù)的優(yōu)先級(jí)號(hào)就是任務(wù)編號(hào)(ID),優(yōu)先級(jí)可以從 0 到 OS_LOWEST_PR102。此外,通過構(gòu)建開發(fā)環(huán)境,處次體驗(yàn)到了嵌入式開發(fā)工作的樂趣。在彈出的“新目標(biāo)機(jī)連接配置中”的這些參數(shù),應(yīng)該與之前制作啟動(dòng)盤時(shí)設(shè)置的參數(shù)一致。但是在項(xiàng)目剛建立后,第一次構(gòu)建時(shí)需要選擇“重建 BSP 及項(xiàng)目”。文件名不限,但是文件名中最好不要使用英文符號(hào)和數(shù)字以外的其他字符,到這里,項(xiàng)目配置全部完成。選擇“pc386 uC/OSII 應(yīng)用(x86)”作為該項(xiàng)目的應(yīng)用框架。二、實(shí)驗(yàn)步驟 集成開發(fā)環(huán)境LambdaEDU 的安裝文件夾為 LambdaEDU,其中有一個(gè)名為“” 的文件,直接雙擊該文件便可啟動(dòng)安裝過程。讀者在做實(shí)驗(yàn)的同時(shí)能夠結(jié)合理論知識(shí)加以分析,了解各個(gè)函數(shù)的作用和嵌入式應(yīng)用程序的設(shè)計(jì)方法,最終對(duì)整個(gè) uC/OSII 和嵌入式操作系統(tǒng)的應(yīng)用有較為清楚的認(rèn)識(shí)。點(diǎn)擊“下一步”。在進(jìn)行ucos2 內(nèi)核實(shí)驗(yàn)中, 文件,即可。“重建BSP及項(xiàng) 目”,不但要完成“重新構(gòu)建”的全部工作,另外還要編譯與該項(xiàng)目有關(guān)的的LambdaEDU 中內(nèi)置的部分代碼,花費(fèi)時(shí)間最多。(3)創(chuàng)建目標(biāo)機(jī)代理配置好虛擬機(jī)后,創(chuàng)建目標(biāo)機(jī)代理:點(diǎn)擊LambdaEDU 左下方窗口中綠色的十字符號(hào),在彈出的窗口中選擇“基于TA 的連接方式”,并點(diǎn)擊“下一步”。三、實(shí)驗(yàn)過程中遇到的問題及體會(huì)在設(shè)置IP地址時(shí),要求該IP地址與本計(jì)算機(jī)在同一個(gè)子網(wǎng)中,同時(shí)要求該 IP地址沒有被網(wǎng)絡(luò)上其他計(jì)算機(jī)使用。μC/OSⅡ可以管理多達(dá) 64 個(gè)任務(wù),但目前版本的μC/OSⅡ有兩個(gè)任務(wù)已經(jīng)被系統(tǒng)占用了(即空閑任務(wù)和統(tǒng)計(jì)任務(wù))。/* Create all the application tasks */ OSTaskSuspend(OS_PRIO_SELF)。}TaskStart 任務(wù)完成上述操作后將自己掛起,操作系統(tǒng)將調(diào)度當(dāng)前優(yōu)先級(jí)最高的應(yīng)用任務(wù)Task0 運(yùn)行。printf(“**************************************************nr”)。printf(“task_0 is suspended!nr”)。中斷處理程序中不能建立任務(wù)。ptos 為指向任務(wù)堆棧棧頂?shù)闹羔?。?shù)字越小,優(yōu)先級(jí)越高。這些優(yōu)先級(jí)
點(diǎn)擊復(fù)制文檔內(nèi)容
環(huán)評(píng)公示相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1