Mark3 Realtime Kernel
thread.h File Reference

Platform independent thread class declarations Threads are an atomic unit of execution, and each instance of the thread class represents an instance of a program running of the processor. The Thread is the fundmanetal user-facing object in the kernel - it is what makes multiprocessing possible from application code. More...

#include "kerneltypes.h"
#include "mark3cfg.h"
#include "ll.h"
#include "threadlist.h"
#include "scheduler.h"
#include "ithreadport.h"
#include "quantum.h"
#include "autoalloc.h"
#include "priomap.h"

Go to the source code of this file.

Classes

class  Mark3::Thread
 The Thread Class. This object providing the fundamental thread control data structures and functions that define a single thread of execution in the Mark3 operating system. It is the fundamental data type used to provide multitasking support in the kernel. More...
 

Namespaces

 Mark3
 

Typedefs

using Mark3::ThreadCreateCallout = void(*)(Thread *pclThread_)
 
using Mark3::ThreadExitCallout = void(*)(Thread *pclThread_)
 
using Mark3::ThreadContextCallout = void(*)(Thread *pclThread_)
 

Detailed Description

Platform independent thread class declarations Threads are an atomic unit of execution, and each instance of the thread class represents an instance of a program running of the processor. The Thread is the fundmanetal user-facing object in the kernel - it is what makes multiprocessing possible from application code.

In Mark3, threads each have their own context - consisting of a stack, and all of the registers required to multiplex a processor between multiple threads.

The Thread class inherits directly from the LinkListNode class to facilitate efficient thread management using Double, or Double-Circular linked lists.

Definition in file thread.h.