Simulateur de réseau

History / Edit / PDF / EPUB / BIB /
Updated: May 16, 2018 / Status: unknown / 1 min read (~146 words)

Description
Le simulateur de réseau émule un système de communication faisant usage de sémaphores afin de partager un nombre limité d'imprimantes communes. Tous les ordinateurs reçoivent une partie différente d'un «feed» qui contient des instructions sur ce que l'ordinateur doit effectuer. L'une de ces instructions est d'imprimer le contenu actuel de la mémoire de l'ordinateur. Pour se faire, il faut toutefois obtenir une imprimante, ce qui n'est pas toujours possible.

Snippet


// Attendre le mutex de cet ordinateur
sem_wait(&mutexOrdinateurs[ordi->mId-1]);

// Si terminé, simplement activer le prochain ordi
if (ordi->aTermine) {
    // Libérer le mutex du prochain ordinateur
    prochain = (ordi->mId) % nbOrdinateurs;

    if (prochain != 0) {
        sem_post(&mutexOrdinateurs[prochain]);
    } else {
        // Libérer le mutex principal
        sem_post(&mutexPrincipal);
    }
    continue;
}

// Quelle instruction?
instructionMaintenant = ordi->instructions.front();

Options(features)

Aperçu