Voici le plan du cours de Système et réseaux en M1.
Le cours est découpé en sept cours de 2h00 (il y a 8 TD de 2h00).

Cours 1: Rappels de C.
Organisation du code: fonctions, fonction main, variables globales, locales.
Paramètres, ligne de commande.
Appels systèmes, entrées-sorties.

Cours 2: Système Unix: organisation générale en couches.
Exécution d'un processus. Interactions avec le noyau.
Organisation mémoire.
Variables d'environnement.
Entrées-sorties dans le noyau.
Gestion du terminal clavier-écran.

Cours 3: Shell.
Famille C-shell et Bourne-shell. Variables. Export.
Analyse lexicale. Caractères spéciaux. Substitutions.
Processus fils. Redirection. Tubes. Arrière-plan.

Cours 4: Processus.
Organisation dans le noyau. Etats. Attributs (descripteurs de fichiers, régions).
Naissance (fork, exec), activité, sommeil, réveil, mort.
Signaux.

Cours 5: Fichiers.
SGF. Organisation logique et physique. Volume, superbloc, table des inodes, blocs de données.
Processus et accès aux fichiers. Table de descripteurs. Stdin, stdout, stderr.
Ouverture, lecture, écriture, fermeture.
Fichiers spéciaux. Catalogue, périphérique.
Tubes anonymes, nommés.

Cours 6: Communications.
Communications dans un processus (variables locales/globales, paramètres).
Communication du shell au processus (ligne de commande).
Communication du processus au shell (code de retour).
Communication d'un processus à un autre sur la même machine (signaux, tube anonyme, mémoire partagée, fichier).
Communication d'un processus à un autre sur deux machines distinctes (socket).

Cours 7: X-Window et réseau.
Serveur X, client X, terminal X.
Gestionnaire de fenêtre.
DISPLAY et options.
Commande xhost.
Réseau. Adresse IP. DNS. ping. sftp. ssh.