/OS-Algorithms

A code repository for an undergraduate course in Operating Systems

Primary LanguageCGNU General Public License v3.0GPL-3.0

A code repository for an undergraduate course in 'Operating Systems'

This repository contains a C implementation of various common algorithms used in Operating System design, taught as part of an Operating Systems course at the undergraduate level.

The following is a list of algorithms available in this repository:

  • Disk Scheduling Algorithms
    1. First-Come First-Served (FCFS)
    2. Shortest Seek-Time First (SSTF)
    3. SCAN / Elevator
    4. Circular SCAN (C-SCAN)
    5. LOOK
    6. Circular LOOK (C-LOOK)
  • Memory Allocation
    1. First Fit
    2. Best Fit
    3. Worst Fit
  • Page Replacement
    1. First-In First-Out (FIFO)
    2. Optimal (OPT)
    3. Least Recently Used (LRU)
  • CPU / Process Scheduling
    1. First-Come First-Served (FCFS)
    2. Shortest Job First (SJF)
    3. Shortest Remaining Time First (SRTF) / Pre-emptive SJF
    4. Priority (Pre-emptive)
    5. Priority (Non pre-emptive)
    6. Round-Robin

Contributing

You are most welcome to contribute more algorithms! Please read our Contribution Guidelines first to get started.