NeKernel's RT Scheduler Subsystem, Application Processors.

NeKernel's RT Scheduler Subsystem, Application Processors.

Why?

Because NeKernel targets Multiple cores at first, thus the the Application Processors system.

How?

We can:

  • Map cores to a HW Thread structure, A C++ structure.
  • Make it run our task when it is registered by mp_register_task
  • We keep the thread ID from the HTS (HardwareThreadScheduler) inside the HW Thread.
  • And we plug that into the higher level of the scheduler architecture.

This way the design is modular, easy to extend, and easily debuggable.

C++ function signature (defined with C mangling)

EXTERN_C BOOL mp_register_task(HAL::StackFramePtr stack_frame, ProcessID thrdid);