This is the Operating Systems project for the Winter Semester, focused on building an AI-powered scheduling algorithm to efficiently manage CPU-bound and I/O-bound processes using a multi-queue scheduling architecture.
The core idea is to use machine learning or reinforcement learning to dynamically classify and schedule processes based on runtime behavior and resource needs, improving overall system throughput and responsiveness.
- 🎯 Classifies processes as CPU-bound or I/O-bound
- 🤖 Integrates AI/ML model for smart scheduling decisions
- 🔄 Supports multiple queues (e.g., MLFQ, FCFS, RR)
- 📈 Collects metrics like turnaround time, wait time, and CPU utilization
- ⚙️ Simulated process execution with stats visualization
- Input Features:
utime,stime, memory usage, priority, wait history - Model Type: Trained offline using supervised or reinforcement learning
- Inference: Uses ONNX Runtime or embedded lightweight model for real-time decisions
- Action: Assigns process to appropriate queue or adjusts priority
- C/C++ (or Python) for process simulation
- ONNX Runtime for model inference
- Linux system calls / POSIX threads
- Python (optional) for training AI models
- Clone the repo:
git clone https://github.com/your-username/os-ai-scheduler.git cd os-ai-scheduler