ZixOS

Microkernel Architecture-based Real-Time Operating System

High-performance microkernel designed for embedded systems, supporting ARM Cortex-M / RISC-V architectures, providing deterministic real-time response and capability-based security.

User Space
Microkernel
Hardware Abstraction Layer

Core Features

Real-Time Response

Priority-based preemptive scheduling, microsecond-level interrupt response, deterministic task execution.

🔒

Capability Security

Capability-based access control, principle of least privilege, preventing unauthorized access.

💬

IPC Communication

Efficient inter-process communication supporting synchronous/asynchronous message passing.

🔧

Modular Design

Clear kernel module separation, easy to extend and customize.

🐦

Lightweight & Efficient

Minimal memory footprint, suitable for resource-constrained embedded devices.

🔄

Cross-Platform

Supports ARM Cortex-M and RISC-V architectures, easy to port.

System Architecture

User Layer

Application processes interact with the kernel via system calls and receive event notifications through IPC.

  • User Applications
  • Device Drivers
  • Service Processes

Microkernel Layer

Provides core services including thread management, IPC, capability control, memory management, scheduler, and interrupt handling.

  • Thread / TCB
  • IPC / Endpoint
  • Capability / CNode
  • Memory / Page
  • Scheduler
  • IRQ Management

Hardware Abstraction Layer

Hides hardware differences and provides a unified hardware access interface.

  • CPU / MPU
  • Interrupt Controller
  • Timer
  • Peripheral Drivers

Core Modules

Thread Management

Thread creation, scheduling, state management and context switching. Supports 256 priority levels with priority inheritance protocol.

TCB_Create | TCB_Start | TCB_Suspend | TCB_Resume

IPC Communication

Endpoint-based message passing mechanism supporting synchronous calls, asynchronous notifications, and non-blocking operations.

IPC_Send | IPC_Recv | IPC_Call | IPC_Reply

Capability System

CNode-based capability management supporting capability copy, derivation, revocation, and access control.

CNode_Copy | CNode_Mint | CNode_Revoke

Memory Management

Physical page allocation, virtual memory mapping, and address space management with MPU protection.

Page_Alloc | Page_Map | Page_Unmap

Scheduler

Fixed-priority preemptive scheduling with Round-Robin at same priority level, supports periodic budget management.

Scheduler_Yield | Scheduler_Tick

Interrupt Management

IRQ binding, priority management, and interrupt dispatch. Notifies user threads via Notification.

IRQ_Bind | IRQ_Enable | IRQ_Disable

Documentation