![操作系統(tǒng)實驗報告-存儲管理實驗_第1頁](http://file4.renrendoc.com/view/17c87ca2fcec3a55ddf327e82e5b6e83/17c87ca2fcec3a55ddf327e82e5b6e831.gif)
![操作系統(tǒng)實驗報告-存儲管理實驗_第2頁](http://file4.renrendoc.com/view/17c87ca2fcec3a55ddf327e82e5b6e83/17c87ca2fcec3a55ddf327e82e5b6e832.gif)
![操作系統(tǒng)實驗報告-存儲管理實驗_第3頁](http://file4.renrendoc.com/view/17c87ca2fcec3a55ddf327e82e5b6e83/17c87ca2fcec3a55ddf327e82e5b6e833.gif)
![操作系統(tǒng)實驗報告-存儲管理實驗_第4頁](http://file4.renrendoc.com/view/17c87ca2fcec3a55ddf327e82e5b6e83/17c87ca2fcec3a55ddf327e82e5b6e834.gif)
![操作系統(tǒng)實驗報告-存儲管理實驗_第5頁](http://file4.renrendoc.com/view/17c87ca2fcec3a55ddf327e82e5b6e83/17c87ca2fcec3a55ddf327e82e5b6e835.gif)
版權說明:本文檔由用戶提供并上傳,收益歸屬內(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. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 淘汰車輛回收合同
- 2025年上海市特許經(jīng)營合同簡單版(2篇)
- 2025年業(yè)主委托物業(yè)合同經(jīng)典版(三篇)
- 2025解除勞務合同范本
- 二零二五年度水泥行業(yè)安全生產(chǎn)責任合同樣本(安全保障)
- 商業(yè)合作合同范本標準版
- 二零二五年度智慧教育銀行擔保貸款合同范本
- 二零二五年度潤滑油產(chǎn)品廣告宣傳與品牌推廣合同
- 二零二五年度全球食品添加劑貨物買賣合同
- 二零二五年度豬場租賃與養(yǎng)殖產(chǎn)業(yè)投資基金合同
- 2025福建新華發(fā)行(集團)限責任公司校園招聘30人高頻重點提升(共500題)附帶答案詳解
- 山東鐵投集團招聘筆試沖刺題2025
- 2025年中考英語總復習:閱讀理解練習題30篇(含答案解析)
- 陜西省英語中考試卷與參考答案(2024年)
- 北京市通州區(qū)市級名校2025屆高一數(shù)學第一學期期末考試試題含解析
- 小學生心理健康教育學情分析
- 超級大腦:孩子六維能力培養(yǎng)指南
- 2024年濰坊護理職業(yè)學院高職單招(英語/數(shù)學/語文)筆試歷年參考題庫含答案解析
- 顱腦損傷的生物標志物
- 物流營銷(第四版) 課件 第一章 物流營銷概述
- 5A+Chapter+2+Turning+over+a+new+leaf 英語精講課件
評論
0/150
提交評論