/CPU-Scheduling-APP-React-Native

React Native Application to visualize the CPU Scheduling with different Processes and Animations. Install the App on your Mobile Devices by going in the Releases below.

Primary LanguageJavaScript

Logo

CPU Scheduling APP - Operating System

React Native Application to visualize the CPU Scheduling with different Algorithms and Animations.
Explore the docs »

View Demo · Report Bug · Request Feature · Install App

Table of Contents

  1. About The Project
  2. Getting Started
  3. Usage
  4. Contributing
  5. Contact

About The Project

Algorithms

  • FCFS Algorithm
  • SJF Algorithm
  • SRTF Algorithm
  • Round Robin Algorithm
  • LJF Algorithm
  • LRTF Algorithm
  • Priority Scheduling (Preemptive)
  • Priority Scheduling (Non-Preemptive)

Features

  • 8 CPU Scheduling Algorithms
  • Each algorithm with IO Burst
  • Gannt chart
  • Animation of what happens in CPU and Waiting Queue
  • History Tab to store previously input data
  • Haptic feedbacks

Built With

Getting Started

To get a local copy up and running follow these simple steps.

Prerequisites

Install latest npm version on your system.

  • npm

    npm install npm@latest -g

    Check the version by running this command.

  • npm version

    npm -v

    I used expo-cli for this project,if you want to build the project with expo install expo-cli on your system

  • expo cli

    npm install --global expo-cli

If installation gives you error like this,

  •     npm ERR! code EACCES
        npm ERR! syscall access
        npm ERR! path /usr/local/lib/node_modules/expo-cli
        npm ERR! errno -13
        npm ERR! Error: EACCES: permission denied,...
    You have to give root permission ,like for linux:
  •   sudo npm install --global expo-cli

Installation

  1. Clone the repo
    git clone https://github.com/vivek9patel/CPU-Scheduling-APP-React-Native.git
  2. Install Expo packages
    npm install expo
  • Now your project folder should look like this :
        └── CPU-Scheduling-APP-React-Native-master
        ├── App.js
        ├── app.json
        ├── assets
        ├── babel.config.js
        ├── models
        ├── node_modules
        ├── package.json
        ├── package-lock.json
        ├── README.md
        ├── routes
        └── screens

Usage

  • You can run this project by starting the metro server

    npm start

    or

    expo start
  • If you are using expo , you can debug the project by installing expo app on your mobile devices & scanning the QR code.

  • You can also debug the application by running the emulators on your systems.

Contributing

Contributions are what make the open source community such an amazing place to be learn, inspire, and create. Any contributions you make are greatly appreciated.

  1. Fork the Project
  2. Create your Feature Branch (git checkout -b feature/AmazingFeature)
  3. Commit your Changes (git commit -m 'Added some AmazingFeature')
  4. Push to the Branch (git push origin feature/AmazingFeature)
  5. Open a Pull Request