Skip to content
geeksforgeeks
  • Tutorials
    • Python
    • Java
    • Data Structures & Algorithms
    • ML & Data Science
    • Interview Corner
    • Programming Languages
    • Web Development
    • CS Subjects
    • DevOps And Linux
    • School Learning
    • Practice Coding Problems
  • Courses
    • DSA to Development
    • Get IBM Certification
    • Newly Launched!
      • Master Django Framework
      • Become AWS Certified
    • For Working Professionals
      • Interview 101: DSA & System Design
      • Data Science Training Program
      • JAVA Backend Development (Live)
      • DevOps Engineering (LIVE)
      • Data Structures & Algorithms in Python
    • For Students
      • Placement Preparation Course
      • Data Science (Live)
      • Data Structure & Algorithm-Self Paced (C++/JAVA)
      • Master Competitive Programming (Live)
      • Full Stack Development with React & Node JS (Live)
    • Full Stack Development
    • Data Science Program
    • All Courses
  • Aptitude
  • Engineering Mathematics
  • Discrete Mathematics
  • Operating System
  • DBMS
  • Computer Networks
  • Digital Logic and Design
  • C Programming
  • Data Structures
  • Algorithms
  • Theory of Computation
  • Compiler Design
  • Computer Org and Architecture
Open In App
Next Article:
Multitasking Operating System
Next article icon

Multitasking Operating System

Last Updated : 30 Apr, 2025
Comments
Improve
Suggest changes
Like Article
Like
Report

