Aperçu des OS Temps Réel Gestion des tâches

Dimension: px
Commencer à balayer dès la page:

Download "Aperçu des OS Temps Réel Gestion des tâches"

Transcription

1 Systèmes d'exploitation Temps Réel Aperçu des OS Temps Réel Gestion des tâches Définition : un programme qui ordonnance l'exécution des tâches de façon ponctuelle, gère les ressources du système et fournit les éléments de base pour développer les applications souvent organisé autour d'un noyau fournissant les algorithmes minimum pour l'ordonnancement et la gestion des ressources éventuellement de services, fournis par exemple par des modules, pour gérer les systèmes de fichier, les accès réseau, ou tout autre service requis par l'application F. Touchard Cours Temps Réel ESIL Département d'informatique 2ème année F. Touchard Cours Temps Réel ESIL Département d'informatique 2ème année Systèmes d'exploitation Temps Réel les composants de base du noyau d'un OS Temps Réel sont : l'ordonnanceur, contenu dans tous les noyaux et qui va fournir les algorithmes de base pour choisir la tâche qui va accéder au processeur des objets du noyau pour aider les développeurs à créer les applications : tâches sémaphores files de message... des services, qui sont les opérations effectuées par le noyau sur un objet ou plus généralement des opérations comme les mesures de temps, la gestion des interruptions, la gestion des ressources... F. Touchard Cours Temps Réel ESIL Département d'informatique 2ème année L'ordonnanceur le coeur du noyau agit sur des entités ordonnançables (tâches) threads processes gère plusieurs tâches à la fois (multi-tâche) doit donner la CPU à la bonne tâche au bon moment (ordonnancement) met en oeuvre les changements de contexte si nécessaire sauvegarde et restauration du bloc de contrôle de tâche (TCB) F. Touchard Cours Temps Réel ESIL Département d'informatique 2ème année

2 L'ordonnanceur le répartiteur (dispatcher) : partie de l'ordonnanceur qui exécute les changements de contexte et modifie le cours de l'exécution le cours de l'exécution peut être consacré à : tâche utilisateur ISR noyau passage du cours de l'exécution au noyau dès qu'une tâche ou un ISR fait un appel système ensuite une autre (même?) tâche reprend la main un ISR court-circuite le répartiteur jusqu'à la fin de son exécution Les algorithmes d'ordonnancement Deux politiques d'ordonnancement préemptifs basés sur la priorité round robin Préemptif basés sur la priorité la tâche qui a la plus haute priorité a la CPU si une tâche de plus haute priorité que celle en cours devient éligible, l'exécution est interrompue et le répartiteur effectue un changement de contexte l'attribution de la priorité fait l'objet d'algorithmes plus ou moins complexe (on y reviendra plus tard) Round robin peu ou pas utilisé en environnement Temps Réel F. Touchard Cours Temps Réel ESIL Département d'informatique 2ème année F. Touchard Cours Temps Réel ESIL Département d'informatique 2ème année Caractéristiques d'un OS Temps Réel 5 propriétés essentielles 1) fiabilité (reliability) faculté de pouvir être utilisé sans intervention extérieure s'exprime en fonction du nombre de 9 de la disponibilité: Caractéristiques d'un OS Temps Réel 5 propriétés essentielles (suite) 2) prédictabilité (predictability) spécifique des systèmes temps réels spécifie le degré de confiance que l'on peut avoir dans la prévision du temps de réponse 3) performances caractérise la vitesse à laquelle le système va fournir sa réponse dépend du hardware autant que du software va dépendre du hardware autant que du software a un coût certain... F. Touchard Cours Temps Réel ESIL Département d'informatique 2ème année F. Touchard Cours Temps Réel ESIL Département d'informatique 2ème année

3 Caractéristiques d'un OS Temps Réel 5 propriétés essentielles (suite) 4) compacité de l'empreinte (compactness) utilisation optimale des ressources 5) possibilité d'appliquer un facteur d'échelle (scalability) utilisation optimale des ressources en cas de modification de la taille du système optimisation des conditions de développement Nom Editeur Open Quelques OS Temps Réel source Temps Réel URL Remarques VxWorks WindRiver non oui certainement le leader du marché psos WindRiver non oui ancien mais très répandu QNX QNX partiel. oui basé sur UNIX, pas mal de composants open source, assez répandu, bonnes performances µc/os Micriµm non oui pour les micro-contrôleurs Windows CE Microsoft non oui e.net/ LynxOS LynuxWorks non oui Édite également Blue Cat basé sur Linux Nucleus Accelerated Technology oui oui pas de royalties ECOS Red Hat oui oui utilisable pour de très faibles empreintes mémoire, environnement de développement croisé Linux disponible PeeWeeLinux aucun oui non fondé sur RedHat 6.2 (noyau 2.2) RTLinux FSM Labs oui oui existe en version GPL et en version "pro" (breveté), temps réel dur RTAI aucun oui oui proche de RTLinux, mais non commercial TUXIA TUXIA oui non dédié aux applications Internet Red Hat Embedded Red Hat oui non Linux µclinux aucun oui oui pour les micro-contrôleurs sans MMU. Sponsorisé par Lineo. Existe en noyau 2.0 et 2.4 Embedix Lineo oui non utilisé dans le PDA Zaurus de SHARP Montavista Linux (Hard Hat) Monta Vista oui oui fondé sur des patches préemptifs du noyau Linux. Pas de temps réel dur F. Touchard Cours Temps Réel ESIL Département d'informatique 2ème année F. Touchard Cours Temps Réel ESIL Département d'informatique 2ème année L'interface POSIX Portable Operating System Interface pour aider à produire des codes portables sans trop d'efforts initié par l'ieee et organisé par l'iso à partir d'unix, pour le C ANSI différents standards pour différents problèmes POSIX.4 : extensions temps réel POSIX.4a : extensions pour les threads Linux pour le Temps Réel important : l'interface POSIX.4 ne fournit pas un environnement temps réel, mais uniquement des interfaces qui peuvent être utilisées dans le cadre d'un OS Temps Réel F. Touchard Cours Temps Réel ESIL Département d'informatique 2ème année F. Touchard Cours Temps Réel ESIL Département d'informatique 2ème année

