Next:
Contents
 
Contents
U
NIX
Arnaud REVEL
Fortement inspiré par J.P. Bachmann
Contents
Introduction
Historique
Principes de base
Les raisons du succès
Rôles du système d'exploitation
Linux
Le noyau (Kernel)
Une architecture hiérarchique
Point de vue utilisateur
Architecture du noyau
Passage contexte ``utilisateur''/contexte ``système''
Quiz
Gestion des
processus
Fonctionnement d'un processus
Définition d'un processus
Structures associées
Vie et mort d'un processus
Initialisation du système
Programmation des processus
Identificateurs d'un processus
Création d'un processus fils
Terminaison d'un fils
Attente d'un fils
Remplacement du code du fils
Quiz
Exercices
Gestion de fichiers
Définitions
Organisation des fichiers dans un système de fichiers
La liste des inodes (i-list)
Le superbloc
Gestion des répertoires
Réalisation des liens matériels et des liens symboliques
Les fichiers
Cycle de vie d'un fichier
Création et/ou ouverture
Fermeture
Suppression
Lecture et écriture
Effet du fork sur l'ouverture d'un fichier
Ouverture multiple d'un même fichier
Utilisation d'un descripteur existant
Les pipes
Fonctionnement
Programmation
Les pipes nommés
Le verrouillage
Verrouillage avec la fonction fcntl
Verrouillage par lock
Quiz
Exercices
Les signaux
Principaux signaux
Lancer un signal
Mise en place des routines d'exception
La fonction signal
Autres fonctions de traitement des signaux
Fonctions pause et alarm
Exemples de programmation des signaux
Quiz
Exercices
Les IPC
Problématique
Les Inter Process Communication (IPC)
Principes généraux sur l'implémentation des IPC
Queues de message
Implémentation
Mémoire commune
Implémentation
Sémaphores
Implémentation
Contrôle des ressources IPC
Quiz
Exercices
Le
multithreading
Introduction
Les threads
Définitions
Propriétés
Mise en oeuvre des threads sur SUNOS
Partage des tâches
Effets de l'appel fork() sur les threads
Traitement des signaux dans les threads
Les différents états d'un thread
Implantation
Création d'un thread
Terminaison d'un thread
Fonctions de contrôle
Synchronisation de threads
Mutex
Variable condition
Sémaphore
Multiple readers/one writer
Classes d'ordonnancement spécifiques
Quiz
Exercices
L'ordonnancement
BSD
Priorité en mode USER
Priorité en mode NOYAU
A retenir
Exercice
La gestion
du cache
Principe
Algorithmes
Lecture
écriture
La gestion
de la mémoire
Swapping
pagination et segmentation
Adressage d'un processus
Segmentation
Structure U
Travaux pratiques
Processus, signaux et fichiers
Communication par pipe entre deux processus
Principe
Rôle du fils
N
OTES
A
TTENTION
Mise en place d'un mécanisme client-serveur avec communication par segment mémoire partagé protégé par sémaphores
Principe
Dialogue
Travail à effectuer
Mise en place d'un mécanisme client-serveur utilisant des threads
Principe
Comparaison
Rappels
Mise en place d'une messagerie
Principe
Implantation
Bibliography
About this document ...
Arnaud Revel
2001-11-26