操作系統(tǒng)實驗報告-存儲管理實驗_第1頁
操作系統(tǒng)實驗報告-存儲管理實驗_第2頁
操作系統(tǒng)實驗報告-存儲管理實驗_第3頁
操作系統(tǒng)實驗報告-存儲管理實驗_第4頁
操作系統(tǒng)實驗報告-存儲管理實驗_第5頁
已閱讀5頁,還剩2頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領

文檔簡介

存儲管理實驗一.實驗目的及要求:通過編寫和調試存儲管理的模擬程序以加深對存儲管理方案的理解。熟悉虛存管理的各種頁面淘汰算法。通過編寫和調試地址轉換過程的模擬程序以加強對地址轉換過程的了解。二.實驗環(huán)境:操作系統(tǒng):WindowsXP編譯環(huán)境:VisualC++6.0三.算法描述由于在單道批處理系統(tǒng)中,作業(yè)一投入運行,它就占有計算機的一切資源直到作業(yè)完成為止,因此調度作業(yè)時不必考慮它所需要的資源是否得到滿足,它所占用的CPU時限等因素。作業(yè)調度算法:采用先來先服務(FCFS)調度算法,即按作業(yè)提交的先后次序進行調度??偸鞘紫日{度在系統(tǒng)中等待時間最長的作業(yè)。每個作業(yè)由一個作業(yè)控制塊JCB表示,JCB可以包含如下信息:作業(yè)名、提交時間、所需的運行時間、所需的資源、作業(yè)狀態(tài)、鏈指針等等。作業(yè)的狀態(tài)可以是等待W(Wait)、運行R(Run)和完成F(Finish)三種狀態(tài)之一。每個作業(yè)的最初狀態(tài)總是等待W。各個等待的作業(yè)按照提交時刻的先后次序排隊,總是首先調度等待隊列中隊首的作業(yè)。每個作業(yè)完成后要打印該作業(yè)的開始運行時刻、完成時刻、周轉時間和帶權周轉時間,這一組作業(yè)完成后要計算并打印這組作業(yè)的平均周轉時間、帶權平均周轉時間。四.實驗步驟:核心源碼:voidacceptment2(RECT*head,RECT*back1){RECT*before,*after;intinsert;insert=0;before=head;after=head->next;if(head->next==NULL)/*如果可利用區(qū)表為空*/{head->size=back1->size;head->next=back1;maxblocknum++;back1->next=NULL;}else{while(after!=NULL)/*與上一塊合并*/if(back1->address==after->size+after->address){before->next=after->next;back->size=after->size+back1->size;free(after);after=NULL;}else{after=after->next;before=before->next;}before=head;after=head->next;while(after!=NULL)if(after->address==back1->size+back1->address)/*與下一塊合并*/{back1->size=back1->size+after->size;before->next=after->next;free(after);after=NULL;}else{before=before->next;after=after->next;}before=head;/*將回收結點插入到合適的位置*/after=head->next;do{if(after==NULL||(after->size>back1->size)){before->next=back1;back1->next=after;insert=1;}else{before=before->next;after=after->next;}}while(!insert);if(head->size<back1->size)/*修改最大塊值和最大塊數(shù)*/{head->size=back1->size;maxblocknum++;}elseif(head->size==back1->size)maxblocknum++;}}/*分配函數(shù)*/RECT*assignment(RECT*head,intapplication){RECT*after,*before,*assign;assign=(RECT*)malloc(sizeof(RECT));/*分配申請空間*/assign->size=application;assign->next=NULL;if(application>head->size||application<=0)assign->address=-1;/*申請無效*/else{before=head;after=head->next;while(after->size<application)/*查找適應的結點*/{before=before->next;after=after->next;}if(after->size==application)/*結點大小等于申請大小則完全分配*/{if(after->size==head->size)maxblocknum--;before->next=after->next;assign->address=after->address;free(after);}else{if(after->size==head->size)maxblocknum--;after->size=after->size-application;/*大于申請空間則截取相應大小分配*/assign->address=after->address+after->size;if(tolower(way)=='b')/*如果是最佳適應,將截取后剩余結點重新回收到合適位置*/{before->next=after->next;back=after;acceptment2(head,back);}}if(maxblocknum==0)/*修改最大數(shù)和頭結點值*/{before=head;head->size=0;maxblocknum=1;while(before!=NULL){if(before->size>head->size){head->size=before->size;maxblocknum=1;}elseif(before->size==head->size)maxblocknum++;before=before->next;}}}assign1=assign;returnassign1;/*返回分配給用戶的地址*/}voidacceptment1(RECT*head,RECT*back1)/*首先適應*/{RECT*before,*after;intinsert;before=head;after=head->next;insert=0;while(!insert)/*將回收區(qū)插入空閑區(qū)表*/{if((after==NULL)||((back1->address<=after->address)&&(back1->address>=before->address))){before->next=back1;back1->next=after;insert=1;}else{before=before->next;after=after->next;}}if(back1->address==before->address+before->size)/*與上一塊合并*/{before->size=before->size+back1->size;before->next=back1->next;free(back1);back1=before;}if(after!=NULL&&(after->address==back1->address+back1->size)){/*與下一塊合并*/back1->size=back1->size+after->size;back1->next=after->next;free(after);}if(head->size<back1->size)/*修改最大塊值和最大塊個數(shù)*/{head->size=back1->size;maxblocknum=1;}elseif(head->size==back1->size)maxblocknum++;}/*檢查回收塊的合法性,back1為要回收的結點地址*/intbackcheck(RECT*head,RECT*back1){RECT*before,*after;intcheck=1;if(back1->address<0||back1->size<0)check=0;/*地址和大小不能為負*/before=head->next;while((before!=NULL)&&check)/*地址不能和空閑區(qū)表中結點出現(xiàn)重疊*/if(((back1->address<before->address)&&(back1->address+back1->size>before->address))

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論