|
file | atomic.h [code] |
| Basic Atomic Operations.
|
|
file | autoalloc.h [code] |
| Automatic memory allocation for kernel objects.
|
|
file | blocking.h [code] |
| Blocking object base class declarations.
|
|
file | colist.h [code] |
| CoRoutine List structure implementation.
|
|
file | condvar.h [code] |
| Condition Variable implementation.
|
|
file | coroutine.h [code] |
| CoRoutine implementation.
|
|
file | cosched.h [code] |
| CoRoutine Scheduler implementation.
|
|
file | criticalguard.h [code] |
| RAII Critical Section Implementation.
|
|
file | criticalsection.h [code] |
| Critical Section Support.
|
|
file | eventflag.h [code] |
| Event Flag Blocking Object/IPC-Object definition.
|
|
file | ithreadport.h [code] |
| Thread porting interface.
|
|
file | kernel.h [code] |
| Kernel initialization and startup class.
|
|
file | kerneldebug.h [code] |
| Macros and functions used for assertions, kernel traces, etc.
|
|
file | kernelswi.h [code] |
| Kernel Software interrupt declarations.
|
|
file | kerneltimer.h [code] |
| Kernel Timer Class declaration.
|
|
file | kerneltypes.h [code] |
| Basic data type primatives used throughout the OS.
|
|
file | ksemaphore.h [code] |
| Semaphore Blocking Object class declarations.
|
|
file | ll.h [code] |
| Core linked-list declarations, used by all kernel list types At the heart of RTOS data structures are linked lists. Having a robust and efficient set of linked-list types that we can use as a foundation for building the rest of our kernel types allows u16 to keep our RTOS code efficient and logically-separated.
|
|
file | lockguard.h [code] |
| Mutex RAII helper class.
|
|
file | mailbox.h [code] |
| Mailbox + Envelope IPC Mechanism.
|
|
file | manual.h [code] |
|
file | mark3.h [code] |
| Single include file given to users of the Mark3 Kernel API.
|
|
file | mark3cfg.h [code] |
| Mark3 Kernel Configuration This file is used to configure the kernel for your specific application in order to provide the optimal set of features for a given use case.
|
|
file | message.h [code] |
| Inter-thread communication via message-passing Embedded systems guru Jack Ganssle once said that without a robust form of interprocess communications (IPC), an RTOS is just a toy. Mark3 implements a form of IPC to provide safe and flexible messaging between threads.
|
|
file | mutex.h [code] |
| Mutual exclusion class declaration Resource locks are implemented using mutual exclusion semaphores (Mutex_t). Protected blocks can be placed around any resource that may only be accessed by one thread at a time. If additional threads attempt to access the protected resource, they will be placed in a wait queue until the resource becomes available. When the resource becomes available, the thread with the highest original priority claims the resource and is activated. Priority inheritance is included in the implementation to prevent priority inversion. Always ensure that you claim and release your mutex objects consistently, otherwise you may end up with a deadlock scenario that's hard to debug.
|
|
file | notify.h [code] |
| Lightweight thread notification - blocking object.
|
|
file | paniccodes.h [code] |
| Defines the reason codes thrown when a kernel panic occurs.
|
|
file | priomap.h [code] |
| Priority map data structure.
|
|
file | priomapl1.h [code] |
| 1-Level bitmap allocator template-class used for scheduler implementation
|
|
file | priomapl2.h [code] |
| 2-Level priority allocator template-class used for scheduler implementation
|
|
file | profile.h [code] |
| High-precision profiling timers Enables the profiling and instrumentation of performance-critical code. Multiple timers can be used simultaneously to enable system-wide performance metrics to be computed in a lightweight manner.
|
|
file | profiling_results.h [code] |
|
file | quantum.h [code] |
| Thread Quantum declarations for Round-Robin Scheduling.
|
|
file | readerwriter.h [code] |
| Reader-Writer lock implementation.
|
|
file | scheduler.h [code] |
| Thread scheduler function declarations This scheduler implements a very flexible type of scheduling, which has become the defacto industry standard when it comes to real-time operating systems. This scheduling mechanism is referred to as priority round- robin.
|
|
file | schedulerguard.h [code] |
| RAII Scheduler Locking.
|
|
file | sizeprofile.h [code] |
|
file | thread.h [code] |
| 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.
|
|
file | threadlist.h [code] |
| Thread linked-list declarations.
|
|
file | threadlistlist.h [code] |
| Class implementing a doubly-linked list of thread lists.
|
|
file | timer.h [code] |
| Timer object declarations.
|
|
file | timerlist.h [code] |
| Timer list declarations.
|
|
file | timerscheduler.h [code] |
| Timer scheduler declarations.
|
|