Monday, October 16, 2017

Single Level Directory

AIM:The main aim of the program is to implement single level directory using c language

PROGRAM :
#include<stdio.h>
#include<conio.h>
Void main()
{
int master,s[20];
char f[20][20][20];
char d[20][20];
int i,j;
clrscr();
printf("enter number of directorios:");
scanf("%d",&master);
printf("enter names of directories:");
for(i=0;i<master;i++)
scanf("%s",&d[i]);
printf("enter size of directories:");
for(i=0;i<master;i++)
scanf("%d",&s[i]);
printf("enter the file names :");
for(i=0;i<master;i++)
for(j=0;j<s[i];j++)
scanf("%s",&f[i][j]);
printf("\n");
printf(" directory\tsize\tfilenames\n");
printf("*************************************************\n");
for(i=0;i<master;i++)
{
printf("%s\t\t%2d\t",d[i],s[i]);
for(j=0;j<s[i];j++)
printf("%s\n\t\t\t",f[i][j]);
printf("\n");
}
printf("\t\n");
getch();

}


Input & Output:






Saturday, October 7, 2017

PageReplacementAlgorithmsInJAVA

FIFO
AIM:

Program :
import java.io.*;
public class PagingFIFO {
BufferedReader input=new BufferedReader(new InputStreamReader(System.in));
int n, page[], f, frames[], faults, count;
double rate;
public PagingFIFO() throws IOException{
System.out.println("Enter number of pages");
n=Integer.parseInt(input.readLine());
page=new int[n];
System.out.println("Enter number of page frames");
f=Integer.parseInt(input.readLine());
frames=new int[f];
count=1;
}
void reset()
{
int j;
for(j=0;j<f;j++)
frames[j]=0;
faults=0;
count=1;
}
void read() throws IOException
{
int i;
System.out.println("Enter the pages");
for(i=0;i<n;i++)
{
System.out.println("Enter page number "+(i+1));
page[i]=Integer.parseInt(input.readLine());
}
for(i=0;i<f;i++)
frames[i]=-1;
}
void fifo()
{
int i,j,k=0;
reset();
boolean found=false;
for(i=0;i<n;i++)
{
for(j=0;j<f;j++)
{
if(page[i]==frames[j])
found=true;
}
if(found==false)
{
frames[k]=page[i];
if(k==f-1)
k=0;
else
k++;
faults++;
}
display();
found=false;
}
System.out.println("Number of page faults = "+faults);
System.out.println("Fault rate = "+(faults*1.0/n));
}
void display()
{
int i;
System.out.print("Page frame "+count+" :");
for(i=0;i<f;i++)
{
if(frames[i]==-1)
System.out.print(" -");
else
System.out.print(" "+frames[i]);
}
System.out.print("\n");
count++;
}
public static void main(String[] args) throws IOException{
PagingFIFO p=new PagingFIFO();
p.read();
BufferedReader input=new BufferedReader(new InputStreamReader(System.in));
System.out.println("FIFO");
p.fifo();
}
}
Input & output
/*
E:\siddaiah\B.Tech\JAVA>javac PagingFIFO.java

E:\siddaiah\B.Tech\JAVA>java PagingFIFO
Enter number of pages
12
Enter number of page frames
3
Enter the pages
Enter page number 1
2
Enter page number 2
3
Enter page number 3
2
Enter page number 4
1
Enter page number 5
5
Enter page number 6
2
Enter page number 7
4
Enter page number 8
5
Enter page number 9
3
Enter page number 10
2
Enter page number 11
5
Enter page number 12
2
FIFO
Page frame 1 : 2 0 0
Page frame 2 : 2 3 0
Page frame 3 : 2 3 0
Page frame 4 : 2 3 1
Page frame 5 : 5 3 1
Page frame 6 : 5 2 1
Page frame 7 : 5 2 4
Page frame 8 : 5 2 4
Page frame 9 : 3 2 4
Page frame 10 : 3 2 4
Page frame 11 : 3 5 4
Page frame 12 : 3 5 2
Number of page faults = 9
Fault rate = 0.75

E:\siddaiah\B.Tech\JAVA>*/
Result
LRU
AIM:

