Skip to content

Our octopus is an OS scheduler, extraordinary in managing processes and handling IPC (inter process communication)

Notifications You must be signed in to change notification settings

AbdelruhmanSamy/OctopusOS

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

🐙 OctopusOS 🐙


OctopusOS: if you got tired of your boring windows and want something more fun and with more limbs try OctopusOs, OctopusOs is a multi-process scheduler and memory manager simulator made for Linux.

2024-05-10.21-47-44.mp4

👾 Features:

  • RR (Round Robin) Scheduling
  • SJF (Shortest Job First) Scheduling
  • HPF (Highest Priority First) Scheduling
  • Doubly list, Priority Queue, Queue, and binary tree data structures implementation.
  • Memory management with buddy system algorithm.
  • Multi-process scheduler process clock generator for maximum use of IPC (Inter-Process Communication).
  • GUI built with C and raylib/raygui library.
  • Expressive output featuring:
    • Log all process info in scheduler.log
    • Log all memory info in memory.log
    • performance metrics in scheduler.perf
    • Fancy Terminal output and ASCII art.
    • Images exported of the system each run include the scheduler log and perf log.

Note

GUI is a bonus feature you can do it with any language you want Ex: JS(Electron)

OctopusOS

🧰 Tech Stack:

  • C lang
  • raylib for GUI.

🚀 Quick Start:

  • Clone the repository
  • ensure you have make and raylib installed.
  • Run make in code folder.
make

Caution

In memory management we didn't handle not having enough space for a process.

System Requirement


About

Our octopus is an OS scheduler, extraordinary in managing processes and handling IPC (inter process communication)

Resources

Stars

Watchers

Forks

Packages

No packages published

Contributors 4

  •  
  •  
  •  
  •