diff options
author | Andreas Baumann <mail@andreasbaumann.cc> | 2017-07-05 10:28:08 +0200 |
---|---|---|
committer | Andreas Baumann <mail@andreasbaumann.cc> | 2017-07-05 10:28:08 +0200 |
commit | 48af29819f8c2b748dd54cf540f18fb3d39f4fe9 (patch) | |
tree | 5bea9c551703f08f3d1a9255a011a3a277ecb3e0 /src/kernel/tasks.c | |
parent | 4c7af15f04f1007d75c046b5e95dc86cb31f444d (diff) | |
download | abaos-48af29819f8c2b748dd54cf540f18fb3d39f4fe9.tar.gz abaos-48af29819f8c2b748dd54cf540f18fb3d39f4fe9.tar.bz2 |
some kernel code cleanup
renamed 'proc' command to 'task' and make it show number of tasks and
context switches
Diffstat (limited to 'src/kernel/tasks.c')
-rw-r--r-- | src/kernel/tasks.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/src/kernel/tasks.c b/src/kernel/tasks.c index 4dd7f38..30b138b 100644 --- a/src/kernel/tasks.c +++ b/src/kernel/tasks.c @@ -6,6 +6,8 @@ void task_init( task_t *task, uint16_t gdt_code_segment_selector, task_func_t entrypoint ) { memset( task, 0, sizeof( task_t ) ); + + task->nof_switches = 0; task->cpu_state = (cpu_state_t *)( task->stack + TASK_STACK_SIZE - sizeof( cpu_state_t ) ); @@ -71,6 +73,8 @@ cpu_state_t *task_manager_schedule_task( task_manager_t *manager, cpu_state_t *c if( manager->current_task >= manager->nof_tasks ) { manager->current_task = 0; } + + manager->task[manager->current_task]->nof_switches++; return manager->task[manager->current_task]->cpu_state; } |