Page d'accueil de ce livre
Table des matières
Préface de Christian Queinnec
Avant-propos
Chapitre 1 Présentation des personnages
1.1 Mondanité des systèmes
1.2 Quelques définitions
1.3 La couche visible du système
1.4 Une représentation : le modèle en couches
1.5 L'informatique est (aussi) une science
1.6 Architectures
1.7 Enjeux d'une histoire
Chapitre 2 Principe de fonctionnement de l'ordinateur
2.1 Modèle de l'ordinateur
2.2 La machine de Turing
Chapitre 3 Du système d'exploitation au processus
3.1 Premiers essais
3.2 Simultanéité et multiprogrammation
3.2.1 Chronologie d'une entrée-sortie
3.3 Notion de processus
3.4 Réification du calcul
3.5 Notion de sous-programme
3.6 Points de vue sur les programmes
3.7 Vision dynamique du programme : le processus
3.8 Attributs du système d'exploitation
3.8.1 Mode d'exécution privilégié
3.8.2 Contrôle des programmes
3.8.3 Contrôle de l'activité de tous les processus
3.8.4 Monopole d'attribution des ressources
3.8.5 Contrôle de la mémoire
3.8.6 Contrôle des entrées-sorties
3.8.7 Contrôle du temps
3.8.8 Contrôle de l'arrêt et du démarrage de l'ordinateur
3.9 Notion d'appel système
3.10 Lancement d'un programme
3.10.1
Shell
3.11 Synchronisation de processus, interruption
3.11.1 Demande d'entrée-sortie
3.11.2 Interruption de fin d'entrée-sortie
3.12 Ordonnancement de processus
3.12.1 Stratégies d'ordonnancement
3.12.2 Interruptions et exceptions
3.12.3 Préemption
3.12.4 Systèmes non-préemptifs
3.12.5 Synchronisation de processus et sections critiques
Chapitre 4 Mémoire
4.1 Les problèmes à résoudre
4.2 La mémoire du programme
4.2.1 Les mots de mémoire
4.2.2 Les adresses
4.2.3 Noms et variables
4.2.4 Protection de la mémoire
4.3 Partage de mémoire en multiprogrammation
4.3.1 Exemple : l'OS/360
4.3.2 Translation des programmes
4.4 Mémoire virtuelle
4.4.1 Insuffisance de la mémoire statique
4.4.2 Organisation générale
4.4.3 Pagination
4.4.4 Espaces adresse
4.4.5 Registres associatifs
(Translation Lookaside Buffer, TLB)
4.4.6 Tables de pages inverses
4.4.7 Mémoire virtuelle segmentée
4.4.8 Petite chronologie de la mémoire virtuelle
4.5 Hiérarchie de mémoire
4.5.1 Position du problème
4.6 La technique du cache
4.6.1 Cache mémoire
4.6.2 Mise en oeuvre du cache
4.7 Langage et mémoire
4.7.1 Langages à mémoire statique
4.7.2 Vecteur d'état d'un programme
4.7.3 Langages à mémoire dynamique
Chapitre 5 Persistance
5.1 Mémoire auxiliaire
5.1.1 Structure physique du disque magnétique
5.1.2 Visions de la mémoire auxiliaire
5.2 Système de fichiers
5.2.1 Structure du système de fichiers Unix
5.2.2 Traitement de fichier
5.2.3 Fichiers, programmes, mémoire virtuelle
5.2.4 Cache de disque
5.3 Systèmes de fichiers en réseau : NFS, SANs et NAS
5.3.1 Disques connectés directement aux serveurs
5.3.2 Systèmes de fichiers en réseau
5.3.3 Architecture SAN
5.3.4 Architecture NAS
5.4 Critique des fichiers ; systèmes persistants
5.4.1 Reprise sur point de contrôle
Chapitre 6 Réseaux
6.1 Transmettre de l'information à distance
6.1.1 Théorie de l'information
6.1.2 Premières réalisations
6.1.3 Un modèle pour les réseaux
6.2 Couche 1, physique
6.3 Notion de protocole
6.4 Couche 2, liaison de données
6.4.1 Notion d'adresse réseau
6.4.2 Détection et correction d'erreur pour la couche 2
6.4.3 Un exemple de liaison de données : Ethernet
6.5 Couche 3, réseau
6.5.1 Commutation de circuits
6.5.2 Commutation de paquets
6.5.3 Le protocole IP et l'Internet
6.5.4 Exception à l'unicité des adresses : traduction d'adresses (NAT)
6.5.5 Une solution, quelques problèmes
6.5.6 Traduction de noms en adresses : le DNS
6.5.7 Mécanisme de la couche IP
6.5.8 Nouvelles tendances IP
6.6 Couche 4, transport
6.6.1 TCP
(Transmission Control Protocol)
6.6.2 UDP
(User Datagram Protocol)
6.7 Les téléphonistes contre-attaquent : ATM
6.8 Client--serveur ou poste à poste
(peer to peer)
?
6.9 Versatilité des protocoles poste à poste
6.9.1 Définition et usage du poste à poste
6.9.2 Problèmes à résoudre par le poste à poste
Chapitre 7 Protection et sécurité
7.1 Protection
7.1.1 Un parangon de protection : Multics
7.2 Sécurité
7.2.1 Menaces, risques, vulnérabilités
7.2.2 Principes de sécurité
7.2.3 Chiffrement
7.2.4
Pretty Good Privacy (PGP)
et signature
7.2.5 Usages du chiffrement : IPSec et VPN
7.2.6 Annuaire électronique et gestion de clés
7.2.7 Sécurité d'un site en réseau
7.2.8 Les CERT
(Computer Emergency Response Teams)
Chapitre 8 De Multics à Unix et au logiciel libre
8.1 Un échec plein d'avenir
8.2 Où l'on commence à rêver à Unix
8.3 Les hommes d'Unix
8.4 Introduction à la démarche unixienne
8.5 Dissémination d'Unix
8.5.1 Un système exigeant
8.5.2 Naissance d'une communauté
8.5.3 Le schisme
8.6 Aux sources du logiciel libre
8.6.1 Principes
8.6.2 Préhistoire
8.6.3 Précurseurs
8.6.4 Économie du logiciel
8.6.5 Modèle du logiciel libre
8.6.6 Une autre façon de faire du logiciel
8.6.7 Linux
Chapitre 9 Au-delà du modèle de von Neumann
9.1 Architectures révolutionnaires
9.1.1 SIMD
(Single Instruction Multiple Data)
9.1.2 Architectures cellulaires et systoliques
9.1.3 MIMD
(Multiple Instructions Multiple Data)
9.2 Architectures réformistes
9.2.1 Séquence d'exécution d'une instruction
9.2.2 Le pipe-line
9.2.3 RISC, CISC et pipe-line
9.2.4 Micro-code : le retour
9.2.5 Super-scalaire
9.2.6 Architecture VLIW
(Very Long Instruction Word)
Chapitre 10 Machines virtuelles et micro-noyaux
10.1 Notion de machine virtuelle
10.1.1 Émulation et machines virtuelles
10.1.2 De CP/67 à VM/CMS
10.1.3 Java
10.2 Les activités
(threads)
10.2.1 Séparer le fil d'exécution des ressources allouées
10.2.2 Définition de l'activité
(thread)
10.2.3 Avantages procurés par les activités
10.2.4 Implémentation des activités
10.2.5 Inconvénients des activités
10.3 Micro-noyaux
10.3.1 Chorus
10.3.2 Mach
10.3.3 Eumel, L3, L4
10.3.4 Conclusion sur les micro-noyaux
Chapitre 11 Micro-informatique
11.1 Naissance et essor d'une industrie
11.2 Quel système pour les micro-ordinateurs ?
11.2.1 Élégie pour CP/M
11.2.2 De MS-DOS à Windows
11.2.3 Une alternative : MacOS
11.2.4 Autre alternative : Unix
Annexe A Numération binaire
A.1 Définitions
A.2 Petits exemples binaires
A.3 Conversion entre bases quelconques
A.4 Représentation informatique des nombres entiers
A.4.1 Notation hexadécimale
A.5 Types fractionnaires
A.5.1 Les « réels »
A.5.2 Principe de représentation
A.5.3 Exemple
Annexe B Semi-conducteurs et circuits logiques
B.1 Transistor
B.2 Algèbre de Boole
B.3 Réalisation des opérations booléennes
B.3.1 Circuit NON
B.3.2 Circuit OU
B.3.3 Circuit ET
B.3.4 Complétude de cette réalisation
B.4 Construction de l'arithmétique
B.5 Construction de la mémoire
© copyright Éditions Vuibert et Laurent Bloch 2003
Page d'accueil de ce livre