Changes between Version 14 and Version 15 of AS6-TME-B5


Ignore:
Timestamp:
Feb 20, 2022, 11:14:47 AM (3 years ago)
Author:
franck
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • AS6-TME-B5

    v14 v15  
    3636'''
    3737 * Non pour les interruptions, les demandes d'interruption (IRQ pour Interrupt ReQuest) sont faites par les périphériques grâce à des signaux électriques binaires (2 états). Ces demandes ne peuvent pas être demander directement par le code de l'utilisateur. Toutefois, une IRQ est la conséquence d'une commande ou d'une configuration faite par le programme, alors on pourrait dire que les IRQ sont provoquées par les programmes.
    38  * Oui pour les exceptions, une exception est toujours la conséquence..
     38 * Oui pour les exceptions, une exception est toujours la conséquence de l'exécution d'une instruction que le processeur ne peut pas ou ne sait pas faire.
    3939'''
    4040}}}
     
    4242{{{#!protected ------------------------------------------------------------------
    4343'''
    44  *
    45 '''
    46 }}}
    47 1. Dans un fichier exécutable (le programme) avant qu'il ne soit chargé en mémoire, on trouve le code du programme et les données globales. Est-ce qu'il y a aussi les piles d'exécution ? justifiez votre réponse
    48 {{{#!protected ------------------------------------------------------------------
    49 '''
    50  *
     44 * Le processus y met son code et ses données globales et, nous le verrons plus tard, ses données dynamiques dans des segments obtenus par `malloc()` ou `mmap()`. Le processus y met aussi les piles d'exécution de ces threads. Dans l'implémentation actuelle du système, ces piles sont dans les variables globales, mais dans un vrai système, elles seraient allouées dynamiquement.
     45'''
     46}}}
     471. Dans un fichier exécutable (le programme) avant qu'il ne soit chargé en mémoire, on trouve le code du programme et les données globales. Est-ce qu'il y a aussi les piles d'exécution des threads ? justifiez votre réponse.
     48{{{#!protected ------------------------------------------------------------------
     49'''
     50 * Non, en principe non, puisque les piles sont créées à la volée à chaque création des threads. Mais, dans la version actuelle du système, qui n'a pas encore de service de mémoire dynamique, les piles des threads sont dans des variables globales de type `thread_s`, alors on peut se demander si elles sont dans le fichier. La réponse est non, parce que les variables globales thread de type `struct thread_s` ne sont pas initialisées. Elles sont donc dans une section `BSS` qui n'est pas vraiment dans le fichier objet.
    5151'''
    5252}}}