Subversion Repositories HelenOS-doc

Compare Revisions

Ignore whitespace Rev 130 → Rev 131

/design/trunk/src/ch_scheduling.xml
73,7 → 73,7
spaces on hardware level (i.e. ASIDs and page tables pointers).</para>
 
<section>
<title>Synchronous context switches</title>
<title>Synchronous Context Switches</title>
 
<para>The scheduler, but also other pieces of the kernel, make heavy use
of synchronous context switches, because it is a natural vehicle not
122,7 → 122,7
possible.</para>
 
<formalpara>
<title>Thread states</title>
<title>Thread States</title>
 
<para>In each moment, a thread exists in one of six possible thread
states. When the thread is created and first readied into the
146,8 → 146,7
 
<mediaobject id="thread_states" xreflabel="">
<imageobject role="pdf">
<imagedata fileref="images/thread_states.pdf"
format="PDF" />
<imagedata fileref="images/thread_states.pdf" format="PDF" />
</imageobject>
 
<imageobject role="html">
155,8 → 154,7
</imageobject>
 
<imageobject role="fop">
<imagedata fileref="images/thread_states.svg"
format="SVG" />
<imagedata fileref="images/thread_states.svg" format="SVG" />
</imageobject>
</mediaobject>
</figure></para>
163,7 → 161,7
</formalpara>
 
<formalpara>
<title>Pseudo threads</title>
<title>Pseudo Threads</title>
 
<para>HelenOS userspace layer knows even smaller units of execution.
Each userspace thread can make use of an arbitrary number of pseudo
194,7 → 192,7
<title>Scheduler</title>
 
<section>
<title>Run queues</title>
<title>Run Queues</title>
 
<para>There is an array of several run queues on each processor. The
current version of HelenOS uses 16 run queues implemented by 16 doubly
206,7 → 204,7
</section>
 
<section>
<title>Scheduler operation</title>
<title>Scheduler Operation</title>
 
<para>The scheduler is invoked either explicitly when a thread calls the
<code>scheduler</code> function (e.g. goes to sleep or merely wants to
255,7 → 253,7
</section>
 
<section>
<title>Processor load balancing</title>
<title>Processor Load Balancing</title>
 
<para>Normally, for the sake of cache locality, threads are scheduled on
one of the processors and don't leave it. Nevertheless, a situation in