Subversion Repositories HelenOS-doc

Rev

Rev 112 | Rev 117 | Go to most recent revision | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 112 Rev 114
Line 79... Line 79...
79
        <listitem>
79
        <listitem>
80
          <para>Notification queue</para>
80
          <para>Notification queue</para>
81
        </listitem>
81
        </listitem>
82
      </itemizedlist>
82
      </itemizedlist>
83
 
83
 
-
 
84
      <figure float="1">
-
 
85
        <mediaobject id="ipc1">
-
 
86
          <imageobject role="pdf">
-
 
87
            <imagedata fileref="images/ipc1.pdf" format="PDF" />
-
 
88
          </imageobject>
-
 
89
 
-
 
90
          <imageobject role="html">
-
 
91
            <imagedata fileref="images/ipc1.png" format="PNG" />
-
 
92
          </imageobject>
-
 
93
 
-
 
94
          <imageobject role="fop">
-
 
95
            <imagedata fileref="images/ipc1.svg" format="SVG" />
-
 
96
          </imageobject>
-
 
97
        </mediaobject>
-
 
98
 
-
 
99
        <title>Low level IPC</title>
-
 
100
      </figure>
-
 
101
 
84
      <para>The communication between task A, that is connected to task B
102
      <para>The communication between task A, that is connected to task B
85
      looks as follows: Task A sends a message over it's phone to the target
103
      looks as follows: Task A sends a message over it's phone to the target
86
      asnwerbox. The message is saved in task B incoming call queue. When task
104
      asnwerbox. The message is saved in task B incoming call queue. When task
87
      B fetches the message for processing, it is automatically moved into the
105
      B fetches the message for processing, it is automatically moved into the
88
      dispatched call queue. After the server decides to answer the message,
106
      dispatched call queue. After the server decides to answer the message,
Line 209... Line 227...
209
      control is transfered to this manager task. The manager tasks pops
227
      control is transfered to this manager task. The manager tasks pops
210
      messages from the answerbox and puts them into appropriate queues of
228
      messages from the answerbox and puts them into appropriate queues of
211
      running tasks. If a task waiting for a message is not running, the
229
      running tasks. If a task waiting for a message is not running, the
212
      control is transferred to it.</para>
230
      control is transferred to it.</para>
213
 
231
     
-
 
232
      <figure float="1">
-
 
233
        <mediaobject id="ipc2">
-
 
234
          <imageobject role="pdf">
-
 
235
            <imagedata fileref="images/ipc2.pdf" format="PDF" />
-
 
236
          </imageobject>
-
 
237
 
-
 
238
          <imageobject role="html">
-
 
239
            <imagedata fileref="images/ipc2.png" format="PNG" />
-
 
240
          </imageobject>
-
 
241
 
-
 
242
          <imageobject role="fop">
-
 
243
            <imagedata fileref="images/ipc2.svg" format="SVG" />
-
 
244
          </imageobject>
-
 
245
        </mediaobject>
-
 
246
 
-
 
247
        <title>Single point of entry</title>
-
 
248
      </figure>
-
 
249
 
-
 
250
 
214
      <para>Very similar situation arises when a task decides to send a lot of
251
      <para>Very similar situation arises when a task decides to send a lot of
215
      messages and reaches kernel limit of asynchronous messages. In such
252
      messages and reaches kernel limit of asynchronous messages. In such
216
      situation 2 remedies are available - the userspace liberary can either
253
      situation 2 remedies are available - the userspace liberary can either
217
      cache the message locally and resend the message when some answers
254
      cache the message locally and resend the message when some answers
218
      arrive, or it can block the thread and let it go on only after the
255
      arrive, or it can block the thread and let it go on only after the