日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

OPT和LRU页面置换算法C语言代码,页面置换算法模拟——OPT、FIFO和LRU算法.doc

發(fā)布時(shí)間:2023/12/10 编程问答 32 豆豆
生活随笔 收集整理的這篇文章主要介紹了 OPT和LRU页面置换算法C语言代码,页面置换算法模拟——OPT、FIFO和LRU算法.doc 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

實(shí)用標(biāo)準(zhǔn)文案

精彩文檔

操作系統(tǒng)實(shí)驗(yàn)報(bào)告

頁(yè)面置換算法模擬

——OFT、FIFO和LRU算法

班級(jí):2013級(jí)軟件工程1班

學(xué)號(hào):X X X

姓名:蕭氏一郎

數(shù)據(jù)結(jié)構(gòu)說(shuō)明:

Memery[10]物理塊中的頁(yè)碼

Page[100]頁(yè)面號(hào)引用串

Temp[100][10]輔助數(shù)組

Void print(unsigned int t)輔助函數(shù)

Viod FIFO()先進(jìn)先出頁(yè)面置換算法

Viod LRU()最近最久未使用置換換算法

Viod OPT()最佳置換算法

流程圖:

開始

開始

NONONOYesYesYes結(jié)束頁(yè)號(hào)序列載完?根據(jù)選擇的置換算法完成號(hào)存在物理塊中引用編號(hào)大于物理塊數(shù)將頁(yè)號(hào)放入物理地址中編號(hào)載入序列號(hào),從第0個(gè)得到頁(yè)號(hào)

NO

NO

NO

Yes

Yes

Yes

結(jié)束

頁(yè)號(hào)序列載完?

根據(jù)選擇的置換算法完成

號(hào)存在物理塊中

引用編號(hào)大于物理塊數(shù)

將頁(yè)號(hào)放入物理地址中編號(hào)

載入序列號(hào),從第0個(gè)得到頁(yè)號(hào)

源代碼:

#include

#include

/*全局變量*/

int mSIZE; /*物理塊數(shù)*/

int pSIZE; /*頁(yè)面號(hào)引用串個(gè)數(shù)*/

static int memery[10]={0}; /*物理塊中的頁(yè)號(hào)*/

static int page[100]={0}; /*頁(yè)面號(hào)引用串*/

static int temp[100][10]={0}; /*輔助數(shù)組*/

/*置換算法函數(shù)*/

void FIFO();

void LRU();

void OPT();

/*輔助函數(shù)*/

void print(unsigned int t);

void designBy();

void download();

void mDelay(unsigned int Delay);

/*主函數(shù)*/

void main()

{

int i,k,code;

printf("請(qǐng)輸入物理塊的個(gè)數(shù)(M<=10):");

scanf("%d",&mSIZE);

printf("請(qǐng)輸入頁(yè)面號(hào)引用串的個(gè)數(shù)(P<=100):");

scanf("%d",&pSIZE);

puts("請(qǐng)依次輸入頁(yè)面號(hào)引用串(連續(xù)輸入,無(wú)需隔開):");

for(i=0;i

scanf("%1d",&page[i]);

download();

do{

puts("輸入的頁(yè)面號(hào)引用串為:");

for(k=0;k<=(pSIZE-1)/20;k++)

{

for(i=20*k;(i

{

if(((i+1)%20==0)||(((i+1)%20)&&(i==pSIZE-1)))

printf("%d\n",page[i]);

else

printf("%d ",page[i]);

}

}

printf("* * * * * * * * * * * * * * * * * * * * * * *\n");

printf("* 請(qǐng)選擇頁(yè)面置換算法:\t\t\t *\n");

printf("* *\n");

printf("* 1.先進(jìn)先出(FIFO) 2.最近最久未使用(LRU) *\n");

printf("* 3.最佳(OPT) 4.退出 *\n");

printf("* * * * * * * * * * * * * * * * * * * * * * *\n");

printf("請(qǐng)選擇操作:[ ]\b\b");

scanf("%d",&code);

switch(code)

{

case 1:

FIFO();

break;

case 2:

LRU();

break;

case 3:

OPT();

break;

case 4:

總結(jié)

以上是生活随笔為你收集整理的OPT和LRU页面置换算法C语言代码,页面置换算法模拟——OPT、FIFO和LRU算法.doc的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。