yet another process scheduler simulator in pure Rust!
Go to file
Michael Hainz 28e6e13f65 🚧 Debugging MLsdRR 2023-06-03 22:00:25 +02:00
.idea 🚚 fixed typo 2023-05-07 11:32:27 +02:00
src 🚧 Debugging MLsdRR 2023-06-03 22:00:25 +02:00
.gitignore 🎉 Initial Commit 2023-05-06 17:36:11 +02:00
Cargo.lock 🔖 Version 1.1.3 2023-05-25 21:19:07 +02:00
Cargo.toml 🔖 Version 1.1.3 2023-05-25 21:19:07 +02:00
LICENSE 📄 Added MPL2.0 2023-05-20 21:23:08 +02:00
README.md 📝 Minor changes 2023-05-30 09:10:17 +02:00
scheduler.iml 🚚 fixed typo 2023-05-07 11:32:27 +02:00

README.md

Simple Process Scheduler

This project is for BS.
It simulates the scheduler in an OS (like Linux, Windows...).

Strategies:

Next In Dev Works
FIFO
RR
MLsndFIFO X X
MLsndRR X X

Features:

  • TUI | simple to use terminal / text interface
  • Simulator (Object) | very simple and handy usage
  • Instruction parsing | parses your input string -> instructions
  • Pretty print
    • Flow
    • Time (coming)
    • Queue (coming)

How to get this project?

Download

  1. Download from the releases page.
  2. Make sure it's executable by running chmod 700 scheduler
  3. Execute with ./scheduler

Build it yourself

  1. Install Rust. You find it from the official website rust-lang.org
  2. Run cargo build --release
  3. Now you can execute ./target/release/scheduler

How to use this project?

Below you find a very simple example

1.0 Enter your processes

How many processes do you want to enter?
> 2
What's the letter for your 1. process?
> A
Please enter your instructions for A
> Work(20), Launch(B), Wait(30), Work(25);
What's the letter for your 2. process?
> B
Please enter your instructions for B
> Work(55);

2.1 Choose your strategy (FIFO)

What scheduler strategy do you want to run?
(1) FIFO
(2) RR
(42) exit
> 1

A: LLLL......-----LLLLL|
B:     LLLLLLLLLLL     |

Q:           A

0 0 0 0 0 0 0 0 0 0
0 1 2 3 4 5 6 7 8 9
0 0 0 0 0 0 0 0 0 0

A:           B         
B:           L

2.2 Choosing your strategy (RR)

What scheduler strategy do you want to run?
(1) FIFO
(2) RR
(42) exit    
> 2
Whats the time slice?
> 20
Whats the quantum?
> 2

A: LLLL......--LLLLL   |
B:     LLLLLLLL-----LLL|

Q:           A B

0 0 0 0 0 0 0 0 0 0 1 1 1
0 1 2 3 4 5 6 7 8 9 0 1 2
0 0 0 0 0 0 0 0 0 0 0 0 0

A:     L   B       L         
B:     B   L       B