4 Linux pour le temps réel et l'embarqué Linux pour le temps réel et l'embarqué le monde de l'embarqué est encore dominé par les solutions propriétaires mais l'open source a des avantages prix disponibilité des sources et quelques inconvénients stratégie industrielle vs licence GPL continuité du support points forts de Linux fiabilité du noyau faible coût performances ( portabilité ouvert aux autres systèmes (y compris Windows) points faibles pas vraiment un micro noyau F. Touchard Cours Temps Réel ESIL Département d'informatique 2ème année F. Touchard Cours Temps Réel ESIL Département d'informatique 2ème année les approches temps réel pour Linux Linux peut être adapté pour une utilisation temps réel ou embarquée mais Linux "natif" n'est pas un OS Temps Réel plusieurs approches possibles modification de l'ordonnanceur (MontaVista) ajout d'un véritable noyau temps réel (RTLinux, RTAI) systèmes minimaux (µclinux) modification de l'ordonnanceur en tirant partie de la possibilité d'utiliser un ordonnancement de type et en modifiant l'ordonnanceur pour avoir davantage de points de préemption où l'on vérifie si une tâche de priorité supérieure demande la CPU patch de modification du noyau kernel-preempt (disponible pour 2.4, intégré dans le noyau 2.6) approche intéressante car ne modifie pas l'interface de programmation des applications qui continuent à tourner en mode utilisateur temps réel mou F. Touchard Cours Temps Réel ESIL Département d'informatique 2ème année F. Touchard Cours Temps Réel ESIL Département d'informatique 2ème année

5 ajout d'un noyau temps réel RT Linux le noyau Linux n'est pas adapté au temps réel on intercale un noyau temps réel dans le même espace le noyau Linux, et les Processe sutilisateurs mémoire entre le hardware et le noyau "normal" (RTCore) Processe sutilisateurs applications utilisateurs, sont exécutés comme une tâche de fond Processes temps réels Librairies systèmes pilotes Noyau Linux Processes temps réels RT scheduler Interrupts s/w RTCore (Plugin RT Linux) accès direct h/w Interrupts h/w Librairies systèmes pilotes Noyau Linux accès direct h/w RT scheduler Interrupts s/w RTCore (Plugin RT Linux) Interrupts h/w F. Touchard Cours Temps Réel ESIL Département d'informatique 2ème année F. Touchard Cours Temps Réel ESIL Département d'informatique 2ème année RT Linux RT Linux le noyau Linux, et les Processe sutilisateurs le noyau Linux, et les Processe sutilisateurs applications utilisateurs, sont exécutés comme une tâche de fond le noyau temps réel est préemptif à priorité fixe Processes temps réels RT scheduler accès direct h/w Librairies systèmes pilotes Noyau Linux Interrupts s/w RTCore (Plugin RT Linux) Interrupts h/w applications utilisateurs, sont exécutés comme une tâche de fond le noyau temps réel est préemptif à priorité fixe les tâches temps réel sont Processes temps réels RT scheduler accès direct h/w Librairies systèmes pilotes Noyau Linux Interrupts s/w RTCore (Plugin RT Linux) Interrupts h/w des threads qui s'exécutent dans l'espace noyau (modules) F. Touchard Cours Temps Réel ESIL Département d'informatique 2ème année F. Touchard Cours Temps Réel ESIL Département d'informatique 2ème année

6 le noyau Linux, et les applications utilisateurs, sont exécutés comme une tâche de fond le noyau temps réel est préemptif à priorité fixe les tâches temps réel sont des threads qui s'exécutent dans l'espace noyau RT Linux Processes temps réels pilotes RT scheduler Processe sutilisateurs Librairies systèmes Noyau Linux Interrupts s/w RTCore (Plugin RT Linux) accès direct h/w Interrupts h/w (modules) la communication entre tâches TR ou utilisateurs peut se faire par la mémoire partagée ou des FIFOs F. Touchard Cours Temps Réel ESIL Département d'informatique 2ème année RT Linux principes de fonctionnement de RTCore les interruptions matérielles du noyau Linux sont désactivées le service des interruptions est effectué par une émulation le noyau Linux est exécuté avec la priorité minimale (tâche de fond qui n'est activée que quand le noyau temps réel est inactif) F. Touchard Cours Temps Réel ESIL Département d'informatique 2ème année RT Linux émulation des interruptions la désactivation des interruptions à l'intérieur des sections critiques est la manière la plus simple et la plus efficace d'obtenir un comportement «temps réel» mais il ne faut pas perdre des interruptions en les désactivant trop longtemps les interruptions qui ne sont pas destinées aux tâches temps réel sont passées à Linux qui les traite quand il le peut en remplaçant toutes les occurences de sti et cli par un code émulateur les interruptions matérielles sont simplement émulées dans Linux pas besoin de modifier les pilotes de Linux RT Linux traitement des interruptions if (there is an RT-handler for the interrupt) { call the RT-handler } if (there is a GPOS-handler for the interrupt) { call the GPOS handler for this interrupt } else { mark the interrupt as pending } limitations de l'approche la prise en compte par le système de l'occurence d'une interruption est prioritaire sur les tâches temps réel et peut légèrement perturber l'ordonnancement F. Touchard Cours Temps Réel ESIL Département d'informatique 2ème année F. Touchard Cours Temps Réel ESIL Département d'informatique 2ème année

7 Les tâches dans un environnement TR Gestion des tâches La plupart des applications temps réel exigent une exécution parallèle de plusieurs activités utilisation optimale des ressources gain de temps quand c'est possible mais les exigences en termes de conception sont plus grandes Concepts présentés : définition états d'une tâche et ordonnancement opérations sur une tâche l'interface POSIX F. Touchard Cours Temps Réel ESIL Département d'informatique 2ème année F. Touchard Cours Temps Réel ESIL Département d'informatique 2ème année Un fil d'exécution indépendant qui peut entrer en compétition avec d'autres fils pour accéder à la CPU définition ''récursive'' utilisée pour optimiser la gestion des entrées/sorties une tâche est ordonnançable et est définie par un ensemble de paramètres contenus dans des structures de données nom identificateur priorité bloc de contrôle pile Définition d'une tâche liste d'instructions (routine) Stack TCB Task Name/ID plus hautes priorités int MyTask() { 130 while (1)... } plus basses priorités F. Touchard Cours Temps Réel ESIL Département d'informatique 2ème année Tâches systèmes créées par le noyau à son démarrage des priorités réservées leur sont allouées tâche d'initialisation tâche de fond quand le processeur n'a rien à faire priorité minimale importante car il faut que le registre de compteur de programme pointe à une valeur valide tâches de logging tâches de gestion des exceptions et bien d'autres encore... ensuite le noyau pointe sur un point d'entrée pour les applications de l'utilisateur qui vont à leur tour créer des tâches et des objets du noyau F. Touchard Cours Temps Réel ESIL Département d'informatique 2ème année

8 États d'une tâche Tâches dans l'état ''Prêt'' 3 états possibles pour dans l'état Prête quand seul le fait que des tâches de plus la machine à états Prêt haute priorité existent l'empêche d'avoir accès à la CPU finis des tâches la plupart des noyaux acceptent l'existence de plusieurs courant tâches avec le même niveau de priorité prêt à l'intérieur d'un niveau de priorité, l'élection d'une tâche bloqué Bloqué Courant pour le passage dans l'état Courant passe par l'exécution d'un algorithme plus ou moins complexe le noyau gère les états des différentes tâches sous son contrôle l'ordonnanceur provoque les changements d'états et si nécessaire provoque un changement de contexte F. Touchard Cours Temps Réel ESIL Département d'informatique 2ème année F. Touchard Cours Temps Réel ESIL Département d'informatique 2ème année Tâches dans l'état ''Courant'' une seule tâche dans cet état dans les systèmes monoprocesseurs retourne dans l'état Prêt par préemption par une tâche de plus haute priorité passe dans l'état Bloqué dans l'un des cas suivants : en requérant l'usage d'une ressource indisponible en se mettant en attente d'un événement en décidant de se suspendre pour un temps donné Tâches dans l'état ''Bloqué'' l'éventualité du blocage d'une tâche est la seule possibilité pour une autre tâche de plus basse priorité d'accéder à la CPU le déblocage se produit quand la condition de blocage est levée, par exemple : un sémaphore est libéré un message est arrivé dans la file sur laquelle la tâche était en attente de lecture le délai d'attente a expiré la tâche débloquée passe dans l'état Prêt et entre en F. Touchard Cours Temps Réel ESIL Département d'informatique 2ème année compétition avec les autres pour l'accès à la CPU Elle peut éventuellement passer directement dans l'état Courant F. Touchard Cours Temps Réel ESIL Département d'informatique 2ème année

9 Processus et Threads processus (process) : entité ordonnançable possédant son propre espace d'adressage les threads existent à l'intérieur d'un process (appartenant au noyau ou à l'utilisateur) et partagent l'espace d'adressage du process hôte. Ils sont ordonnançables indépendemment (le process hôte est un thread comme les autres) chaque thread possède son bloc de contrôle (TCB), ses registres et sa pile (stack) la création d'un process est Primitives pour la gestion des tâches Fonctions à remplir création destruction gestion de l'ordonnancement suspendre reprendre retarder redémarrer modifier la priorité bloquer la préemption plus lente et plus lourde en termes de consommation de ressources que celle d'un thread mais l'espace mémoire est beaucoup mieux protégé F. Touchard Cours Temps Réel ESIL Département d'informatique 2ème année F. Touchard Cours Temps Réel ESIL Département d'informatique 2ème année fork pid_t fork(void) clonage d'un process Création des processes un appel, mais deux retours... le process qui a appelé fork récupère le PID du nouveau process le process qui a été créé récupère 0 exec Création des processes remplace l'image exécutée par une autre execl(const char *file,const char *arg0,...,null); execv(const char *file,char *const argv[]); execle(const char *file,const char *arg0,...,null,char *const envp[]); execve(const char *file,char *const arg[],char *const envp[]); execlp(const char *file,const char *arg0,...,null); execvp(const char *file,char *const argv[]); execl prend une liste d'arguments terminée par NULL execv prend un vecteur de pointeurs d'arguments la terminaison en e indique qu'il y aura une 2ème liste ou vecteur passé pour préciser l'environnement (sous la forme key=value) la terminaison en p indique qu'il faut utiliser la variable d'environnement PATH pour localiser file le main de file est exécuté avec la liste d'arguments passée F. Touchard Cours Temps Réel ESIL Département d'informatique 2ème année F. Touchard Cours Temps Réel ESIL Département d'informatique 2ème année

