Rev 157 | Rev 169 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed
| Rev 157 | Rev 160 | ||
|---|---|---|---|
| Line 15... | Line 15... | ||
| 15 | protocols.</para> |
15 | protocols.</para> |
| 16 | 16 | ||
| 17 | <section> |
17 | <section> |
| 18 | <title>Kernel Services</title> |
18 | <title>Kernel Services</title> |
| 19 | 19 | ||
| 20 | <para>Every message consists of 4 numeric arguments (32-bit and 64-bit on |
20 | <para>Every message consists of four numeric arguments (32-bit and 64-bit on |
| 21 | the corresponding platforms), from which the first one is considered a |
21 | the corresponding platforms), from which the first one is considered a |
| 22 | method number on message receipt and a return value on answer receipt. The |
22 | method number on message receipt and a return value on answer receipt. The |
| 23 | received message contains identification of the incoming connection, so |
23 | received message contains identification of the incoming connection, so |
| 24 | that the receiving application can distinguish the messages between |
24 | that the receiving application can distinguish the messages between |
| 25 | different senders. Internally the message contains pointer to the |
25 | different senders. Internally the message contains pointer to the |
| Line 31... | Line 31... | ||
| 31 | <para>Every message must be eventually answered. The system keeps track of |
31 | <para>Every message must be eventually answered. The system keeps track of |
| 32 | all messages, so that it can answer them with appropriate error code |
32 | all messages, so that it can answer them with appropriate error code |
| 33 | should one of the connection parties fail unexpectedly. To limit buffering |
33 | should one of the connection parties fail unexpectedly. To limit buffering |
| 34 | of the messages in the kernel, every task has a limit on the amount of |
34 | of the messages in the kernel, every task has a limit on the amount of |
| 35 | asynchronous messages it can send simultaneously. If the limit is reached, |
35 | asynchronous messages it can send simultaneously. If the limit is reached, |
| 36 | the kernel refuses to send any other message, until some active message is |
36 | the kernel refuses to send any other message until some active message is |
| 37 | answered.</para> |
37 | answered.</para> |
| 38 | 38 | ||
| 39 | <para>To facilitate kernel-to-user communication, the IPC subsystem |
39 | <para>To facilitate kernel-to-user communication, the IPC subsystem |
| 40 | provides notification messages. The applications can subscribe to a |
40 | provides notification messages. The applications can subscribe to a |
| 41 | notification channel and receive messages directed to this channel. Such |
41 | notification channel and receive messages directed to this channel. Such |
| Line 170... | Line 170... | ||
| 170 | <listitem> |
170 | <listitem> |
| 171 | <para>creating a callback connection,</para> |
171 | <para>creating a callback connection,</para> |
| 172 | </listitem> |
172 | </listitem> |
| 173 | 173 | ||
| 174 | <listitem> |
174 | <listitem> |
| 175 | <para>sending an address space area,</para> |
175 | <para>sending an address space area and</para> |
| 176 | </listitem> |
176 | </listitem> |
| 177 | 177 | ||
| 178 | <listitem> |
178 | <listitem> |
| 179 | <para>asking for an address space area.</para> |
179 | <para>asking for an address space area.</para> |
| 180 | </listitem> |
180 | </listitem> |