10 | | Le but de ce TD est de préparer le travail que vous devez faire dans le TP. |
11 | | Vous allez voir |
| 10 | == Principes pédagogiques |
| 11 | |
| 12 | Le but des TD est de préparer le travail que vous devez faire dans le TP. |
| 13 | L'idée générale des TP est de créer, très progressivement, un tout petit système d'exploitation. |
| 14 | Évidemment, dans le temps imparti, il n'est pas envisageable de créer un système complexe. |
| 15 | Ce système est petit, mais il se veut simple à comprendre. |
| 16 | |
| 17 | Pour présenter les concepts des systèmes d'exploitation, la méthode employée est en général ''top-down''. |
| 18 | On vous présente les services des systèmes (gestion des fichiers, gestion des processus, gestion des |
| 19 | communications interprocessus, etc.), puis on vous présente comment un système open source tel que Linux |
| 20 | fait pour rendre ces services. C'est très intéressant, mais le système pris comme base est tellement |
| 21 | complexe, qu'il est nécessaire de ne voir qu'une petite partie, et certains étudiants perdent la vue d'ensemble. |
| 22 | Pour l'UE d'architecture des ordinateurs, c'est une approche impossible parce qu'elle est trop éloignée |
| 23 | de l'architecture matérielle. |
| 24 | |
| 25 | Si Linux est trop complexe alors pourquoi ne pas prendre un petit système ad hoc, mais en conservant |
| 26 | l'approche ''top-down'' ? Oui, cela peut être envisagé, c'est d'ailleurs ce qui a été fait dans un ancien |
| 27 | module. Toutefois, C'est encore difficile, parce que pour bien comprendre comment fonctionne un service du |
| 28 | système d'exploitation, il faut avoir une vue d'ensemble du système et ce n'est simple à présenter. |
| 29 | |
| 30 | Nous avons choisi, une approche ''bottom-up''. Nous partons de rien, et nous ajoutons progressivement |
| 31 | les services en limitant le nombre de fichiers et la taille des codes. Chaque nouveau service qui s'ajoute |
| 32 | s'appuie sur les services précédemment construits. |
| 33 | |
| 34 | Pour conclure cette présentation des principes, si on devait vous apprendre comment est faite une voiture. |
| 35 | L'approche ''top-down'' consiste à prendre une voiture et à la démonter pour voir de quoi elle est faite. |
| 36 | L'approche ''bottom-up'' consiste à assembler des éléments pour construire une toute petite voiture (genre 2CV :-) ). |
| 37 | |
| 38 | == Principe des séances |
| 39 | |
| 40 | 1. Chaine de compilation, boot du système, pilote de périphériques, bibliothèque de fonctions pour le noyau. |
| 41 | 2. Lancement d'une application utilisateur, bibliothèque système, gestionnaire de syscall. |
| 42 | 3. Parallélisme de tâches sur un seul processeur en temps partagé. |
| 43 | |
| 44 | |
| 45 | Pour le rendre simple à comprendre, nous introduisons progressivement les éléments en plusieurs étapes. |
| 46 | Pour cette première séance, il y a 5 étapes décrites ci-après. Avant de le décrire. |
| 47 | |
| 48 | 1. Un petit programme de quelques lignes en assembleur, placé entièrement dans la région mémoire du boot, |
| 49 | qui réalise l'affichage du message "Hello World". C'est un tout tout petit programme, mais pour obtenir |
| 50 | l'exécutable, vous devrez utiliser tous les outils de la chaîne de cross-compilation MIPS et |
| 51 | pour l'exécuter vous devrez exécuter le simulateur du prototype. C'est simple, mais c'est nouveau pour |
| 52 | beaucoup d'entre vous. |
| 53 | 2. |