| Spis treści - algorytmy | Poprzedni | Następny | Wybór procesu o najwyższym priorytecie dynamicznym

Wybór procesu o najwyższym priorytecie dynamicznym

Realizowany jest w funkcji schedule():

int idx;
struct list_head queue;
struct task_t next;
struct prio_array_t *array;

idx = sched_find_first_bit(array->bitmap);        /* Najwyższy priorytet który mają aktywne procesy */
queue = array->queue + idx;                       /* Lista procesów o najwyższym procesie */
next = list_entry(queue->next, task_t, run_list); /* Proces do wykonania - pierwszy proces z listy */

Funkcja sched_find_first_bit jest różnie zaimplementowana w zależności od architektury.