Untitled
unknown
plain_text
a year ago
3.5 kB
7
Indexable
10 // head movement towards left #include<stdio.h> int main() { int t[20], d[20], h, i, j, n, temp, k, atr[20], tot, p, sum=0; printf("enter the no of tracks to be traveresed"); scanf("%d'",&n); printf("enter the position of head"); scanf("%d",&h); t[0]=0; t[1]=h; printf("enter the tracks"); for(i=2;i<n+2;i++) scanf("%d",&t[i]); for(i=0;i<n+2;i++) { for(j=0;j<(n+2)-i-1;j++) { if(t[j]>t[j+1]) { temp=t[j]; t[j]=t[j+1]; t[j+1]=temp; } } } for(i=0;i<n+2;i++) if(t[i]==h) { j=i; k=i; p=0; } while(t[j]!=0) { atr[p]=t[j]; j--; p++; } atr[p]=t[j]; for(p=k+1;p<n+2;p++,k++) atr[p]=t[k+1]; printf("seek sequence is:"); for(j=0;j<n+1;j++) { if(atr[j]>atr[j+1]) d[j]=atr[j]-atr[j+1]; else d[j]=atr[j+1]-atr[j]; sum+=d[j]; printf("\n%d", atr[j]); } printf("\nTotal head movements:%d",sum); } 6 //**********FIRST FIT********** #include<stdio.h> #define max 25 void main() { int frag[max],b[max],f[max],i,j,nb,nf,temp; static int bf[max],ff[max]; printf("\n\tMemory Management Scheme - First Fit"); printf("\nEnter the number of blocks:"); scanf("%d",&nb); printf("Enter the number of files:"); scanf("%d",&nf); printf("\nEnter the size of the blocks:-\n"); for(i=1;i<=nb;i++) { printf("Block %d:",i); scanf("%d",&b[i]); } printf("Enter the size of the files :-\n"); for(i=1;i<=nf;i++) { printf("File %d:",i); scanf("%d",&f[i]); } for(i=1;i<=nf;i++) { for(j=1;j<=nb;j++) { if(bf[j]!=1) { temp=b[j]-f[i]; if(temp>=0) { ff[i]=j; break; } } } frag[i]=temp; bf[ff[i]]=1; } printf("\nFile_no:\tFile_size :\tBlock_no:\tBlock_size:\tFragement"); for(i=1;i<=nf;i++) printf("\n%d\t\t%d\t\t%d\t\t%d\t\t%d",i,f[i],ff[i],b[ff[i]],frag[i]); //getch(); } //****************BEST FIT***************************** #include<stdio.h> #define max 25 void main() { int frag[max],b[max],f[max],i,j,nb,nf,temp,lowest=10000; static int bf[max],ff[max]; printf("\n\tMemory Management Scheme - Best Fit"); printf("\nEnter the number of blocks:"); scanf("%d",&nb); printf("Enter the number of files:"); scanf("%d",&nf); printf("\nEnter the size of the blocks:-\n"); for(i=1;i<=nb;i++) { printf("Block %d:",i); scanf("%d",&b[i]); } printf("Enter the size of the files :-\n"); for(i=1;i<=nf;i++) { printf("File %d:",i); scanf("%d",&f[i]); } for(i=1;i<=nf;i++) { for(j=1;j<=nb;j++) { if(bf[j]!=1) { temp=b[j]-f[i]; if(temp>=0) if(lowest>temp) { ff[i]=j; lowest=temp; } } } frag[i]=lowest; bf[ff[i]]=1; lowest=10000; } printf("\nFile No\tFile Size \tBlock No\tBlock Size\tFragment"); for(i=1;i<=nf && ff[i]!=0;i++) printf("\n%d\t\t%d\t\t%d\t\t%d\t\t%d",i,f[i],ff[i],b[ff[i]],frag[i]); //getch(); } // WORST FIT #include<stdio.h> #define max 25 void main() { int frag[max],b[max],f[max],i,j,nb,nf,temp,highest=0; static int bf[max],ff[max]; printf("\n\tMemory Management Scheme - Worst Fit"); printf("\nEnter the number of blocks:"); scanf("%d",&nb); printf("Enter the number of files:"); scanf("%d",&nf); printf("\nEnter the size of the blocks:-\n"); for(i=1;i<=nb;i++) { printf("Block %d:",i); scanf("%d",&b[i]); } printf("Enter the size of the files :-\n"); for(i=1;i<=nf;i++) { printf("File %d:",i); scanf("%d",&f[i]); } for(i=1;i<=nf;i++) { for(j=1;j<=nb;j++) { if(bf[j]!=1) //if bf[j] is not allocated { temp=b[j]-f[i]; if(temp>=0) if(highest<temp) { ff[i]=j; highest=temp; } } } frag[i]=highest; bf[ff[i]]=1; highest=0; } printf("\nFile_no:\tFile_size :\tBlock_no:\tBlock_size:\tFragement"); for(i=1;i<=nf;i++) printf("\n%d\t\t%d\t\t%d\t\t%d\t\t%d",i,f[i],ff[i],b[ff[i]],frag[i]); }
Editor is loading...
Leave a Comment