• Skip to main content
  • Skip to primary sidebar
  • Skip to secondary sidebar
  • Skip to footer

Computer Notes

Library
    • Computer Fundamental
    • Computer Memory
    • DBMS Tutorial
    • Operating System
    • Computer Networking
    • C Programming
    • C++ Programming
    • Java Programming
    • C# Programming
    • SQL Tutorial
    • Management Tutorial
    • Computer Graphics
    • Compiler Design
    • Style Sheet
    • JavaScript Tutorial
    • Html Tutorial
    • Wordpress Tutorial
    • Python Tutorial
    • PHP Tutorial
    • JSP Tutorial
    • AngularJS Tutorial
    • Data Structures
    • E Commerce Tutorial
    • Visual Basic
    • Structs2 Tutorial
    • Digital Electronics
    • Internet Terms
    • Servlet Tutorial
    • Software Engineering
    • Interviews Questions
    • Basic Terms
    • Troubleshooting
Menu

Header Right

Home » Fundamental » OS » First Come First Serve(FCFS) Scheduling
Next →
← Prev

First Come First Serve(FCFS) Scheduling

By Dinesh Thakur

It termed as First Come First Serve (FCFS) Scheduling. As its name implies, the process which arrives first in front of CPU for processing, then that process executed first. It is a non-preemptive scheduling algorithm which means in this priority of processing does not matter, i.e., whatever the priority may be the process executed in the manner they arrived.

It is also known as FIFO, i.e. first in first out. We can also write C/C++ program for first come first serve scheduling algorithm.

Example: real-life example of FCFS is buying a ticket on the ticket counter. In this, a person is served according to queue manner. The man who arrives first in the queue first buys the ticket and the process goes on. Similarly, for CPU the process works.

We’ll be covering the following topics in this tutorial:

  • Calculating average waiting time for scheduling
  • Advantages of First Come First Serve to scheduling
  • Disadvantages of First Come First Serve to scheduling
  • What do you mean by convoy effect?

Calculating average waiting time for scheduling

We use the average waiting time parameter to see its performance. We explain this with the help of an example.

Example: Consider the three processes P1, P2, and P3 which arrives at a different time and illustrated accurately in the below table and reaches for execution in the same manner as they shown with arrival time 0. Burst time is given in the chart.

ProcessBurst timeArrival
P1211st
P232nd
P353rd

 

The average waiting time or AWT= (0+21+24)/3= 15ms

Thus, for the above-given processes, firstly P1 executed in the CPU.

•   So, waiting time for P1 is 0 as the CPU processes no request.

•   P1 takes 21 ms to complete its execution. So, waiting time for process P2 is 21ms.

•   Similarly, waiting time for process P3 is formed by adding execution time for process P1 and execution time for process P2, i.e., process P3= 21+3=24 ms

•   In the same way, the waiting time for process P4= execution time of P1+P2+P3 = 21+3+5 = 29ms So, this process thoroughly explained through the Gantt chart.

Advantages of First Come First Serve to scheduling

•   It is easy to implement.

•   It is easy to understand.

Disadvantages of First Come First Serve to scheduling

•   In this, the priority of process for execution does not matter as it is a non-preemptive scheduling process.

Example: if a process with less priority executed first and it takes more time as per its requirement, and suddenly a procedure with high priority reaches, then the CPU does not perform this high priority process. So, this high priority process has to wait because of improper process scheduling.

•   In this, average waiting time or AWT is high, i.e., the average waiting time is not optimal.

•   In FCFS, parallel utilization of resources is not possible, which give the result to Convoy Effect. Thus, poor usage of resources takes place.

What do you mean by convoy effect?

When some processes need to use the resource for a short interval of time but blocked by some other method which is holding the resource for a long time, this situation is known as Convoy Effect. It leads to poor utilization of resources which in result leads to poor performance.

You’ll also like:

  1. What is Disk Scheduling? Type of Disk Scheduling
  2. What is Preemptive Scheduling?
  3. CPU Scheduling Algorithms
  4. What is Priority Scheduling? – Definition
  5. Write Short Note on C-Scan Scheduling
