Skip to content

An Electron desktop application to simulate different types of operating system scheduling algorithms

Notifications You must be signed in to change notification settings

ahmedkrmn/OS-Scheduler-Application

Repository files navigation

OS Scheduler Application

Demo

An Electron desktop application for simulating major operating system scheduling algorithms.


The app uses EJS templates, and Express. The core app (scheduling algorithms) is written in JavaScript.

An old version of the app uses HTML instead of EJS and Express, but there was a separate HTML page for each algorithm page which were identical for the most part except the titles and some minor changes in the tables so I thought having a new version using EJS and Express would be more convenient.

Application Features

  • Simulate the execution of the most well known OS scheduling algorithms, the app contains the following algorithms:
    • First Come First Serve
    • Shortest Job First - Preemptive
    • Shortest Job First - Non Preemptive
    • Priority - Preemptive
    • Priority - Non Preemptive
    • Round Robin
  • Real time simulation. No need to refill the process table to add a process like other scheduling simulation applications
  • Remove a process and re-simulate with one click
  • Input validation

Get The App

Build From Source

Make sure you have Node.js installed then follow the steps below:

  1. Fork the repo or download the current branch as zip

  2. cd into the project directory and run npm install

  3. To package the app, run :

    • npm run package:linux for Linux
    • npm run package:win for Windows
    • npm run package:mac for Mac

    This assumes you're on a x64 architecture, modify the package.json file to package for x32

Technical details

Here's the full list of used libraries and frameworks:

Tool Use
Electron Packaging as a desktop application
Express Rendering EJS views and handling URL query parameters
EJS Templating HTLM
ApexCharts.js Charting library
Materialize CSS Framework
webpack Bundling helpers, views and the core algorithms into a single JavaScript for each algorithm

About

An Electron desktop application to simulate different types of operating system scheduling algorithms

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published