Revenir à Maîtrise d’ informatique

Systèmes d’ exploitation

Objectifs

Donner une connaissance générale sur les principes et le fonctionnement des systèmes d’exploitation.

Programme

Un système d’exploitation a pour but de définir une machine virtuelle, d’un emploi beaucoup plus souple et universel que la machine physique sous-jacente. Les thèmes abordés sont :

  • Support matériel : modes superviseur, instructions privilégiées, déroutements. Cette partie comporte l’étude détaillée du mécanisme des appels-système.
  • Processus : vie et mort, états, ordonnancement, synchronisation. Les principaux algorithmes d’ordonnancement utilisés en pratique (tourniquet, files de priorité) sont comparés aux algorithmes théoriques qui minimisent le temps d’attente moyen. L’étude de la synchronisation des processus inclut l’algorithme de Peterson pour l’exclusion mutuelle, et la synchronisation par sémaphores.
  • Mémoire : allocation contiguë, mémoire virtuelle, va-et-vient, pagination, segmentation. L’étude de la pagination inclut les principaux algorithmes de remplacements de pages (en particulier l’algorithme LRU), les tables de pages à plusieurs niveaux, et l’utilisation des mémoires associatives.
  • Fichiers : gestion des blocs de données, des répertoires, et des mémoires-tampons. On compare la gestion des blocs d’un fichier à celle des pages de la mémoire vive, et on étudie les problèmes de sécurité liés aux droits d’accès.
  • Entrées/sorties : contrôleurs et pilotes de périphériques, algorithmes d’ordonnancement d’un disque, horloges, terminaux. L’étude des terminaux inclut des notions sur les serveurs X.
  • Interblocages : définition, détection et reprise, évitement (algorithme du banquier), prévention.
  • Systèmes répartis : systèmes faiblement ou fortement couplés, multiprocesseurs, systèmes de fichiers répartis (NFS), appels de procédures distantes (RPC). Cette section inclut des notions sur les processus légers, l’étude de quelques algorithmes distribués, la définition du temps universel coordonné, et les horloges logiques de Lamport.

Bibliographie

  • Principes des systèmes d’exploitation, A. Silberschatz et P.B. Galvin, [International Thomson Publishing]
  • Systèmes d’exploitation: systèmes centralisés, systèmes distribués, A. Tanenbaum, [InterÉditions]

Annales d’examen