RESOURCE INSTALLATION SIMULATION
OS Resource Allocation Simulator for Software Installation
The Problem Statement
“Operating systems coursework teaches resource management theory — scheduling algorithms, memory allocation strategies, and deadlock avoidance — but students rarely see these mechanisms operating simultaneously under realistic installation workloads. This simulator models the resource lifecycle of a software installation process: concurrent package downloads consuming network bandwidth, extraction phases stressing CPU and memory, and sequential disk writes. It serves as the practical middle ground between textbook algorithm diagrams and live OS profiling, making resource contention and scheduling trade-offs visible and measurable.”
The Architecture Layout
The simulator is a Python application modelling installation tasks as process objects with configurable CPU burst time, memory requirement, disk I/O size, and network bandwidth demand. A scheduler module implements FCFS, SJF, and Round Robin algorithms over a ready queue of installation tasks. A resource manager tracks CPU utilisation, memory allocation maps, and disk I/O queues, updating state on each scheduling tick. A deadlock detector runs a resource allocation graph cycle-detection algorithm at each tick, triggering preemption or rollback when a cycle is found. A visualisation module renders real-time Gantt charts for CPU scheduling, memory maps for allocation state, and bar charts comparing algorithm throughput — all from a single unified CLI interface.
Architecture Design Diagram