PROGRAM:
import java.io.*;
public class PagingLRU {
BufferedReader input=new BufferedReader(new InputStreamReader(System.in));
int n, page[], f, frames[], faults, count;
double rate;
public PagingLRU() throws IOException{
System.out.println("Enter number of pages");
n=Integer.parseInt(input.readLine());
page=new int[n];
System.out.println("Enter number of page frames");
f=Integer.parseInt(input.readLine());
frames=new int[f];
count=1;
}
void reset()
{
int j;
for(j=0;j<f;j++)
frames[j]=0;
faults=0;
count=1;
}
void read() throws IOException
{
int i;
System.out.println("Enter the pages");
for(i=0;i<n;i++)
{
System.out.println("Enter page number "+(i+1));
page[i]=Integer.parseInt(input.readLine());
}
for(i=0;i<f;i++)
frames[i]=-1;
}
void lru()
{
int i,j,duration[],max;
reset();
duration=new int[f];
boolean found=false;
for(i=0;i<n;i++)
{
for(j=0;j<f;j++)
duration[j]++;
for(j=0;j<f;j++)
{
if(page[i]==frames[j])
{
found=true;
duration[j]=0;
}
}
if(found==false)
{
max=0;
for(j=0;j<f;j++)
{
if(duration[j]>duration[max])
max=j;
}
frames[max]=page[i];
duration[max]=0;
faults++;
}
display();
found=false;
}
System.out.println("Number of page faults = "+faults);
System.out.println("Fault rate = "+(faults*1.0/n));
}
void display()
{
int i;
System.out.print("Page frame "+count+" :");
for(i=0;i<f;i++)
{
if(frames[i]==-1)
System.out.print(" -");
else
System.out.print(" "+frames[i]);
}
System.out.print("\n");
count++;
}
public static void main(String[] args) throws IOException{
PagingLRU p=new PagingLRU();
p.read();
BufferedReader input=new BufferedReader(new InputStreamReader(System.in));
System.out.println("LRU");
p.lru();
}
}
Input&Output
/*
E:\siddaiah\B.Tech\JAVA>javac PagingLRU.java

E:\siddaiah\B.Tech\JAVA>java PagingLRU
Enter number of pages
12
Enter number of page frames
3
Enter the pages
Enter page number 1
2
Enter page number 2
3
Enter page number 3
2
Enter page number 4
1
Enter page number 5
5
Enter page number 6
2
Enter page number 7
4
Enter page number 8
5
Enter page number 9
3
Enter page number 10
2
Enter page number 11
5
Enter page number 12
2
LRU
Page frame 1 : 2 0 0
Page frame 2 : 2 3 0
Page frame 3 : 2 3 0
Page frame 4 : 2 3 1
Page frame 5 : 2 5 1
Page frame 6 : 2 5 1
Page frame 7 : 2 5 4
Page frame 8 : 2 5 4
Page frame 9 : 3 5 4
Page frame 10 : 3 5 2
Page frame 11 : 3 5 2
Page frame 12 : 3 5 2
Number of page faults = 7
Fault rate = 0.5833333333333334

E:\siddaiah\B.Tech\JAVA>
*/
Result:
OPTIMAL
AIM

PROGRAM
import java.io.*;
public class PagingOpt{
BufferedReader input=new BufferedReader(new InputStreamReader(System.in));
int n, page[], f, frames[], faults, count;
double rate;
public PagingOpt() throws IOException{
System.out.println("Enter number of pages");
n=Integer.parseInt(input.readLine());
page=new int[n];
System.out.println("Enter number of page frames");
f=Integer.parseInt(input.readLine());
frames=new int[f];
count=1;
}
void reset()
{
int j;
for(j=0;j<f;j++)
frames[j]=0;
faults=0;
count=1;
}
void read() throws IOException
{
int i;
System.out.println("Enter the pages");
for(i=0;i<n;i++)
{
System.out.println("Enter page number "+(i+1));
page[i]=Integer.parseInt(input.readLine());
}
for(i=0;i<f;i++)
frames[i]=-1;
}
void opt()
{
int i,j=0,k,duration[],max,flag[];
reset();
duration=new int[f];
flag=new int[f];
boolean found=false;

for(i=0;i<n;i++)
{
for(j=0;j<f;j++)
{
flag[j]=0;
duration[j]=n;
}
for(k=i+1;k<n;k++)
{
for(j=0;j<f;j++)
if(page[k]==frames[j]&&flag[j]==0)
{
duration[j]=k;
flag[j]=1;
}
}
for(j=0;j<f;j++)
if(page[i]==frames[j])
found=true;
if(found==false)
{
max=0;
for(j=0;j<f;j++)
{
if(duration[j]>duration[max])
max=j;
if(frames[j]<0)
{
max=j;
break;
}
}
frames[max]=page[i];
faults++;
}
display();
found=false;
}
System.out.println("Number of page faults = "+faults);
System.out.println("Fault rate = "+(faults*1.0/n));
}
void display()
{
int i;
System.out.print("Page frame "+count+" :");
for(i=0;i<f;i++)
{
if(frames[i]==-1)
System.out.print(" -");
else
System.out.print(" "+frames[i]);
}
System.out.print("\n");
count++;
}
public static void main(String[] args) throws IOException{
PagingOpt p=new PagingOpt();
p.read();
BufferedReader input=new BufferedReader(new InputStreamReader(System.in));
System.out.println("Optimal");
p.opt();
}
}
Input&Output
/*
E:\siddaiah\B.Tech\JAVA>javac Pag

E:\siddaiah\B.Tech\JAVA>java Pagi
Enter number of pages
12
Enter number of page frames
3
Enter the pages
Enter page number 1
2
Enter page number 2
3
Enter page number 3
2
Enter page number 4
1
Enter page number 5
5
Enter page number 6
2
Enter page number 7
4
Enter page number 8
5
Enter page number 9
3
Enter page number 10
2
Enter page number 11
5
Enter page number 12
2
Optimal
Page frame 1 : 2 0 0
Page frame 2 : 2 3 0
Page frame 3 : 2 3 0
Page frame 4 : 2 3 1
Page frame 5 : 2 3 5
Page frame 6 : 2 3 5
Page frame 7 : 4 3 5
Page frame 8 : 4 3 5
Page frame 9 : 4 3 5
Page frame 10 : 2 3 5
Page frame 11 : 2 3 5
Page frame 12 : 2 3 5
Number of page faults = 6
Fault rate = 0.5

E:\siddaiah\B.Tech\JAVA>*/

Result