ENSTA Paris
ROB305 - Programmation multitâches et OS temps réel
Auteur : Gabriel Henrique RIQUETI
Orientateur : Anvar SHEBLI
Le 2 décembre de 2019
Ce projet est l'ensemble des archives sources en C++ pour exécuter les TDs de ROB305 - Programmation multitâches et OS temps réel. Pour lire la propose de chaque code source, accéder le site suivant Programmation multitâches & OS temps réel
Dédans le dossier src de ce projet, on peut trouver les codes sources développés. On peut tourner les applications depuis un terminal linux dans le dossier src et en utilisant les codes de compilation et d'exécution montrés pour chaque TD.
Les fichiers de classes crées sont dans le dossier OSTempsReel.
g++ main_td1a.cpp TimeSpec.cpp -lrt -o ../td1a
../td1a [OPTIONS]
g++ main_td1b.cpp TimeSpec.cpp -lrt -o ../td1b
../td1b
g++ main_td1c.cpp TimeSpec.cpp -lrt -o ../td1c
../td1c [TAILLE_DE_LA_BOUCLE]
g++ main_td1d.cpp TimeSpec.cpp -lrt -o ../td1d
../td1d
g++ main_td1e.cpp TimeSpec.cpp -lrt -lpthread -o ../td1e
sudo ../td1e
g++ main_td2a.cpp TimeSpec.cpp -lrt -lpthread -o ../td2a
sudo ../td2a [TAILLE_DE_LA_BOUCLE] [NOMBRE_DE_TACHES]
TAILLE_DE_LA_BOUCLE : entier non signé.
NOMBRE_DE_TACHES : entier non signé.
g++ main_td2b.cpp TimeSpec.cpp -lrt -lpthread -o ../td2b
sudo ../td2b [TAILLE_DE_LA_BOUCLE] [NOMBRE_DE_TACHES] [ORDENANCE]
TAILLE_DE_LA_BOUCLE : entier non signé.
NOMBRE_DE_TACHES : entier non signé.
ORDENANCE :
- SCHED_RR
- SCHED_FIFO
- SCHED_OTHER
g++ main_td2c.cpp TimeSpec.cpp -lrt -lpthread -o ../td2c
sudo ../td2c [TAILLE_DE_LA_BOUCLE] [NOMBRE_DE_TACHES] [ORDENANCE] [MUTEX]
TAILLE_DE_LA_BOUCLE : entier non signé.
NOMBRE_DE_TACHES : entier non signé.
ORDENANCE :
- SCHED_RR
- SCHED_FIFO
- SCHED_OTHER
MUTEX (optionel) :
- PTHREAD_MUTEX_DEFAULT
- PTHREAD_MUTEX_NORMAL
- PTHREAD_MUTEX_ERRORCHECK
- PTHREAD_MUTEX_RECURSIVE
g++ main_td3a.cpp TimeSpec.cpp OSTempsReel/Chrono.cpp -lrt -o ../td3a
../td3a
g++ main_td3b.cpp TimeSpec.cpp OSTempsReel/Timer.cpp OSTempsReel/PeriodicTimer.cpp OSTempsReel/CountDown.cpp -lrt -lpthread -o ../td3b
sudo ../td3b
g++ main_td3c.cpp TimeSpec.cpp OSTempsReel/Timer.cpp OSTempsReel/PeriodicTimer.cpp OSTempsReel/Looper.cpp OSTempsReel/Calibrator.cpp OSTempsReel/CpuLoop.cpp -lrt -lpthread -o ../td3c
sudo ../td3c
g++ main_td4a.cpp TimeSpec.cpp OSTempsReel/PosixThread.cpp OSTempsReel/Thread.cpp OSTempsReel/Chrono.cpp -lrt -lpthread -o ../td4a
sudo ../td4b [TAILLE_DE_LA_BOUCLE] [NOMBRE_DE_TACHES] [ORDENANCE]
TAILLE_DE_LA_BOUCLE : entier non signé.
NOMBRE_DE_TACHES : entier non signé.
ORDENANCE :
- SCHED_RR
- SCHED_FIFO
- SCHED_OTHER
g++ td4b_main.cpp TimeSpec.cpp OSTempsReel/PosixThread.cpp OSTempsReel/Thread.cpp OSTempsReel/Chrono.cpp OSTempsReel/ThreadCounterSafe.cpp OSTempsReel/Mutex.cpp -lrt -lpthread -o ../td4b
sudo ../td4b [TAILLE_DE_LA_BOUCLE] [NOMBRE_DE_TACHES] [ORDENANCE] [TIMEOUT_MS]
TAILLE_DE_LA_BOUCLE : entier non signé.
NOMBRE_DE_TACHES : entier non signé.
ORDENANCE :
- SCHED_RR
- SCHED_FIFO
- SCHED_OTHER
TIMEOUT_MS (optionel) : entier non signé.
g++ main_td4c.cpp -lrt -lpthread -o ../td4c
sudo ../td4c
g++ main_td4d.cpp -lrt -lpthread -o ../td4d
sudo ../td4d
g++ main_td5.cpp -lrt -lpthread -o ../td5
sudo ../td5