Skip to content

YoungCarti/cpucalculator

Repository files navigation

  • Created Date: 2 March 2025

  • Latest Update: -

  • Push on Github: 6 March 2025

  • This project is a simple web development of a CPU Calculator (OS) -

    The application allows users to add, edit, and remove processes, select different scheduling algorithms, and instantly see the results visualized in a Gantt chart along with detailed performance metrics.

Features:

1. Scheduling Algorithms

  • First Come First Serve (FCFS)
  • Shortest Job First (SJF) - Non-Preemptive
  • Shortest Job First (SJF) - Preemptive (also known as SRTF)
  • Priority Scheduling - Non-Preemptive
  • Priority Scheduling - Preemptive
  • Round Robin (with configurable time quantum)

- (Upcoming release for SJF only)

2. User Interface:

  • Clean, modern design with dark mode support
  • Responsive layout that works on all device sizes
  • Interactive process table for easy data entry
  • Visual Gantt chart to display the scheduling results
  • Detailed statistics for each process and overall metrics

3. Key Components:

  • Process table with editable fields for arrival time, burst time, and priority
  • Algorithm selector with all required scheduling options
  • Time quantum input for Round Robin algorithm
  • Gantt chart visualization with color-coded processes
  • Statistics table showing completion time, turnaround time, and waiting time
  • Summary cards for average metrics

4. Technical Implementation:

  • Built with Next.js for optimal performance
  • Uses Tailwind CSS for styling
  • Implements shadcn/ui components for a polished look
  • Dark mode toggle with system preference detection
  • Comprehensive scheduling algorithm implementations

Overview (with Dark Mode): image

Overview (with Bright Mode): image

Footer: image