26 | | 1. les documents sur le MIPS : mode user et mode kernel et celui sur l'environnement des TP |
27 | | 2. les objectifs généraux des séances en lien avec ce que vous avez déjà vu |
28 | | 3. une explication du principe pédagogique utilisé pour présenter le système d'exploitation |
29 | | 4. le fonctionnement des séances de TD-TP, c'est-à-dire ce qui vous est demandé |
30 | | 5. les liens vers les slides des cours en PDF |
31 | | 6. les liens vers les textes de séances de TD et TP. |
| 26 | A. les documents sur le MIPS : mode user et mode kernel et celui sur l'environnement des TP |
| 27 | B. les objectifs généraux des séances en lien avec ce que vous avez déjà vu |
| 28 | C. le fonctionnement des séances de TD-TP, c'est-à-dire ce qui vous est demandé |
| 29 | D. les liens vers les slides des cours en PDF |
| 30 | E. les liens vers les textes de séances de TD et TP. |
77 | | Il s'avère que, dans cette première partie, l'architecture de l'ordinateur, au centre duquel se trouve le processeur MIPS, n'est pas détaillée et ce que fait l'instruction `syscall` n'est pas détaillé non plus. Le but des 3 dernières séances est d'étudier plus en détail l'architecture d'un ordinateur simple, de type [https://www.wikiwand.com/fr/Microcontr%C3%B4leur microcontrôleur] à base de MIPS, et d'y exécuter une application au-dessus d'un embryon de système d'exploitation qui exécute les appels système, c'est-à-dire les services accessibles grâce à l'instruction `syscall`. |
| 76 | Dans cette première partie, l'architecture de l'ordinateur n'est pas détaillée et ce que fait l'instruction `syscall` n'est pas détaillé non plus. Le but des 3 dernières séances est d'étudier plus en détail l'architecture d'un ordinateur simple, de type [https://www.wikiwand.com/fr/Microcontr%C3%B4leur microcontrôleur] à base de MIPS, et d'y exécuter une application au-dessus d'un embryon de système d'exploitation qui exécute les appels système, c'est-à-dire `syscall`. |
81 | | 1. apprendre à manipuler les deux modes d'exécution du processeur (mode ''kernel'' et mode ''user'') ; |
82 | | 2. apprendre à communiquer avec les contrôleurs de périphériques grâce à des registres de commandes accessibles dans l'espace d'adressage du processeur en utilisant les instructions ''load''/''store'' (`lw`/`sw`); |
83 | | 3. apprendre à utiliser les lignes d'interruption des contrôleurs de périphériques permettant de prévenir le processeur d'un événement (une ligne d'interruption est un signal électrique à deux états : ''ON'' et ''OFF'') . |
| 80 | 1. Manipuler les deux modes d'exécution du processeur (mode ''kernel'' et mode ''user'') ; |
| 81 | 2. Communiquer avec les contrôleurs de périphériques grâce à leurs registres de commandes en utilisant les instructions ''load''/''store'' (`lw`/`sw`); |
| 82 | 3. Utiliser les requêtes d'interruption des contrôleurs de périphériques pour interrompre le programme en cours d'exécution. |
87 | | 1. apprendre à programmer en langage C et à utiliser une chaîne de compilation standard (compilateur + éditeur de liens) via un `Makefile` ; |
88 | | 2. apprendre à exécuter les programmes sur un simulateur d'ordinateur complet avec processeur, mémoire et contrôleurs de périphériques ; |
89 | | 3. comprendre quelques services proposés par un système d'exploitation simple tels que les pilotes de périphérique et les gestionnaires de syscall et d'interruptions. |
| 86 | 1. Programmer en langage C pour le noyau en utilisant la chaîne de compilation standard (compilateur + éditeur de liens) via un `Makefile` ; |
| 87 | 2. Exécuter les programmes sur un simulateur d'ordinateur complet avec processeur, mémoire et contrôleurs de périphériques ; |
| 88 | 3. comprendre quelques services du noyau tels que les gestionnaires de syscall et d'interruptions. |
91 | | |
92 | | |
93 | | = C. Principe pédagogique |
94 | | |
95 | | |
96 | | |
97 | | Pour présenter les concepts des systèmes d'exploitation, la méthode employée en général est ''top-down''. |
98 | | On vous présente les services des systèmes (gestion des fichiers, gestion des processus, gestion des |
99 | | communications interprocessus, etc.), puis on vous présente comment un système ''open source'' tel que Linux |
100 | | conçu pour rendre ces services. C'est très intéressant, mais le système pris comme base est tellement |
101 | | complexe, qu'il est juste possible d'en voir une petite partie, et certains étudiants perdent la vue d'ensemble. |
102 | | Pour l'UE d'architecture des ordinateurs, c'est une approche impossible parce qu'elle est trop éloignée |
103 | | de l'architecture matérielle. |
104 | | |
105 | | {{{#!comment |
106 | | Si Linux est trop complexe alors pourquoi ne pas prendre un petit système ad hoc, mais en conservant |
107 | | l'approche ''top-down'' ? Oui, cela peut être envisagé, c'est d'ailleurs ce qui a été fait dans un ancien |
108 | | module. Toutefois, c'est encore difficile, parce que pour bien comprendre comment fonctionne un service du |
109 | | système d'exploitation, il faut avoir une vue d'ensemble du système et ce n'est pas simple à présenter. |
110 | | }}} |
111 | | |
112 | | Nous avons choisi, une approche ''bottom-up''. Nous partons d’une feuille blanche, et nous ajoutons progressivement |
113 | | les services en limitant le nombre de fichiers et la taille des codes. Chaque nouveau service qui s'ajoute |
| 90 | Pour présenter les concepts des systèmes d'exploitation, nous avons choisi, une approche ''bottom-up''. Nous partons d’une feuille blanche, et nous ajoutons progressivement les services en limitant le nombre de fichiers et la taille des codes. Chaque nouveau service qui s'ajoute |