|
ICARUS OS (Intelligent Cooperative Architecture for Real-time Unified Systems) 0.1.0
Preemptive Real-Time Operating System for ARM Cortex-M7
|
ICARUS OS Core Type Definitions. More...
Go to the source code of this file.
Data Structures | |
| struct | icarus_task_t |
| Task Control Block (TCB) More... | |
| struct | icarus_semaphore_t |
| Counting Semaphore. More... | |
| struct | icarus_pipe_t |
| Message Pipe (Queue) More... | |
Enumerations | |
| enum | icarus_task_state_t { TASK_STATE_COLD = 0 , TASK_STATE_RUNNING = 1 , TASK_STATE_READY = 2 , TASK_STATE_BLOCKED = 3 , TASK_STATE_KILLED = 4 , TASK_STATE_FINISHED = 5 } |
| Task state enumeration. More... | |
| enum | icarus_task_priority_t { TASK_PRIORITY_LOW = 0 , TASK_PRIORITY_MED = 1 , TASK_PRIORITY_HIGH = 2 } |
| Task priority levels. More... | |
ICARUS OS Core Type Definitions.
Defines all fundamental data types used throughout the ICARUS kernel. This includes task control blocks, synchronization primitives, and inter-process communication structures.
Definition in file types.h.
| enum icarus_task_state_t |
Task state enumeration.
State transition diagram:
* ┌─────────┐ * │ COLD │ (Initial state after creation) * └────┬────┘ * │ task_start() * ▼ * ┌──────────────►┌─────────┐◄──────────────┐ * │ │ RUNNING │ │ * │ └────┬────┘ │ * │ │ │ * │ scheduler │ os_yield() / │ scheduler * │ preemption │ time slice │ dispatch * │ ▼ │ * │ ┌─────────┐ │ * └───────────────│ READY │───────────────┘ * └────┬────┘ * │ task_active_sleep() * ▼ * ┌─────────┐ * │ BLOCKED │ (Waiting for timeout/event) * └────┬────┘ * │ timeout expired * ▼ * ┌─────────┐ * │ READY │ * └─────────┘ * * Any state ──► KILLED (os_kill_process) * Any state ──► FINISHED (os_exit_task) *