Subversion Repositories HelenOS-doc

Compare Revisions

Ignore whitespace Rev 159 → Rev 160

/design/trunk/src/ch_ipc.xml
17,7 → 17,7
<section>
<title>Kernel Services</title>
 
<para>Every message consists of 4 numeric arguments (32-bit and 64-bit on
<para>Every message consists of four numeric arguments (32-bit and 64-bit on
the corresponding platforms), from which the first one is considered a
method number on message receipt and a return value on answer receipt. The
received message contains identification of the incoming connection, so
33,7 → 33,7
should one of the connection parties fail unexpectedly. To limit buffering
of the messages in the kernel, every task has a limit on the amount of
asynchronous messages it can send simultaneously. If the limit is reached,
the kernel refuses to send any other message, until some active message is
the kernel refuses to send any other message until some active message is
answered.</para>
 
<para>To facilitate kernel-to-user communication, the IPC subsystem
172,7 → 172,7
</listitem>
 
<listitem>
<para>sending an address space area,</para>
<para>sending an address space area and</para>
</listitem>
 
<listitem>
/design/trunk/src/ch_memory_management.xml
741,7 → 741,11
pages for which a frame is allocated. The duplicated mapping is stored
in the share info structure B+tree called <varname>pagemap</varname>.
Note that the reference count of the frames put into the
<varname>pagemap</varname> must be incremented to prevent .</para>
<varname>pagemap</varname> must be incremented in order to avoid a race condition.
If the originating address space area had been destroyed before the <varname>pagemap</varname>
information made it to the page tables of other address spaces that take part in
the sharing, the reference count of the respective frames
would have dropped to zero and some of them could have been allocated again.</para>
</section>
 
<section>