10 exit et _exit Destruction des processes termine le processus void exit(int status); void _exit(int status); la différence entre les deux fonctions tient dans la façon dont elles "nettoient" l'environnement (_exit ne fait pas appel aux fonctions enregistrées par atexit) elles ne retournent rien! wait et waitpid attente de la fin du process fils par le père pid_t wait(int *status); pid_t waitpid(pid_t which,int *status,int options); tant que le parent n'a pas appelé wait, le fils terminé est un "zombie" (occupation de ressources) Ordonnancement des processes POSIX.4 définit 3 algorithmes SCHED_FIFO la priorité est le seul paramètre les tâches sont rangées dans des queues par niveau de priorité la 1 ère tâche de la queue de plus haute priorité obtient la CPU elle la garde jusqu'à sa terminaison ou jusqu'à ce qu'elle soit bloquée quand elle redevient Prête, la tâche est mise en fin de queue SCHED_RR (Round Robin) comme FIFO, mais avec en plus un quantum de temps la tâche rend la CPU à l'expiration du quantum de temps SCHED_OTHER dépend de l'implémentation F. Touchard Cours Temps Réel ESIL Département d'informatique 2ème année F. Touchard Cours Temps Réel ESIL Département d'informatique 2ème année modifications de l'ordonnancement sched_setscheduler, sched_getscheduler int sched_setscheduler(int pid, int policy, const struct sched_param *param) int sched_getscheduler(int pid, struct sched_param *param) modifie (ou obtient) les paramètres de l'ordonnanceur, y compris la politique sched_setparam, sched_getparam int sched_setparam(int pid, const struct sched_param *param) int sched_getparam(int pid, struct sched_param *param) modifie (ou obtient) les paramètres de l'ordonnanceur struct sched_param {... int sched_priority;... }; modifications de l'ordonnancement sched_get_priority_min, sched_get_priority_max int sched_get_priority_min(int policy); int sched_get_priority_max(int policy); sched_yield int sched_yield(void); relache volontairement le processeur, sans se bloquer attention : ce n'est pas parce que un process de haute priorité relache le processeur que les processes de priorité inférieure vont être exécutés! F. Touchard Cours Temps Réel ESIL Département d'informatique 2ème année F. Touchard Cours Temps Réel ESIL Département d'informatique 2ème année

11 Création des threads fichier d'include <pthread.h> les caractéristiques des threads (attributs) sont décrites dans une structure spéciale accédée par des fonctions dédiées initialisation aux valeurs par défaut : pthread_attr_init(pthread_attr_t *attr); libération des ressources liées aux attributs : pthread_attr_destroy(pthread_attr_t *attr); Création des threads Modification des valeurs des attributs pthread_attr_setstacksize pthread_attr_setstackaddr pthread_attr_setdetachstate PTHREAD_CREATE_DETACHED PTHREAD_CREATE_JOINABLE pthread_attr_setschedparam pthread_attr_setschedulepolicy SCHED_FIFO SCHED_RR SCHED_OTHER pthread_attr_setinheritsched PTHREAD_EXPLICIT_SCHED PTHREAD_INHERITSCHED pthread_attr_setscope PTHREAD_SCOPE_SYSTEM PTHREAD_SCOPE_PROCESS F. Touchard Cours Temps Réel ESIL Département d'informatique 2ème année F. Touchard Cours Temps Réel ESIL Département d'informatique 2ème année Création des threads Lecture des valeurs courantes pthread_attr_getstacksize pthread_attr_getstackaddr pthread_attr_getdetachstate pthread_attr_getschedparam pthread_attr_getschedpolicy pthread_attr_getinheritsched pthread_attr_getscope pthread_create Création des threads crée un thread int pthread_create(pthread_t *tid, const pthread_attr_t *attr, void * (*start_func)(void *), void *arg); pthread_self retourne le tid du thread appelant pthread_t pthread_self(void); F. Touchard Cours Temps Réel ESIL Département d'informatique 2ème année F. Touchard Cours Temps Réel ESIL Département d'informatique 2ème année

12 pthread_join Création des threads appel bloquant : attend la terminaison d'un thread (attente de synchronisation sur la fin du thread) pthread_join (pthread_t tid,void **status); récupère le status de terminaison retourne immédiatement si le thread est déjà terminé pthread_exit Destruction des threads auto-destruction void pthread_exit(void *status); passe éventuellement le status de retour au thread en attente de synchronisation sur la fin le thread doit avoir été créé en mode joignable pthread_detach transforme un thread joignable en thread détaché int pthread_detach(pthread_t tid); F. Touchard Cours Temps Réel ESIL Département d'informatique 2ème année F. Touchard Cours Temps Réel ESIL Département d'informatique 2ème année Destruction des threads pthread_cancel demande de destruction d'un autre thread int pthread_cancel(pthread_t tid); L'effet de l'appel dépend de la politique adoptée par le thread visé : int pthread_setcancelstate(int state, int *ostate) int pthread_setcanceltype(int type, int *otype) état PTHREAD_CANCEL_DISABLE PTHREAD_CANCEL_ENABLE type PTHREAD_CANCEL_ASYNCHRONOUS destruction immédiate PTHEAD_CANCEL_DEFERRED destruction quand le thread atteint un point d'annulation : (appel à pthread_testcancel ou appel à une fonction bloquante) Destruction des threads Handlers de terminaison exécutés à l'appel de pthread_exit ou sur une annulation stockés dans une pile manipulée par void pthread_cleanup_push(void (*handler)(void *), void *arg); void pthread_cleanup_pop(int execute); exécutés en mode LIFO lors de la terminaison du thread (pthread_exit) si on retire un handler de la pile (pthread_cleanup_pop), il est exécuté seulement si l'argument passé par pthread_cleanup_pop vaut 1 F. Touchard Cours Temps Réel ESIL Département d'informatique 2ème année F. Touchard Cours Temps Réel ESIL Département d'informatique 2ème année

13 threads et fork quand un thread exécute un fork il va créer un nouveau process même image mémoire que le père mêmes ressources (descripteurs de fichiers, mutexes, etc...) mais le process fils n'a qu'un seul thread, qui est la réplique du thread du père qui a appelé le fork Attention à des situations parfois inextricables! le process fils peut hériter de locks qui ont été pris par des threads du père n'existant pas dans le process fils l'espace mémoire du fils peut comporter des zones du heap qui ont été alloués à des threads n'existant pas dans le process fils utilisation de la fonctionpthread_atfork pour aider à gérer ces difficultés F. Touchard Cours Temps Réel ESIL Département d'informatique 2ème année threads et fork int pthread_atfork(void (*prepare)(void), void (*parent)(void), void (*child)(void)); installe dans 3 stacks différents des handlers qui seront exécutés au moment de l'appel à fork prepare sera exécuté par le père avant l'exécution du fork parent sera exécuté par le père au retour du fork child sera exécuté par le fils au retour du fork peut être applé plusieurs fois les handlers seront appelés en mode LIFO si on fait un appel à exec dans un process multithreadé, alors on détruit tous les autres threads et on démarre la nouvelle image dans son main F. Touchard Cours Temps Réel ESIL Département d'informatique 2ème année Politiques d'ordonnancement des threads défini à la création par un attribut priorité politique (FIFO, Round Robin) visibilité "système" (seule visibilité supportée par Linux. La seule "utile" pour les applications de type temps réel) "process" dépend beaucoup de l'implémentation et de la configuration hardware (mono ou multi-processeur) pour l'élection d'un thread activable ou bloqué "priorité à la priorité" pour l'élection du thread Politiques d'ordonnancement des threads pthread_setschedparam, pthread_getschedparam modification des paramètres de l'ordonnancement int pthread_setschedparam(pthread_t tid, int policy, const struct sched_param *param); int pthread_getschedparam(pthread_t tid, int *policy, struct sched_param *param); sched_xxx setinheritsched la politique va déterminer la façon de rendre la CPU F. Touchard Cours Temps Réel ESIL Département d'informatique 2ème année F. Touchard Cours Temps Réel ESIL Département d'informatique 2ème année

