• Concevoir et déployer une architecture simple de réseau d'entreprise faisant appel aux technologies de réseau local et aux réseaux à grande distance d'opérateurs.
    Comprendre les avantages et les inconvénients des différentes options technologiques, étudier une proposition de raccordement ou de service
  • L’objectif de cet enseignement est de connaître le fonctionnement d’un système d’exploitation multiprogrammé et de savoir utiliser des outils de communication inter processus. Ainsi les thèmes suivants sont abordés et illustrés dans le cadre des systèmes Linux : - Structure des systèmes d’exploitation. - Gestion de processus : concepts, opérations sur les processus. Processus coopératifs, threads, communications inter-processus (tubes, files de messages, segments de mémoire partagée). - Ordonnancement de l’unité centrale : Concepts et critères d’ordonnancement. Ordonnancement temps réel - Synchronisation de processus : Section critique, sémaphores, problèmes classiques. - Interblocage : Prévention, détection, correction, - Gestion de la mémoire : pagination, segmentation. Mémoire virtuelle. - Systèmes de fichiers : Interfaces des systèmes de fichiers et implémentation. - Systèmes distribués : Structure des réseaux et structure des systèmes répartis. Programmation socket - Sécurité L’unité d’enseignement est composée d’une part de séances de cours de 2 heures, qui se déroulent le lundi de 17h30 à 19h30. Plusieurs groupes d’exercices dirigés sont proposés. Ce sont des séances de deux heures.
  • Introduction
    Notions générales associées à la répartition.
    Concepts matériels et logiciels. Objectifs : parallélisme, flexibilité, indépendance de localisation, sûreté et sécurité, extensibilité.
    Introduction aux différentes approches de systèmes et de répartition :
    introduction aux approches micronoyaux (Chorus).
    La gestion des communications
    Modes de communication par messages.
    Ingénierie des applications distribuées en mode message : outils de spécification utilisant les automates synchronisés.
    Modes de communication par appel de procédures distantes. Sémantiques de l'appel de procédure distante.
    La gestion des activités et la synchronisation
    Problèmes et solutions de synchronisation en mode message : ordres partiels, causalité.
    La réalisation de propriétés d'ordre dans les systèmes répartis : applications à la solution de problèmes de diffusion, de reprise arrière.
    La tolérance aux pannes dans les systèmes répartis : différentes approches de la redondance, introduction à l'algorithmique répartie par tolérance aux pannes (détection de panne, consensus, diffusion, synchronisation d'horloges, élection).
    Le partage des données
    La désignation dans les systèmes répartis, les différents niveaux de désignation, les gestions d'annuaires.
    Les cohérences mémoires en univers réparti : principaux modèles de consistance.
    Les systèmes de fichiers répartis. Exemple : NFS, AFS. Support de la mobilité dans les fichiers répartis.
    Exemples d'intergiciels (middleware)
    Les systèmes d'objets répartis : concepts associés à la notion d'objet répartis, exemples de systèmes CORBA, Java RMI.
    L'approche composants : exemple EJB.
    Les services Web.
    Introduction à la programmation par aspects (AspectJ).