scheduler.h 758 B

12345678910111213141516171819202122
  1. #ifndef CX_ZIVUOS_SCHEDULER_H_INCLUDED
  2. #define CX_ZIVUOS_SCHEDULER_H_INCLUDED
  3. #include "models.h"
  4. #include "process.h"
  5. typedef enum zv_scheduler_mode_e {
  6. ZV_FIRST_MATCH,
  7. ZV_ROUND_ROBIN_FIRST_MATCH,
  8. ZV_BALANCED_PRIORITY,
  9. ZV_NON_BALANCED_PRIORITY
  10. } zv_scheduler_mode_t;
  11. void zv_kernel_scheduler(struct zv_kernel_s *);
  12. zv_process_t * zv_kernel_round_first_match(struct zv_kernel_s *);
  13. zv_process_t * zv_kernel_balanced_priority(struct zv_kernel_s *);
  14. zv_process_t * zv_kernel_non_balanced_priority(struct zv_kernel_s *);
  15. zv_process_t * zv_kernel_basic_scheduler(struct zv_kernel_s *);
  16. zv_process_t * zv_kernel_scheduler_mode_selector(struct zv_kernel_s *);
  17. zv_process_t * zv_kernel_scheduler_select_interrupted(struct zv_kernel_s *);
  18. #endif