#include "malloc.h"
#include "thread.h"
#include "sched.h"
#include "tlb.h"
#include "sys.h"
#include "io.h"
#include "timers.h"
#include "debug.h"
#include "assignment-1.h"
Functions | |
void | system_thread (void) |
void | start (void) |
This file contains functions start, which is the entry point to all the kernel. Processor at first jump to the routine on a fix adress (loader), loader starts some routines from sys.S and then execute code of function start Function start do basic initilaization of internal structures, than create system thread and switch context to system thread. System thread must be living all the time in the kernell, so we must be sure that will never call thread_kill(), so spawn one more thread and there run tests
This file is based on Kalisto, Development Kernel copyrighted (c) to Distributed Systems Research Group MFF UK, Czech republic.
void start | ( | void | ) |
This is the entry point to C code. The "start" function is called from the basic initialization routine in "sys.S". We have to create and initialize the main data structures.
The interrupts are (still) disabled. This will be changed when context is switched
void system_thread | ( | void | ) |
System thread is first thread created in the system. It is created litle bit another way than the others for example scheduling is not runnig, so we dont have to care about interrupts and such problems.