Systèmes informatiques

Guillaume Chanel

  1. Historique d'UNIX
  2. Introduction a UNIX par la ligne de commande
  3. Faire des scripts en Bash
  4. Le language C
  5. Les appels systèmes
  6. Les fichiers et les répertoires sous UNIX
  7. Les entrées / sorties
  8. Les pipes / les sockets (communication réseau)
  9. Processus
  10. Mémoires partagées
  11. Signaux
  12. Démons

Objectifs

Comprendre les systèmes d'exploitation

  • Utiliser une ligne de commande / scripting
  • Expliquer la représentation d'un système de fichiers
  • Lister les différentes formes d'entrées/sorties
  • Décrire ce qu'est un processus
  • Résumer les mécanismes de mémoire virtuelle
  • Lister les moyens de communication entre processus

Utiliser les API POSIX

  • Coder en C, analyser et comprendre un code existant
  • Utiliser le manuel
  • Identifier un appel système
  • Gérer des fichiers et des répertoires
  • Communiquer par réseau, signaux et mémoires partagées
  • Créer des processus et des démons
Full view of an operating system (at least linux)

Organisation

Horaires

  • Lundi 13h-15h Cours
    • Présentation de la théorie et des APIs
    • Peut-être remplacé par des TPs en fin d’année

  • Mardi 14h-16h TPs
    • Introduction et explication du travail à rendre
    • 1 scéance remplacée par des cours en début d’année

  • Mercredi 10h-14h salle à disposition

Matériel

Tous les contenus (cours + TP) sont dispoinibles sur moodle:

https://moodle.unige.ch/course/view.php?id=4722

Merci de vous inscrire


Les cours sont aussi disponibles au format HTML ici:

http://cui.unige.ch/~chanel/prez/presentations/sys-info/

Les cours au format HTML sont imprimables en PDF via chromium/chrome. J'essaye de maintenir une version PDF à jour sur moodle.

Examen

Fonctionnement

  • Vous effectuez des TPs tout au long de l'année;

  • Le jour de l'examen vous:
    • tirez deux TPs au hasard et en choisissez un;
    • avez 25 minutes de préparation
    • presentez votre TP:
      • 7.5 minutes de vue gloable / description fonctionnelle;
      • 7.5 minutes de discussion d'un point spécifique du TP qui vous sera communiqué au moment du choix du TP;
      • 10 minutes de questions.

Travaux pratiques

  • Environ 8 TPs sur le semestre

  • Pour chaque TP il faudra rendre:
    • le code du TP incluant un makefile;
    • un descriptif de l'organisation fonctionnelle du code (format présentation orale en PDF);
    • éventuellement les réponses aux questions posées dans le TP

  • Commentaires retournés 1 semaine après le rendu;

  • Une note indicative est donnée sur 3; cette note n'est pas comptabilisée pour l'examen.

Important

  • Tous les TPs sont soumis à un detecteur de plagiat incluant les TPs des années précédentes. Un TP plagié donne une note de 0 à l'examen.

  • Si vous tirez au sort deux TPs que vous n'avez pas réalisés, vous aurez une note de 1 (i.e. il est possible de faire l'impasse sur 1 TP)

  • votre TP et les présentations devront être disponibles sur Moodle un jour avant l'examen (i.e. Vous pouvez modifier un TP jusqu'au jour précédent l'examen)

  • Il est très recommendé de préparer les présentations des TPs tout au long de l'année (c.f. descriptifs fonctionnels)

Recommendation

  • Eviter de parler de l’évident (include, initialisation a 0, etc.) pour se concentrer sur les notions vues en cours

  • Mieux vaux passer une question que de tenter l’impossible

  • Les questions sont de haut niveau (e.g. qu’est-ce qu’un processus) ET de bas niveau (quels sont les valeurs possible de tel paramètre)

Matériel autorisé à l'examen

A disposition:

  • présentation fonctionelle (ou autre) du TP
  • manuel electronique
  • marqueur pour la tableau

Non disponible:

  • cours
  • connexion internet