Systèmes Informatiques et Applications Concurrentes
Formation
À Amiens
Avez-vous besoin d'un coach de formation?
Il vous aidera à comparer différents cours et à trouver la solution la plus abordable.
Description
-
Typologie
Formation
-
Dirigé à
Pour professionnels
-
Lieu
Amiens
-
Heures de classe
60h
Objectifs: Obtenir des bases pour des compétences en: programmation d'applications comportant des processus coopérants, locaux ou distants (applications temps réel, applications réparties. ), programmation des applications centralisées et réparties, évolution des systèmes informatiques, ouverture et interfaçage des systèmes.
Précisions importantes
Modalité Formation continue
Les sites et dates disponibles
Lieu
Date de début
Date de début
À propos de cette formation
Nous consulter.
Les Avis
Le programme
Introduction. Actualité de la programmation concurrente, utilité, difficultés, développements.
Rappel sur la gestion cooperative et concurrente des ressources partagées entre utilisateurs ou processus.
Concurrence dans la machine virtuelle fournie à l'utilisateur par le système d'exploitation. Processus et environnement d'exécution. Espace d'adressage : exemple d'Unix et Linux.
Le système fournissant des services communs et une plate-forme commune. Gestion des processus et partage des ressources. Structures de systèmes. Introduction et exemples sur l'allocation des ressources. Mesure de charge, d'occupation de l'espace d' adressage.
Ordonnancement des processeurs, (Exemples : Unix, Linus, Chorus, Temps réel). Ordonnancement des transferts disques.
Gestion de mémoire. Allocation. Placement par zone, par page. Mémoire virtuelle paginée. Ecroulement. Stratégies globales d'allocation de ressources. Localité, espace de travail.
Fiabilité de la concurrence Interblocage
Interblocage. Détection et prévention de l'interblocage. Prévention statique (classes ordonnées) et prévention dynamique (algorithme du banquier).
Paradigmes et patterns de la concurrence
Présentation des principaux paradigmes (et patterns) de la concurrence tels qu'ils résultent de l'expérience des communautés systèmes d'exploitation, systèmes et applications temps réel, systèmes et applications embarqués, systèmes et applications répartis : exclusion mutuelle, producteurs-consommateurs, lecteurs-rédacteurs, dîner des philosophes. Système centralisé ou réparti. Exemples d'utilisation dans des applications
Concurrence et environnement d'exécution
Analyse des contraintes que la programmation concurrente apporte pour l'environnement d'exécution : gestion des processus (process, threads, tasks), des variables locales, globales et persistantes (piles, tas), de la protection (espaces d'adressages séparés, segmentation), de la communication (canaux, mémoire virtuelle partagée)
Programmation des paradigmes et patterns
Présentation des solutions dans les principaux systèmes et langages utilisés : API systèmes (sémaphores, mutex, conditions, signaux, normes Posix), langage Java, langage Ada95.
Synchronisation par mémoire commune. Mécanismes élémentaires d'exclusion mutuelle. Sémaphore, moniteurs (aperçu), objets protégés de ADA95 (aperçu), méthodes synchronisées de JAVA.
Programmation de la synchronisation par design patterns avec des sémaphores (ou objets protégés ADA95). Propriétés, coopération entre processus, producteurs-consommateurs. Lecteurs-rédacteurs, dîner des philosophes. Les techniques de programmation. Sémaphores privés. Allocation de mémoire. Solutions en programmation par objets.
Synchronisation par messages. Cas d'UNIX et de LINUX. Boîte aux lettres. Client-serveur. Rendez-vous ADA. Design patterns pour les paradigmes.
Synchronisation par messages dans les systèmes répartis. Ordre partiel causal, ordre total à la Lamport, algorithme réparti d'exclusion mutuelle.
Formalisation, Validation, Performances
Présenter les principales abstractions utiles : compteurs abstraits, assertions, automates synchronisés (Grafcet pour le temps réel), relation d'ordre entre événements.
Aperçu sur les besoins de validation et de performance des programmes concurrents.
Présentation formelle de la détection et de la prévention de l'interblocage.
Informations complémentaires
Avez-vous besoin d'un coach de formation?
Il vous aidera à comparer différents cours et à trouver la solution la plus abordable.
Systèmes Informatiques et Applications Concurrentes