Changes between Version 115 and Version 116 of WikiStart


Ignore:
Timestamp:
Nov 4, 2023, 6:05:07 PM (13 months ago)
Author:
franck
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • WikiStart

    v115 v116  
    2424Ce site est dédié aux 3 dernières séances des modules Architecture des ordinateurs (LU3NI029 et LU3NI129) de la licence d'informatique de Sorbonne Université.\\
    2525Vous y trouverez :
    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.
    3231
    3332
     
    7574Les **premières séances de l'UE** décrivent l'architecture externe du MIPS (celle visible du programmeur) et la programmation structurée en assembleur (avec des fonctions et une pile). Les programmes réalisés utilisent des structures de données simples telles que des tableaux à une dimension et des enregistrements (les ''struct'' du C). L'accès aux entrées-sorties se fait par des demandes de services en utilisant l'instruction `syscall` du MIPS. Les programmes sont exécutés sur le simulateur de processeur **MARS** permettant d'observer l'évolution des registres du processeur et l'évolution des segments de mémoire utilisés par le code, les data et la pile.
    7675
    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`.
     76Dans 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`.
    7877
    7978Concernant le matériel, il est composé d'un processeur MIPS connecté à une mémoire et quelques périphériques. La mémoire contient le code et les données. Les périphériques sont les composants permettant les entrées-sorties (p. ex. le terminal écran-clavier) ou alors les composants offrant un service spécifique (p. ex. le ''timer'' qui compte le temps). Vous allez :
    8079
    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'') .
     801. Manipuler les deux modes d'exécution du processeur (mode ''kernel'' et mode ''user'') ;
     812. Communiquer avec les contrôleurs de périphériques grâce à leurs registres de commandes en utilisant les instructions ''load''/''store'' (`lw`/`sw`);
     823. Utiliser les requêtes d'interruption des contrôleurs de périphériques pour interrompre le programme en cours d'exécution.
    8483
    85 Concernant le logiciel, il est écrit principalement en langage C et un peu en langage assembleur. Il est composé d'un empilement de couches logicielles. Il y a tout d'abord le code de démarrage du processeur (le ''boot''), puis le noyau du système d'exploitation,  puis la bibliothèque système (la ''libc''), et enfin l'application de l'utilisateur. Le code de ''boot'' initialise l'ordinateur. Le noyau gère les ressources matérielles et exécute les appels système (`syscall`). La bibliothèque système (la ''libc'') est un ensemble de fonctions standards tel que `fprintf()` invoquant l'instruction `syscall`. Et enfin, l'application de l'utilisateur est un algorithme utilisant les fonctions de la ''libc''. Vous allez :
     84Concernant le logiciel, il est écrit principalement en langage C et un peu en langage assembleur. Il est composé d'un empilement de couches logicielles. Il y a tout d'abord le code de démarrage du processeur (le ''boot''), puis le noyau du système d'exploitation,  puis la bibliothèque système (la ''libc''), et enfin l'application de l'utilisateur. Vous allez :
    8685
    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.
     861. Programmer en langage C pour le noyau en utilisant la chaîne de compilation standard (compilateur + éditeur de liens) via un `Makefile` ;
     872. Exécuter les programmes sur un simulateur d'ordinateur complet avec processeur, mémoire et contrôleurs de périphériques ;
     883. comprendre quelques services du noyau tels que les gestionnaires de syscall et d'interruptions.
    9089
    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
     90Pour 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
    11491s'appuie sur les services précédemment construits.
    115 
    116 {{{#!comment
    117 Pour conclure, si on devait vous apprendre comment est faite une voiture.
    118 L'approche ''top-down'' consiste à prendre une voiture du commerce et à la démonter pour voir de quoi elle est faite.
    119 L'approche ''bottom-up'' consiste à assembler des éléments pour construire une toute petite voiture (genre 2CV :-) ).
    120 }}}
    12192
    12293Il n'y a que trois séances, c'est donc juste le début.