Home » Operating System – First Come First Serve Scheduling

Operating System

Chapter 1: Introduction to Operating System 

— Definition of Operating System.

— Evolution of operating systems – simple batch systems, multi-programmed batch systems, time sharing systems.

— Functions of an operating system

— Characteristics of Operating System

— Single user and multi-user operating systems

Open-source and closed-source operating systems.

Important Questions with their Answers of “Introduction to operating system”

— MCQs and Fill in Blanks

— Short term Questions

— Long Term Questions


Chapter 2: Process Overview

Definition of process, process states, process life cycle,

Process Control Block (PCB),

Process Scheduling – Scheduling queues,

Schedulers (short term, medium term and long term).

Dispatcher.

Context Switch.

Important Questions with their Answers of “Process Overview”

— MCQs and Fill in blanks

Short term Questions

Long Term Questions


Chapter 3: CPU Scheduling

  • CPU Scheduler,
  • Preemptive and non-preemptive scheduling.
  • Scheduling criteria – CPU utilization, Throughput, Turnaround time, Waiting time, Response time.
  • Scheduling Algorithms: First-Come-First-Serve, Shortest-Job-First, Priority Scheduling, Round-Robin.

Important Questions with their Answers of “CPU Scheduling”

  • MCQs and Fill in blanks
  • Short term Questions
  • Long Term Questions

Operating System – First Come First Serve Scheduling


As the name suggests, in the “First come first serve” scheduling algorithm, the process which arrives first, gets executed first, or we can say that the process which requests the CPU first, gets the CPU allocated first.

  • First Come First Serve, is just like FIFO(First in First out) Queue data structure, where the data element which is added to the queue first, is the one who leaves the queue first.
  • This is used in Batch Systems.
  • It’s easy to understand and implement programmatically, using a Queue data structure, where a new process enters through the tail of the queue, and the scheduler selects process from the head of the queue.
  • A perfect real life example of FCFS scheduling is buying tickets at ticket counter.

For Example : For every scheduling algorithm, Average waiting time is a crucial parameter to judge it’s performance.

Average waiting time is the average of the waiting times of the processes in the queue, waiting for the scheduler to pick them for execution.

Lower the Average Waiting Time, better the scheduling algorithm.

Consider the processes P1, P2, P3, P4 given in the below table, arrives for execution in the same order, with Arrival Time 0, and given Burst Time, let’s find the average waiting time using the FCFS scheduling algorithm.

The average waiting time will be 14.5 ms

For the above given proccesses, first P1 will be provided with the CPU resources,

  • Hence, waiting time for P1 will be 0.
  • P1 requires 15 ms for completion, hence waiting time for P2 will be 15 ms
  • Similarly, waiting time for process P3 will be execution time of P1 + execution time for P2, which will be (15 + 4) ms = 19 ms.
  • For process P4 it will be the sum of execution times of P1P2 and P3 i.e. 24 ms.

Problems with FCFS Scheduling

Below we have a few shortcomings or problems with the FCFS scheduling algorithm:

  1. It is Non Pre-emptive algorithm, which means the process priority doesn’t matter.If a process with very least priority is being executed, more like daily routine backup process, which takes more time, and all of a sudden some other high priority process arrives, like interrupt to avoid system crash, the high priority process will have to wait, and hence in this case, the system will crash, just because of improper process scheduling.
  2. Not optimal Average Waiting Time.
  3. Resources utilization in parallel is not possible, which leads to Convoy Effect (Convoy Effect is a situation where many processes, who need to use a resource for short time are blocked by one process holding that resource for a long time.), and hence poor resource(CPU, I/O etc) utilization.

Leave a comment

Your email address will not be published. Required fields are marked *

‘Operating System’ Practical

  1. To install and configure MS Windows 7/8/10 on a computer
  2. To get familiar with general Windows commands – ECHO, CLS, DIR, TREE, MD, CD, TYPE, RD, DEL, MOVE, COPY , REN, ATTRIB, COLOR, DATE, TIME, ERASE, FIND, FC, MORE, CMD, PATH, SYSTEMINFO, SHUTDOWN, TASKLIST, TASKKILL, VER, VOL, CHKDSK
  3. To use wildcard characters for copying, moving, renaming, and deleting files and directories in a given hierarchical directory structure under Windows’s command prompt.
  4. To get familiar with windows control panel components.
  5. To use Windows backup and restore features.
  6. To get familiar with commonly used Windows PowerShell cmdlets like Get-ChildItem, GetContent, Get-Command, Get-Help, Clear-Host, Copy-Item, Move-Item, Remove-Item, Rename-Item, Get-Location, Set-Location, Write-Output, Get-Process, Stop-Process.
  7. To write scripts in Windows PowerShell to automate tasks.