Alarm Clock

La primera asignación del proyecto de Threads.

¿ En qué consiste?

Esta asignación consiste en que los threads puedan dormir una cantidad de ticks sin utilizar busy waiting. Para lograr esto hay que utilizar la cola de threads con estado BLOCK y colocar en esa cola el thread, y cuando pase tiempo que el indico para estar dormido cambiar su estado de BLOCK a READY.

ALGORITMOS:

SLEEP_THREAD:
    INDICAR EL TIEMPO POR DORMIR
    AGREGAR EL THREAD A LISTA DE THREADS DURMIENDO
    CAMBIAR DE READY A BLOCK

wake_thread(ticks) es llamado en cada interrupción del timer. Esto asegura que el thread durmió al menos el tiempo que el pidió.

Last updated