計算並輸出下述各種演算法在不同記憶體容量下的命中率。
a.fifo
先進先出的演算法
b.lrr
最近最少使用演算法
c.opt
最佳淘汰演算法(先淘汰最不常用的頁位址)
d.lfr
最少訪問頁面演算法
e.nur
最近最不經常使用演算法
**:
#include
#include
#include
#include
struct aa;
void main()
}tail=table;
temp=head;
first=head;
count=0;
i=0;
while(i<320)
if (count==1)
if(count==2)
if(count==3)
table=head;
temp=head;
answer=0;
min=400;
if (fangfa==5)
table=table->next;
}if (answer!=1)
table=table->next;
}if (temp->page!=-1) ++ffalse;
temp->page=j;
temp->count=1;
}table=head;
if ((i%32)==0)
table=table->next;}}
}if ((fangfa==4)||(fangfa==3))
table=table->next;
}if(answer!=1)
table=table->next;
}if (temp->page!=-1)
}else}}
if (fangfa==2)
table=table->next;
}if((fangfa==2)&&(answer==1))
tail->page=temp1;
}if((answer!=1)&&(fangfa==2))
tail->page=j;}}
table=head;
while((table!=null)&&(fangfa==1))
table=table->next;
}if ((answer!=1)&&(fangfa==1))
else
}++i;
++count;
if (count==4)
}sum=1.0-ffalse/320.0;
/*cout<
if (fangfa==1) cout<<"fifo:"<
if (fangfa==2) cout<<" lrr:"<
if (fangfa==3) cout<<" opt:"<
if (fangfa==4) cout<<" lfr:"<
if (fangfa==5) cout<<" nur:"<
if(mm==5) cout<
cout<
for(ti=head;ti!=null;ti=ti->next)coutcout<
}實驗四
檔案系統設計
1
.目的和要求
本實驗的目的是通過乙個簡單多使用者檔案系統的設計,加深理解檔案系統的內部功能和內部實現。
2
.實驗內容
為dos
系統設計乙個簡單的二級檔案系統。要求做到以下幾點:
①可以實現下列幾條命令
login
使用者登陸
dir
列檔案目錄
create
建立檔案
delete
刪除檔案
open
開啟檔案
close
關閉檔案
read
讀檔案write
寫檔案②列目錄時要列出檔名,實體地址,保護碼和檔案長度。
③原始檔可以進行讀寫保護。
3
.實驗環境
同前4
.實驗提示
①首先應確定檔案系統的資料結構:主目錄、子目錄及活動檔案等。主目錄和子目錄都以檔案的形式存放於磁碟,這樣便於查詢和修改。
②使用者建立的檔案,可以編號儲存於磁碟上。如:file0,file1,file2…並以編號作為實體地址,在目錄中進行登記。
5
.實驗執行結果
參考程式見下(本程式需要在c:下建乙個名為osfile的目錄及乙個名為file的子目錄):
#include "stdio.h"
#include "string.h"
#include "conio.h"
#include "stdlib.h"
#define maxname 25 /*the largest length of mfdname,ufdname,filename*/
#define maxchild 50 /*the largest child*/
#define max (maxchild*maxchild) /*the size of fpaddrno*/
typedef struct /*the structure of osfile*/
osfile;
typedef struct /*the structure of osufd*/
osufd;
typedef struct /*the structure of osufd'login*/
osufd_login;
typedef struct /*file open mode*/
osufd_openmode;
osufd *ufd[maxchild];
記憶體管理演算法
buddy演算法的優缺點 1 儘管夥伴記憶體演算法在記憶體碎片問題上已經做的相當出色,但是該演算法中,乙個很小的塊往往會阻礙乙個大塊的合併,乙個系統中,對記憶體塊的分配,大小是隨機的,一片記憶體中僅乙個小的記憶體塊沒有釋放,旁邊兩個大的就不能合併。2 演算法中有一定的浪費現象,夥伴演算法是按2的冪次...
記憶體管理演算法 Buddy夥伴演算法
buddy演算法的優缺點 1 儘管夥伴記憶體演算法在記憶體碎片問題上已經做的相當出色,但是該演算法中,乙個很小的塊往往會阻礙乙個大塊的合併,乙個系統中,對記憶體塊的分配,大小是隨機的,一片記憶體中僅乙個小的記憶體塊沒有釋放,旁邊兩個大的就不能合併。2 演算法中有一定的浪費現象,夥伴演算法是按2的冪次...
記憶體管理演算法 Buddy夥伴演算法
buddy system記憶體管理,努力讓記憶體分配與相鄰記憶體合併能快速進行 對於普通演算法來講,合併記憶體相當困難 它利用的是計算機擅長處理2的冪運算。我們建立一系列空閒塊列表,每一種都是2的倍數。舉個例子,如果最小分配單元是8位元組,整個記憶體空間有1m。我們建立8位元組記憶體塊鍊錶,16位元...