basic_scheduler.c 483 B

123456789101112131415161718192021222324
  1. #include "kernel.h"
  2. #include "scheduler.h"
  3. #ifndef ZV_BASIC_SCHEDULER_UNUSED
  4. zv_process_t * zv_kernel_basic_scheduler(zv_kernel_t *self) {
  5. for (zv_pid_t count = 0; count < self->processes_count; ++count) {
  6. zv_process_t *current = self->processes + count;
  7. if (zv_process_is_ready(current)) {
  8. return current;
  9. }
  10. }
  11. return NULL;
  12. }
  13. #else
  14. zv_process_t * zv_kernel_basic_scheduler(zv_kernel_t *self) {
  15. return NULL;
  16. }
  17. #endif