Component explorer
IPC Engine
The IPC engine is the microkernel core: it turns isolated tasks into cooperating services through message passing.
Introduced in
Touched by
Responsibilities
- Move messages between isolated tasks.
- Represent communication rights through explicit capabilities.
- Wake and block tasks around rendezvous points.
The ipc engine is introduced in IPC Core and later touched by 10 phase(s).
Key files
- kernel/src/ipc/endpoint.rs — cross-table move — see transfer_cap in kernel/src/ipc/endpoint.rs and
- kernel-core/src/ipc/buffer.rs — validate_user_buffer(addr, len) (defined in kernel-core/src/ipc/buffer.rs),
- kernel/src/ipc/mod.rs — kernel/src/ipc/mod.rs — module overview and syscall dispatcher
- kernel/src/ipc/notification.rs — kernel/src/ipc/notification.rs — async notification objects
- kernel/src/ipc/capability.rs — kernel/src/ipc/capability.rs — per-task capability table
- kernel-core/src/ipc/capability.rs — CapabilityTable::grant, Capability::Grant variant
- kernel-core/src/ipc/message.rs — Message.cap field, updated constructors
- kernel-core/src/ipc/registry.rs — Owner-tracked registry, replace_service, capacity 16