資源簡介
1、設(shè)計目的:用高級語言編寫和調(diào)試一個內(nèi)存分配程序,加深對內(nèi)存分配算法的理解。
2、設(shè)計要求:
實現(xiàn)請求分頁存儲管理方式的頁面置換算法:近期最久未使用算法(LRU)
內(nèi)存物理塊數(shù)固定為15個,對多個作業(yè)采用可變分配全局置換的策略分配物理塊
作業(yè)數(shù)量與作業(yè)大小(10-20頁)可在界面進行設(shè)置
所有作業(yè)按RR算法進行調(diào)度,時間片長度為1秒
可為每個作業(yè)隨機產(chǎn)生引用的頁面串,也可以人工輸入引用的頁面串,頁面串引用長度30-50,要求必須包括作業(yè)所有的頁面,可作為樣例數(shù)據(jù)保存
可讀取樣例數(shù)據(jù)(要求存放在外部文件中)進行作業(yè)數(shù)量、作業(yè)大小、頁面串長度的初始化
要求采用可視化界面,模擬內(nèi)存分配和使用情況圖
代碼片段和文件信息
#include?“stdafx.h“
#include??
#include
using?namespace?std?;
class?Lnode
{
friend?class?queue;
private:
int?data;
Lnode?*next;
public:
Lnode(){data=-1;next=NULL;}
};
class?queue
{
friend?class?LRU;
private:
Lnode?*front;
Lnode?*real;
static?int?count;
public:
void?initqueue(queue?&qint);//構(gòu)造一個空隊列
void?enqueue(queue?&qint);//向?qū)︻^插入數(shù)據(jù)
void?outqueue(queue?&qint);//從隊尾出數(shù)據(jù)
void?display(queue?&q);//顯示隊列中的內(nèi)容
bool?check(queue?&qint?e);//檢查隊列中是否有e
};
int?queue::count=0;
void?queue::initqueue(queue?&qint?length)
{???Lnode*?node?=?new?Lnode();
q.front=q.real=node;
q.front->next=NULL;
q.front->data=length;
}
void?queue::enqueue(queue?&qint?e)
{
??Lnode*?p?=?new?Lnode();
??p->data?=e;
??p->next?=NULL;
??q.real->next=p;
?
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????文件???????2468??2009-06-01?20:58??LRU.cpp
-----------?---------??----------?-----??----
?????????????????2468????????????????????1
- 上一篇:通信原理教程第二版答案
- 下一篇:利用抗噪冪歸一化倒譜系數(shù)的鳥類聲音識別
評論
共有 條評論