caoss.simulator.os.scheduling

## Class FSOScheduler

- java.lang.Object
- - caoss.simulator.os.scheduling.FSOScheduler

- All Implemented Interfaces:
    Scheduler<SchedulingState>

      public class FSOScheduler
      extends java.lang.Object
      implements Scheduler<SchedulingState>

- - ### Constructor Summary

    Constructors
    Constructor and Description
    `FSOScheduler(int numberQueues)`

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `void` | `ioConcluded(ProcessControlBlock<SchedulingState> pcb)` Process with the given control block has concluded the requested input/output operation
    `void` | `ioRequest(ProcessControlBlock<SchedulingState> pcb)` Process with the given control block has performed an input/output operation
    `void` | `newProcess(Program program)` Create a new process to run the program with given name
    `void` | `processConcluded(ProcessControlBlock<SchedulingState> pcb)` Process with the given control block has concluded
    `void` | `quantumExpired(ProcessControlBlock<SchedulingState> pcb)` Process with the given control block has expired its quantum

    - ### Methods inherited from class java.lang.Object

      `equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Constructor Detail

    - #### FSOScheduler

          public FSOScheduler(int numberQueues)

  - ### Method Detail

    - #### newProcess

          public void newProcess(Program program)

      Description copied from interface: `Scheduler`
      Create a new process to run the program with given name
      Specified by:
        `newProcess` in interface `Scheduler<SchedulingState>`
      Parameters:
        `program` - The program to run

    - #### ioRequest

          public void ioRequest(ProcessControlBlock<SchedulingState> pcb)

      Description copied from interface: `Scheduler`
      Process with the given control block has performed an input/output operation
      Specified by:
        `ioRequest` in interface `Scheduler<SchedulingState>`
      Parameters:
        `pcb` - The process control block

    - #### ioConcluded

          public void ioConcluded(ProcessControlBlock<SchedulingState> pcb)

      Description copied from interface: `Scheduler`
      Process with the given control block has concluded the requested input/output operation
      Specified by:
        `ioConcluded` in interface `Scheduler<SchedulingState>`
      Parameters:
        `pcb` - The process control block

    - #### quantumExpired

          public void quantumExpired(ProcessControlBlock<SchedulingState> pcb)

      Description copied from interface: `Scheduler`
      Process with the given control block has expired its quantum
      Specified by:
        `quantumExpired` in interface `Scheduler<SchedulingState>`
      Parameters:
        `pcb` - The process control block

    - #### processConcluded

          public void processConcluded(ProcessControlBlock<SchedulingState> pcb)

      Description copied from interface: `Scheduler`
      Process with the given control block has concluded
      Specified by:
        `processConcluded` in interface `Scheduler<SchedulingState>`
      Parameters:
        `pcb` - The process control block