Next →
← Prev
Like/Subscribe us for latest updates     

About Dinesh Thakur
Dinesh ThakurDinesh Thakur holds an B.C.A, MCDBA, MCSD certifications. Dinesh authors the hugely popular Computer Notes blog. Where he writes how-to guides around Computer fundamental , computer software, Computer programming, and web apps.

Dinesh Thakur is a Freelance Writer who helps different clients from all over the globe. Dinesh has written over 500+ blogs, 30+ eBooks, and 10000+ Posts for all types of clients.


For any type of query or something that you think is missing, please feel free to Contact us.


Primary Sidebar

Operating System

Operating System & Types

    • Operating System - Software
    • Operating System - Definition
    • Operating System - Types
    • Operating System - Functions
    • Operating System - Characteristics
    • Operating System - Services
    • Operating System - Multiprogramming
    • Operating System - Time Sharing
    • Operating System - Multiprocessor
    • Operating System - Distributed
    • Operating System - Batch Processing
    • Operating System - Real-Time
    • Operating System - Multitasking
    • Operating System - Network(NOS)
    • Operating System - Multi-User
    • Operating System - Batch
    • Operating System - External Structure
    • Operating System - MS-DOS
    • Operating System - System Software
    • Operating System - Kernel
    • Operating System - Main Functions

Operating System Scheduling

    • Operating System - Scheduling
    • Operating System - Disk Scheduling
    • Operating System - Process
    • Operating System - Round Robin
    • Operating System - CPU Scheduling
    • Operating System - (FCFS) Scheduling
    • Operating System - Preemptive
    • Operating System - Priority Scheduling

Memory

    • Operating System - Memory
    • Operating System - Cache Memory
    • Operating System - Virtual Memory
    • Operating System - Memory Partition

Operating System - What is

    • Operating System - Booting
    • Operating System - Files & Types
    • Operating System - Shell
    • Operating System - Real Time System
    • Operating System - Demand Paging
    • Operating System - Multi Tasking
    • Operating System - Parallel Processing
    • Operating System - Swapping
    • Operating System - Spooling
    • Operating System - App Software
    • Operating System - Dead Lock
    • Operating System - Batch Processing
    • Operating System - Semaphore
    • Operating System - Variable Partitioned
    • Operating System - File System
    • Operating System - Cipher Text
    • Operating System - OS/2
    • Operating System - CONFIG.SYS
    • Operating System - Segmentation
    • Operating System - CLI

Some Other Tutorials

  • OS - Application Vs System Software
  • OS - Commands in DOS
  • OS - Process States
  • OS - System Components
  • OS - Inter-Process
  • OS - Computer Languages
  • OS - System Architecture
  • OS - Directory Structure
  • OS - Process Management
  • OS - Deadlock Prevention
  • OS - Thread Vs Process
  • OS - File Sharing

Other Links

  • Operating System - PDF Version

Footer

Basic Course

  • Computer Fundamental
  • Computer Networking
  • Operating System
  • Database System
  • Computer Graphics
  • Management System
  • Software Engineering
  • Digital Electronics
  • Electronic Commerce
  • Compiler Design
  • Troubleshooting

Programming

  • Java Programming
  • Structured Query (SQL)
  • C Programming
  • C++ Programming
  • Visual Basic
  • Data Structures
  • Struts 2
  • Java Servlet
  • C# Programming
  • Basic Terms
  • Interviews

World Wide Web

  • Internet
  • Java Script
  • HTML Language
  • Cascading Style Sheet
  • Java Server Pages
  • Wordpress
  • PHP
  • Python Tutorial
  • AngularJS
  • Troubleshooting

 About Us |  Contact Us |  FAQ

Dinesh Thakur is a Technology Columinist and founder of Computer Notes.

Copyright © 2025. All Rights Reserved.

APPLY FOR ONLINE JOB IN BIGGEST CRYPTO COMPANIES
APPLY NOW