Systems / OSExhibited

RESOURCE INSTALLATION SIMULATION

OS Resource Allocation Simulator for Software Installation

CPU Scheduling · Memory Allocation · Disk I/O · Deadlock Detection

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

RESOURCE INSTALLATION SIMULATION System Architecture

System Process Flow

User Actions──>Interface State──>Core Processing Logic
Database Persistent Layer<── Response Loop ──>Dynamic UI Updates