RTOS Task Scheduler Simulator

This program is a scheduler simulation for Real Time Operating System (RTOS). It takes input as periodic, aperiodic and sporadic tasks and simulate using C Programming language.

1. File structure layout

.
├── periodic_scheduler.c                   # Periodic Scheduler
├── periodic_scheduler.h  
├── sched_dynamicarray.c                   # Dynamic Array Implementation
├── sched_dynamicarray.h
├── sched_queue.c                          # Custom Queue to handle QNode, which consist of task_id and deadline
├── sched_queue.h
├── scheduler_driver.c                     # Main driver program which executes schedulers
├── scheduler_driver.h
├── sched_util.c                           # Contains utility functions
├── sched_util.h
├── util/stringencoders/modp_numtoa.c      # Used library for number to string conversion
├── input_periodic.txt                     # Sample Input file 
└── README.md                              

2. How to Compile

Compilation can be done by running make command

make

This will generate scheduler.out file

3. How to use

To read a periodic Tasks execute the following command

./scheduler.out input_periodic.txt

This will generate output file scheduler_output.txt

To read a aperiodic Tasks execute the following command

./scheduler.out input_aperiodic.txt

This will generate output file scheduler_output.txt

4. Project Status

Following Tasks has been acoomplished

  • Periodic Scheduler (Done, without tasksplit)
  • Aperiodic Scheduler (To Implement)
  • Sporadic Scheduler (To Implement)

5. Contributers

Contributers in this project


Ashish Patel

This project follows the all-contributors specification. Contributions of any kind are welcome!

License

MIT