Týndur/Interprozesskommunikation
Aus Lowlevel
Dieser Artikel bezieht sich ausschließlich auf die Interprozesskommunikation unter LOST. Eine allgemeingültige Erklärung findet sich unter Interprozesskommunikation.
Kernelseitiges RPC
Zwei der verbreitetsten Möglichkeiten, IPC zu implementieren, sind über Nachrichten (Message Queues) oder über Funktionsaufrufe in den fremden Prozess (Remote Procedure Call, RPC). Während nachrichtenbasierte IPC oft asynchron ist (der Absender läuft weiter sobald die Nachricht gesendet ist, ohne darauf zu warten, dass die Nachricht verarbeitet wurde) und RPC oft synchron ist (der Aufrufer wartet auf einen Rückgabewert des aufgerufenen Prozesses), benutzt LOST asynchrones RPC.
Umgesetzt wird dieses Konzept durch folgende Syscalls:
- SYSCALL_ADD_INTERRUPT_HANDLER (Interrupts werden als RPC-Aufrufe vom Kernel realisiert)
- SYSCALL_SET_RPC_HANDLER
- SYSCALL_RPC