資源簡介
⑴首次適應算法實現
從空閑分區表的第一個表目起查找該表,把最先能夠滿足要求的空閑區分配給作業,這種方法目的在于減少查找時間。為適應這種算法,空閑分區表(空閑區鏈)中的空閑分區要按地址由低到高進行排序。該算法優先使用低址部分空閑區,在低址空間造成許多小的空閑區,在高地址空間保留大的空閑區。
⑵循環首次適應算法實現
該算法是首次適應算法的變種。在分配內存空間時,不再每次從表頭(鏈首)開始查找,而是從上次找到空閑區的下一個空閑開始查找,直到找到第一個能滿足要求的的空閑區為止,并從中劃出一塊與請求大小相等的內存空間分配給作業。該算法能使內存中的空閑區分布得較均勻。
⑶最佳適應算法實現
它從全部空閑區
代碼片段和文件信息
#include
#include
#include
#include
using?namespace?std;
typedef?struct?readyque//進程的屬性結構體
{
?char?name[10];
?int?size;
}readyque*readyqueue;
typedef?struct?idlyspace//空閑表結構體
{
?int?from;
?int?size;
?idlyspace?*?next;
}idlyspace*idly;
typedef?struct?busyspace//已分配鏈表結構體
{
?int?from;
?readyque?r;
?busyspace?*?next;
}busyspace*busy;
static?idly?Is;
static?idly?Is2;
static?busy?Bs;
int?FF();
int?NF();
int?BF();
int?WF();
int?recover();
void?Isprint();
void?Bsprint();
int?main()
{
?Is=(idly)malloc(sizeof(idlyspace));
?Is->from=0;
?Is->size=256;
?Is->next=NULL;
?Is2=Is;
?Bs=(busy)malloc(sizeof(busyspace));
?Bs->next=NULL;
?int?tt1;
?printf(“\n********************歡迎來到動態分區存儲管理系統***********************\n\n“);
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????目錄???????????0??2012-06-29?10:41??新建文件夾\
?????文件????????9556??2012-06-19?20:46??新建文件夾\1改.cpp
?????文件??????449024??2012-06-29?10:47??新建文件夾\操作系統課程設計報告.doc
- 上一篇:軟件工程面向對象分析實驗報告
- 下一篇:伙伴系統代碼+文檔
評論
共有 條評論