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

正文內(nèi)容

[it計算機]操作系統(tǒng)實驗進程管理存儲器管理設(shè)備管理實驗代碼報告-預(yù)覽頁

2024-12-14 15:23 上一頁面

下一頁面
 

【正文】 IL) 恢復(fù)現(xiàn)行進行現(xiàn)場 scheduler 計算機操作系統(tǒng)實驗指導(dǎo)書 4 nexrtwr 等待鏈指針,只是在同一信號量上等待的下一個進程的標時數(shù)。當3 個進程都處于完成狀態(tài)后,系統(tǒng)退出運行。當現(xiàn)行進程喚醒某個等待進程,且被喚醒進程的優(yōu)先數(shù)小于現(xiàn)行進程時, 則剝奪現(xiàn)行進程的執(zhí)行權(quán)。 進程調(diào)度算法采用剝奪式最高優(yōu)先數(shù)法。各進程的初始狀態(tài)均設(shè)置為 r。系統(tǒng)中設(shè)計了 3個并發(fā)進程。 打印實驗報告及程序清單。 編程實現(xiàn)。該系統(tǒng)包括有簡單的進程控制,同步及通信機構(gòu),其進程調(diào)度算法可任意選擇。 二、 題目 進程管理 三、要求及提示 要求設(shè)置 PCB,進程控制原語,進程調(diào)度算法,能描述進程調(diào)度中不同進程狀態(tài)之間的轉(zhuǎn)換,設(shè)計一個允許 n個進程并發(fā)運行的進程管理模擬系統(tǒng)。系 統(tǒng)在運行過程中能顯示或打印各進程的狀態(tài)及有關(guān)參數(shù)的變化情況,以便觀察諸進程的運行過程及系統(tǒng)的管理過程。 寫出調(diào)試程序出現(xiàn)的問題及解決的方法。 問題描述 本系統(tǒng)的同步機構(gòu)采用的是信號量上的 P, V操作的機制;控制機構(gòu)包括阻塞和喚醒操作;時間 片中斷處理程序處理模擬的時間片中斷;進程調(diào)度程序負責(zé)為各進程分配處理機。 算法 系統(tǒng)為進程設(shè)置了 5 種運行狀態(tài): e-執(zhí)行態(tài); r-高就緒態(tài); t-低就緒態(tài)(執(zhí)行進程因時間片到限而轉(zhuǎn)入); w-等待態(tài); c-完成態(tài)。當進程 process1 訪問隨機數(shù) x 時,若 x ≥ ;當進程 process2 訪問 x 時,若x 或 x≥ ;當進程 process3 訪問 x時,若 x,分別認為各進程的執(zhí)行時間片到限,產(chǎn)生“時間片中斷”而轉(zhuǎn)入低就緒態(tài) t。先從 r 狀態(tài)進程中選擇,在從 t 狀態(tài)進程中選擇。但執(zhí)行進程因“時間片中斷”,或被排斥使用臨界資源,或喚醒某個等待資源時,立即進行進程調(diào)度。 圖 2 進程調(diào)度程序 status 進程狀態(tài),可為 e,r,t,w,c。 ( 3)現(xiàn)場保留區(qū),用數(shù)組 savearea[3][4]表示,即每一個進程都有一個大小為 4 個單元的保留區(qū),用來保存被“中斷”時的現(xiàn)場信息,如通用寄存器的內(nèi)容和斷點地址等。 int nextwr。 int firstwr。 init() /*initialization*/ { int j。 pcb[j].status=39。 scanf(%d,amp。sem[0].firstwr=NIL。i3。039。 seed=(25173*seed+13849)%65536。 x=random()。 if((x)amp。amp。 pcb[exe].status=39。 exe=NIL。amp。 exe=pd。 printf(process%d enter into ready\n,exe+1)。 printf(process%d is executing\n,exe+1)。 } find() { int j,pd=NIL,w=MAXPRI。r39。j3。pd=j。 計算機操作系統(tǒng)實驗指導(dǎo)書 7 { if(sem[se].value=0) return(FALSE)。 exe=NIL。 printf(process%d is blocked\n,exe+1)。 if((w=sem[se].firstwr)==NIL) sem[se].firstwr=exe。 char ad。 savearea[exe][0]=i。 w=sem[se].firstwr。 printf(process%d is waken up\n,w+1)。 if(addr==39。c39。)goto d1。 if(addr==39。i6。)) break。)) break。c39。d39。e39。 if(v(1,39。 } if(i6) return。)goto a2。 if(addr==39。d39。)goto e2。 for(i=1。a39。b39。 if(v(1,39。 if(p(0,39。 if(timeint(39。 printf(process2 calls V on semephore1 and quit cretical section1.\n)。 f2: printf(process2 cycle count=%d\n,i)。a39。)goto b3。 for(i=1。a39。b39。 if(v(1,39。 計算機操作系統(tǒng)實驗指導(dǎo)書 10 } if(i6) return。c39。 printf(****process management*******\n\n)。 for( 。 case 1:process2()。 default:printf(process identifer error\n)。 printf(\n ******END*******\n)。 s1 和 s2 的最終正確結(jié)果應(yīng)分別為 15 和 10。 設(shè)計體會 計算機操作系統(tǒng)實驗指導(dǎo)書 13 操作系統(tǒng)是現(xiàn)代計算機系統(tǒng)工作的基石,而且進行程序離不開操作系統(tǒng)的支持。進程有三種基本狀態(tài)為就緒態(tài)( Ready),執(zhí)行態(tài)( Running),阻塞態(tài)( Blocked)在程序中還涉及到進程的阻塞與喚醒 ,系統(tǒng)有 3 個進程,執(zhí)行時涉及到高低就緒態(tài)和優(yōu)先數(shù)的選擇。 實驗二 存儲器管理 一、目的 本課題實驗的目的是,使學(xué)生實驗存儲器管理系統(tǒng)的設(shè)計方法;加深對所學(xué)各種存儲器管理方案的了解;要求采用一些常用的存儲器分配算法,設(shè)計一個存儲器管理模擬系統(tǒng)并調(diào)試運行。 工具: C語言或其它高級語言 實驗時間: 3學(xué)時 四、實驗報告 寫出存儲器管理的思想。 報告給出測試的結(jié)果。用“拼,接”和“緊湊”技術(shù)來處理存儲器碎 片。 回收時,根據(jù) MAT 將指定分區(qū)鏈入自由鏈。然后再進行分配。 數(shù)據(jù)結(jié)構(gòu) ( 1) 自由鏈與區(qū)頭。在每個空閑區(qū)首部設(shè)置一個區(qū)頭( freearca)結(jié)構(gòu)。表目信息包括: name 用戶作業(yè)名; length 作業(yè)區(qū)大?。? addr 作業(yè)區(qū)首地址; 程序清單 include include define TOTAL 5000 define SETADDRESS 2020 define MIN 100 define MAX 10 typedef struct freearea 計算機操作系統(tǒng)實驗指導(dǎo)書 15 { int address。 }*freeptr。 struct mat *next。 long totalfree。 /********初始化 **********/ init() { freep=(freeptr)malloc(sizeof(struct freearea))。 freepback=NULL。 return(0)。 if(totalfreejl) return(1)。 totalfree=totalfreejl。 if(jobp==NULL) { jp2next=NULL。 while(jp!=NULLamp。 } jp2next=jp。 if(jpback!=NULL) jp1next=jp2。 if(fpback!=NULL) fpbacknext=fpnext。 fpaddress=fpaddress+jl。 /****清屏 ****/ if(jobnumber=0) printf(NO JOB!)。 jp=jpnext。 int f=0。(jpname!=jn)) jp=jpnext。 freepaddress=jpaddress。 } else { fp=freep。 fp=fpnext。 if((fpback!=NULL)amp。 switch(f) { case 0: { fp2=(freeptr)malloc(sizeof(struct freearea))。 if(fp!=NULL) { fp2back=fpback。 } else { fp2back=fp1。 } case 2: fp1size=fp1size+jplength。 free(fp)。 free(jp)。 if(jobnumber0) 計算機操作系統(tǒng)實驗指導(dǎo)書 20 { jp=jobp。 jp=jpnext。 free(fp1)。 freepnext=NULL。 int address。 printf( (2)require to collexte the size\n)。 scanf(%d,amp。 scanf(%s,amp。length)。 case 0: {banjia()。 } case 2: xianshi()。 } case 2: { printf(enter the name of the job\n)。 huishou(jobname)。break。 anykey=getchar()。 計算機操作系統(tǒng)實驗指導(dǎo)書 22 } } main() { init()。 (3) check the memory。 設(shè)計體會 經(jīng)過本次試驗加深了對于存儲器管理的理解和認識,對它有了一個整體的認識,了解了分配,回收,查詢的全過程和每一步的作用。 SPOOLing進程負責(zé)把從輸入設(shè)備輸入的信息送到外存輸入井中,或把外存輸入井中的信息送到打印機等輸出設(shè)備上輸出。 工具: C語言或其它高級語言 實驗時間: 4學(xué)時 四、實驗報告 寫出存儲器 管理的思想。 報告給出測試的結(jié)果。 Spoolserver負責(zé)接收并處理用戶進程的輸出請求; spoolout 完成實際的輸出。 本系統(tǒng)賦予 spoolout 進程和 3 用戶進程的標識數(shù)分別為 0, 1, 2, 3。每個用戶進程分別使用各自的輸出緩沖區(qū)。這由產(chǎn)生隨機數(shù)來模擬。 流程圖如圖 圖 圖 6 和圖 7。 int filec。 int addr。 int wellsize=WELLSIZE, wellptr=0。 seed=(25173*seed+13849)amp。 { static int j。amp。 userbuf [i1] [j] =0。 } } spoolserver (p,s) /*p:identifier, s:size */ int p,s。 repblock [ebp] .size=s。 for (k=0。 } wellsize=s。 if (ebc10) { d=reqblock [cbp].reqid。 printf (\nUser%d:file%d,file_size=%d,\ntest。 a%=WELLSIZE。 ebc++。 ){ x=random()。e39。xamp。) userpro(2)。amp。 else if (xamp。) userpro()。 /*initialization*/ for (i=0。i3。 for(i=0。e39。s output files?39。 n+=pcb[i].filec。 } 程序運行結(jié)果 **** spooling system **** the number oj user139。 計算機操作系統(tǒng)實驗指導(dǎo)書 36 操作系統(tǒng)實驗指導(dǎo)書 趙俊生編 適用專業(yè):計算機科學(xué)與技術(shù)專業(yè) 軟件工程專業(yè) 2020. 9
點擊復(fù)制文檔內(nèi)容
黨政相關(guān)相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1