티스토리 뷰
import java.io.*;
class replacepage
{
public static void main(String args[])throws IOException
{
BufferedReader obj=new BufferedReader(new InputStreamReader(System.in));
int f,page=0,ch,pgf=0,n,chn=0;
boolean flag;
int pages[]; //pgf-page fault
do{
System.out.println("Menu");
System.out.println("1.FIFO");
System.out.println("2.LRU");
System.out.println("3.LFU");
System.out.println("4.EXIT");
System.out.println("ENTER YOUR CHOICE: ");
ch=Integer.parseInt(obj.readLine());
switch(ch)
{
case 1:
int pt=0;
System.out.println("enter no. of frames: ");
f=Integer.parseInt(obj.readLine());
int frame[]=new int[f];
for(int i=0;i<f;i++)
{
frame[i]=-1;
}
System.out.println("enter the no of pages ");
n=Integer.parseInt(obj.readLine());
pages=new int[n];
System.out.println("enter the page no ");
for(int j=0;j<n;j++)
pages[j]=Integer.parseInt(obj.readLine());
do{
int pg=0;
for(pg=0;pg<n;pg++)
{
page=pages[pg];
flag=true;
for(int j=0;j<f;j++)
{
if(page==frame[j])
{
flag=false;
break;
}
}
if(flag)
{
frame[pt]=page;
pt++;
if(pt==f)
pt=0;
System.out.print("frame :");
for(int j=0;j<f;j++)
System.out.print(frame[j]+" ");
System.out.println();
pgf++;
}
else
{
System.out.print("frame :");
for(int j=0;j<f;j++)
System.out.print(frame[j]+" ");
System.out.println();
}
chn++;
}
}while(chn!=n);
System.out.println("Page fault:"+pgf);
break;
case 2:
int k=0;
System.out.println("enter no. of frames: ");
f=Integer.parseInt(obj.readLine());
int frame1[]=new int[f];
int a[]=new int[f];
int b[]=new int[f];
for(int i=0;i<f;i++)
{
frame1[i]=-1;
a[i]=-1;
b[i]=-1;
}
System.out.println("enter the no of pages ");
n=Integer.parseInt(obj.readLine());
pages=new int[n];
System.out.println("enter the page no ");
for(int j=0;j<n;j++)
pages[j]=Integer.parseInt(obj.readLine());
do{
int pg=0;
for(pg=0;pg<n;pg++)
{
page=pages[pg];
flag=true;
for(int j=0;j<f;j++)
{
if(page==frame1[j])
{flag=false; break;}
}
for(int j=0;j<f && flag;j++)
{
if(frame1[j]==a[f-1])
{k=j;
break;}
}
if(flag)
{
frame1[k]=page;
System.out.println("frame :" );
for(int j=0;j<f;j++)
System.out.print(frame1[j]+" ");
pgf++;
System.out.println();
}
else
{
System.out.println("frame :" );
for(int j=0;j<f;j++)
System.out.print(frame1[j]+" ");
System.out.println();
}
int p=1;
b[0]=page;
for(int j=0;j<a.length;j++)
{
if(page!=a[j] && p<f)
{
b[p]=a[j];
p++;
}
}
for(int j=0;j<f;j++)
{
a[j]=b[j];
}
chn++;
}
}while(chn!=n);
System.out.println("Page fault:"+pgf);
break;
case 3:
k=0;
pgf=0;
int sml;
System.out.println("enter no. of frames: ");
f=Integer.parseInt(obj.readLine());
int frame2[]=new int[f];
int cnt[]=new int [f];
flag=true;
for(int i=0;i<f;i++)
{
frame2[i]=-1;
cnt[i]=0;
}
System.out.println("enter the no of pages ");
n=Integer.parseInt(obj.readLine());
pages=new int[n];
System.out.println("enter the page no ");
for(int j=0;j<n;j++)
pages[j]=Integer.parseInt(obj.readLine());
do
{
int pg=0;
for(pg=0;pg<n;pg++)
{
page=pages[pg];
flag=true;
for(int j=0;j<f;j++)
{
if(page==frame2[j])
{
flag=false;
cnt[j]++;
break;
}
}
if(flag)
{
sml=cnt[0];
for(int j=0;j<f;j++)
{
if(cnt[j]<sml)
{
sml=cnt[j];
break;
}
}
for(int j=0;j<f;j++)
{
if(sml==cnt[j] )
{
frame2[j]=page;
k=j;
break;
}
}
cnt[k]=1;
System.out.print("frame :");
for(int j=0;j<f;j++)
{
System.out.print(frame2[j]+" ");
System.out.println();
pgf++;
}
}
else
{
System.out.print("frame :");
for(int j=0;j<f;j++)
System.out.print(frame2[j]+" ");
System.out.println();
}
chn++;
}
}while(chn!=n);
System.out.println("Page fault:"+pgf);
break;
case 4:
break;
}
} while(ch!=4);
}
}
'컴퓨터 > 개발' 카테고리의 다른 글
JSP 내에서 java script 호출방법 (0) | 2012.09.28 |
---|---|
[IOS 개발 TIP] 아이폰앱 아이패드로 변환시 Tip!! (0) | 2012.09.27 |
PhoneGap을 이용한 앱 개발 - 개발자 Tip!! (0) | 2012.09.26 |
LRU,FIFO PageReplacement Algorithm (0) | 2011.11.28 |
[컴과개] selection,insertion,bubble Sort C code (0) | 2011.11.10 |
- Total
- Today
- Yesterday
- 델 XPS
- 오곡라떼
- 한국의 인종차별 사례
- Master of None
- 비트코인
- 클라우드펀딩
- TensorFlow
- 마스터오브논
- 와디즈
- dell xps
- AirPod
- l1 norm
- VIVO BOOK
- qoo10
- 비보북
- 마스터오브제로
- 에어팟
- 리뷰
- 고사양노트북
- 브렉시트
- 넥서스7
- 샤플
- 뉴넥서스
- 오곡우유
- 김연아 직촬
- 주식
- 케이민즈
- l2 norm
- AirPods
- 영화
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |