內(nèi)存管理 操作系統(tǒng)實(shí)驗(yàn) 代碼_第1頁(yè)
內(nèi)存管理 操作系統(tǒng)實(shí)驗(yàn) 代碼_第2頁(yè)
內(nèi)存管理 操作系統(tǒng)實(shí)驗(yàn) 代碼_第3頁(yè)
內(nèi)存管理 操作系統(tǒng)實(shí)驗(yàn) 代碼_第4頁(yè)
內(nèi)存管理 操作系統(tǒng)實(shí)驗(yàn) 代碼_第5頁(yè)
已閱讀5頁(yè),還剩2頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、實(shí)驗(yàn)報(bào)告撰寫(xiě)要求實(shí)驗(yàn)報(bào)告要求具有以下內(nèi)容:一、實(shí)驗(yàn)?zāi)康亩?、?shí)驗(yàn)內(nèi)容三、實(shí)驗(yàn)要求四、算法流程圖五、給出測(cè)試數(shù)據(jù)及運(yùn)行結(jié)果六、實(shí)驗(yàn)體會(huì)或?qū)Ω倪M(jìn)實(shí)驗(yàn)的建議操作系統(tǒng)實(shí)驗(yàn)課第三次實(shí)驗(yàn)及代碼實(shí)驗(yàn)3 內(nèi)存管理(2學(xué)時(shí))一、實(shí)驗(yàn)?zāi)康?通過(guò)實(shí)驗(yàn)加強(qiáng)對(duì)內(nèi)存管理方法的理解和掌握。二、實(shí)驗(yàn)內(nèi)容 編寫(xiě)程序?qū)崿F(xiàn)采用可變分區(qū)方法管理內(nèi)存。三、實(shí)驗(yàn)要求1、在該實(shí)驗(yàn)中,采用可變分區(qū)方式完成對(duì)存儲(chǔ)空間的管理(即存儲(chǔ)空間的分配與回收工作)。2、設(shè)計(jì)用來(lái)記錄主存使用情況的數(shù)據(jù)結(jié)構(gòu):已分區(qū)表和空閑分區(qū)表或鏈表。3、在設(shè)計(jì)好的數(shù)據(jù)結(jié)構(gòu)上設(shè)計(jì)一個(gè)主存分配算法。4、在設(shè)計(jì)好的數(shù)據(jù)結(jié)構(gòu)上設(shè)計(jì)一個(gè)主存回收算法。其中,若回收的分區(qū)有上鄰空閑分區(qū)和

2、(或)下鄰空閑分區(qū),要求合并為一個(gè)空閑分區(qū)登記在空閑分區(qū)表的一個(gè)表項(xiàng)里。5、(附加)若需要可以實(shí)現(xiàn)程序的浮動(dòng),對(duì)內(nèi)存空間進(jìn)行緊湊。#include<iostream>#include<vector>#include<fstream>#include<sstream>#include<string>using namespace std;typedef struct node int ID;/分區(qū)IDstruct node *next; /指向下個(gè)分區(qū)的指針float beginAddress;/分區(qū)起始地址float length;/

3、分區(qū)長(zhǎng)度int ZY;/分區(qū)是否被占用,1被占用,0未被占用FQ;FQ *First=(FQ*)malloc(sizeof(FQ);/鏈表的頭指針int FQCount=0;/分區(qū)的個(gè)數(shù)void display();/顯示內(nèi)存狀態(tài)void FenPei(float len);/主存分配函數(shù)void HuiShou(int id);/主存回收函數(shù)int maxID=0;int main()/初始化內(nèi)存分區(qū)狀態(tài)fstream file; file.open("input.txt",ios_base:in|ios_base:out|ios_base:app);string s0;

4、getline(file,s0);istringstream sin(s0);sin>>FQCount;FQ *temp=(FQ*)malloc(sizeof(FQ);/當(dāng)前指針temp=First;for(string s;getline(file,s);)FQ *fq=(FQ*)malloc(sizeof(FQ);istringstream sin(s);sin>>fq->beginAddress;sin>>fq->length;sin>>fq->ZY;fq->ID=+maxID;fq->next=NULL;te

5、mp->next=fq;temp=fq;cout<<"最初的內(nèi)存分配狀態(tài):"<<endl;display();while(1)cout<<"請(qǐng)選擇要進(jìn)行的操作:n1.請(qǐng)求分配內(nèi)存 2.請(qǐng)求回收內(nèi)存 3.退出n"int choice;cin>>choice;if(choice=1)cout<<"請(qǐng)求分配內(nèi)存n"cout<<"請(qǐng)輸入要分配的內(nèi)存的長(zhǎng)度:"int len;cin>>len;FenPei(len);else if(ch

6、oice=2)cout<<"請(qǐng)求回收內(nèi)存n"cout<<"請(qǐng)輸入要回收的內(nèi)存的ID:"int ID;cin>>ID;HuiShou(ID);else if(choice=3)break;elsecout<<"輸入有誤!請(qǐng)重新選擇!n"continue;return 1;void display()FQ *fqBegin=First->next;cout<<"IDtBeginAddresstLengthtStaten"while(fqBegin!=NU

7、LL)cout<<fqBegin->ID<<"t"<<fqBegin->beginAddress<<"tt"<<fqBegin->length<<"t"<<fqBegin->ZY<<endl;fqBegin=fqBegin->next;void FenPei(float len)FQ *temp=(FQ*)malloc(sizeof(FQ);/當(dāng)前指針temp=First;while(!(temp->ne

8、xt->ZY=0&&temp->next->length>=len)temp=temp->next;temp=temp->next;FQ *fq1=(FQ*)malloc(sizeof(FQ);fq1->ID=+maxID;fq1->next=temp->next;fq1->beginAddress=temp->beginAddress+len;fq1->length=temp->length-len;fq1->ZY=0;temp->next=fq1;temp->length=len

9、;temp->ZY=1;display();void HuiShou(int id)FQ *temp=(FQ*)malloc(sizeof(FQ);/當(dāng)前指針temp=First;while(!(temp->next->ID=id)temp=temp->next;if(temp->ZY=0)if(temp->next->next=NULL)temp->next=NULL;temp->length=temp->length+temp->next->length;else if(temp->next->next-&

10、gt;ZY=1)temp->next=temp->next->next;temp->length=temp->length+temp->next->length;elsetemp->length=temp->length+temp->next->length+temp->next->next->length;temp->next=temp->next->next->next;elseif(temp->next->next=NULL|temp->next->next

11、->ZY=1)temp->next->ZY=0;elsetemp->next->length=temp->next->length+temp->next->next->length;temp->next->next=temp->next->next->next;temp->next->ZY=0;display();0805114實(shí)驗(yàn)4 頁(yè)面置換算法(2學(xué)時(shí))(待續(xù)敬請(qǐng)期待)一、實(shí)驗(yàn)?zāi)康?通過(guò)實(shí)驗(yàn)加強(qiáng)對(duì)虛擬存儲(chǔ)管理中頁(yè)面置換算法的理解和掌握。二、實(shí)驗(yàn)內(nèi)容 編寫(xiě)程序?qū)崿F(xiàn)虛擬存儲(chǔ)管理中OPT,FIFO,LRU頁(yè)面置換算法。三、實(shí)驗(yàn)要求1、任意給出一組頁(yè)面訪問(wèn)順序(如頁(yè)面走向是1、2、5、7、5、7、1、4、3、5、6、4、3、2、1、5、2)。2、分配給該作業(yè)一定的物理塊(如3塊

溫馨提示

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

最新文檔

評(píng)論

0/150

提交評(píng)論