14 Politiques d'ordonnancement des threads Ordonnancement des mutex mécanismes de changement des priorités en donnant au mutex une priorité que le thread courant récupérera (priority ceiling) ou en donnant au thread possédant le mutex la plus haute priorité des threads en attente du mutex (priority inheritance) l'api de RTCore compatible POSIX avec des extensions (_np) en suivant le profil POSIX PSE 51 l'appel à une fonction POSIX signifie par défaut que l'on va travailler dans un environnement temps réel F. Touchard Cours Temps Réel ESIL Département d'informatique 2ème année F. Touchard Cours Temps Réel ESIL Département d'informatique 2ème année l'api de RTCore l'api de RTCore #include <stdio.h> #include <pthread.h> #include <unistd.h> pthread_t thread; void *thread_code(void *t) { struct timespec next; int count = 0; clock_gettime(clock_realtime, &next); while (1) { timespec_add_ns(&next, 1000*1000); clock_nanosleep(clock_realtime, TIMER_ABSTIME, &next, NULL); count++; if (!(count % 1000)) printf("woke %d times\n",count); } return NULL; } int main(void) { pthread_create(&thread, NULL, thread_code, (void *)0) rtl_main_wait(); pthread_cancel(thread);pthread_join(thread, NULL); return 0; } compatible POSIX avec des extensions (_np) en suivant le profil POSIX PSE 51 l'appel à une fonction POSIX signifie par défaut que l'on va travailler dans un environnement temps réel avant de pouvoir lancer l'application temps réel, il faut avoir lancé le noyau RTCore /opt/rtldk-x.y/rtlinuxpro/modules/rtcore (on peut vérifier sa présence avec la commande lsmod) F. Touchard Cours Temps Réel ESIL Département d'informatique 2ème année F. Touchard Cours Temps Réel ESIL Département d'informatique 2ème année

Cours Programmation Système

Cours Programmation Système Cours Programmation Système Filière SMI Semestre S6 El Mostafa DAOUDI Département de Mathématiques et d Informatique, Faculté des Sciences Université Mohammed Premier Oujda m.daoudi@fso.ump.ma Février

Plus en détail

03/04/2007. Tâche 1 Tâche 2 Tâche 3. Système Unix. Time sharing

03/04/2007. Tâche 1 Tâche 2 Tâche 3. Système Unix. Time sharing 3/4/27 Programmation Avancée Multimédia Multithreading Benoît Piranda Équipe SISAR Université de Marne La Vallée Besoin Programmes à traitements simultanés Réseau Réseau Afficher une animation en temps

Plus en détail

Informatique industrielle A7-19571 Systèmes temps-réel J.F.Peyre. Partie I : Introduction

Informatique industrielle A7-19571 Systèmes temps-réel J.F.Peyre. Partie I : Introduction Informatique industrielle A7-19571 Systèmes temps-réel J.F.Peyre Partie I : Introduction Plan de la première partie Quelques définitions Caractéristiques communes des applications temps-réel Exemples d

Plus en détail

Chapitre 4 : Outils de communication centralisés entre processus

Chapitre 4 : Outils de communication centralisés entre processus Chapitre 1 : Introduction Chapitre 2 : Processus Chapitre 3 : Ordonnancement Chapitre 4 : Outils de communication centralisés entre processus Chapitre 5 : Allocation mémoire Chapitre 6 : Mémoire virtuelle

Plus en détail

Les processus légers : threads. Système L3, 2014-2015 1/31

Les processus légers : threads. Système L3, 2014-2015 1/31 Les processus légers : threads Système L3, 2014-2015 1/31 Les threads Les threads sont des processus légers exécutés à l intérieur d un processus L exécution des threads est concurrente Il existe toujours

Plus en détail

Introduction aux Systèmes et aux Réseaux

Introduction aux Systèmes et aux Réseaux Introduction aux Systèmes et aux Réseaux Cours 5 Processus D après un cours de Julien Forget (univ Lille1) Laure Gonnord http://laure.gonnord.org/pro/teaching/ Laure.Gonnord@univ-lyon1.fr Master CCI -

Plus en détail

ENSP Strasbourg (Edition 2009-2010) Les Systèmes Temps Réels - Ch. DOIGNON. Chapitre 3. Mise en œuvre : signaux, gestion du temps et multi-activités

ENSP Strasbourg (Edition 2009-2010) Les Systèmes Temps Réels - Ch. DOIGNON. Chapitre 3. Mise en œuvre : signaux, gestion du temps et multi-activités Chapitre 3 Mise en œuvre : signaux, gestion du temps et multi-activités 77 GENERALITES SUR LES SIGNAUX Un signal est une information de contrôle (requête) transmise à un processus par un autre processus

Plus en détail

Processus! programme. DIMA, Systèmes Centralisés (Ph. Mauran) " Processus = suite d'actions = suite d'états obtenus = trace

Processus! programme. DIMA, Systèmes Centralisés (Ph. Mauran)  Processus = suite d'actions = suite d'états obtenus = trace Processus 1) Contexte 2) Modèles de Notion de Points de vue Modèle fourni par le SX Opérations sur les 3) Gestion des Représentation des Opérations 4) Ordonnancement des Niveaux d ordonnancement Ordonnancement

Plus en détail

Exécutif temps réel Pierre-Yves Duval (cppm)

Exécutif temps réel Pierre-Yves Duval (cppm) Exécutif temps réel Pierre-Yves Duval (cppm) Ecole d informatique temps réel - La Londes les Maures 7-11 Octobre 2002 Plan Exécutif Tâches Evénements et synchronisation Partage de ressources Communications

Plus en détail

Cours A7 : Temps Réel

Cours A7 : Temps Réel Cours A7 : Temps Réel Pierre.Paradinas / @ / cnam.fr Cnam/Cedric Systèmes Enfouis et Embarqués (SEE) Motivations Du jour : les mécanismes multitâches, la gestion des priorités, l ordonnancement, la gestion

Plus en détail

École Polytechnique de Montréal. Département de Génie Informatique et Génie Logiciel. Cours INF2610. Contrôle périodique.

École Polytechnique de Montréal. Département de Génie Informatique et Génie Logiciel. Cours INF2610. Contrôle périodique. École Polytechnique de Montréal Département de Génie Informatique et Génie Logiciel Cours INF2610 Contrôle périodique Automne 2013 Date : 11 octobre 2013 de 18h à 20h Professeur : Boucheneb Hanifa Documentation

Plus en détail

REALISATION d'un. ORDONNANCEUR à ECHEANCES

REALISATION d'un. ORDONNANCEUR à ECHEANCES REALISATION d'un ORDONNANCEUR à ECHEANCES I- PRÉSENTATION... 3 II. DESCRIPTION DU NOYAU ORIGINEL... 4 II.1- ARCHITECTURE... 4 II.2 - SERVICES... 4 III. IMPLÉMENTATION DE L'ORDONNANCEUR À ÉCHÉANCES... 6

Plus en détail

1 Mesure de la performance d un système temps réel : la gigue

1 Mesure de la performance d un système temps réel : la gigue TP TR ENSPS et MSTER 1 Travaux Pratiques Systèmes temps réel et embarqués ENSPS ISV et Master TP1 - Ordonnancement et communication inter-processus (IPC) Environnement de travail Un ordinateur dual-core

Plus en détail

Les processus. Système L3, 2014-2015 1/39

