Durée : 4h30 Méthodes pédagogiques : alternance de théorie et de travaux pratiques Matériels et moyens : vidéo-projecteur en présentiel, tableau partagé en classe virtuelle, infrastructure distribuée serveurs Linux | Rappel sur l'organisation de la mémoire. L'adressage par les pointeurs. Les opérateurs & et * . Les pointeurs et les arguments de fonctions. Les calculs d'adresses. Les fonctions d'allocation malloc et free,et les appels systèmes: sbrk, realloc.Atelier : écriture d'un allocateur de mémoire.
|
Durée : 10h30 Méthodes pédagogiques : alternance de théorie et de travaux pratiques Matériels et moyens : vidéo-projecteur en présentiel, tableau partagé en classe virtuelle, infrastructure distribuée serveurs Linux | Les différentes méthodes : pipes, fifo, signaux, files de messages. Signaux et interruptions : les principaux signaux. Atelier : émission d'un signal avec kill(), réception du signal par signal(). Sémaphores et appels concurrents :principe de fonctionnement des sémaphores.
Atelier : mise en oeuvre avec semget, semctl, semop. Segments de mémoires partagées :définitions de constantes et structures,
Atelier : création d'un segment de mémoire partagée avec shmget,
attachement, détachement d'un segment avec shmat, shmdt. Files de messages :constantes et structures nécessaires pour la manipulation des files de messages.Atelier : mise en oeuvre de la primitive msgget(),gestion des files de messages (consultation, modification, suppression) avec msgctl()
Envoi d'un message à une file : msgsend(). Segments partagés :définition d'un segment de mémoire partagé. Description et mise en oeuvre des appels systèmes shmat(), shmget(). Utilisation de sémaphores pour la gestion des accès concurrents au segment. Sockets BSD :mise en oeuvre des prises réseaux pour la communication inter-processus. Exemple avec des liens locaux. Extension aux liens distants. Communications inter-machines.
|
Durée : 4h Méthodes pédagogiques : alternance de théorie et de travaux pratiques Matériels et moyens : vidéo-projecteur en présentiel, tableau partagé en classe virtuelle, infrastructure distribuée serveurs Linux | Création de processus. Définition et mise en oeuvre des primitives fork(), clone(), setsid(). Limites d'utilisation. Introduction aux threads. Les threads. La norme et les implémentations. L'implémentation Posix : NPTL. Cycle de vie des threads: création, destruction. Synchronisation entre threads, détachement du processus principal, attente de fin d'exécution. Attributs des threads. Gestion de la mémoire consommée, gestion de la pile de données. Gestion des accès concurrents, principe de l'exclusion mutuelle.Atelier : mise en oeuvre des mutex. Coopération de traitements entre threads. Mise en oeuvre des conditions variables. Gestion des signaux dans un thread. Ordonnancement de threads.
|