Changes between Version 2 and Version 3 of Boot-TP
- Timestamp:
- Feb 17, 2026, 1:14:22 PM (3 weeks ago)
Legend:
- Unmodified
- Added
- Removed
- Modified
-
Boot-TP
v2 v3 23 23 24 24 * **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**). 26 26 * 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.\\ \\ 27 27 * **Récupération des codes pour le tp1 … … 29 29 * 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` 30 30 * 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 .` 32 32 * Exécutez la commande: **`cd tp1 ; tree -L 1`**.\\Vous devriez obtenir ceci: 33 33 {{{ … … 104 104 '' 105 105 }}} 106 1. Que produit `gcc` quand on utilise l'option `-c` ? (C9 S35)106 1. Que produit `gcc` quand on utilise l'option `-c` ? 107 107 {{{#!protected ------------------------------------------------------------------------------------ 108 108 '' … … 111 111 '' 112 112 }}} 113 1. Que fait l'éditeur de liens ? Comment est-il invoqué ? (C9 S37)113 1. Que fait l'éditeur de liens ? Comment est-il invoqué ? 114 114 {{{#!protected ------------------------------------------------------------------------------------ 115 115 '' … … 118 118 '' 119 119 }}} 120 1. De quels fichiers a besoin l'éditeur de liens pour fonctionner ? (C9 S37)120 1. De quels fichiers a besoin l'éditeur de liens pour fonctionner ? 121 121 {{{#!protected ------------------------------------------------------------------------------------ 122 122 '' … … 171 171 '' 172 172 }}} 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 ! (C 9annexe S4+S10)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 ! (C5 annexe S4+S10) 174 174 {{{#!protected ------------------------------------------------------------------------------------ 175 175 '' … … 180 180 '' 181 181 }}} 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` (C 9annexe S10)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` (C5 annexe S10) 183 183 {{{#!protected ------------------------------------------------------------------------------------ 184 184 '' … … 192 192 '' 193 193 }}} 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. (C 9annexe S10)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. (C5 annexe S10) 195 195 {{{#!protected ------------------------------------------------------------------------------------ 196 196 '' … … 297 297 '' 298 298 }}} 299 1. Dans `kernel.ld`, que signifie `*(.*data*)` ? (C9 S38+S39)299 1. Dans `kernel.ld`, que signifie `*(.*data*)` ? 300 300 {{{#!protected ------------------------------------------------------------------------------------ 301 301 '' … … 426 426 '' 427 427 }}} 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 (C 9S10), et comprendre que le programmeur pourrait mettre n'importe quoi dans la variable `tty` et qu'on ne veut pas de bug !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 (C5 S10), et comprendre que le programmeur pourrait mettre n'importe quoi dans la variable `tty` et qu'on ne veut pas de bug ! 429 429 {{{#!protected ------------------------------------------------------------------------------------ 430 430 ''
