Changes between Version 14 and Version 15 of DevloperManuel


Ignore:
Timestamp:
Dec 15, 2007, 12:59:09 PM (17 years ago)
Author:
Ghassan Almaless
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • DevloperManuel

    v14 v15  
    4343 * Dead : état spécial dans le quel le Thread est déclaré définitivement mort. Toute tentative de joindre un Thread dans cet état échouera.
    4444=== II.3 Ordonnancement des Threads ===
    45 Le système partitionne l’ensemble des threads de l’application en sous-ensembles dans le but de les ordonnancer.[[BR]]
    46 Le nombre de ces sous-ensembles est en bijection avec le nombre des processeurs disponibles dans la plate-forme matérielle.[[BR]]
    47 Il existe une structure d’ordonnancement, pour chaque sous-ensemble, responsable de l’ordonnancement de ses Threads selon sa propre politique d’ordonnancement.[[BR]]
    48 Une fois un Thread est crée, il est affecté à un seul processeur tout au long de sa vie, le noyau Mutek''P'' n’implémente pas la migration des tâches, ou la répartition dynamique de la charge du système.[[BR]]
     45
     46
     47Le système partitionne l’ensemble des threads de l’application en sous-ensembles dans le but de les ordonnancer.
     48
     49
     50Le nombre de ces sous-ensembles est en bijection avec le nombre des processeurs disponibles dans la plate-forme matérielle.
     51Il existe une structure d’ordonnancement, pour chaque sous-ensemble, responsable de l’ordonnancement de ses Threads selon sa propre politique d’ordonnancement.
     52
     53
     54Une fois un Thread est crée, il est affecté à un seul processeur tout au long de sa vie, le noyau Mutek''P'' n’implémente pas la migration des tâches, ou la répartition dynamique de la charge du système.
    4955Supposant que le nombre des processeurs dans la plate-forme est égal à N alors :
    5056 * Le système partitionne l’ensemble des Threads de l’application en N sous-ensembles.
    5157 * Le système dispose de N structures d’ordonnancement pour ordonnancer ces N sous-ensembles.
    5258 * En régime permanant (lors que chaque processeur est entrain d’exécuter un Thread), il existe N Threads s’exécute en parallèle, tandis que les autres Threads de chaque sous-ensemble s’exécute en pseudo parallèle grâce au temps partagé (changement de contexte à chaque fin de quantum suite à une interruption horloge).
    53 Ainsi le noyau Mutek''P'' dispose d’un mécanisme d’ordonnancement distribué à taches affectées.[[BR]]
     59
     60
     61Ainsi le noyau Mutek''P'' dispose d’un mécanisme d’ordonnancement distribué à taches affectées.
     62
     63
    5464Dans le cas où l’Ordonnanceur d’un processeur ne trouve aucun Thread à l’état Ready. Il charge un Thread particulier nommé Thread Idle.
    55 Cette situation peut se produire notamment au démarrage du système et avant la création des Threads de l’application, aucun Thread n’est disponible pour être charger sur un processeur (exception du Thread main). Ou encore lors que touts les Threads d’un processeur sont en attente sur des ressources non disponibles.[[BR]]
     65Cette situation peut se produire notamment au démarrage du système et avant la création des Threads de l’application, aucun Thread n’est disponible pour être charger sur un processeur (exception du Thread main). Ou encore lors que touts les Threads d’un processeur sont en attente sur des ressources non disponibles.
     66
     67
    5668L’utilité de ce Thread Idle est double :
    5769 * Pour ne pas bloquer le processeur vis-à-vis des interruptions et de pouvoir ainsi exécuter leurs ISR.