| 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. |