Systèmes d’Exploitation Avancés

Dans cette unité d’enseignement, on ne se contente plus de comprendre comment programmer au-dessus d’un système d’exploitation mais on cherche à comprendre comment celui-ci fonctionne. On voit donc ce qu’est l’ordonnancement, la gestion de la mémoire, les appels systèmes… Cela permet à la fin du semestre d’appréhender la notion de virtualisation. Le cours comprend 7 cours magistraux d’1h30 avec les 120 étudiants qui se seront bien sûr levés, ainsi que 11 séances de 4h de TP en petit comité.

Nécessaire pour les TP

Installation de Qemu pour Raspberry Pi

C’est assez facile maintenant, le code d’émulation a été intégré à la branche principale de Qemu. Donc téléchargez et compilez simplement les sources de Qemu dans une version >2.6. Si vous voulez juste compiler Qemu pour l’émulation de la Raspberry Pi (et pas pour pouvoir émuler x86 et plein d’autres cibles), vous pouvez l’indiquer lors de la configuration :

  • ./configure --target-list="arm-softmmu"
  • make

Le binaire est ensuite dans arm-softmmu/qemu-system-arm

Modifiez le fichier tools/run-qemu en conséquence, ou ajoutez un lien symbolique au bon endroit (modifiez votre PATH, tout ça).

Installation de GCC pour ARM

Sous ubuntu : installation du paquet gcc-arm-none-eabi

Sous Mac Port, le paquet s’appelle arm-none-eabi-gcc

Installation de GDB pour ARM

Sous Ubuntu, le paquet a installer s’appelle gdb-arm-none-eabi.

Attention la version 7.8 de GDB contient des bugs qui ne vous autoriseront pas à utiliser le système de test que nous vous fournissons. Il vous faut dans ce cas recompiler gdb. C’est ultra simple :

    • Téléchargez la version 7.10 par exemple, depuis http://www.gnu.org/software/gdb/download/.
    • tar xzf gdb-7.10.tar.gz
    • cd gdb-7.10
    • ./configure –prefix=<install_dir> –target=arm-none-eabi –enable-tui
    • make
    • make install
    • Ajoutez <install_dir>/bin à votre PATH

Sous Mac Port, installez le paquet arm-none-eabi-gdb