Exemplo n.º 1
0
  public void sheduleFCFS() {
    Process newprocess = new Process();
    Process min = newprocess;
    int Ttime = 0;

    while (processlist.size() > 0) {
      if (min == newprocess) {
        for (int i = 0; i < processlist.size() - 1; i++) {
          if (processlist.get(i).getStartTime() <= processlist.get(i + 1).getStartTime()) {
            min = processlist.get(i);
          } else {
            min = processlist.get(i + 1);
          }
        }
      }

      if (min.getServiceTime() == 0) {
        if (min != newprocess) {
          processlist.remove(min);
          min = newprocess;
        }
      } else if (min.getServiceTime() > 0) {
        if (min.getStartTime() <= Ttime) {
          timelist.add(min.getProcessId());
          min.setServiceTime(min.getServiceTime() - 1);
        } else {
          timelist.add("Null");
        }
      }

      Ttime++;
    }
    for (int k = 0; k < timelist.size(); k++) {
      System.out.print(timelist.get(k) + " ");
    }
  }