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> |