Thursday, 13 October 2016

FCFS Disk Sheduling

import java.util.*;
public class Diskfcfs
{
  public static void main(String args[]){
Scanner s=new Scanner(System.in);
int n,tot=0;
System.out.print("Enter no of processes :");
n=s.nextInt();
int []arr=new int[n];
for(int i=0;i<n;i++){
arr[i]=s.nextInt();
}
System.out.print("Enter Head Position :");
int head=s.nextInt();
for(int i=0;i<arr.length;i++){
System.out.println("Head From="+head+"  To="+arr[i]+" Differnce ="+(Math.abs(head-arr[i])));
tot+=Math.abs(head-arr[i]);
head=arr[i];
}
System.out.println("Total movement="+tot);
}
}

Tuesday, 11 October 2016

Shortest Seek Time First (SSTF) in java

import java.util.*;
class sstf{
public static int FindSmallest (int [] arr1){

       int index = 0;
       int min = arr1[index];
       for (int i=1; i<arr1.length; i++){
     
           if (arr1[i] < min && arr1[i]!=-1){
               min = arr1[i];
               index = i;
           }else if(min==-1){
              min=arr1[i];
              index=i;
}
     
}

       return index ;

}
public static void main(String args[]){
Scanner se=new Scanner(System.in);
System.out.print("Enter number of elements=");
int n=se.nextInt();
int arr[]=new int[n];
int diff[]=new int[n];
int copy[]=new int[n];
for(int i=0;i<n;i++){
arr[i]=se.nextInt();
copy[i]=arr[i];
}
System.out.print("Enter Head=");
int head=se.nextInt();
System.out.println();
for(int i=0;i<arr.length;i++){
for(int j=0;j<copy.length;j++){
if(diff[j]==-1){
diff[j]=-1;
}else{
diff[j]=Math.abs(head-copy[j]);
}
}
int ind=FindSmallest(diff);
System.out.println("Head Traveresed from="+head+"to="+copy[ind]+"    Difference="+(Math.abs(head-copy[ind])));
head=copy[ind];
diff[ind]=-1;
}
}
}