3EXP2A - Exploitation des systèmes 2

Appartient à l'UE Exploitation des systèmes 2

Personnes enseignantes

Description technique du cours

  • Acronyme de l’activité : 3EXP2A
  • Bloc : 2
  • Quadrimestre : 3
  • Nombre de crédits : 3
  • Langue d’instruction : français
  • Implantation : HE2B – ESI
  • Pré-requis : néant
  • Co-requis : néant

Détails des parties

L’unité d’enseignement est composée des parties suivantes :

Partie Acronyme Format Heures de cours Heures hors cours (estimation)
Exploitation des systèmes 2 - Théorie 3EXP2A-T Auditoire 18 25
Exploitation des systèmes 2 - Laboratoires 3EXP2A-L Laboratoire 18 30

Description générale du cours

L’unité présente les principaux composants d’un système d’exploitation de type linux au travers de l’étude de ses structures de données et appels système. Les mécanismes fondamentaux sont décrits. Les travaux pratiques aident à la compréhension du cours théorique.

Objectifs généraux

Au terme de l’activité d’apprentissage, l’étudiante ou l’étudiant sera en mesure de :

  • Savoir explorer/montrer le fonctionnement du noyau Linux et de ses Appels Système
  • Adopter une position critique vis à vis de la documentation liée au Système d’Exploitation
  • Savoir se servir de la documentation fournie dans les pages de manuel man

Acquis d’apprentissage spécifiques sanctionnés par l’évaluation

Au terme des séances, l’étudiante ou l’étudiant sera évalué sur sa capacité à :

  • différencier, décrire, schématiser et utiliser les principaux composants d’un système d’exploitation de type Linux, tels que le noyau, les librairies de synchronisation de processus, la mémoire virtuelle et les systèmes de fichiers ;
  • expliquer, analyser, lier et différencier les structures de données fondamentales utilisées dans un système d’exploitation Linux, ainsi que leur rôle et utilisation. Structures, telles que les tables de processus, la table des pages, les sémaphores, les tables et descripteurs de fichiers, les inodes et la table d’inodes, les entrées de répertoire ;
  • retenir, employer, expliquer et expérimenter les appels système les plus couramment utilisés dans le développement sous Linux ;
  • expliquer et expérimenter les mécanismes fondamentaux d’un système d’exploitation de type Linux, y compris la gestion et le partage de la mémoire, la gestion de la synchronisation des processus et la gestion des entrées/sorties et des disques ;
  • expliquer la notion de commande filtre ;
  • différencier le passage d’arguments et la redirection ;
  • utiliser la gestion des erreurs lors de l’utilisation des appels système sous Linux.

Acquis terminaux visés

Au sein de la formation de bachelier en informatique, cette activité d’apprentissage aura participé à l’acquisition des compétences suivantes.

  • Choisir et mettre en œuvre un standard défini ou une technologie spécifique (méthodologie, environnement, langage, framework, librairies…).

Modalités d’évaluations

Évaluation continue Examen en première session Examen de seconde session
E 100% E 100%

E = écrit

L’examen écrit porte sur la théorie et le laboratoire (Matière vue au cours et structures de code).

Contenus

  1. Espace disque - structures et Appels système liés (avec exercices en Laboratoire)
  2. Mémoire - Notion d’espace d’adressage et pagination intel 32 bits
  3. IPC - problématiques de partage, synchronisation et outils (IPC System V), structures et Appels système liés (avec exercices en Laboratoire)

Bibliographie

  1. Andrew Tanenbaum, Herbert Bos - Modern Operating Systems - Pearson (4th édition)
  2. Mikael Kerrisk - The linux programming interface - (no starch press 2010)
  3. Intel 64 and IA-32 Architectures Software Developer’s Manual - December (2011)
  4. Richard Stevens - Advanced Programming in the UNIX Environment (2nd edition)
  5. Programmation Système en C sous Linux 2ième édition - Christophe Blaess - Eyrolles (2005)
  6. Peter Prinz, Tony Crawford - “C in a nutshell, A desktop Quck Reference” O’REILLY 2006
  7. Pages de manuel man de niveaux 2, (3), 5, 7, 8