Skip to content

divyanshupatel17/Operating-System

Repository files navigation

CPU Scheduling Algorithms

Welcome to my CPU Scheduling Algorithms repository! This project showcases various CPU scheduling techniques, both preemptive and non-preemptive, implemented in C. These algorithms are fundamental to operating systems, ensuring efficient process management and resource allocation.

Algorithms Implemented

Non-Preemptive Scheduling

  • First-Come, First-Served (FCFS)
    • With and without arrival time considerations
  • Shortest Job First (SJF)
    • With and without arrival time considerations
  • Priority Scheduling
    • With and without arrival time considerations

Preemptive Scheduling

  • Priority Scheduling (Preemptive)
  • Shortest Remaining Time First (SRTF)
  • Round Robin Scheduling

Each algorithm is implemented with careful consideration of real-world scenarios, handling processes with different arrival times, burst times, and priorities.

Getting Started

Clone this repository to explore and experiment with various CPU scheduling algorithms:

git clone https://github.com/divyanshupatel17/Operating-System.git

Each folder contains C code that implements the corresponding scheduling algorithm. Simply navigate to the desired folder, compile the code using gcc, and run the executable.

Project Structure

.
├── Non-Preemptive/
│   ├── FCFS_with_and_without_atc.c
│   ├── Priority_Non_Preemptive_with_and_without_at.c
│   └── SJF_with_and_without_at.c
├── Preemptive/
│   ├── Priority_Preemptive.c
│   ├── SRTF.c
│   └── Round_Robin.c
└── README.md

Explore More

This repository is part of my larger journey into operating systems and system-level programming. Feel free to explore more of my projects and connect with me on GitHub or through my portfolio.

About

All code related to Operating System

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages