Architecture des ordinateurs & Syst`emes d'exploitation

Publié par

DEUG, Supérieur, DEUG
  • cours - matière potentielle : , aux td et aux tp
  • cours magistral
Lancelot Pecquet Architecture des ordinateurs & Systemes d'exploitation Version du 11 fevrier 2004 Universite Paris XII, DEUG MIAS Version du 11 fevrier 2004
  • methode de detection des erreurs isbn
  • carte mere
  • pilotes de peripheriques
  • systemes version
  • analyse de programmes en assembleur
  • distribution linux
  • circuits de calcul
  • instructions assembleur usuelles
  • erreur typographique
Publié le : mercredi 28 mars 2012
Lecture(s) : 109
Source : lancelot.pecquet.org
Nombre de pages : 89
Voir plus Voir moins

Lancelot Pecquet
Architecture des ordinateurs
&
Systemes d’exploitation
Version du 11 fevrier 2004
Universite Paris XII, DEUG MIAS
Version du 11 fevrier 2004La version originale de ce document est librement consultable en version electronique (.ps.gz) surhttp:
//www-rocq.inria.fr/~pecquet/pro/teach/teach.html. Celle-ci peut egalement ^etre librement copiee et
imprimee. Tout commentaire constructif (de l’erreur typographique a la grosse bourde) est le bienvenu et peut
^etre envoye a Lancelot.Pecquet@inria.fr. Merci a ceux qui ont dej a contribue a ameliorer ce manuscrit,
et tout particulierement Christophe Lenclud.Preface
Cet enseignement d’Architecture des Ordinateurs et Systemes d’Exploitation est prevu en DEUG MIAS
eme2 annee. L’objectif de ce cours est de vous donner une vision d’ensemble sur la structure materielle et
logicielle des ordinateurs. Il s’agit plus d’acquerir une culture generale que de traiter en profondeur chaque
sujet, ce qui pourra ^etre fait ulterieurement pour les personnes desireuses de poursuivre leurs etudes en
Informatique. Le plan du cours donne en 2002/2003 a ete le suivant :
{ 8 seances de Cours Magistral d’1h30 chacune sur les themes :
1. Introduction et architecture generale d’un PC;
2. Electronique numerique;
3. Circuits de calcul ;
4. Processeurs et assembleurs;
5. Systemes d’exploitation ;
6. Linux du point de vue utilisateur ;
7. Linux du point de vue administrateur;
8. Linux du point de vue programmeur systeme.
{ 8 seances de Travaux Diriges d’1h30 sur les themes :
1. Arithmetique des entiers et des ottan ts en binaire;
2. Electronique booleenne ;
3. Addition classique, addition d’Avizienis;
4. Conception en assembleur, appel de fonctions en C;
5. Gestion de la memoire et algorithme Mark & Sweep ;
6. Securite des systemes informatiques : RSA;
7. Quelques problemes d’administration systeme et reseau ;
8. Utilisation des codes detecteurs d’erreurs.
{ 8 seances de Travaux Pratiques d’1h30 chacune sur les themes :
1. Changement de bases d’entiers ;
2. Manipulation de fonctions booleennes, chi remen t de Vernam;
3. Additionneur d’Avizienis;
4. Analyse de programmes en assembleur;
5. Programmation de Mark & Sweep ;
6. Manipulation d’outils sous Unix;
7. Generation automatique des pages web des utilisateurs ;
8. Methode de detection des erreurs ISBN.
Ce polycopie ne suit pas totalement cette structure mais j’espere qu’il constitue un complement appreciable
aux notes de cours, aux TD et aux TP. Bonne lecture. ..
Lancelot Pecquet
Lancelot Pecquet, Universite Paris XII 3
DEUG MIAS / Architecture & Systemes
Version premliminaire du 11 fevrier 20044 Lancelot Pecquet, Universite Paris XII
DEUG MIAS / Architecture & Systemes
Version du 11 fevrier 2004Table des matieres
1 Introduction 11
1.1 Structure multicouches . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
1.2 Representation des donnees . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
1.2.1 Codage binaire . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
1.2.2 Les booleens . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
1.2.3 Les entiers naturels . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
1.2.4 Les entiers relatifs et les rationnels . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
1.2.5 Les ottan ts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
1.2.6 Les caracteres ASCII et Unicode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
1.2.7 Les donnees multimedia . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
1.2.8 Taille des objets . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
1.3 Compilation et interpretation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
1.4 Rappel de logique . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
1.4.1 De nitions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
1.4.2 Operateurs de la syntaxe logique . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
1.4.3 Fonctions booleennes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
1.4.4 Interpretations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
1.4.5 Formes conjonctives et disjonctives . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
1.4.6 Tables de Karnaugh . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
1.5 Electronique numerique . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
1.5.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
1.5.2 Rappel rapide d’electronique . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
1.5.3 Semiconducteurs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
1.5.4 Jonctions de semiconducteurs et diodes . . . . . . . . . . . . . . . . . . . . . . . . . . 22
1.5.5 Le transistor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
2 Histoire de l’Informatique 27
2.1 Les premiers calculateurs mecaniques (avant 1935) . . . . . . . . . . . . . . . . . . . . . . . . 27
2.2 Les ordinateurs electroniques (1935{50) . . . . . . . . . . . . . . . . . . . . . . . . . 27
2.3 Transistor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
2.4 Circuits integres . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
2.5 Prehistoire . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
2.6 Les debuts d’Apple . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
2.7 Les premiers PC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
2.8 Les debuts de Microsoft . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
2.9 Les interfaces graphiques . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
2.10 Naissance des reseaux . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
2.11 Les stations de travail . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
5 TABLE DES MATIERES TABLE DES MATIERES
2.12 La guerre des clones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
2.13 Emergence du multimedia . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
2.14 Les debuts du libre . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
3 Architecture des ordinateurs 35
3.1 Composants d’un PC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
3.1.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
3.1.2 Cartes meres et BIOS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
3.1.3 Le processeur . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
3.1.4 Memoire vive . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
3.1.5 Bus et interruptions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40
3.1.6 Peripheriques de stockage de masse . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
3.1.7 Graphisme et son . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
3.1.8 Peripheriques de contr^ ole . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
3.1.9 Reseau . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
3.2 Circuits logiques . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
3.2.1 Portes logiques . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
3.2.2 Circuits . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46
3.3 Calculs numeriques . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46
3.3.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46
3.3.2 Decalage de bits et multiplication/division par 2 . . . . . . . . . . . . . . . . . . . . . 46
3.3.3 Algorithme d’addition classique . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47
3.3.4 Cout^ de l’algorithme d’addition classique . . . . . . . . . . . . . . . . . . . . . . . . . 48
3.3.5 Implementation d’un additionneur . . . . . . . . . . . . . . . . . . . . . . . . 48
3.3.6 Additionneur d’Avizienis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49
3.3.7 Autres operations arithmetiques . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51
3.4 Bases d’assembleur . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51
3.4.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51
3.4.2 Registres du processeur (80386 et suivants) . . . . . . . . . . . . . . . . . . . . . . . . 52
3.4.3 Instructions assembleur usuelles . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52
3.4.4 Temps d’execution . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55
3.4.5 Appel de fonctions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55
4 Systemes d’exploitation 57
4.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57
4.2 Historique des OS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57
4.3 Base des OS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58
4.3.1 Demarrage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58
4.3.2 Caracteristiques . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58
4.3.3 Systemes de c hiers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58
4.3.4 Contenus des c hiers, extensions, applications associees . . . . . . . . . . . . . . . . . 59
4.3.5 Evolution d’un systeme d’exploitation : le cas de Mac OS . . . . . . . . . . . . . . . . 60
4.3.6 Gestion des processus . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62
4.3.7 Graphic User Interface (GUI) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62
4.3.8 Support reseau . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62
4.4 Pilotes de peripheriques . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63
4.5 Gestion de la memoire . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63
4.5.1 La segmentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63
4.5.2 La pile et le tas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63
6 Lancelot Pecquet, Universite Paris XII
DEUG MIAS / Architecture & Systemes
Version du 11 fevrier 2004 TABLE DES MATIERES TABLE DES MATIERES
4.5.3 Donnees statiques et dynamiques . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64
4.5.4 Les gl^ aneurs de cellules (GC) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64
4.6 Liaisons statiques et dynamique . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67
5 Etude de Linux 69
5.1 Pourquoi etudier Linux? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69
5.1.1 Fiable, performant, en forte croissance . . . . . . . . . . . . . . . . . . . . . . . . . . . 69
5.1.2 Gratuit & opensource . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69
5.1.3 Principales caracteristiques du systeme . . . . . . . . . . . . . . . . . . . . . . . . . . . 69
5.2 Linux utilisateur . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69
5.2.1 Shells et terminaux . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69
5.2.2 Le manuel : man . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70
5.2.3 Systeme de c hiers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71
5.2.4 Les processus et les signaux . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71
5.2.5 Xwindow, gestionnaires de fen^etres & Bureaux . . . . . . . . . . . . . . . . . . . . . . 72
5.2.6 Logiciels sous Linux . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72
5.3 Linux administrateur . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74
5.3.1 Installation d’une distribution Linux . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74
5.3.2 Maintenance d’une Linux . . . . . . . . . . . . . . . . . . . . . . . . . . . 74
5.4 Linux programmeur . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75
5.4.1 Le noyau Linux . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75
5.4.2 L’instruction fork() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75
5.4.3 Manipulation des c hiers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76
Conclusion 79
Index 81
Bibliographie 87
Lancelot Pecquet, Universite Paris XII 7
DEUG MIAS / Architecture & Systemes
Version premliminaire du 11 fevrier 2004 TABLE DES MATIERES TABLE DES MATIERES
8 Lancelot Pecquet, Universite Paris XII
DEUG MIAS / Architecture & Systemes
Version du 11 fevrier 2004Table des gures
1.1 Compilation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
1.2 Un cristal de Silicium . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
1.3 Dopage P . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
1.4 N . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
1.5 Un circuit AND a diodes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
1.6 Un OR a diodes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
1.7 Un transistor NMOS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
2.1 Une lampe a vide. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
2.2 Un transistor. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
2.3 Un microcontr^ oleur 8 bit Thomson . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
3.1 Une carte mere pour Intel Pentium II . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
3.2 Ports usuels d’une carte mere . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
3.3 Le processeur Intel Pentium II . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
3.4 Un composant memoire de 10 bits . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
3.5 Une barette de RAM de 64MB . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
3.6 Un disque dur . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
3.7 Une nappe IDE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
3.8 Un lecteur de disquette . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
3.9 Une carte graphique . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
3.10 Une carte son . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
3.11 Un clavier. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
3.12 Une souris. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
3.13 Une carte Ethernet, au format PCI. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
3.14 Une carte modem, au PCI. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
3.15 Portes NAND et NOR avec des transistors NMOS et PMOS . . . . . . . . . . . . . . . . . . . . . 45
3.16 Un circuit integre . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
3.17 Une porte AND en logique asynchrone . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46
3.18 Un circuit de decalage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47
3.19 Un demi-additionneur . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48
3.20 Un additionneur . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49
3.21 Un 8 bit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50
3.22 Appel de fonction en assembleur . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56
4.1 Nautilus . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59
4.2 Pile et tas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63
4.3 Comptage de reference . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65
4.4 Mark & Sweep, situation initiale . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65
9TABLE DES FIGURES TABLE DES FIGURES
4.5 Mark & Sweep . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66
5.1 Une xterm . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70
5.2 Di eren ts gestionnaires de fen^etres pour Linux . . . . . . . . . . . . . . . . . . . . . . . . . . 73
10 Lancelot Pecquet, Universite Paris XII
DEUG MIAS / Architecture & Systemes
Version du 11 fevrier 2004

Soyez le premier à déposer un commentaire !

17/1000 caractères maximum.