10ms Round Robin scheduler (blank processes)

This commit is contained in:
2026-02-01 11:25:43 +01:00
parent c46157fad0
commit 4a90de9521
8 changed files with 67 additions and 15 deletions

View File

@@ -19,7 +19,7 @@ void process_display_list(struct process_t* processes_list)
struct process_t* tmp = processes_list;
while (tmp != NULL)
{
DEBUG("{%d: } -> ", process_view_id);
DEBUG("{%d: %p} -> ", process_view_id, tmp);
tmp = tmp->next;
process_view_id++;
}

View File

@@ -1,9 +1,35 @@
#include "kernel.h"
#include "process.h"
extern struct process_t* processes_list;
extern struct process_t* current_process;
// DEBUG: how many times we did schedule
int scheduled = 0;
void scheduler_init()
{
// Choose first process?
current_process = processes_list;
}
void scheduler_schedule()
{
DEBUG("Scheduler called!");
//DEBUG("Scheduler called!");
if (current_process->next != NULL)
{
current_process = current_process->next;
} else
{
current_process = processes_list;
}
scheduled++;
DEBUG("SCHEDULER CALLED: current_process=%p", current_process);
// debug
/* if (scheduled == 5)
{
DEBUG("enough, halting");
hcf();
} */
}

View File

@@ -2,5 +2,6 @@
#define SCHEDULER_H
void scheduler_schedule();
void scheduler_init();
#endif