Multitasking in operating systems allows multiple tasks to run in an concurrent (or interleaved) manner, enhancing system performance.

  • Multiprogramming ensures that the CPU (a very fast device) is used by other processes when one process becomes busy with IO (very slow compared to CPU). Multitasking further enhances multiprograamming by allocating fixed slot to each process ready to execute. It mainly runs processes in round robin manner.
  • We mainly try to make the best utilization of our main resource which is CPU (by allowing processes to run in an interleaved manner (one process gets CPU for a partial time and then other process gets CPU).
  • Apart from CPU utilization, it also improves user experience as the system becomes more responsive and interactive, hence allows user to do multiple tasks.
Multitasking Operating System
Multitasking Operating System

Types of Multi-Tasking Operating System

1. Preemptive Multitasking Operating System

  • In preemptive multitasking, the operating system can interrupt a running process and allocate the CPU to another process.
  • The operating system decides how long a process should run before switching to another process.
  • Preemption ensures that no single process monopolizes the CPU, improving system responsiveness.
  • Examples include Windows 95, WindowsNT, Linux and UNIX-based operating systems.

Advantages:

  • Efficient CPU utilization by running multiple tasks concurrently.
  • Better system responsiveness and user experience.
  • Allows higher-priority processes to take precedence over lower-priority ones.

Disadvantages:

  • Context switching overhead, which can reduce performance.
  • Complexity in process synchronization and management.
  • Can lead to starvation if lower-priority processes are never allocated CPU time.

2. Cooperative/Non-Preemptive Multitasking Operating System

  • In non-preemptive multitasking, also known as cooperative multitasking, the OS does not initiate context switching from one process to another.
  • A context switch occurs only when processes voluntarily yield control or are logically blocked.
  • Processes cooperate to allow multiple applications to run simultaneously, ensuring the system operates smoothly.
  • Examples include older versions of Macintosh OS (8.0-9.2.2) and Windows 3.x.

Advantages:

  • Simpler to implement compared to preemptive multitasking.
  • Lower overhead from context switching.
  • Processes have more control over their execution.

Disadvantages:

  • Less efficient CPU utilization due to lack of automatic task switching.
  • Risk of system unresponsiveness if a process fails to yield control.
  • Difficult to manage real-time task priorities.

For more details you can refer Difference between Preemptive and Cooperative Multitasking article.

Components of Multi-Tasking Operating System

  • Time Sharing: In this, many processes are allocated with resources of computer in respective time slots, processors time is shared with multiple processes.
  • Context Switching: Context switching is a process of saving the context of one process and loading the context of another process. In simpler terms it is loading another process when the prior process has finished its execution.
  • Multi-Threading: Multithreading is the ability of a program or an operating system to enable more than one user at a time without requiring multiple copies of the program running on the computer.
  • Hardware Interrupt: When a process or an event requires urgent attention, hardware or software will signal with an interrupt. It informs the processor that a high-priority task has arisen that necessitates interrupting the running process.
  • Process Scheduling: It is the operating system mechanism that allocates CPU time to processes based on scheduling algorithms.
  • Process Synchronization: ensures coordinated access to shared resources, preventing conflicts between processes.

Pros of Multi-Tasking Operating System

  • Multi-Tasking Operating System is capable of executing multiple application simultaneously without slowing down the system.
  • Each process is assigned specific length of time(i.e time sharing), hence a process does not have to wait for longer duration to utilize CPU. Starvation of process is not found in these operating system.
  • A multitasking OS can effectively manage I/O devices, RAM, hard disks, CPUs and other computer resources.
  • In Multi-Tasking Operating a user is capable of executing multiple programs at the same time, such as games, browser, MS Word and other services.
  • Memory management is well-defined in multitasking operating systems. Because of this, the operating system does not grant any permission for unwanted apps to waste RAM.

Cons of Multi-Tasking Operating System

  • As a single processor is executing multiple processes at the same time then there will be load on CPU and CPU may gets heat up.
  • Computer system will be lagging if the processor is slow in Multi-Tasking Operating System while executing multiple programs simultaneously.
  • Main memory(RAM) have to store multiple processes during multi tasking so there can be memory boundation if the main memory is overloaded.

Next Article
Multitasking Operating System

D

darkknight006
Improve
Article Tags :
  • Operating Systems
  • OS Basics

Similar Reads

    Multithreading in Operating System
    A thread is a path that is followed during a program’s execution. The majority of programs written nowadays run as a single thread. For example, a program is not capable of reading keystrokes while making drawings. These tasks cannot be executed by the program at the same time. This problem can be s
    7 min read
    Multiprogramming in Operating System
    As the name suggests, Multiprogramming means more than one program can be active at the same time. Before the operating system concept, only one program was to be loaded at a time and run. These systems were not efficient as the CPU was not used efficiently. For example, in a single-tasking system,
    5 min read
    Multi-User Operating System
    An operating system is software that acts as an interface between the user and the computer hardware which does multiple functions such as memory management; file management and processor management. The operating system should have to meet the requirements of all its users in a balanced way so that
    5 min read
    IoT Operating Systems
    An Operating System is a software program software that manages and controls all the resources in a computer, together with the hardware and the software program. A running system is chargeable for controlling, dealing with, and coordinating all the sports and resources in a computer. An operating m
    13 min read
    Interactive Operating System
    Interactive operating systems are computers that accept human inputs. Users give commands or some data to the computers by typing or by gestures. Some examples of interactive systems include MS Word and Spreadsheets, etc. They facilitate interactive behavior. Mac and Windows OS are some examples of
    5 min read
geeksforgeeks-footer-logo
Corporate & Communications Address:
A-143, 7th Floor, Sovereign Corporate Tower, Sector- 136, Noida, Uttar Pradesh (201305)
Registered Address:
K 061, Tower K, Gulshan Vivante Apartment, Sector 137, Noida, Gautam Buddh Nagar, Uttar Pradesh, 201305
GFG App on Play Store GFG App on App Store
Advertise with us
  • Company
  • About Us
  • Legal
  • Privacy Policy
  • In Media
  • Contact Us
  • Advertise with us
  • GFG Corporate Solution
  • Placement Training Program
  • Languages
  • Python
  • Java
  • C++
  • PHP
  • GoLang
  • SQL
  • R Language
  • Android Tutorial
  • Tutorials Archive
  • DSA
  • Data Structures
  • Algorithms
  • DSA for Beginners
  • Basic DSA Problems
  • DSA Roadmap
  • Top 100 DSA Interview Problems
  • DSA Roadmap by Sandeep Jain
  • All Cheat Sheets
  • Data Science & ML
  • Data Science With Python
  • Data Science For Beginner
  • Machine Learning
  • ML Maths
  • Data Visualisation
  • Pandas
  • NumPy
  • NLP
  • Deep Learning
  • Web Technologies
  • HTML
  • CSS
  • JavaScript
  • TypeScript
  • ReactJS
  • NextJS
  • Bootstrap
  • Web Design
  • Python Tutorial
  • Python Programming Examples
  • Python Projects
  • Python Tkinter
  • Python Web Scraping
  • OpenCV Tutorial
  • Python Interview Question
  • Django
  • Computer Science
  • Operating Systems
  • Computer Network
  • Database Management System
  • Software Engineering
  • Digital Logic Design
  • Engineering Maths
  • Software Development
  • Software Testing
  • DevOps
  • Git
  • Linux
  • AWS
  • Docker
  • Kubernetes
  • Azure
  • GCP
  • DevOps Roadmap
  • System Design
  • High Level Design
  • Low Level Design
  • UML Diagrams
  • Interview Guide
  • Design Patterns
  • OOAD
  • System Design Bootcamp
  • Interview Questions
  • Inteview Preparation
  • Competitive Programming
  • Top DS or Algo for CP
  • Company-Wise Recruitment Process
  • Company-Wise Preparation
  • Aptitude Preparation
  • Puzzles
  • School Subjects
  • Mathematics
  • Physics
  • Chemistry
  • Biology
  • Social Science
  • English Grammar
  • Commerce
  • World GK
  • GeeksforGeeks Videos
  • DSA
  • Python
  • Java
  • C++
  • Web Development
  • Data Science
  • CS Subjects
@GeeksforGeeks, Sanchhaya Education Private Limited, All rights reserved
We use cookies to ensure you have the best browsing experience on our website. By using our site, you acknowledge that you have read and understood our Cookie Policy & Privacy Policy
Lightbox
Improvement
Suggest Changes
Help us improve. Share your suggestions to enhance the article. Contribute your expertise and make a difference in the GeeksforGeeks portal.
geeksforgeeks-suggest-icon
Create Improvement
Enhance the article with your expertise. Contribute to the GeeksforGeeks community and help create better learning resources for all.
geeksforgeeks-improvement-icon
Suggest Changes
min 4 words, max Words Limit:1000

Thank You!

Your suggestions are valuable to us.

What kind of Experience do you want to share?

Interview Experiences
Admission Experiences
Career Journeys
Work Experiences
Campus Experiences
Competitive Exam Experiences