Les processus. Système L3, 2014-2015 1/39 Les processus Système L3, 2014-2015 1/39 Les processus Processus = Instance d un programme en cours d exécution plusieurs exécutions de programmes plusieurs exécutions d un même programme plusieurs exécutions

Plus en détail

3IS - Système d'exploitation linux - Programmation système

3IS - Système d'exploitation linux - Programmation système 3IS - Système d'exploitation linux - Programmation système 2010 David Picard Contributions de : Arnaud Revel, Mickaël Maillard picard@ensea.fr Environnement Les programmes peuvent être exécutés dans des

Plus en détail

Cours 6 : Tubes anonymes et nommés

Cours 6 : Tubes anonymes et nommés Cours 6 : Tubes anonymes et nommés Mécanisme de communications du système de fichiers I-node associé. Type de fichier: S_IFIFO. Accès au travers des primitives read et write. Les tubes sont unidirectionnels

Plus en détail

Gestion des processus

Gestion des processus 65 La Gestion des Processus 1 Définitions, exemples 2. Politiques d'allocation du processeur 3. Synchronisation des processus 66 Programme : Un programme est une suite figée d'instructions, un ensemble

Plus en détail

Info0604 Programmation multi-threadée. Cours 5. Programmation multi-threadée en Java

Info0604 Programmation multi-threadée. Cours 5. Programmation multi-threadée en Java Info0604 Programmation multi-threadée Cours 5 Programmation multi-threadée en Java Pierre Delisle Université de Reims Champagne-Ardenne Département de Mathématiques et Informatique 18 février 2015 Plan

Plus en détail

DAns un système multi-utilisateurs à temps partagé, plusieurs processus

DAns un système multi-utilisateurs à temps partagé, plusieurs processus Chapitre 8 Ordonnancement des processus Dns un système multi-utilisateurs à temps partagé, plusieurs processus peuvent être présents en mémoire centrale en attente d exécution. Si plusieurs processus sont

Plus en détail

Les avantages de la virtualisation sont multiples. On peut citer:

Les avantages de la virtualisation sont multiples. On peut citer: 1 Les mécanismes de virtualisation ont été introduits il y a fort longtemps dans les années 60 par IBM avec leur système CP/CMS. La motivation première de la virtualisation est la possibilité d'isoler

Plus en détail

INTRODUCTION À LA PROGRAMMATION CONCURRENTE

INTRODUCTION À LA PROGRAMMATION CONCURRENTE INTRODUCTION À LA PROGRAMMATION CONCURRENTE POLYCOPIÉ DU COURS PCO1 Prof. Claude Evéquoz Prof. Yann Thoma HEIG-VD 2009 Table des matières Table des matières 2 1 Introduction à la programmation concurrente

Plus en détail

Qu'est-ce qu'un processus: Définitions

Qu'est-ce qu'un processus: Définitions Version septembre 2013 N 187 Qu'est-ce qu'un processus: Définitions Instruction = indécomposable et indivisible Processeur =... Processus = suite temporelle d'exécutions d'instructions Processus = exécution

Plus en détail

Introduction à la programmation concurrente

Introduction à la programmation concurrente Introduction à la programmation concurrente Moniteurs Yann Thoma Reconfigurable and Embedded Digital Systems Institute Haute Ecole d Ingénierie et de Gestion du Canton de Vaud This work is licensed under

Plus en détail

Linux embarqué, Linux Temps Réel : présentation

Linux embarqué, Linux Temps Réel : présentation ENSEIRB - 4JLG Linux embarqué, Linux Temps Réel : présentation Patrice KADIONIK email http : kadionik@enseirb.fr : http://www.enseirb.fr/~kadionik pk/2003 v 2.1 Reproduction et exploitation à des fins

Plus en détail

Ordonnancement temps réel

Ordonnancement temps réel Ordonnancement temps réel Laurent.Pautet@enst.fr Version 1.5 Problématique de l ordonnancement temps réel En fonctionnement normal, respecter les contraintes temporelles spécifiées par toutes les tâches

Plus en détail

gestion des processus La gestion des processus

gestion des processus La gestion des processus 1 La Pseudo parallélisme 2 Plusieurs programmes en mémoire Le processeur exécute les instructions tantôt pour l'un tantôt pour l'autre P1 P2 programme de supervision Vu de l'utilisateur => programmes en

Plus en détail

Systèmes temps-réel. Plan général. Matthieu Herrb. http://homepages.laas.fr/matthieu/temps-reel.pdf. Mars 2015. 1 Introduction - concepts généraux

Systèmes temps-réel. Plan général. Matthieu Herrb. http://homepages.laas.fr/matthieu/temps-reel.pdf. Mars 2015. 1 Introduction - concepts généraux Systèmes temps-réel Matthieu Herrb http://homepages.laas.fr/matthieu/temps-reel.pdf Mars 2015 Plan général 1 Introduction - concepts généraux 2 Processus 3 Synchronisation 4 Gestion de la mémoire 5 Conclusion

Plus en détail

Métriques de performance pour les algorithmes et programmes parallèles

Métriques de performance pour les algorithmes et programmes parallèles Métriques de performance pour les algorithmes et programmes parallèles 11 18 nov. 2002 Cette section est basée tout d abord sur la référence suivante (manuel suggéré mais non obligatoire) : R. Miller and

Plus en détail

Programmation système

Programmation système Programmation système Christine Solnon Table des matières 1 Les processus 2 1.1 Etats d un processus................................... 2 1.2 Descripteur d un processus (PCB)...........................

Plus en détail

INITIATION AU LANGAGE JAVA

INITIATION AU LANGAGE JAVA INITIATION AU LANGAGE JAVA I. Présentation 1.1 Historique : Au début des années 90, Sun travaillait sur un projet visant à concevoir des logiciels simples et performants exécutés dans des PDA (Personnal

Plus en détail

PROGRAMMATION EVENEMENTIELLE sur EXCEL

PROGRAMMATION EVENEMENTIELLE sur EXCEL MASTERs SMaRT & GSI PROGRAMMATION EVENEMENTIELLE sur EXCEL Pierre BONNET Programmation évènementielle La programmation évènementielle permet un appel de procédure depuis l'interface HMI d'excel (ou d'un

Plus en détail

Programmation système en C/C++

Programmation système en C/C++ Programmation système en C/C++ Jean-Baptiste Vioix (jb.vioix@free.fr) LE2I - ENESAD http://jb.vioix.free.fr 1-41 Programmation en C/C++ sous Unix Il existe des très nombreux outils de développement sous

Plus en détail

Exercices INF5171 : série #3 (Automne 2012)

Exercices INF5171 : série #3 (Automne 2012) Exercices INF5171 : série #3 (Automne 2012) 1. Un moniteur pour gérer des ressources Le moniteur MPD 1 présente une première version d'un moniteur, exprimé en pseudo-mpd, pour gérer des ressources le nombre

Plus en détail

INITIATION AU LANGAGE C SUR PIC DE MICROSHIP

INITIATION AU LANGAGE C SUR PIC DE MICROSHIP COURS PROGRAMMATION INITIATION AU LANGAGE C SUR MICROCONTROLEUR PIC page 1 / 7 INITIATION AU LANGAGE C SUR PIC DE MICROSHIP I. Historique du langage C 1972 : naissance du C dans les laboratoires BELL par

Plus en détail

Concept de machine virtuelle

Concept de machine virtuelle Concept de machine virtuelle Chap. 5: Machine virtuelle Alain Sandoz Semestre été 2007 1 Introduction: Java Virtual Machine Machine Virtuelle Java: qu est-ce que c est? c est la spécification d une machine

Plus en détail

Extension d'un outil de trace pour système embarqué temps réel. Encadrants : Laurent Pautet, Jérôme Hugues

Extension d'un outil de trace pour système embarqué temps réel. Encadrants : Laurent Pautet, Jérôme Hugues Brique projet - T3 2006 Marion Strauss Extension d'un outil de trace pour système embarqué temps réel Encadrants : Laurent Pautet, Jérôme Hugues 1 Table des matières TABLE DES MATIÈRES... 2 INTRODUCTION...

Plus en détail

INTRODUCTION AUX SYSTEMES D EXPLOITATION. TD2 Exclusion mutuelle / Sémaphores

INTRODUCTION AUX SYSTEMES D EXPLOITATION. TD2 Exclusion mutuelle / Sémaphores INTRODUCTION AUX SYSTEMES D EXPLOITATION TD2 Exclusion mutuelle / Sémaphores Exclusion mutuelle / Sémaphores - 0.1 - S O M M A I R E 1. GENERALITES SUR LES SEMAPHORES... 1 1.1. PRESENTATION... 1 1.2. UN

Plus en détail

Chapitre 1 : Introduction aux bases de données

Chapitre 1 : Introduction aux bases de données Chapitre 1 : Introduction aux bases de données Les Bases de Données occupent aujourd'hui une place de plus en plus importante dans les systèmes informatiques. Les Systèmes de Gestion de Bases de Données

Plus en détail

Cours de Génie Logiciel

Cours de Génie Logiciel Cours de Génie Logiciel Sciences-U Lyon Diagrammes UML (2) http://www.rzo.free.fr Pierre PARREND 1 Avril 2005 Sommaire Les Diagrammes UML Diagrammes de Collaboration Diagrammes d'etats-transitions Diagrammes

Plus en détail

Centre CPGE TSI - Safi 2010/2011. Algorithmique et programmation :

Centre CPGE TSI - Safi 2010/2011. Algorithmique et programmation : Algorithmique et programmation : STRUCTURES DE DONNÉES A. Structure et enregistrement 1) Définition et rôle des structures de données en programmation 1.1) Définition : En informatique, une structure de

