orca-software
|
Go to the source code of this file.
Classes | |
struct | tcb_entry |
Task control block (TCB) and processor control block (PCB) entry data structures. More... | |
struct | pcb_entry |
Macros | |
#define | TASK_IDLE 0 |
#define | TASK_READY 1 |
#define | TASK_RUNNING 2 |
#define | TASK_BLOCKED 3 |
#define | TASK_DELAYED 4 |
#define | TASK_WAITING 5 |
Variables | |
struct tcb_entry | krnl_tcb [MAX_TASKS] |
The task control block and processor control block. | |
struct pcb_entry | krnl_pcb |
struct tcb_entry * | krnl_task |
uint16_t | krnl_tasks |
uint16_t | krnl_current_task |
uint16_t | krnl_schedule |
struct queue * | krnl_run_queue |
struct queue * | krnl_delay_queue |
struct queue * | krnl_rt_queue |
struct queue * | krnl_event_queue |
uint8_t | krnl_heap [HEAP_SIZE] |
uint32_t | krnl_free |
This source code is licensed under the GNU General Public License, Version 2. See the file 'doc/license/gpl-2.0.txt' for more details.
Kernel data structures.
#define TASK_BLOCKED 3 |
task blocked, can be resumed later (on run queue)
#define TASK_DELAYED 4 |
task being delayed (on delay queue)
#define TASK_IDLE 0 |
task does not exist / not ready
#define TASK_READY 1 |
task ready to run (on run queue)
#define TASK_RUNNING 2 |
task running (only one task/core can be in this state, on run queue)
#define TASK_WAITING 5 |
task waiting for an event (on event queue)
uint16_t krnl_current_task |
the current running task id
struct queue* krnl_delay_queue |
pointer to a queue of delayed tasks
struct queue* krnl_event_queue |
pointer to a queue of tasks waiting for an event
uint32_t krnl_free |
amount of free heap memory, in bytes
uint8_t krnl_heap[HEAP_SIZE] |
contiguous heap memory area to be used as a memory pool. the memory allocator (malloc() and free()) controls this data structure
struct queue* krnl_rt_queue |
pointer to a queue of real time tasks
struct queue* krnl_run_queue |
pointer to a queue of best effort tasks
uint16_t krnl_schedule |
scheduler enable / disable flag
struct tcb_entry* krnl_task |
pointer to a task control block entry
uint16_t krnl_tasks |
number of tasks in the system