Skip to content

C programs simulating classic Operating System concepts including CPU scheduling algorithms, dining philosophers, and producer-consumer synchronization.

Notifications You must be signed in to change notification settings

cuadravan/os-simulation-c

Repository files navigation

OS Simulation Problems

Description

This repository contains the code I developed for our Operating Systems course.

  1. Classic CPU Scheduling Algorithms
    Implemented in C using linked lists for process management.

    • Each process is represented as a node.
    • Processes are transferred between Ready Queue, Job Queue, and Termination Queue for realistic simulation.
    • Each algorithm differs in how they prioritize, halt, and execute the processes.
  2. Synchronization Problems (Dining Philosopher & Producer-Consumer)
    Implemented in C using semaphores and multithreading.

    • Multithreading simulates multiple simultaneous processes in a computer.
    • Semaphores simulate how processes "lock" and coordinate access to shared resources.

Features

  • Simulation of major CPU scheduling algorithms.
  • Demonstration of concurrency issues and solutions.
  • Practical use of linked lists, multithreading, and semaphores.

About

C programs simulating classic Operating System concepts including CPU scheduling algorithms, dining philosophers, and producer-consumer synchronization.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages