Skip to content

Mayur-e/SysScope--OS-Scheduling---Stability-Analyzer

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

14 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

🛠️ OS System Stability & Scheduling Analyzer

An interactive, full-stack laboratory for simulating Operating System internals. This project combines a high-performance C++ Core Engine with a dynamic PHP Dashboard to provide real-time analysis of CPU scheduling, memory allocation, and system stability.


🌟 Key Features

1. ⚡ CPU Scheduling Lab

Supports pre-emptive and non-pre-emptive algorithms with real-time Gantt Chart visualization:

  • FCFS (First-Come, First-Served)
  • SJF (Shortest Job First - Non-preemptive)
  • Priority Scheduling (Customizable importance levels)
  • Round Robin (Time-slice driven execution)

2. 🧠 Memory Management Suite

Visualize spatial fragmentation and allocation efficiency:

  • First Fit: Fast allocation in the first available hole.
  • Best Fit: Minimizes external fragmentation by finding the perfect match.
  • Worst Fit: Leaves larger leftover holes to accommodate future small processes.

3. 🛡️ Deadlock & Stability Analysis

  • Banker's Algorithm: Proactive safety state verification.
  • Cycle Detection (DFS): Resource Allocation Graph (RAG) analysis to detect deadlocks.
  • Stability Score: A weighted algorithm that evaluates system health (0-100%) based on scheduling latency and resource availability.

🏗️ System Architecture

The project utilizes a Polyglot Architecture to maximize both performance and accessibility:

  1. Backend (C++20): Handles all heavy computation and algorithmic simulations. Communicates via a custom JSON protocol over stdin/stdout.
  2. Bridge (PHP 8.2+): Acts as an orchestrator. It executes the C++ binary as a sub-process, pipes JSON data, and parses the results.
  3. Frontend (Vanilla JS/CSS): A modern, glassmorphic dashboard optimized for interaction and visual feedback.

🚀 Getting Started

Prerequisites

  • C++ Compiler: g++ (MinGW-w64 recommended for Windows).
  • PHP: PHP 8.2 or higher (CLI/Web Server).

Installation & Execution

  1. Clone the repository:
    git clone https://github.com/Mayur-e/SysScope--OS-Scheduling---Stability-Analyzer.git
    cd SysScope--OS-Scheduling---Stability-Analyzer
  2. Compile the Engine: Run the automated build script:
    .\compile.bat
  3. Launch the Analyzer: Start the PHP server and open the dashboard:
    .\run.bat
    Access the UI at: http://localhost:8000/src/index.php

🤝 Contributing & Future Enhancements

We welcome contributions to make this the ultimate OS tool!

🗺️ Roadmap / Future Enhancements

  • Multi-Level Queue Scheduling: Implement complex feedback queues.
  • Paging Simulation: Add virtual memory and page replacement algorithms (LRU, Optimal).
  • Real-time Graphing: Integrate Chart.js for memory usage trends.
  • Export Reports: Download analysis results as PDF or JSON.
  • Dockerization: Containerize the C++ and PHP environment for one-click setup.

How to Contribute

  1. Fork the Project.
  2. Create your Feature Branch (git checkout -b feature/AmazingFeature).
  3. Commit your Changes (git commit -m 'Add some AmazingFeature').
  4. Push to the Branch (git push origin feature/AmazingFeature).
  5. Open a Pull Request.

📄 License

Distributed under the MIT License. See LICENSE for more information.

✉️ Contact

Mayuresh Mandalik - mayureshmandalik25@gmail.com
Project Link: https://github.com/Mayur-e/SysScope--OS-Scheduling---Stability-Analyzer

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors