wisemonkeys logo
FeedNotificationProfileManage Forms
FeedNotificationSearchSign in
wisemonkeys logo

Blogs

Scheduling in Operating Systems

profile
Juhi Soni
Sep 09, 2024
0 Likes
0 Discussions
109 Reads

In an operating system, scheduling refers to the method by which tasks are managed and allocated CPU time. The CPU is like the brain of a computer, and scheduling helps ensure it is used efficiently by deciding which task runs at any given time. In this blog, we’ll explore three types of scheduling: Uniprocessor, Multiprocessor, and Real-time.


1. Uniprocessor Scheduling:

Uniprocessor scheduling refers to systems where only one processor (CPU) is available. This type of scheduling decides which task should be executed first from a pool of tasks. The two most common types of uniprocessor scheduling are preemptive and non-preemptive.


  • Preemptive scheduling allows the CPU to switch between tasks even if a task is not completed. For example, if you’re watching a video and suddenly open a document, the CPU will stop processing the video and switch to the document.


  • Non-preemptive scheduling lets the task finish its execution before switching to another. This is like waiting in line at the cafeteria—everyone gets served one by one.


A widely used preemptive scheduling algorithm is the Round Robin method, where each task gets a fixed amount of CPU time (known as a time slice) before switching to the next task.


2. Multiprocessor Scheduling:

In multiprocessor systems, multiple CPUs are available to process tasks simultaneously. This is like having several chefs in a kitchen preparing different meals at the same time. Scheduling in such systems is more complex as the load must be evenly distributed across all processors to avoid overloading one processor while others remain idle.

There are two main approaches:


  • Symmetric multiprocessing (SMP): Each processor works independently and shares the same scheduling queue.


  • Asymmetric multiprocessing (AMP): One processor handles the scheduling, while the others follow its instructions.


Multiprocessor scheduling is used in powerful servers and modern computers to handle heavy workloads like running multiple applications simultaneously.


3. Real-time Scheduling:

Real-time scheduling is critical in systems where tasks must be completed within a strict deadline. For example, in a self-driving car, the system must process sensor data and make decisions in real-time to ensure safety.

There are two types of real-time scheduling:


  • Hard real-time: Missing a deadline can lead to system failure, like in medical devices.


  • Soft real-time: Missing deadlines is not catastrophic but still undesirable, like in video streaming where slight delays may cause buffering.


In conclusion, scheduling is essential for efficient system performance, and different types of systems require different scheduling approaches. Whether it’s managing tasks in a single CPU, distributing loads across multiple CPUs, or meeting real-time deadlines, scheduling ensures that your computer runs smoothly.


Comments ()


Sign in

Read Next

Footprinting

Blog banner

Service Transition Process in ITSM

Blog banner

SESSION HIJACKING

Blog banner

Super Garlicky Tomato Soup with Smashed White Beans

Blog banner

Social Engineering Attacks

Blog banner

I/O Management and Disk Scheduling

Blog banner

What is M-commerce and how it's work

Blog banner

Bots and Cyber Security

Blog banner

Cache memory

Blog banner

Blockchain uses and use cases

Blog banner

Article on Zoho Corporation

Blog banner

Cycling

Blog banner

Boxing

Blog banner

Deadlock and Starvation

Blog banner

Human factor, a critical weak point in the information security of an organization’s IOT

Blog banner

Virtual memory

Blog banner

How User Data Shapes Personalised Campaigns

Blog banner

MY FIRST BLOG?

Blog banner

Not anti-social, but pro-solitude

Blog banner

What is thread and alse multithreading

Blog banner

Famous Indian dishes that where misunderstood to be Indian

Blog banner

Uniprocessor scheduling

Blog banner

SQL Injection Techniques

Blog banner

OS Assignment 3

Blog banner

Digital Balance: Keeping Children Mindful in the Screen Age

Blog banner

MIDDLE CLASS MELODIES!!

Blog banner

Fashion design

Blog banner

Modern Teaching Methods: Why Inquiry-based & Experiential Learning Works Best

Blog banner

Women Empowerment

Blog banner

Every body is beautiful

Blog banner

JUSTICE FOR EVERY “BEZUBAAN ANIMAL”

Blog banner

Smartsheet

Blog banner

WHAT IS SNAPCHAT AND HOW DOES IT WORK?

Blog banner

ADD A SPICE TO YOUR LIFE.

Blog banner

How Schools Can Reduce Exam Stress in Students?

Blog banner

Ethical Hacking

Blog banner

TOGETHER WE CAN CONQUER #team

Blog banner

Crypto tax evasion

Blog banner

A small world of Sockets

Blog banner

USES OF WHATSAPP

Blog banner

Deadlock and Starvation

Blog banner

A Review on Data Acquisition in Cyber Forensics

Blog banner