<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1"> <title>UbixOS V2: src/sys/kernel/sched.c File Reference</title> <link href="doxygen.css" rel="stylesheet" type="text/css"> <link href="tabs.css" rel="stylesheet" type="text/css"> </head><body> <!-- Generated by Doxygen 1.4.7 --> <div class="tabs"> <ul> <li><a href="main.html"><span>Main Page</span></a></li> <li><a href="classes.html"><span>Data Structures</span></a></li> <li id="current"><a href="files.html"><span>Files</span></a></li> <li><a href="dirs.html"><span>Directories</span></a></li> <li> <form action="search.php" method="get"> <table cellspacing="0" cellpadding="0" border="0"> <tr> <td><label> <u>S</u>earch for </label></td> <td><input type="text" name="query" value="" size="20" accesskey="s"/></td> </tr> </table> </form> </li> </ul></div> <div class="tabs"> <ul> <li><a href="files.html"><span>File List</span></a></li> <li><a href="globals.html"><span>Globals</span></a></li> </ul></div> <div class="nav"> <a class="el" href="dir_897b6a2d7bab147dd1db58381aad3984.html">src</a> » <a class="el" href="dir_832905b1f7f5feaf61a306b40c0ac817.html">sys</a> » <a class="el" href="dir_7efffd2b1fae7bb6f2aa85845c863494.html">kernel</a></div> <h1>sched.c File Reference</h1><code>#include <<a class="el" href="sched_8h-source.html">ubixos/sched.h</a>></code><br> <code>#include <<a class="el" href="kpanic_8h-source.html">ubixos/kpanic.h</a>></code><br> <code>#include <<a class="el" href="spinlock_8h-source.html">ubixos/spinlock.h</a>></code><br> <code>#include <<a class="el" href="endtask_8h-source.html">ubixos/endtask.h</a>></code><br> <code>#include <<a class="el" href="mount_8h-source.html">vfs/mount.h</a>></code><br> <code>#include <<a class="el" href="kmalloc_8h-source.html">lib/kmalloc.h</a>></code><br> <code>#include <<a class="el" href="kprintf_8h-source.html">lib/kprintf.h</a>></code><br> <code>#include <<a class="el" href="vmm_8h-source.html">vmm/vmm.h</a>></code><br> <code>#include <<a class="el" href="gdt_8h-source.html">sys/gdt.h</a>></code><br> <code>#include <<a class="el" href="idt_8h-source.html">sys/idt.h</a>></code><br> <code>#include <<a class="el" href="kern__descrip_8h-source.html">sys/kern_descrip.h</a>></code><br> <code>#include <<a class="el" href="8259_8h-source.html">isa/8259.h</a>></code><br> <code>#include <<a class="el" href="string_8h-source.html">string.h</a>></code><br> <code>#include <<a class="el" href="assert_8h-source.html">assert.h</a>></code><br> <p> Include dependency graph for sched.c:<p><center><img src="sched_8c__incl.png" border="0" usemap="#src/sys/kernel/sched.c_map" alt=""></center> <map name="src/sys/kernel/sched.c_map"> <area href="sched_8h.html" shape="rect" coords="420,88,543,115" alt=""> <area href="kpanic_8h.html" shape="rect" coords="233,63,361,90" alt=""> <area href="spinlock_8h.html" shape="rect" coords="228,114,367,140" alt=""> <area href="endtask_8h.html" shape="rect" coords="229,164,365,191" alt=""> <area href="mount_8h.html" shape="rect" coords="247,215,348,242" alt=""> <area href="kmalloc_8h.html" shape="rect" coords="244,266,351,292" alt=""> <area href="kprintf_8h.html" shape="rect" coords="248,316,347,343" alt=""> <area href="vmm_8h.html" shape="rect" coords="244,367,351,394" alt=""> <area href="gdt_8h.html" shape="rect" coords="440,443,523,470" alt=""> <area href="idt_8h.html" shape="rect" coords="259,468,336,495" alt=""> <area href="kern__descrip_8h.html" shape="rect" coords="224,519,371,546" alt=""> <area href="8259_8h.html" shape="rect" coords="251,570,344,596" alt=""> <area href="string_8h.html" shape="rect" coords="261,620,333,647" alt=""> <area href="assert_8h.html" shape="rect" coords="260,671,335,698" alt=""> </map> <p> <a href="sched_8c-source.html">Go to the source code of this file.</a><table border="0" cellpadding="0" cellspacing="0"> <tr><td></td></tr> <tr><td colspan="2"><br><h2>Functions</h2></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="sched_8c.html#549a0c1cc47933fa045b200690965cbd">sched</a> ()</td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="sched_8c.html#ee1d1286c2a03f57a76d84682839d581">sched_addDelTask</a> (<a class="el" href="structtaskStruct.html">kTask_t</a> *tmpTask)</td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="sched_8c.html#18e47c4bb14b30f210b7b93c611a3782">sched_deleteTask</a> (<a class="el" href="types_8h.html#e438ba74394b14d7b24b6df3b3b8c252">pidType</a> <a class="el" href="elf_8c.html#ffd99ec09f321a630ec19d0333e291cd">id</a>)</td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="structtaskStruct.html">kTask_t</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="sched_8c.html#9608fa7a57005270e866d0a8b3a933f3">sched_getDelTask</a> ()</td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="sched_8c.html#cc9c0d52122a455dbd018fabfc11ab59">sched_init</a> ()</td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="sched_8c.html#2cbadd034400c65dbd11fd4892ddf26e">sched_setStatus</a> (<a class="el" href="types_8h.html#e438ba74394b14d7b24b6df3b3b8c252">pidType</a> pid, <a class="el" href="sched_8h.html#3fb333b67375561d327e9b5a8ffa03b9">tState</a> state)</td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="sched_8c.html#08933fe6d593a1c78b9080359f15a0b7">sched_yield</a> ()</td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="sched_8c.html#ddf5d772556328769f19029d068d97e3">schedEndTask</a> (<a class="el" href="types_8h.html#e438ba74394b14d7b24b6df3b3b8c252">pidType</a> pid)</td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="structtaskStruct.html">kTask_t</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="sched_8c.html#9cf37ade4c1f6184b33014ac2015e8ed">schedFindTask</a> (<a class="el" href="types_8h.html#5847ea0262a5aa61eee48cbe95544a78">uInt32</a> <a class="el" href="elf_8c.html#ffd99ec09f321a630ec19d0333e291cd">id</a>)</td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="structtaskStruct.html">kTask_t</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="sched_8c.html#92458df2063761371869cdfe0c9b4ee3">schedNewTask</a> ()</td></tr> <tr><td colspan="2"><br><h2>Variables</h2></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="structtaskStruct.html">kTask_t</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="sched_8c.html#54397bfe18d5da4d50ff03b15f540858">_current</a> = 0x0</td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="structtaskStruct.html">kTask_t</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="sched_8c.html#93c7d4c40424b17a73f34f6fd89b2804">_usedMath</a> = 0x0</td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">static <a class="el" href="structtaskStruct.html">kTask_t</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="sched_8c.html#cb5b7561437e7d2fb6a222ba875057ca">delList</a> = 0x0</td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">static <a class="el" href="types_8h.html#5847ea0262a5aa61eee48cbe95544a78">uInt32</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="sched_8c.html#dfbc9d1d85a9b69ee799f309066ddbf5">nextID</a> = -1</td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">static <a class="el" href="spinlock_8h.html#a240e9404b4ede1e0d714610080d1176">spinLock_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="sched_8c.html#afdb68483104e5a41cb7f6e4ae631f69">schedulerSpinLock</a> = SPIN_LOCK_INITIALIZER</td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">static <a class="el" href="structtaskStruct.html">kTask_t</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="sched_8c.html#df65a6dfe4c14f58df9052c048df01a1">taskList</a> = 0x0</td></tr> </table> <hr><h2>Function Documentation</h2> <a class="anchor" name="549a0c1cc47933fa045b200690965cbd"></a><!-- doxytag: member="sched.c::sched" ref="549a0c1cc47933fa045b200690965cbd" args="()" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">void sched </td> <td>(</td> <td class="paramname"> </td> <td> ) </td> <td width="100%"></td> </tr> </table> </div> <div class="memdoc"> <p> <p> Definition at line <a class="el" href="sched_8c-source.html#l00084">84</a> of file <a class="el" href="sched_8c-source.html">sched.c</a>. <p> References <a class="el" href="sched_8c-source.html#l00051">_current</a>, <a class="el" href="sched_8h.html#3fb333b67375561d327e9b5a8ffa03b911fd9ca455f92c69c084484d5cd803c2">DEAD</a>, <a class="el" href="sched_8h.html#3fb333b67375561d327e9b5a8ffa03b9eb5838b12f5849b4544c2d9d10dc6548">FORK</a>, <a class="el" href="sched_8h-source.html#l00055">taskStruct::id</a>, <a class="el" href="sched_8h-source.html#l00057">taskStruct::next</a>, <a class="el" href="sched_8h.html#3fb333b67375561d327e9b5a8ffa03b96564f2f3e15be06b670547bbcaaf0798">READY</a>, <a class="el" href="sched_8c-source.html#l00194">sched_addDelTask()</a>, <a class="el" href="sched_8c-source.html#l00175">sched_deleteTask()</a>, <a class="el" href="sched_8c-source.html#l00054">schedulerSpinLock</a>, <a class="el" href="spinlock_8c-source.html#l00048">spinTryLock()</a>, and <a class="el" href="sched_8h-source.html#l00062">taskStruct::state</a>. <p> Referenced by <a class="el" href="sched_8c-source.html#l00259">sched_yield()</a>. <p> Here is the call graph for this function:<p><center><img src="sched_8c_549a0c1cc47933fa045b200690965cbd_cgraph.png" border="0" usemap="#sched_8c_549a0c1cc47933fa045b200690965cbd_cgraph_map" alt=""></center> <map name="sched_8c_549a0c1cc47933fa045b200690965cbd_cgraph_map"> <area href="sched_8h.html#e969273d772018d111e1f0344eb550f8" shape="rect" coords="117,6,264,32" alt=""> <area href="sched_8h.html#086cc0adc0b6a3860ceeeb5bc5ea94ea" shape="rect" coords="121,56,260,83" alt=""> <area href="spinlock_8h.html#8f9173fadeddafa01754d6cbcc630198" shape="rect" coords="141,107,240,134" alt=""> </map> </div> </div><p> <a class="anchor" name="ee1d1286c2a03f57a76d84682839d581"></a><!-- doxytag: member="sched.c::sched_addDelTask" ref="ee1d1286c2a03f57a76d84682839d581" args="(kTask_t *tmpTask)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">int sched_addDelTask </td> <td>(</td> <td class="paramtype"><a class="el" href="structtaskStruct.html">kTask_t</a> * </td> <td class="paramname"> <em>tmpTask</em> </td> <td> ) </td> <td width="100%"></td> </tr> </table> </div> <div class="memdoc"> <p> <p> Definition at line <a class="el" href="sched_8c-source.html#l00194">194</a> of file <a class="el" href="sched_8c-source.html">sched.c</a>. <p> References <a class="el" href="sched_8c-source.html#l00048">delList</a>, <a class="el" href="sched_8h-source.html#l00057">taskStruct::next</a>, and <a class="el" href="sched_8h-source.html#l00056">taskStruct::prev</a>. <p> Referenced by <a class="el" href="sched_8c-source.html#l00084">sched()</a>. </div> </div><p> <a class="anchor" name="18e47c4bb14b30f210b7b93c611a3782"></a><!-- doxytag: member="sched.c::sched_deleteTask" ref="18e47c4bb14b30f210b7b93c611a3782" args="(pidType id)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">int sched_deleteTask </td> <td>(</td> <td class="paramtype"><a class="el" href="types_8h.html#e438ba74394b14d7b24b6df3b3b8c252">pidType</a> </td> <td class="paramname"> <em>id</em> </td> <td> ) </td> <td width="100%"></td> </tr> </table> </div> <div class="memdoc"> <p> <p> Definition at line <a class="el" href="sched_8c-source.html#l00175">175</a> of file <a class="el" href="sched_8c-source.html">sched.c</a>. <p> References <a class="el" href="sched_8h-source.html#l00055">taskStruct::id</a>, <a class="el" href="sched_8h-source.html#l00057">taskStruct::next</a>, <a class="el" href="sched_8h-source.html#l00056">taskStruct::prev</a>, and <a class="el" href="sched_8c-source.html#l00047">taskList</a>. <p> Referenced by <a class="el" href="sched_8c-source.html#l00084">sched()</a>. </div> </div><p> <a class="anchor" name="9608fa7a57005270e866d0a8b3a933f3"></a><!-- doxytag: member="sched.c::sched_getDelTask" ref="9608fa7a57005270e866d0a8b3a933f3" args="()" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname"><a class="el" href="structtaskStruct.html">kTask_t</a>* sched_getDelTask </td> <td>(</td> <td class="paramname"> </td> <td> ) </td> <td width="100%"></td> </tr> </table> </div> <div class="memdoc"> <p> <p> Definition at line <a class="el" href="sched_8c-source.html#l00203">203</a> of file <a class="el" href="sched_8c-source.html">sched.c</a>. <p> References <a class="el" href="sched_8c-source.html#l00048">delList</a>, and <a class="el" href="sched_8h-source.html#l00057">taskStruct::next</a>. <p> Referenced by <a class="el" href="systemtask_8c-source.html#l00048">systemTask()</a>. </div> </div><p> <a class="anchor" name="cc9c0d52122a455dbd018fabfc11ab59"></a><!-- doxytag: member="sched.c::sched_init" ref="cc9c0d52122a455dbd018fabfc11ab59" args="()" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">int sched_init </td> <td>(</td> <td class="paramname"> </td> <td> ) </td> <td width="100%"></td> </tr> </table> </div> <div class="memdoc"> <p> <p> Definition at line <a class="el" href="sched_8c-source.html#l00069">69</a> of file <a class="el" href="sched_8c-source.html">sched.c</a>. <p> References <a class="el" href="sched_8h-source.html#l00055">taskStruct::id</a>, <a class="el" href="kmalloc_8c-source.html#l00247">kmalloc()</a>, <a class="el" href="kpanic_8c-source.html#l00042">kpanic()</a>, <a class="el" href="kprintf_8c-source.html#l00038">kprintf()</a>, <a class="el" href="sched_8c-source.html#l00049">nextID</a>, and <a class="el" href="sched_8c-source.html#l00047">taskList</a>. <p> Here is the call graph for this function:<p><center><img src="sched_8c_cc9c0d52122a455dbd018fabfc11ab59_cgraph.png" border="0" usemap="#sched_8c_cc9c0d52122a455dbd018fabfc11ab59_cgraph_map" alt=""></center> <map name="sched_8c_cc9c0d52122a455dbd018fabfc11ab59_cgraph_map"> <area href="kmalloc_8h.html#150eab2ac4ce4553e21ca10e7f441762" shape="rect" coords="144,284,219,311" alt=""> <area href="kpanic_8h.html#db9a182aa071791a306163d50d653deb" shape="rect" coords="499,309,565,336" alt=""> <area href="kprint_8h.html#b2761bdf0cca73ad0fb5880895210cd8" shape="rect" coords="689,360,756,387" alt=""> <area href="kmalloc_8c.html#f6c4ea5cb961c72548d92ff65d7e33a4" shape="rect" coords="268,183,388,209" alt=""> <area href="spinlock_8h.html#2cd9a4502680fb8e7f0fe6b029e558b1" shape="rect" coords="683,56,763,83" alt=""> <area href="spinlock_8h.html#dd996cbbb3b9826dd9c8cf02b66a4c65" shape="rect" coords="675,157,771,184" alt=""> <area href="kmalloc_8c.html#eb1c3f1ef8eb9063c2e5c4af488dd2d0" shape="rect" coords="267,309,389,336" alt=""> <area href="lib_2string_8h.html#ce4b911463887af5e748326323e99a23" shape="rect" coords="493,208,571,235" alt=""> <area href="paging_8h.html#541f0b43826a40b9e978f5479080bb0e" shape="rect" coords="437,107,627,133" alt=""> </map> </div> </div><p> <a class="anchor" name="2cbadd034400c65dbd11fd4892ddf26e"></a><!-- doxytag: member="sched.c::sched_setStatus" ref="2cbadd034400c65dbd11fd4892ddf26e" args="(pidType pid, tState state)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">int sched_setStatus </td> <td>(</td> <td class="paramtype"><a class="el" href="types_8h.html#e438ba74394b14d7b24b6df3b3b8c252">pidType</a> </td> <td class="paramname"> <em>pid</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"><a class="el" href="sched_8h.html#3fb333b67375561d327e9b5a8ffa03b9">tState</a> </td> <td class="paramname"> <em>state</em></td><td> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td><td width="100%"></td> </tr> </table> </div> <div class="memdoc"> <p> <p> Definition at line <a class="el" href="sched_8c-source.html#l00281">281</a> of file <a class="el" href="sched_8c-source.html">sched.c</a>. <p> References <a class="el" href="sched_8c-source.html#l00216">schedFindTask()</a>, <a class="el" href="sched_8h-source.html#l00062">taskStruct::state</a>, and <a class="el" href="ap-boot_8S-source.html#l00006">x1</a>. <p> Referenced by <a class="el" href="endtask_8c-source.html#l00046">endTask()</a>, <a class="el" href="exec_8c-source.html#l00143">execFile()</a>, and <a class="el" href="exec_8c-source.html#l00055">execThread()</a>. <p> Here is the call graph for this function:<p><center><img src="sched_8c_2cbadd034400c65dbd11fd4892ddf26e_cgraph.png" border="0" usemap="#sched_8c_2cbadd034400c65dbd11fd4892ddf26e_cgraph_map" alt=""></center> <map name="sched_8c_2cbadd034400c65dbd11fd4892ddf26e_cgraph_map"> <area href="sched_8h.html#9cf37ade4c1f6184b33014ac2015e8ed" shape="rect" coords="188,5,305,32" alt=""> </map> </div> </div><p> <a class="anchor" name="08933fe6d593a1c78b9080359f15a0b7"></a><!-- doxytag: member="sched.c::sched_yield" ref="08933fe6d593a1c78b9080359f15a0b7" args="()" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">void sched_yield </td> <td>(</td> <td class="paramname"> </td> <td> ) </td> <td width="100%"></td> </tr> </table> </div> <div class="memdoc"> <p> <p> Definition at line <a class="el" href="sched_8c-source.html#l00259">259</a> of file <a class="el" href="sched_8c-source.html">sched.c</a>. <p> References <a class="el" href="sched_8c-source.html#l00084">sched()</a>. <p> Referenced by <a class="el" href="idt_8c-source.html#l00197">_int0()</a>, <a class="el" href="idt_8c-source.html#l00203">_int1()</a>, <a class="el" href="idt_8c-source.html#l00263">_int10()</a>, <a class="el" href="idt_8c-source.html#l00269">_int11()</a>, <a class="el" href="idt_8c-source.html#l00275">_int12()</a>, <a class="el" href="idt_8c-source.html#l00209">_int2()</a>, <a class="el" href="idt_8c-source.html#l00215">_int3()</a>, <a class="el" href="idt_8c-source.html#l00221">_int4()</a>, <a class="el" href="idt_8c-source.html#l00227">_int5()</a>, <a class="el" href="idt_8c-source.html#l00233">_int6()</a>, <a class="el" href="idt_8c-source.html#l00257">_int9()</a>, <a class="el" href="endtask_8c-source.html#l00046">endTask()</a>, <a class="el" href="fork_8c-source.html#l00050">fork_copyProcess()</a>, <a class="el" href="sched_8c-source.html#l00241">schedEndTask()</a>, <a class="el" href="spinlock_8c-source.html#l00056">spinLock()</a>, <a class="el" href="file_8c-source.html#l00059">sysFgetc()</a>, <a class="el" href="syscall_8c-source.html#l00235">sysSchedYield()</a>, <a class="el" href="systemtask_8c-source.html#l00048">systemTask()</a>, <a class="el" href="ubthread_8c-source.html#l00105">ubthread_cond_timedwait()</a>, and <a class="el" href="ubthread_8c-source.html#l00117">ubthread_cond_wait()</a>. <p> Here is the call graph for this function:<p><center><img src="sched_8c_08933fe6d593a1c78b9080359f15a0b7_cgraph.png" border="0" usemap="#sched_8c_08933fe6d593a1c78b9080359f15a0b7_cgraph_map" alt=""></center> <map name="sched_8c_08933fe6d593a1c78b9080359f15a0b7_cgraph_map"> <area href="sched_8h.html#549a0c1cc47933fa045b200690965cbd" shape="rect" coords="156,56,218,83" alt=""> <area href="sched_8h.html#e969273d772018d111e1f0344eb550f8" shape="rect" coords="267,6,414,32" alt=""> <area href="sched_8h.html#086cc0adc0b6a3860ceeeb5bc5ea94ea" shape="rect" coords="271,56,410,83" alt=""> <area href="spinlock_8h.html#8f9173fadeddafa01754d6cbcc630198" shape="rect" coords="291,107,390,134" alt=""> </map> </div> </div><p> <a class="anchor" name="ddf5d772556328769f19029d068d97e3"></a><!-- doxytag: member="sched.c::schedEndTask" ref="ddf5d772556328769f19029d068d97e3" args="(pidType pid)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">void schedEndTask </td> <td>(</td> <td class="paramtype"><a class="el" href="types_8h.html#e438ba74394b14d7b24b6df3b3b8c252">pidType</a> </td> <td class="paramname"> <em>pid</em> </td> <td> ) </td> <td width="100%"></td> </tr> </table> </div> <div class="memdoc"> <p> <p> Definition at line <a class="el" href="sched_8c-source.html#l00241">241</a> of file <a class="el" href="sched_8c-source.html">sched.c</a>. <p> References <a class="el" href="sched_8c-source.html#l00051">_current</a>, <a class="el" href="endtask_8c-source.html#l00046">endTask()</a>, <a class="el" href="sched_8h-source.html#l00055">taskStruct::id</a>, and <a class="el" href="sched_8c-source.html#l00259">sched_yield()</a>. <p> Here is the call graph for this function:<p><center><img src="sched_8c_ddf5d772556328769f19029d068d97e3_cgraph.png" border="0" usemap="#sched_8c_ddf5d772556328769f19029d068d97e3_cgraph_map" alt=""></center> <map name="sched_8c_ddf5d772556328769f19029d068d97e3_cgraph_map"> <area href="endtask_8h.html#152c1859ada097cc21071f471bfa2e67" shape="rect" coords="171,6,248,32" alt=""> <area href="sched_8h.html#08933fe6d593a1c78b9080359f15a0b7" shape="rect" coords="312,56,413,83" alt=""> <area href="sched_8h.html#51101e12c9236ea1286477695c110482" shape="rect" coords="297,6,428,32" alt=""> <area href="sched_8h.html#9cf37ade4c1f6184b33014ac2015e8ed" shape="rect" coords="479,6,596,32" alt=""> <area href="sched_8h.html#549a0c1cc47933fa045b200690965cbd" shape="rect" coords="507,56,568,83" alt=""> <area href="sched_8h.html#e969273d772018d111e1f0344eb550f8" shape="rect" coords="645,6,792,32" alt=""> <area href="sched_8h.html#086cc0adc0b6a3860ceeeb5bc5ea94ea" shape="rect" coords="649,56,788,83" alt=""> <area href="spinlock_8h.html#8f9173fadeddafa01754d6cbcc630198" shape="rect" coords="669,107,768,134" alt=""> </map> </div> </div><p> <a class="anchor" name="9cf37ade4c1f6184b33014ac2015e8ed"></a><!-- doxytag: member="sched.c::schedFindTask" ref="9cf37ade4c1f6184b33014ac2015e8ed" args="(uInt32 id)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname"><a class="el" href="structtaskStruct.html">kTask_t</a>* schedFindTask </td> <td>(</td> <td class="paramtype"><a class="el" href="types_8h.html#5847ea0262a5aa61eee48cbe95544a78">uInt32</a> </td> <td class="paramname"> <em>id</em> </td> <td> ) </td> <td width="100%"></td> </tr> </table> </div> <div class="memdoc"> <p> <p> Definition at line <a class="el" href="sched_8c-source.html#l00216">216</a> of file <a class="el" href="sched_8c-source.html">sched.c</a>. <p> References <a class="el" href="sched_8h-source.html#l00055">taskStruct::id</a>, <a class="el" href="sched_8h-source.html#l00057">taskStruct::next</a>, and <a class="el" href="sched_8c-source.html#l00047">taskList</a>. <p> Referenced by <a class="el" href="sched_8c-source.html#l00281">sched_setStatus()</a>, <a class="el" href="syscall_8c-source.html#l00179">sysCheckPid()</a>, <a class="el" href="systemtask_8c-source.html#l00048">systemTask()</a>, and <a class="el" href="paging_8c-source.html#l00332">vmmMapFromTask()</a>. </div> </div><p> <a class="anchor" name="92458df2063761371869cdfe0c9b4ee3"></a><!-- doxytag: member="sched.c::schedNewTask" ref="92458df2063761371869cdfe0c9b4ee3" args="()" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname"><a class="el" href="structtaskStruct.html">kTask_t</a>* schedNewTask </td> <td>(</td> <td class="paramname"> </td> <td> ) </td> <td width="100%"></td> </tr> </table> </div> <div class="memdoc"> <p> <p> Definition at line <a class="el" href="sched_8c-source.html#l00143">143</a> of file <a class="el" href="sched_8c-source.html">sched.c</a>. <p> References <a class="el" href="kern__descrip_8h-source.html#l00094">file::f_flag</a>, <a class="el" href="sched_8h-source.html#l00055">taskStruct::id</a>, <a class="el" href="kmalloc_8c-source.html#l00247">kmalloc()</a>, <a class="el" href="kpanic_8c-source.html#l00042">kpanic()</a>, <a class="el" href="memset_8c-source.html#l00037">memset()</a>, <a class="el" href="sched_8h.html#3fb333b67375561d327e9b5a8ffa03b9ec34b0b90541576a22697631105dc847">NEW</a>, <a class="el" href="sched_8h-source.html#l00057">taskStruct::next</a>, <a class="el" href="sched_8c-source.html#l00049">nextID</a>, <a class="el" href="thread_8h-source.html#l00039">thread::o_files</a>, <a class="el" href="sched_8h-source.html#l00056">taskStruct::prev</a>, <a class="el" href="sched_8c-source.html#l00054">schedulerSpinLock</a>, <a class="el" href="spinlock_8c-source.html#l00056">spinLock()</a>, <a class="el" href="spinlock_8c-source.html#l00037">spinUnlock()</a>, <a class="el" href="sched_8h-source.html#l00062">taskStruct::state</a>, <a class="el" href="sched_8c-source.html#l00047">taskList</a>, <a class="el" href="sched_8h-source.html#l00067">taskStruct::td</a>, and <a class="el" href="sched_8h-source.html#l00065">taskStruct::usedMath</a>. <p> Referenced by <a class="el" href="bioscall_8c-source.html#l00050">biosCall()</a>, <a class="el" href="exec_8c-source.html#l00143">execFile()</a>, and <a class="el" href="exec_8c-source.html#l00055">execThread()</a>. <p> Here is the call graph for this function:<p><center><img src="sched_8c_92458df2063761371869cdfe0c9b4ee3_cgraph.png" border="0" usemap="#sched_8c_92458df2063761371869cdfe0c9b4ee3_cgraph_map" alt=""></center> <map name="sched_8c_92458df2063761371869cdfe0c9b4ee3_cgraph_map"> <area href="kmalloc_8h.html#150eab2ac4ce4553e21ca10e7f441762" shape="rect" coords="173,157,248,184" alt=""> <area href="kpanic_8h.html#db9a182aa071791a306163d50d653deb" shape="rect" coords="528,81,595,108" alt=""> <area href="lib_2string_8h.html#ce4b911463887af5e748326323e99a23" shape="rect" coords="523,411,600,437" alt=""> <area href="spinlock_8h.html#2cd9a4502680fb8e7f0fe6b029e558b1" shape="rect" coords="712,233,792,260" alt=""> <area href="spinlock_8h.html#dd996cbbb3b9826dd9c8cf02b66a4c65" shape="rect" coords="704,411,800,437" alt=""> <area href="kmalloc_8c.html#f6c4ea5cb961c72548d92ff65d7e33a4" shape="rect" coords="297,284,417,311" alt=""> <area href="kprint_8h.html#b2761bdf0cca73ad0fb5880895210cd8" shape="rect" coords="719,56,785,83" alt=""> <area href="kmalloc_8c.html#eb1c3f1ef8eb9063c2e5c4af488dd2d0" shape="rect" coords="296,107,419,133" alt=""> <area href="paging_8h.html#541f0b43826a40b9e978f5479080bb0e" shape="rect" coords="467,309,656,336" alt=""> </map> </div> </div><p> <hr><h2>Variable Documentation</h2> <a class="anchor" name="54397bfe18d5da4d50ff03b15f540858"></a><!-- doxytag: member="sched.c::_current" ref="54397bfe18d5da4d50ff03b15f540858" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname"><a class="el" href="structtaskStruct.html">kTask_t</a>* <a class="el" href="sched_8c.html#54397bfe18d5da4d50ff03b15f540858">_current</a> = 0x0 </td> </tr> </table> </div> <div class="memdoc"> <p> <p> Definition at line <a class="el" href="sched_8c-source.html#l00051">51</a> of file <a class="el" href="sched_8c-source.html">sched.c</a>. <p> Referenced by <a class="el" href="kern__sysctl_8c-source.html#l00153">__sysctl()</a>, <a class="el" href="idt_8c-source.html#l00197">_int0()</a>, <a class="el" href="idt_8c-source.html#l00203">_int1()</a>, <a class="el" href="idt_8c-source.html#l00263">_int10()</a>, <a class="el" href="idt_8c-source.html#l00269">_int11()</a>, <a class="el" href="idt_8c-source.html#l00275">_int12()</a>, <a class="el" href="idt_8c-source.html#l00281">_int13()</a>, <a class="el" href="idt_8c-source.html#l00209">_int2()</a>, <a class="el" href="idt_8c-source.html#l00215">_int3()</a>, <a class="el" href="idt_8c-source.html#l00221">_int4()</a>, <a class="el" href="idt_8c-source.html#l00227">_int5()</a>, <a class="el" href="idt_8c-source.html#l00233">_int6()</a>, <a class="el" href="idt_8c-source.html#l00239">_int8()</a>, <a class="el" href="idt_8c-source.html#l00257">_int9()</a>, <a class="el" href="bioscall_8c-source.html#l00050">biosCall()</a>, <a class="el" href="elf_8c-source.html#l00111">elf_loadfile()</a>, <a class="el" href="endtask_8c-source.html#l00046">endTask()</a>, <a class="el" href="exec_8c-source.html#l00143">execFile()</a>, <a class="el" href="fork_8c-source.html#l00050">fork_copyProcess()</a>, <a class="el" href="kern__descrip_8c-source.html#l00112">fstat()</a>, <a class="el" href="gen__calls_8c-source.html#l00059">getgid()</a>, <a class="el" href="gen__calls_8c-source.html#l00041">getpid()</a>, <a class="el" href="gen__calls_8c-source.html#l00050">getuid()</a>, <a class="el" href="idt_8c-source.html#l00187">intNull()</a>, <a class="el" href="kmod_8c-source.html#l00075">kmod_load()</a>, <a class="el" href="ld_8c-source.html#l00042">ldEnable()</a>, <a class="el" href="idt_8c-source.html#l00424">mathStateRestore()</a>, <a class="el" href="paging_8c-source.html#l00453">mmap()</a>, <a class="el" href="system_8c-source.html#l00069">mpi_createMbox()</a>, <a class="el" href="system_8c-source.html#l00234">mpi_destroyMbox()</a>, <a class="el" href="system_8c-source.html#l00189">mpi_fetchMessage()</a>, <a class="el" href="system_8c-source.html#l00143">mpi_postMessage()</a>, <a class="el" href="paging_8c-source.html#l00478">obreak()</a>, <a class="el" href="sched_8c-source.html#l00084">sched()</a>, <a class="el" href="sched_8c-source.html#l00241">schedEndTask()</a>, <a class="el" href="exec_8c-source.html#l00552">sys_exec()</a>, <a class="el" href="syscall__new_8c-source.html#l00041">syscall()</a>, <a class="el" href="file_8c-source.html#l00102">sysChDir()</a>, <a class="el" href="exec_8c-source.html#l00334">sysExec()</a>, <a class="el" href="syscall_8c-source.html#l00174">sysExit()</a>, <a class="el" href="file_8c-source.html#l00059">sysFgetc()</a>, <a class="el" href="file_8c-source.html#l00049">sysFwrite()</a>, <a class="el" href="syscall_8c-source.html#l00228">sysGetCwd()</a>, <a class="el" href="syscall_8c-source.html#l00196">sysGetFreePage()</a>, <a class="el" href="syscall_8c-source.html#l00142">sysGetGid()</a>, <a class="el" href="syscall_8c-source.html#l00129">sysGetpid()</a>, <a class="el" href="syscall_8c-source.html#l00136">sysGetUid()</a>, <a class="el" href="file_8c-source.html#l00436">sysMkDir()</a>, <a class="el" href="syscall_8c-source.html#l00113">sysPasswd()</a>, <a class="el" href="syscall_8c-source.html#l00161">sysSetGid()</a>, <a class="el" href="syscall_8c-source.html#l00148">sysSetUid()</a>, <a class="el" href="ubthread_8c-source.html#l00081">ubthread_mutex_lock()</a>, <a class="el" href="ubthread_8c-source.html#l00092">ubthread_mutex_unlock()</a>, <a class="el" href="ubthread_8c-source.html#l00044">ubthread_self()</a>, <a class="el" href="pagefault_8c-source.html#l00053">vmm_pageFault()</a>, <a class="el" href="paging_8c-source.html#l00160">vmm_remapPage()</a>, <a class="el" href="getfreevirtualpage_8c-source.html#l00047">vmmGetFreeVirtualPage()</a>, and <a class="el" href="paging_8c-source.html#l00332">vmmMapFromTask()</a>. </div> </div><p> <a class="anchor" name="93c7d4c40424b17a73f34f6fd89b2804"></a><!-- doxytag: member="sched.c::_usedMath" ref="93c7d4c40424b17a73f34f6fd89b2804" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname"><a class="el" href="structtaskStruct.html">kTask_t</a>* <a class="el" href="sched_8c.html#93c7d4c40424b17a73f34f6fd89b2804">_usedMath</a> = 0x0 </td> </tr> </table> </div> <div class="memdoc"> <p> <p> Definition at line <a class="el" href="sched_8c-source.html#l00052">52</a> of file <a class="el" href="sched_8c-source.html">sched.c</a>. <p> Referenced by <a class="el" href="idt_8c-source.html#l00424">mathStateRestore()</a>. </div> </div><p> <a class="anchor" name="cb5b7561437e7d2fb6a222ba875057ca"></a><!-- doxytag: member="sched.c::delList" ref="cb5b7561437e7d2fb6a222ba875057ca" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname"><a class="el" href="structtaskStruct.html">kTask_t</a>* <a class="el" href="sched_8c.html#cb5b7561437e7d2fb6a222ba875057ca">delList</a> = 0x0<code> [static]</code> </td> </tr> </table> </div> <div class="memdoc"> <p> <p> Definition at line <a class="el" href="sched_8c-source.html#l00048">48</a> of file <a class="el" href="sched_8c-source.html">sched.c</a>. <p> Referenced by <a class="el" href="sched_8c-source.html#l00194">sched_addDelTask()</a>, and <a class="el" href="sched_8c-source.html#l00203">sched_getDelTask()</a>. </div> </div><p> <a class="anchor" name="dfbc9d1d85a9b69ee799f309066ddbf5"></a><!-- doxytag: member="sched.c::nextID" ref="dfbc9d1d85a9b69ee799f309066ddbf5" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname"><a class="el" href="types_8h.html#5847ea0262a5aa61eee48cbe95544a78">uInt32</a> <a class="el" href="sched_8c.html#dfbc9d1d85a9b69ee799f309066ddbf5">nextID</a> = -1<code> [static]</code> </td> </tr> </table> </div> <div class="memdoc"> <p> <p> Definition at line <a class="el" href="sched_8c-source.html#l00049">49</a> of file <a class="el" href="sched_8c-source.html">sched.c</a>. <p> Referenced by <a class="el" href="sched_8c-source.html#l00069">sched_init()</a>, and <a class="el" href="sched_8c-source.html#l00143">schedNewTask()</a>. </div> </div><p> <a class="anchor" name="afdb68483104e5a41cb7f6e4ae631f69"></a><!-- doxytag: member="sched.c::schedulerSpinLock" ref="afdb68483104e5a41cb7f6e4ae631f69" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname"><a class="el" href="spinlock_8h.html#a240e9404b4ede1e0d714610080d1176">spinLock_t</a> <a class="el" href="sched_8c.html#afdb68483104e5a41cb7f6e4ae631f69">schedulerSpinLock</a> = SPIN_LOCK_INITIALIZER<code> [static]</code> </td> </tr> </table> </div> <div class="memdoc"> <p> <p> Definition at line <a class="el" href="sched_8c-source.html#l00054">54</a> of file <a class="el" href="sched_8c-source.html">sched.c</a>. <p> Referenced by <a class="el" href="sched_8c-source.html#l00084">sched()</a>, and <a class="el" href="sched_8c-source.html#l00143">schedNewTask()</a>. </div> </div><p> <a class="anchor" name="df65a6dfe4c14f58df9052c048df01a1"></a><!-- doxytag: member="sched.c::taskList" ref="df65a6dfe4c14f58df9052c048df01a1" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname"><a class="el" href="structtaskStruct.html">kTask_t</a>* <a class="el" href="sched_8c.html#df65a6dfe4c14f58df9052c048df01a1">taskList</a> = 0x0<code> [static]</code> </td> </tr> </table> </div> <div class="memdoc"> <p> <p> Definition at line <a class="el" href="sched_8c-source.html#l00047">47</a> of file <a class="el" href="sched_8c-source.html">sched.c</a>. <p> Referenced by <a class="el" href="sched_8c-source.html#l00175">sched_deleteTask()</a>, <a class="el" href="sched_8c-source.html#l00069">sched_init()</a>, <a class="el" href="sched_8c-source.html#l00216">schedFindTask()</a>, and <a class="el" href="sched_8c-source.html#l00143">schedNewTask()</a>. </div> </div><p> <hr size="1"><address style="align: right;"><small>Generated on Fri Dec 15 11:23:56 2006 for UbixOS V2 by <a href="http://www.doxygen.org/index.html"> <img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.7 </small></address> </body> </html>