資源簡介
編寫一個(gè)請(qǐng)求頁式存儲(chǔ)管理模擬程序,通過對(duì)頁面置換過程的模擬,加深對(duì)請(qǐng)求頁式存儲(chǔ)管理方式基本原理及實(shí)現(xiàn)過程的理解。 要求: 1. 從鍵盤輸入頁面訪問序列及分配給進(jìn)程的內(nèi)存塊數(shù); 2. 分別采用OPT、FIFO和LRU算法進(jìn)行頁面置換(說明:對(duì)于OPT算法,在有多個(gè)頁面可選的情況下,先淘汰較早進(jìn)入的頁面)。 3. 計(jì)算缺頁次數(shù)及缺頁率。 測試用例格式如下: 輸入: 算法(1--OPT,2--FIFO,3--LRU) 內(nèi)存塊數(shù) 頁面序列(頁面1,頁面2,頁面3,...) 輸出: 頁面變化時(shí)內(nèi)存塊裝入頁面列表1-是否命中/頁面變化時(shí)
代碼片段和文件信息
#include?
#include?
typedef?struct?Memory//內(nèi)存塊結(jié)構(gòu)數(shù)組?
{
int?id;//序號(hào)?
int?prio;//優(yōu)先級(jí),最先進(jìn)的優(yōu)先級(jí)為0??
int?distance;//下次訪問與當(dāng)前距離?
}?memory;
memory?mem[100]memo[100];
memory?tempbc;
int?type;//算法類型
int?num;//內(nèi)存塊數(shù)
int?ijpklss1s2;
int?a[100];//存頁面序號(hào)的數(shù)組?
int?n=0;???//數(shù)組下標(biāo)?
int?pagefault;//是否缺頁,1表示命中?
int??countpage=0;?//統(tǒng)計(jì)缺頁中斷個(gè)數(shù)?
int?count=0;
int?minprio;//記錄最小優(yōu)先級(jí)
int?minprioflag;//記錄最小優(yōu)先級(jí)數(shù)組下標(biāo)?
int?countdis=0;//計(jì)數(shù)下次序號(hào)到當(dāng)前距離?
int?maxdis;//下次訪問與當(dāng)前距離最遠(yuǎn)距離?
int?maxdisflag=0;//記錄下次到來最遠(yuǎn)的數(shù)組下標(biāo)
char?ch;//輸入逗號(hào)?
int?empty=0;//內(nèi)存是否用完0表示都用完?
int?emptyflag=0;//記錄第1個(gè)空閑區(qū)下標(biāo)?
void?FIFO();//先進(jìn)先出算法?
void?OPT();//淘汰下次訪問距當(dāng)前最遠(yuǎn)的那些頁中序號(hào)最小的頁。
void?LRU();//淘汰上次使用距當(dāng)前最遠(yuǎn)的頁。
void?print();
int?main()
{
scanf(“%d“&type);//輸入算法類型?
scanf(“%d“&num);//輸入內(nèi)存塊數(shù)?
while(1)//輸入頁面序號(hào)存在a[n]數(shù)組中?
{
scanf(“%d%c“&a[n]&ch);
n++;
if(ch==‘\n‘)
break;
};
for(i=0;i {
mem[i].id=-1;
mem[i].prio=i;?
}
switch?(type)
{
case?1
- 上一篇:Quagga配置及使用文檔
- 下一篇:Tcl語言教程(中文帶書簽)
評(píng)論
共有 條評(píng)論