Skip to content

Fast IPC #42

Closed
Closed
@Andy-Python-Programmer

Description

@Andy-Python-Programmer

Inter Process Communication should be fast and effective. The performance of IPC is vital for modern operating systems. Here is an overview of how we can accomplish this in Aero:

  1. Each task will have its own message queue that contains pending messages.
  2. The message will contain the sender's PID and TID with data (&[u8]). It will aswell contain a message ID (usize) used to identify the message without needing to parse the message itself.
  3. Using the sys_ipc_send and sys_ipc_get system calls the tasks can communicate with each other efficiently.

Drawbacks

This would require the kernel to clone the message 2 times (when you send the message the kernel keeps a copy of the message and for the task that we are sending to has to clone it again)

Metadata

Metadata

Labels

C-kernelCategory: kernelenhancementNew feature or request

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions