CPU Scheduling APP – Operating System

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

About The Project


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


  • 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.


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


  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


  • You can run this project by starting the metro server

    npm start


    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.


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