YAO-SIM: Yet Another Operating system SIMulator
for real-time scheduling: Quick-Start Guide

Welcome to the home page of the YAO-SIM project. YAO-SIM stands for Yet Another Operating scheduling SIMulator. The purpose of the program is to simulate the scheduling of a set of real-time tasks according to different scheduling algorithms.

YAO-SIM has been developed at Retis Lab of the Scuola Superiore Sant'Anna as an internal project. This software package simulates different scheduling policies on randomly generated task sets in which preemption can be fully enabled, fully disabled, or partially enabled through specific algorithms.

YAO-SIM is written in C and compiled with GCC 4.3.4 and above. We release this program as open source, in the hope that other researcher all over the world can play with the simulator, come up and test their novel scheduling algorithms.


The simulator currently includes the following scheduling policies:


You can download the software package here

File List


Download and unpack the archive file. As the first example, the results from main.c illustrate the different schedulability level each scheduling method can achieve on randomly generated task sets. Each column on the output window represents one specific scheduling algorithm, and it is also plotted in the figure for better visibility.

The second example compares the number of preemptions generated by EDF and RM. The results are collected based on 5 thousand tasksets, and it is implemented in main_rmedf.c.



YAO_SIM has been partially supported by the European project PREDATOR.

For bug report, support, or suggestions, please contact Gang Yao, Giorgio Buttazzo, Marko Bertogna.

Gang Yao
Valid XHTML 1.1!