This kernel provides basic functionality for multi-tasking C++ applications.
The scheduler is working with dynamic prioritization, while the
memory-manager supports constant low time allocation.
I have implemented all synchronization-primitives that are important.
There is a CriticalSection with a SpinLock, keeping other cores in a loop while scheduling.
The Mutex causes other tasks to be suspended, when held by a ScopedLock or a SharedLock.
Using a TaskLock pevents the current task from being interrupted,
and the Signal can be used to synchronize tasks.