Plus en détail

Partie 7 : Gestion de la mémoire

Partie 7 : Gestion de la mémoire INF3600+INF2610 Automne 2006 Partie 7 : Gestion de la mémoire Exercice 1 : Considérez un système disposant de 16 MO de mémoire physique réservée aux processus utilisateur. La mémoire est composée de cases

Plus en détail

Guide d'installation. Release Management pour Visual Studio 2013

Guide d'installation. Release Management pour Visual Studio 2013 1 Guide d'installation Release Management pour Visual Studio 2013 Le contenu de ce document est fourni «en l'état». Les informations et les points de vue contenus dans ce document, y compris les URL et

Plus en détail

PROBLEMES D'ORDONNANCEMENT AVEC RESSOURCES

PROBLEMES D'ORDONNANCEMENT AVEC RESSOURCES Leçon 11 PROBLEMES D'ORDONNANCEMENT AVEC RESSOURCES Dans cette leçon, nous retrouvons le problème d ordonnancement déjà vu mais en ajoutant la prise en compte de contraintes portant sur les ressources.

Plus en détail

Systèmes et exécutifs temps-réel

Systèmes et exécutifs temps-réel Systèmes et exécutifs temps-réel Licence professionnelle «Systèmes embarqués dans l automobile» Isabelle PUAUT (Cours + TD) Jean-François DEVERGE et Christophe Pais (TP) 1 Applications temps-réel Systèmes

Plus en détail

Linux embarqué Retour d expérience et temps réel. Denis Coupvent-Desgraviers

Linux embarqué Retour d expérience et temps réel. Denis Coupvent-Desgraviers Linux embarqué Retour d expérience et temps réel 1 Denis Coupvent-Desgraviers Introduction Bien connaître les bases d un système d exploitation Utilisation de GNU/Linux Bonnes connaissances en langage

Plus en détail

Introduction à la Programmation Parallèle: MPI

Introduction à la Programmation Parallèle: MPI Introduction à la Programmation Parallèle: MPI Frédéric Gava et Gaétan Hains L.A.C.L Laboratoire d Algorithmique, Complexité et Logique Cours du M2 SSI option PSSR Plan 1 Modèle de programmation 2 3 4

Plus en détail

4. Outils pour la synchronisation F. Boyer, Laboratoire Lig Fabienne.Boyer@imag.fr

4. Outils pour la synchronisation F. Boyer, Laboratoire Lig Fabienne.Boyer@imag.fr 4. Outils pour la synchronisation F. Boyer, Laboratoire Lig Fabienne.Boyer@imag.fr Le problème Insuffisance des solutions de base (verrous) Les solutions de plus haut niveau Les Sémaphores Les Moniteurs

Plus en détail

Cours de Systèmes d Exploitation

Cours de Systèmes d Exploitation Licence d informatique Synchronisation et Communication inter-processus Hafid Bourzoufi Université de Valenciennes - ISTV Introduction Les processus concurrents s exécutant dans le système d exploitation

Plus en détail

Virtualisation sous Linux L'age de raison. Daniel Veillard veillard@redhat.com

Virtualisation sous Linux L'age de raison. Daniel Veillard veillard@redhat.com Virtualisation sous Linux L'age de raison Daniel Veillard veillard@redhat.com Solution Linux 2009 Une jungle d'acronymes Xen UML VServer VMWare VirtualBox lguest QEmu KVM VirtualIron OpenVZ LXC Définition

Plus en détail

Formations Evolix Catalogue

Formations Evolix Catalogue Catalogue Evolix, Spécialiste des technologies Open Source N Agrément Formateur : 93131160713 Table des matières I Pôle Formations Systèmes et Réseaux 5 Présentation..........................................

Plus en détail

MODULE I1. Plan. Introduction. Introduction. Historique. Historique avant 1969. R&T 1ère année. Sylvain MERCHEZ

MODULE I1. Plan. Introduction. Introduction. Historique. Historique avant 1969. R&T 1ère année. Sylvain MERCHEZ MODULE I1 Plan Chapitre 1 Qu'est ce qu'un S.E? Introduction Historique Présentation d'un S.E Les principaux S.E R&T 1ère année Votre environnement Sylvain MERCHEZ Introduction Introduction Rôles et fonctions

Plus en détail

Chapitre 2. Les processus. 2.1 Introduction. 2.2 les différents états d un processus

Chapitre 2. Les processus. 2.1 Introduction. 2.2 les différents états d un processus Chapitre 2 Les processus 2.1 Introduction Le processus est un concept clé dans un système d exploitation. Un processus est un programme en cours d exécution. C est-à-dire, un programme à l état actif.

Plus en détail

Livre blanc Mesure des performances sous Windows Embedded Standard 7

Livre blanc Mesure des performances sous Windows Embedded Standard 7 Livre blanc Mesure des performances sous Windows Embedded Standard 7 Table des matières Résumé... 1 Introduction... 1 Utilisation de la boîte à outils Windows Performance Analysis... 2 Fonctionnement...

Plus en détail

TRAVAUX PRATIQUES Programmation Système Langage C / Système UNIX. 2 e année Génie Informatique

TRAVAUX PRATIQUES Programmation Système Langage C / Système UNIX. 2 e année Génie Informatique Communications entre Processus Communication par tubes. TRAVAUX PRATIQUES Programmation Système Langage C / Système UNIX. 2 e année Génie Informatique Exemple 1: On a deux processus Père/Fils. Le père

Plus en détail

Problèmes liés à la concurrence

Problèmes liés à la concurrence ENS Cachan Problématique Difficile de gérer la concurrence : Pas toujours facile d avoir des fonctions réentrantes. Risque de race condition : ex : x :=x+1 x :=x+1 On voudrait des blocs d instructions

Plus en détail

http://cri.univ-lille1.fr Virtualisation de Windows dans Ubuntu Linux

http://cri.univ-lille1.fr Virtualisation de Windows dans Ubuntu Linux http://cri.univ-lille1.fr Virtualisation de Windows dans Ubuntu Linux Version 1.0 Septembre 2011 SOMMAIRE 1. Introduction 3 2. Installation du logiciel de virtualisation VirtualBox 4 3. Création d'une

Plus en détail

Institut Supérieure Aux Etudes Technologiques De Nabeul. Département Informatique

Institut Supérieure Aux Etudes Technologiques De Nabeul. Département Informatique Institut Supérieure Aux Etudes Technologiques De Nabeul Département Informatique Support de Programmation Java Préparé par Mlle Imene Sghaier 2006-2007 Chapitre 1 Introduction au langage de programmation

