實驗五: 儲存管理
一、實驗目的
(1)熟悉記憶體空閒分割槽的分配方式;
(2)理解動態分割槽儲存管理方式;
(3)掌握動態分割槽的分配與**的過程。
二、實驗環境
微型計算機,ubuntu linux10.04 ,gedit,gcc
三、實驗內容
根據流程圖和參考程式,完成模擬記憶體分配和**過程。記憶體空間大小為100,程序數為5,每個程序所需空間為隨機產生,大小為1~20,編制程式,首先對5個程序進行記憶體分配,然後**指定的程序空間,並進行適當的空閒分割槽合併操作,要求每次操作結束後都能顯示當前的記憶體分配情況。
4、實驗結果
截圖一截屏二
截圖三五、源**
#include
#include
typedef struct memory_blockmemory_block;
#define num 5
#define len sizeof(memory_block)
void allocation(memory_block *header,int name,int length_p)if(t->length-length_p>minsize分割
temp=(memory_block*)malloc(len);
temp->name=-1;
temp->flag=0;
temp->length=t->length-length_p;
temp->address=t->address+length_p;
t->name=name;
t->flag=1;
t->length=length_p;
temp->next=t->next;
t->next=temp;
}else直接分配
t->name=name;
t->flag=1;}}
void reclaim(int processname, memory_block *header)if(t->next!=nullt非尾結點
if(temp->flag==0&&t->next->flag==0左右為空
temp->name=-1;
temp->length=temp->length+t->length+t->next->length;
tt=t->next;
temp->next=tt->next;
}else if(temp->flag==0左為空
temp->name=-1;
temp->length=temp->length+t->length;
temp->next=t->next;
}else if(t->next->flag==0右為空
t->name=-1;
t->length=t->length+t->next->length;
t->flag=0;
tt=t->next;
t->next=tt->next;
}else左右不為空
t->name=-1;
t->flag=0;
}elset是尾結點
if(temp->flag==0左為空
temp->name=-1;
temp->length=temp->length+t->length;
temp=t->next;
}else左不為空
t->name=-1;
t->flag=0;
}}}void main主函式
int length_p,i,processname;
memory_block *header,*t;
header=(memory_block*)malloc(len); //初始化儲存空間
header->name=-1;
header->address=0;
header->length=100;
header->flag=0;
header->next=null;
srand((int)time(0));
for(i=1;i<=num+1;i++)printf("當前記憶體分配情況:\n");
t=header;
while(t!=0)printf("請輸入**的程序號(輸入0結束):\n");
scanf("%d",&processname);
while(processname!=0)
儲存管理實驗報告
實驗三 儲存管理 一 實驗目的 乙個好的計算機系統不僅要有乙個足夠容量的 訪問速度高的 穩定可靠的主儲存器,而且要能合理地分配和使用這些儲存空間。當使用者提出申請儲存器空間時,儲存管理必須根據申請者的要求,按一定的策略分析主存空間的使用情況,找出足夠的空閒區域分配給申請者。當作業撤離或主動歸還主存資...
作業系統實驗報告 儲存管理實驗
儲存管理實驗 通過編寫和除錯儲存管理的模擬程式以加深對儲存管理方案的理解。熟悉虛存管理的各種頁面淘汰演算法。通過編寫和除錯位址轉換過程的模擬程式以加強對位址轉換過程的了解。作業系統 windows xp 編譯環境 visual c 6.0 由於在單道批處理系統中,作業一投入執行,它就占有計算機的一切...
實驗報告格式實驗內容
非線性編輯 實驗報告 實驗名稱 音訊編輯 專業數字 技術 班級 10數媒2班 學號 e10700217 學生姓名廖遠東 指導老師呂曉華 浙江理工大學資訊電子學院 2012年3月28日 非線性編輯 實驗五任務書 一.實驗名稱 音訊編輯 二.實驗目的 熟練掌握adobe premiere的音訊編輯,在p...