15,7 → 15,7 |
protocols.</para> |
|
<section> |
<title>Kernel Services</title> |
<title>Services provided by kernel</title> |
|
<para>Every message consists of 4 numeric arguments (32-bit and 64-bit on |
the corresponding platforms), from which the first one is considered a |
45,7 → 45,7 |
such response.</para> |
|
<section> |
<title>Low Level IPC</title> |
<title>Low level IPC</title> |
|
<para>The whole IPC subsystem consists of one-way communication |
channels. Each task has one associated message queue (answerbox). The |
152,7 → 152,7 |
</section> |
|
<section> |
<title>System Call IPC Layer</title> |
<title>System call IPC layer</title> |
|
<para>On top of this simple protocol the kernel provides special |
services closely related to the inter-process communication. A range of |
205,7 → 205,7 |
</section> |
|
<section> |
<title>Userspace View</title> |
<title>Userspace view</title> |
|
<para>The conventional design of the asynchronous api seems to produce |
applications with one event loop and several big switch statements. |
215,7 → 215,7 |
application programs.</para> |
|
<section> |
<title>Single Point of Entry</title> |
<title>Single point of entry</title> |
|
<para>Each tasks is associated with only one answerbox. If a |
multi-threaded application needs to communicate, it must be not only |
286,10 → 286,11 |
|
<title>Single point of entry solution</title> |
</figure> |
|
</section> |
|
<section> |
<title>Ordering Problem</title> |
<title>Ordering problem</title> |
|
<para>Unfortunately, the real world is is never so simple. E.g. if a |
server handles incoming requests and as a part of its response sends |
309,10 → 310,12 |
to handle incoming answers and allow the application to run more |
user-space threads inside the kernel threads without the danger of |
locking all kernel threads in futexes.</para> |
|
|
</section> |
|
<section> |
<title>The Interface</title> |
<title>The interface</title> |
|
<para>The interface was developed to be as simple to use as possible. |
Classical applications simply send messages and occasionally wait for an |