Plus en détail

Initiation à JAVA et à la programmation objet. raphael.bolze@ens-lyon.fr

Initiation à JAVA et à la programmation objet. raphael.bolze@ens-lyon.fr Initiation à JAVA et à la programmation objet raphael.bolze@ens-lyon.fr O b j e c t i f s Découvrir un langage de programmation objet. Découvrir l'environnement java Découvrir les concepts de la programmation

Plus en détail

Virtualisation open source État de l'art

Virtualisation open source État de l'art Virtualisation open source État de l'art Jean Charles Delépine Université de Picardie Direction des Infrastructures et des systèmes d'information Une jungle d'acronymes Xen QEMU

Plus en détail

Linux embarqué: une alternative à Windows CE?

Linux embarqué: une alternative à Windows CE? embarqué: une alternative à Windows CE? : une alternative à Windows CE Présentation Mangrove Systems Distribution embarqué Perspective WinCe / Questions Mangrove systems Créé en 2001 Soutien Soutien Ministère

Plus en détail

Licences Windows Server 2012 R2 dans le cadre de la virtualisation

Licences Windows Server 2012 R2 dans le cadre de la virtualisation Résumé des licences en volume Licences Windows Server 2012 R2 dans le cadre de la virtualisation Ce résumé s'applique à tous les programmes de licences en volume Microsoft. Sommaire Synthèse... 2 Nouveautés

Plus en détail

SYSTÈME DE GESTION DE FICHIERS

SYSTÈME DE GESTION DE FICHIERS SYSTÈME DE GESTION DE FICHIERS - DISQUE 1 Les couches logiciels réponse requête Requêtes E/S Système E/S Pilote E/S Interruptions utilisateur traitement S.E. commandes S.E. S.E. matériel Contrôleur E/S

Plus en détail

Programmation Système (en C sous linux) Rémy Malgouyres LIMOS UMR 6158, IUT département info Université Clermont 1, B.P.

Programmation Système (en C sous linux) Rémy Malgouyres LIMOS UMR 6158, IUT département info Université Clermont 1, B.P. Programmation Système (en C sous linux) Rémy Malgouyres LIMOS UMR 6158, IUT département info Université Clermont 1, B.P. 86 63172 AUBI Une version PDF de ce document est téléchargeable sur mon site web,

Plus en détail

Temps Réel. Jérôme Pouiller <j.pouiller@sysmic.org> Septembre 2011

Temps Réel. Jérôme Pouiller <j.pouiller@sysmic.org> Septembre 2011 Temps Réel Jérôme Pouiller Septembre 2011 Sommaire Problèmatique Le monotâche Le multitâches L ordonnanement Le partage de ressources Problèmatiques des OS temps réels J. Pouiller

Plus en détail

Bienvenue sur Lab-Windows Il n'y a de vents favorables que pour ceux qui ont un cap

Bienvenue sur Lab-Windows Il n'y a de vents favorables que pour ceux qui ont un cap Page 1 of 7 Rechercher sur le Web Bienvenue sur Lab-Windows Il n'y a de vents favorables que pour ceux qui ont un cap Accueil Actualité Windows Vista Windows Server Active Directory TCP/IP Securité Qui

Plus en détail

Programmation système de commandes en C

Programmation système de commandes en C Programmation système de commandes en C Cours de Programmation système Tuyêt Trâm DANG NGOC Université de Cergy-Pontoise 2012 2013 Tuyêt Trâm DANG NGOC Programmation système de commandes

Plus en détail

Guide de configuration de SQL Server pour BusinessObjects Planning

Guide de configuration de SQL Server pour BusinessObjects Planning Guide de configuration de SQL Server pour BusinessObjects Planning BusinessObjects Planning XI Release 2 Copyright 2007 Business Objects. Tous droits réservés. Business Objects est propriétaire des brevets

Plus en détail

Clients et agents Symantec NetBackup 7

Clients et agents Symantec NetBackup 7 Protection complète pour les informations stratégiques de l'entreprise Présentation Symantec NetBackup propose un choix complet de clients et d'agents innovants pour vous permettre d optimiser les performances

Plus en détail

IFT2245 - Systèmes d exploitation - TP n 1-20%

IFT2245 - Systèmes d exploitation - TP n 1-20% IFT2245 - Systèmes d exploitation - TP n 1-20% DIRO - Université de Montréal Nicolas Rous et Dorian Gomez Disponible : 14/02/2013 - Remise : 28/03/2013 au début de la démo LISEZ TOUT LE DOCUMENT AVANT

Plus en détail

Le langage C. Séance n 4

Le langage C. Séance n 4 Université Paris-Sud 11 Institut de Formation des Ingénieurs Remise à niveau INFORMATIQUE Année 2007-2008 Travaux pratiques d informatique Le langage C Séance n 4 But : Vous devez maîtriser à la fin de

Plus en détail

Windows serveur 2008 installer hyperv

Windows serveur 2008 installer hyperv Windows serveur 2008 installer hyperv 1 Description Voici la description fournit par le site Microsoft. «Windows Server 2008 Hyper-V est le moteur de virtualisation (hyperviseur) fourni dans Windows Server

Plus en détail

Pour signifier qu'une classe fille hérite d'une classe mère, on utilise le mot clé extends class fille extends mère

Pour signifier qu'une classe fille hérite d'une classe mère, on utilise le mot clé extends class fille extends mère L'héritage et le polymorphisme en Java Pour signifier qu'une classe fille hérite d'une classe mère, on utilise le mot clé extends class fille extends mère En java, toutes les classes sont dérivée de la

Plus en détail

Utilisation de matériels industriels avec des outils de virtualisation open source. Open Source dans le monde industriel

Utilisation de matériels industriels avec des outils de virtualisation open source. Open Source dans le monde industriel Utilisation de matériels industriels avec des outils de virtualisation open source Open Source dans le monde industriel Christophe Sauthier Ancien Président de Ubuntu fr Développeur Ubuntu Officiel Développeur

Plus en détail

J2SE Threads, 1ère partie Principe Cycle de vie Création Synchronisation

J2SE Threads, 1ère partie Principe Cycle de vie Création Synchronisation J2SE Threads, 1ère partie Principe Cycle de vie Création Synchronisation Cycle Ingénierie 2e année SIGL Dernière mise à jour : 19/10/2006 Christophe Porteneuve Threads Principes Cycle de vie Création java.lang.thread

Plus en détail

Mesure de performances. [Architecture des ordinateurs, Hennessy & Patterson, 1996]

Mesure de performances. [Architecture des ordinateurs, Hennessy & Patterson, 1996] Mesure de performances [Architecture des ordinateurs, Hennessy & Patterson, 1996] Croissance des performances des microprocesseurs Avant le milieu des années 80, le gain dépendait de la technologie. Après,

Plus en détail

DA MOTA Anthony - Comparaison de technologies : PhoneGap VS Cordova

DA MOTA Anthony - Comparaison de technologies : PhoneGap VS Cordova DA MOTA Anthony - Comparaison de technologies : PhoneGap VS Cordova I. Introduction Dans une période où la plasticité peut aider à réduire les coûts de développement de projets comme des applications mobile,

Plus en détail

TP Temps Réel. Polytech Paris - Mars 2012

TP Temps Réel. Polytech Paris - Mars 2012 TP Temps Réel Jérôme Pouiller Polytech Paris - Mars 2012 Table des matières 1 Avant de commencer 2 1.1 Documentation.................................................... 3 1.1.1

Plus en détail

Mise à jour, sauvegarde et restauration de logiciels

Mise à jour, sauvegarde et restauration de logiciels Mise à jour, sauvegarde et restauration de logiciels Manuel de l utilisateur Copyright 2007 Hewlett-Packard Development Company, L.P. Windows est une marque déposée aux États-Unis de Microsoft Corporation.

Plus en détail

Introduction à la programmation orientée objet, illustrée par le langage C++ Patrick Cégielski cegielski@u-pec.fr

Introduction à la programmation orientée objet, illustrée par le langage C++ Patrick Cégielski cegielski@u-pec.fr Introduction à la programmation orientée objet, illustrée par le langage C++ Patrick Cégielski cegielski@u-pec.fr Mars 2002 Pour Irène et Marie Legal Notice Copyright c 2002 Patrick Cégielski Université

Plus en détail

Systèmes d exploitation Gestion de processus

Systèmes d exploitation Gestion de processus Systèmes d exploitation Gestion de processus SITE : http://www.sir.blois.univ-tours.fr/ mirian/ Systèmes d exploitation - Mírian Halfeld-Ferrari p. 1/5 Les processus, à quoi ça sert? À faire plusieurs

Plus en détail

E-mail : contact@nqicorp.com - Web : http://www.nqicorp.com

E-mail : contact@nqicorp.com - Web : http://www.nqicorp.com - 5, rue Soutrane - 06560 Valbonne Sophia-Antipolis E-mail : contact@nqicorp.com - Web : http://www.nqicorp.com NQI Orchestra 3.3 - Guide d'installation Windows.................................................................

Plus en détail

Documentation utilisateur, manuel utilisateur MagicSafe Linux. Vous pouvez télécharger la dernière version de ce document à l adresse suivante :

Documentation utilisateur, manuel utilisateur MagicSafe Linux. Vous pouvez télécharger la dernière version de ce document à l adresse suivante : Documentation utilisateur, manuel utilisateur MagicSafe Linux. Vous pouvez télécharger la dernière version de ce document à l adresse suivante : http://www.hegerys.com/documentation/magicsafe-windows-doc.pdf

Plus en détail

G. Méthodes de déploiement alternatives

G. Méthodes de déploiement alternatives Page 32 Chapitre 1 - Le fichier MigUser.xml permet de configurer le comportement d'usmt lors de la migration des comptes et profils utilisateurs (capture et restauration). - Le fichier config.xml permet

Plus en détail

Chapitre V : La gestion de la mémoire. Hiérarchie de mémoires Objectifs Méthodes d'allocation Simulation de mémoire virtuelle Le mapping

Chapitre V : La gestion de la mémoire. Hiérarchie de mémoires Objectifs Méthodes d'allocation Simulation de mémoire virtuelle Le mapping Chapitre V : La gestion de la mémoire Hiérarchie de mémoires Objectifs Méthodes d'allocation Simulation de mémoire virtuelle Le mapping Introduction Plusieurs dizaines de processus doivent se partager

Plus en détail

Systèmes en réseau : Linux 1ère partie : Introduction

Systèmes en réseau : Linux 1ère partie : Introduction Systèmes en réseau : Linux 1ère partie : Introduction Les fondements de Linux : le logiciel libre Historique de Linux Présentation générale de Linux Les applications à succès Les distributions Qu'est-ce

Plus en détail

Le prototype de la fonction main()

Le prototype de la fonction main() Le prototype de la fonction main() 1. Introduction...1 2. Paramètres et type de retour de la fonction main()...1 3. Exemple 1...2 4. La fonction exit() du C...2 5. Détecter le code de retour d un programme

Plus en détail

HP Data Protector Express Software - Tutoriel 4. Utilisation de Quick Access Control (Windows uniquement)

HP Data Protector Express Software - Tutoriel 4. Utilisation de Quick Access Control (Windows uniquement) HP Data Protector Express Software - Tutoriel 4 Utilisation de Quick Access Control (Windows uniquement) Que contient ce tutoriel? Quick Access Control est une application qui s'exécute indépendamment

Plus en détail

Temps Réel. Jérôme Pouiller <j.pouiller@sysmic.org> Septembre 2011

Temps Réel. Jérôme Pouiller <j.pouiller@sysmic.org> Septembre 2011 Temps Réel Jérôme Pouiller Septembre 2011 Ordonnancement avec contraintes de précédance Problèmatique des accès concurents Problème liés aux partage de ressources Solutions utres

Plus en détail

Argument-fetching dataflow machine de G.R. Gao et J.B. Dennis (McGill, 1988) = machine dataflow sans flux de données

Argument-fetching dataflow machine de G.R. Gao et J.B. Dennis (McGill, 1988) = machine dataflow sans flux de données EARTH et Threaded-C: Éléments clés du manuel de références de Threaded-C Bref historique de EARTH et Threaded-C Ancêtres de l architecture EARTH: Slide 1 Machine à flux de données statique de J.B. Dennis

Plus en détail

Modélisation des interfaces matériel/logiciel

Modélisation des interfaces matériel/logiciel Modélisation des interfaces matériel/logiciel Présenté par Frédéric Pétrot Patrice Gerin Alexandre Chureau Hao Shen Aimen Bouchhima Ahmed Jerraya 1/28 TIMA Laboratory SLS Group 46 Avenue Félix VIALLET

Plus en détail

HP Color LaserJet Pro MFP M476dn

HP Color LaserJet Pro MFP M476dn HP Color LaserJet Pro MFP M476dn HP Color LaserJet Pro MFP M476dn - Imprimante multifonctions - couleur - laser - Légal (216 x 356 mm) (original) - A4/Légal (support) - jusqu'à 21 ppm (copie) - jusqu'à

Plus en détail

CAHIER DES CHARGES D IMPLANTATION

CAHIER DES CHARGES D IMPLANTATION CAHIER DES CHARGES D IMPLANTATION Tableau de diffusion du document Document : Cahier des Charges d Implantation EVRP Version 6 Etabli par DCSI Vérifié par Validé par Destinataires Pour information Création

Plus en détail

vbladecenter S! tout-en-un en version SAN ou NAS

vbladecenter S! tout-en-un en version SAN ou NAS vbladecenter S! tout-en-un en version SAN ou NAS Quand avez-vous besoin de virtualisation? Les opportunités de mettre en place des solutions de virtualisation sont nombreuses, quelque soit la taille de

Plus en détail

SYSTÈME DE GESTION DE FICHIERS SGF - DISQUE

SYSTÈME DE GESTION DE FICHIERS SGF - DISQUE SYSTÈME DE GESTION DE FICHIERS SGF - DISQUE C.Crochepeyre MPS_SGF 2000-20001 Diapason 1 Les couches logiciels réponse SGF requête matériel matériel Requêtes E/S Système E/S Pilote E/S Interruptions Contrôleur

Plus en détail

Module SMS pour Microsoft Outlook MD et Outlook MD Express. Guide d'aide. Guide d'aide du module SMS de Rogers Page 1 sur 40 Tous droits réservés

Module SMS pour Microsoft Outlook MD et Outlook MD Express. Guide d'aide. Guide d'aide du module SMS de Rogers Page 1 sur 40 Tous droits réservés Module SMS pour Microsoft Outlook MD et Outlook MD Express Guide d'aide Guide d'aide du module SMS de Rogers Page 1 sur 40 Table des matières 1. Exigences minimales :...3 2. Installation...4 1. Téléchargement

Plus en détail

Système et réseaux (SR1) Gestion des utilisateurs

Système et réseaux (SR1) Gestion des utilisateurs Système et réseaux (SR1) Gestion des utilisateurs Il existe un utilisateur privilégié (de nom root et de groupe root) qui dispose de droits étendus sur le système de fichier et sur le contrôle de l'activité

Plus en détail

MySQL. (Administrateur) (Dernière édition) Programme de formation. France, Belgique, Suisse, Roumanie - Canada

MySQL. (Administrateur) (Dernière édition) Programme de formation. France, Belgique, Suisse, Roumanie - Canada MySQL (Administrateur) (Dernière édition) Programme de formation Microsoft Partner France, Belgique, Suisse, Roumanie - Canada WWW.SASGROUPE.COM Formez vos salariés pour optimiser la productivité de votre

Plus en détail

VMWare Infrastructure 3

VMWare Infrastructure 3 Ingénieurs 2000 Filière Informatique et réseaux Université de Marne-la-Vallée VMWare Infrastructure 3 Exposé système et nouvelles technologies réseau. Christophe KELLER Sommaire Sommaire... 2 Introduction...

Plus en détail