1 - Compilation et programmation
1.1 - Préparation du fichier source
1.1.1 - L'éditeur vi (mode console)
1.1.2 - L'éditeur nedit ou xedit (sous X)
1.2 - La compilation sous unix
1.3 - Constitution d’une bibliothèque
1.3.1 - Statique
1.3.2 - Dynamique
1.4 - Make
1.4.1 - Qu'est-ce que make ?
1.4.2 - Le makefile
1.4.3 - Les règle
1.4.4 - Ecrire un makefile
1.4.5 - Comment make interprète-t-il un makefile ?
1.4.6 - Exécuter un makefile
1.4.7 - Les variables
1.4.8 - Les règles
1.5 - L'interface C-Unix
1.5.1 - Les primitives
1.5.2 - Les fonctions
1.6 - L'interface shell
1.6.1 - Accès aux arguments
1.6.2 - Accès à l'environnement
1.6.3 - Renvoi d'un code de retour
1.7 - Aide à la mise au point
2 - Les processus
2.1 - Accès aux données du BCP.
2.1.1 - Identité du processus
2.1.2 - Propriétaires du processus
2.2 - La primitive fork
2.3 - Les primitives exec
2.4 - La primitive wait
2.5 - Le mécanisme du fork/exec
2.5.1 - Fonctionnement canonique d’un shell
3 - Les signaux
3.1 - Introduction
3.1.1 - Les signaux disponibles
3.1.2 - Le comportement à la réception d’un signal
3.2 - L’envoi des signaux
3.2.1 - La primitive kill
3.2.2 - Exemple
3.3 - Le masquage des signaux
3.3.1 - Manipulation des ensembles de signaux
3.3.2 - La primitive sigprocmask
3.3.3 - La primitive sigpending
3.3.4 - Exemple
3.4 - Le captage des signaux
3.4.1 - La structure sigaction
3.4.2 - La primitive sigaction
3.4.3 - Exemple
3.5 - L’attente d’un signal.
4.1 - Les différentes tables utilisées
4.1.1 - Au niveau d’un processus
4.1.2 - Au niveau du système
4.1.3 - Appels système et fonctions
4.2 - Les opérations de base
4.2.1 - 0uverture d un fichier
4.2.2 - Création d’un fichier régulier
4.2.3 - Fermeture d’un fichier
4.2.4 - Lecture dans un fichier
4.2.5 - Ecriture dans un fichier
4.2.6 - Déplacement de la position courante
4.3 - Manipulation de descripteurs
4.3.1 - Duplication
4.3.2 - Création d’un tube local
4.4 - Manipulation de i-nœuds
4.4.1 - Création d’un fichier de type tube nommé
4.4.2 - Création d’un fichier de type catalogue
4.5 - Consultation d'un i-nœud
4.5.1 - Introduction
4.5.2 - La structure stat
4.5.3 - La primitive stat
4.5.4 - Les mnémoniques
4.5.5 - Set-uid bit, set-gid bit, sticky bit
4.6 - Modification des caractéristiques d'un i-nœud
4.6.1 - Modification des droits d’accès
4.6.2 - Modification des propriétaires
4.7 - Les fichiers de type catalogue
4.7.1 - Le fichier standard <dirent.h>
4.7.2 - Ouverture d'un fichier catalogue
4.7.3 - Lecture d'une entrée
4.7.4 - Fermeture d'un fichier catalogue
4.8 - La bibliothèque d'entrée-sortie standard
4.8.1 - Le fichier <stdio.h>
4.8.2 - Ouverture d'un fichier
4.8.3 - Fermeture d'un fichier
4.8.4 - Ouverture bibliothèque et système
4.8.5 - Lecture dans un fichier
4.8.6 - Ecriture dans un fichier
4.8.7 - Autre fonctions de la bibliothèque standard d'E/S
5 - Les verrous
5.1 - Introduction : Les accès concurrents
5.2 - Les verrous externes
5.2.1 - Le principe
5.2.2 - Création d’un fichier verrou
5.2.3 - Suppression d’un fichier verrou
5.2.4 - Première utilisation :assurer l’unicité d’un processus
5.2.5 - Seconde utilisation : accès exclusif à un fichier
5.2.6 - Critique du mécanisme
5.3 - Les verrous internes
5.3.1 - Introduction
5.3.2 - Caractéristiques générales
5.3.3 - L’implémentation System V
6 - Les IPC
6.1 - Introduction
6.2 - Caractéristiques communes
6.3 - Le fichier standard <sys/ipc.h>
6.3.1 - Les constantes macro-définies.
6.3.2 - La structure ipc_perm
6.4 - La gestion des clés
6.5 - Les commandes IPC System V
6.6 - Les sémaphores
6.6.1 - Principe initial
6.6.2 - Principe des sémaphores Unix
6.6.3 - La table des sémaphores
6.6.4 - Les commandes
6.6.5 - La primitive semget
6.6.6 - La primitive semctl
6.6.7 - La primitive semop
6.7 - Segments de mémoire partagée
6.7.1 - Le principe
6.7.2 - La table des segments
6.7.3 - Les commandes
6.7.4 - Création d'un segment et obtention d'un shmid
6.7.5 - Opérations de contrôle d’un segment
6.7.6 - Attachement à un segment
6.7.7 - Le détachement d'un segment
6.7.8 - Détachement et suppression
7 - Les threads
7.1 - Introduction
7.1.1 - Processus UNIX et threads
7.1.2 - Remarque
7.1.3 - Compilation pour les threads
7.2 - Les attributs d’un activité
7.2.1 - Identification d’une activité
7.2.2 - Terminaison d’un activité
7.3 - Création et terminaison des activités
7.3.1 - Création d’une activité : pthread_create
7.3.2 - Terminaison d'une activité
7.4 - Synchronisation des activités
7.4.1 - Introduction
7.4.2 - Synchronisation sur terminaison d'une activité : pthread_join
7.4.3 - LES MUTEX
7.4.4 - Les conditions