130 likes | 421 Views
CPU Scheduling Algorithms Simulation using Java. Kaushal Sinha CSC 4320 Spring 2007. CPU Scheduling Algorithms Simulation using Java. Implemented the following Scheduling algorithms First Come First Serve (FCFS) Round Robin Shortest Job First Shortest Remaining Time.
E N D
CPU Scheduling Algorithms Simulation using Java Kaushal Sinha CSC 4320 Spring 2007
CPU Scheduling Algorithms Simulation using Java Implemented the following Scheduling algorithms • First Come First Serve (FCFS) • Round Robin • Shortest Job First • Shortest Remaining Time
CPU Scheduling Algorithms Simulation using Java First Come First Serve (FCFS) This non-preemptive scheduling algorithm follows the first-in, first-out (FIFO) policy. As each process becomes ready, it joins the ready queue. When the current running process finishes execution, the oldest process in the ready queue is selected to run next.
CPU Scheduling Algorithms Simulation using Java Round Robin (RR) • RR is designed specially for time-sharing systems. • It is similar to FCFS but preemption is added to switch between processes. • A small unit of time, called a time quantum or time slice, is defined. • The ready queue is treated as a circular queue. The CPU scheduler goes around the ready queue, allocating the CPU to each process for a time interval of up to 1 time quantum.
CPU Scheduling Algorithms Simulation using Java Round Robin (RR) – Contd … • The implementation of RR is easily managed with a FIFO ready queue. • The CPU is allocated to the process at the head the ready queue. Then, one of two things will happen. If the process has a CPU burst of less than 1 time quantum, the process itself will release the CPU voluntarily. The CPU is then assigned to the next process in the ready queue. Otherwise, if the CPU burst of the currently running job is longer than 1 time quantum, the process is preempted after 1 time quantum and put at the tail of the ready queue. The CPU is then assigned to the next process in the ready queue.
CPU Scheduling Algorithms Simulation using Java Shortest Job First (SJF) This non-preemptive scheduling algorithm favors processes with the shortest expected process time. As each process becomes ready, it joins the ready queue. When the current running process finishes execution, the process in the ready queue with the shortest expected processing time (or service time) is selected to run next.
CPU Scheduling Algorithms Simulation using Java Shortest Remaining Time (SRT) This preemptive scheduling algorithm favors processes with the shortest remaining expected process time. As each process becomes ready, it joins the ready queue. This triggers an interrupt which preempts the current running process back into the ready queue. The process in the ready queue with the shortest remaining service time is selected to run next.
CPU Scheduling Algorithms Simulation using Java Selection of JAVA as a programming tool • Rich GUI classes available (Swing, AWT) • Object Orientation capabilities • Convenient and powerful documentation capabilities • I like it
CPU Scheduling Algorithms Simulation using Java Demonstration