Advertisement
Guest User

Untitled

a guest
Mar 6th, 2015
209
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 3.07 KB | None | 0 0
  1. public class FCFS {
  2.    
  3.     Proces tab[] = new Proces[1];
  4.    
  5.    
  6.     public static double alg_fcfs(int i, Proces a[]){
  7.         int co=0;
  8.         int suma =0;
  9.         int coc=0;
  10.         double cs;
  11.         for (int z = 0; z < a.length; z++) {
  12.             for (int j = 0; j < a.length - 1; j++) {
  13.                 if (a[j].czas_pojawienia > a[j + 1].czas_pojawienia) {
  14.                     Proces temp;
  15.                     temp = a[j + 1];
  16.                     a[j + 1] = a[j];
  17.                     a[j] = temp;
  18.                 }
  19.             }
  20.         }
  21.      for (int j=0; j<i; j++){
  22.          suma=suma+(a[j].czas_trwania);
  23.          if(j==0)
  24.              co=0;
  25.          else co=suma-(a[j].czas_pojawienia);
  26.          coc=coc+co;}
  27.      cs=coc/i;
  28.      return cs;
  29.          }
  30.     public double alg_sjf(int i, Proces a[]){
  31.         int co=0;
  32.         int suma=0;
  33.         int coc=0;
  34.         double cs=0;
  35.         for (int z = 0; z < a.length; z++) {
  36.             for (int j = 0; j < a.length - 1; j++) {
  37.                 if (a[j].czas_pojawienia > a[j + 1].czas_pojawienia) {
  38.                     Proces temp;
  39.                     temp = a[j + 1];
  40.                     a[j + 1] = a[j];
  41.                     a[j] = temp;
  42.                 }
  43.             }
  44.         }return cs;
  45.        
  46.     }
  47.    
  48.     public static double alg_rr(int i, Proces a[], int kwant){
  49.         int co=0;
  50.         int suma=0;
  51.         int coc=0;
  52.         double cs=0;
  53.         int pom;
  54.         for (int z = 0; z < a.length; z++) {
  55.             for (int j = 0; j < a.length - 1; j++) {
  56.                 if (a[j].czas_pojawienia > a[j + 1].czas_pojawienia) {
  57.                     Proces temp;
  58.                     temp = a[j + 1];
  59.                     a[j + 1] = a[j];
  60.                     a[j] = temp;
  61.                 }
  62.             }
  63.         }
  64.         int petla[]=new int[i+1];
  65.         for (int j = 0;j<i; j++)
  66.             petla[j]=0;
  67.         for (int j=0; j<i; j++){
  68.             if (a[j].czas_trwania<=kwant){{
  69.              suma=suma+(a[j].czas_trwania);
  70.              if(j==0)
  71.                  co=0;
  72.              else co=suma-(a[j].czas_pojawienia);
  73.              coc=coc+(co-(kwant*petla[j]));
  74.              System.out.println(coc);}}
  75.             else{
  76.                 pom=a[j].czas_trwania-kwant;
  77.                 a[j].czas_trwania=pom;
  78.                 petla[j]=petla[j]+1;
  79.                 suma=suma+kwant;
  80.                
  81.                 }
  82.          
  83.        
  84.        
  85.        
  86.     }
  87.         System.out.println(coc);
  88.         cs=coc/i;
  89.          return cs;
  90.     }
  91.    
  92.     public static void main(String[] args){
  93.         int w=11;
  94.         int czas_t;
  95.         int czas_p;
  96.         int kwa = 8;
  97.         Proces tab[]=new Proces[w];
  98.         //for(int i=0; i<w;i++){
  99.             //czas_t=(int)(Math.random()*100);
  100.             //czas_p=(int)(Math.random()*20);
  101.             //tab[i]=new Proces(czas_t,czas_p);
  102. //  }
  103.         tab[0]=new Proces(8, 0);
  104.         tab[1]=new Proces(6, 0);
  105.         tab[2]=new Proces(20, 0);
  106.         tab[3]=new Proces(16, 0);
  107.         tab[4]=new Proces(1, 0);
  108.         tab[5]=new Proces(3, 0);
  109.         tab[6]=new Proces(13, 0);
  110.         tab[7]=new Proces(28, 0);
  111.         tab[8]=new Proces(4, 0);
  112.         tab[9]=new Proces(7, 0);
  113.         tab[10]=new Proces(10, 0);
  114.         for(int i=0; i<w;i++)
  115.             System.out.println(i+1 +" "+ tab[i].czas_trwania + " "+tab[i].czas_pojawienia);
  116.         System.out.println("Średni czas oczekiwania FCFS: " +alg_fcfs(w,tab));
  117.         System.out.println("Średni czas oczekiwania RR: " +alg_rr(w,tab, kwa));
  118.         System.out.println("Kwant czasu wynosi: " +kwa);
  119.         }
  120.     }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement