Aperçu des OS Temps Réel Gestion des tâches
|
|
- Daniel Ringuette
- il y a 8 ans
- Total affichages :
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 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étail03/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étailInformatique 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étailChapitre 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étailLes 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étailIntroduction 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étailENSP 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étailProcessus! 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étailExé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étailCours 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 Automne 2013 Date : 11 octobre 2013 de 18h à 20h Professeur : Boucheneb Hanifa Documentation
Plus en détailREALISATION 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étail1 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étailLes 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étail3IS - 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étailCours 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étailGestion 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étailInfo0604 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étailDAns 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étailLes 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étailINTRODUCTION À 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étailQu'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étailIntroduction à 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étailLinux 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étailOrdonnancement 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étailgestion 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étailSystè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étailMé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étailProgrammation 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étailINITIATION 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étailPROGRAMMATION 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étailProgrammation 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étailExercices 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étailINITIATION 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étailConcept 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étailExtension 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étailINTRODUCTION 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étailChapitre 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étailCours 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étailCentre 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étailPartie 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étailGuide 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étailPROBLEMES 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étailSystè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étailLinux 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étailIntroduction à 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étail4. 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étailCours 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étailVirtualisation 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étailFormations 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étailMODULE 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étailChapitre 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étailLivre 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étailTRAVAUX 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étailProblè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étailhttp://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étailInstitut 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étailInitiation à 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étailVirtualisation 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étailLinux 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étailLicences 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étailSYSTÈ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étailProgrammation 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étailTemps 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étailBienvenue 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étailProgrammation 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étailGuide 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étailClients 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étailIFT2245 - 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étailLe 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étailWindows 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étailPour 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étailUtilisation 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étailJ2SE 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étailMesure 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étailDA 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étailTP 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étailMise à 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étailIntroduction à 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étailSystè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étailE-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étailDocumentation 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étailG. 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étailChapitre 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étailSystè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étailLe 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étailHP 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étailTemps 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étailArgument-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étailModé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étailHP 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étailCAHIER 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étailvbladecenter 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étailSYSTÈ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étailModule 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étailSystè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étailMySQL. (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étailVMWare 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