資源簡介
1、設計目的:用高級語言編寫和調試一個內存分配程序,加深對內存分配算法的理解。
2、設計要求:
實現請求分頁存儲管理方式的頁面置換算法:近期最久未使用算法(LRU)
內存物理塊數固定為15個,對多個作業采用可變分配全局置換的策略分配物理塊
作業數量與作業大小(10-20頁)可在界面進行設置
所有作業按RR算法進行調度,時間片長度為1秒
可為每個作業隨機產生引用的頁面串,也可以人工輸入引用的頁面串,頁面串引用長度30-50,要求必須包括作業所有的頁面,可作為樣例數據保存
可讀取樣例數據(要求存放在外部文件中)進行作業數量、作業大小、頁面串長度的初始化
要求采用可視化界面,模擬內存分配和使用情況圖
代碼片段和文件信息
#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);//構造一個空隊列
void?enqueue(queue?&qint);//向對頭插入數據
void?outqueue(queue?&qint);//從隊尾出數據
void?display(queue?&q);//顯示隊列中的內容
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
- 上一篇:通信原理教程第二版答案
- 下一篇:利用抗噪冪歸一化倒譜系數的鳥類聲音識別
評論
共有 條評論