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

AhmedHamed3699/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

Releases

No releases published

Packages

No packages published

Languages

  • C 99.9%
  • Makefile 0.1%