ECTS
5 crédits
Composante
Collège Sciences et Technologies pour l’Energie et l’Environnement (STEE)
Volume horaire
45h
Description
L’enseignement des systèmes concurrents, dispensé en première année du master informatique, TI, traite la synchronisation d’activités concurrentes dans un modèle centralisé synchrone et asynchrone. Ce modèle correspond, de manière pratique, aux applications parallèles s’exécutant sur une architecture à mémoire commune mono ou multiprocesseurs. On y aborde dans une première partie le problème de l’Exclusion Mutuelle, les solutions matérielles : masquage d’interruptions, instruction TAS (Test and Set), ainsi que les solutions logicielles : verrou et sémaphores. Dans la deuxième partie, le problème de la Synchronisation des processus est abordé, ainsi que les solutions par : Evènements, RDV, et Moniteurs de Hoare. Les travaux pratiques de cet enseignement consistent principalement à la mise en œuvre, avec le langage ADA, d’un certain nombre d’exemples types comme le producteur-consommateur et les Lecteurs-rédacteurs, en utilisant deux de ses outils de synchronisation: les RDV ADA et les Objets protégés, qui sont une implémentation des Moniteurs de Hoare.
Objectifs
À la fin de cette UE/EC, vous serez capable de :
- Maîtriser les problèmes de l’Exclusion mutuelle/ synchronisation des processus dans une architecture multiprocesseurs à mémoire commune.
- Savoir mettre en œuvre une solution de synchronisation de processus en utilisant des outils comme les sémaphores de Dijkstra, les RDV ADA et les moniteurs de Hoare.
Heures d'enseignement
- CMCours Magistral22,5h
- TDTravaux Dirigés13,5h
- TPTravaux Pratique9h
Contrôle des connaissances
session 1 30% contrôle continu écrit + 20% TP + 50% examen terminal
session 2 : 100% examen écrit
Compétences acquises
Compétences | Niveau d'acquisition | |
---|---|---|
Usages avancés et spécialisés des outils numériques | Identifier les usages numériques et les impacts de leur évolution sur le ou les domaines concernés par la mention | x |
Se servir de façon autonome des outils numériques avancés pour un ou plusieurs métiers ou secteurs de recherche du domaine | x | |
Développement et intégration de savoirs hautement spécialisés | Maîtriser plusieurs paradigmes de modélisation et de programmation et être capable de s'adapter à de nouveaux langages | x |
Proposer une architecture matérielle et logicielle permettant d'intégrer les données du problème et le résoudre | x | |
Connaître et mettre en œuvre les principes de gestion des bases de données structurées ou non | x | |
Développer des applications informatiques sur des infrastructures variées (machines parallèles, environnement distribué, programmation Web…) | x | |
Mettre en relation une catégorie de problèmes avec les algorithmes de résolution, en évaluer la pertinence : limites d'utilisation et efficacité | x | |
Déployer des applications informatiques, gérer les phases de test et les évolutions | x | |
Développer des interfaces homme-machines à destination des usagers | x | |
Communication spécialisée pour le transfert de connaissances | Identifier, sélectionner et analyser avec esprit critique diverses ressources spécialisées pour documenter un sujet et synthétiser ces données en vue de leur exploitation | x |
Communiquer à des fins de formation ou de transfert de connaissances, par oral et par écrit, en français et dans au moins une langue étrangère | x | |
Appui à la transformation en contexte professionnel | Analyser et modéliser du point de vue informatique un problème dans toute son étendue et dans des champs d'applications variés en lien avec les usagers | x |
Maîtriser les grands enjeux de la sécurité des systèmes informatiques et de la protection des données, analyser un système du point de vue de la sécurité et mettre en œuvre des solutions sécurisées | x | |
Prendre en compte les enjeux industriels, économiques et professionnels : compétitivité et productivité, innovation, propriété intellectuelle et industrielle, respect des procédures qualité, sécurité | x | |
Respecter les principes d'éthique, de déontologie et de responsabilité environnementale | x | |
Conduire un projet (conception, pilotage, coordination d'équipe, mise en œuvre et gestion, évaluation, diffusion) pouvant mobiliser des compétences pluridisciplinaires dans un cadre collaboratif | x |