Changes between Version 2 and Version 3 of Boot-TP


Ignore:
Timestamp:
Feb 17, 2026, 1:14:22 PM (3 weeks ago)
Author:
franck
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • Boot-TP

    v2 v3  
    2323
    2424* **Configuration et test de l'environnement de travail sur les machines de la PPTI**
    25   * Éditez votre fichier `$HOME/.bashrc` et ajoutez au début:\\`source /Infos/lmd/2025/licence/ue/LU3IN031-2026/kO6/bin/SourceMe.sh`\\Ce script modifie quelques variables d'environnement telle que PATH qui permet de définir les répertoires dans lesquels le shell bash trouve ses exécutables (ici, les outils de la chaîne de compilation du MIPS et le simulateur **almo1**).
     25  * Éditez votre fichier `$HOME/.bashrc` et ajoutez au début:\\`source /Infos/lmd/2025/licence/ue/LU3IN031/kO6/bin/SourceMe.sh`\\Ce script modifie quelques variables d'environnement telle que PATH qui permet de définir les répertoires dans lesquels le shell bash trouve ses exécutables (ici, les outils de la chaîne de compilation du MIPS et le simulateur **almo1**).
    2626  * Exécutez pour cette fois le .bashrc (parce que vous venez juste de le modifier):\\`source $HOME/.bashrc`\\Vous pouvez aussi ouvrir un nouveau terminal, celui-ci exécutera le script `.bashrc` avant d'afficher le prompt.\\ \\
    2727* **Récupération des codes pour le tp1
     
    2929  * Créer un répertoire nommé `kO6` à la racine de votre compte:\\`mkdir ~/kO6`\\Dans le texte des TP, nous supposons que c'est là que vous mettrez vos codes,\\vous pouvez choisir un autre emplacement, mais dans les textes, ce sera `~/kO6`
    3030  * Allez dans le répertoire `~/kO6`:\\`cd ~/kO6`
    31   * Copier les codes du tp1:\\`cp -rp /Infos/lmd/2025/licence/ue/LU3IN031-2026/kO6/tp1 .`
     31  * Copier les codes du tp1:\\`cp -rp /Infos/lmd/2025/licence/ue/LU3IN031/kO6/tp1 .`
    3232  * Exécutez la commande: **`cd tp1 ; tree -L 1`**.\\Vous devriez obtenir ceci:
    3333{{{
     
    104104''
    105105}}}
    106 1. Que produit `gcc` quand on utilise l'option `-c` ? (C9 S35)
     1061. Que produit `gcc` quand on utilise l'option `-c` ?
    107107{{{#!protected ------------------------------------------------------------------------------------
    108108''
     
    111111''
    112112}}}
    113 1. Que fait l'éditeur de liens ? Comment est-il invoqué ? (C9 S37)
     1131. Que fait l'éditeur de liens ? Comment est-il invoqué ?
    114114{{{#!protected ------------------------------------------------------------------------------------
    115115''
     
    118118''
    119119}}}
    120 1. De quels fichiers a besoin l'éditeur de liens pour fonctionner ? (C9 S37)
     1201. De quels fichiers a besoin l'éditeur de liens pour fonctionner ?
    121121{{{#!protected ------------------------------------------------------------------------------------
    122122''
     
    171171''
    172172}}}
    173 1. Quelle est la différence entre `#include "file.h"` et `#include <file.h>` ? Quelle option du compilateur C permet de spécifier les répertoires lesquels se trouvent les fichiers include ? Si vous ne savez pas interrogez Internet ! (C9 annexe S4+S10)
     1731. Quelle est la différence entre `#include "file.h"` et `#include <file.h>` ? Quelle option du compilateur C permet de spécifier les répertoires lesquels se trouvent les fichiers include ? Si vous ne savez pas interrogez Internet ! (C5 annexe S4+S10)
    174174{{{#!protected ------------------------------------------------------------------------------------
    175175''
     
    180180''
    181181}}}
    182 1. Comment définir une macro-instruction C uniquement si elle n'est pas déjà définie ? Écrivez un exemple. Si vous ne savez pas regardez l'usage de `#ifndef` (C9 annexe S10)
     1821. Comment définir une macro-instruction C uniquement si elle n'est pas déjà définie ? Écrivez un exemple. Si vous ne savez pas regardez l'usage de `#ifndef` (C5 annexe S10)
    183183{{{#!protected ------------------------------------------------------------------------------------
    184184''
     
    192192''
    193193}}}
    194 1. Comment être certain de ne pas inclure plusieurs fois le même fichier `.h` ? Vous devriez avoir trouvé l'explication en répondant à la question précédente. (C9 annexe S10)
     1941. Comment être certain de ne pas inclure plusieurs fois le même fichier `.h` ? Vous devriez avoir trouvé l'explication en répondant à la question précédente. (C5 annexe S10)
    195195{{{#!protected ------------------------------------------------------------------------------------
    196196''
     
    297297''
    298298}}}
    299 1. Dans `kernel.ld`, que signifie `*(.*data*)` ? (C9 S38+S39)
     2991. Dans `kernel.ld`, que signifie `*(.*data*)` ?
    300300{{{#!protected ------------------------------------------------------------------------------------
    301301''
     
    426426''
    427427}}}
    428 1. Dans le fichier `kinit.c`, on trouve `__tty_regs_map[ tty%NTTYS ].write = *s`, expliquez le modulo. Pour répondre à cette question, vous devez avoir compris comment sont rangés les registres de commande dans le contrôleur de TTY (C9 S10), et comprendre que le programmeur pourrait mettre n'importe quoi dans la variable `tty` et qu'on ne veut pas de bug !
     4281. Dans le fichier `kinit.c`, on trouve `__tty_regs_map[ tty%NTTYS ].write = *s`, expliquez le modulo. Pour répondre à cette question, vous devez avoir compris comment sont rangés les registres de commande dans le contrôleur de TTY (C5 S10), et comprendre que le programmeur pourrait mettre n'importe quoi dans la variable `tty` et qu'on ne veut pas de bug !
    429429{{{#!protected ------------------------------------------------------------------------------------
    430430''