⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 measuring_kernel_performance.html

📁 ADI 公司blackfin系列的用户使用文挡。
💻 HTML
字号:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html><head>  <title></title>  <link rel="stylesheet" media="screen" type="text/css" href="./style.css" />  <link rel="stylesheet" media="screen" type="text/css" href="./design.css" />  <link rel="stylesheet" media="print" type="text/css" href="./print.css" />  <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /></head><body><a href=start.html>start</a></br><h1><a name="real_time_performance" id="real_time_performance">Real Time Performance</a></h1><div class="level1"><p> While there are many requirements of an embedded operating system - the one that attracts the most attention is real time performance. Others, which can not be left out are:</p><ul><li class="level1"><div class="li"> good documentation</div></li><li class="level1"><div class="li"> good tools to develop and debug your applications</div></li><li class="level1"><div class="li"> good tools to tune or profile your application</div></li><li class="level1"><div class="li"> good support</div></li></ul><p> Even though figures like the Interrupt latency, Context switch time are important, there are other parameters that will determine if an Operating System will make a good canidate for your real time requirements. For example a RTOS supporting many devices or networking will have more advantages than a simple very good nano-kernel.</p><p>Since there are several definitions of real-time, most of them contradictory, we will use the one from <a href="mailto:&#x67;&#x69;&#x6c;&#x6c;&#x69;&#x65;&#x73;&#x40;&#x65;&#x65;&#x2e;&#x75;&#x62;&#x63;&#x2e;&#x63;&#x61;" class="mail JSnocheck" title="&#x67;&#x69;&#x6c;&#x6c;&#x69;&#x65;&#x73;&#x40;&#x65;&#x65;&#x2e;&#x75;&#x62;&#x63;&#x2e;&#x63;&#x61;">Donald Gillies</a>, which is in the <a href="http://www.faqs.org/faqs/realtime-computing/faq/" class="urlextern" title="http://www.faqs.org/faqs/realtime-computing/faq/"  rel="nofollow">Comp.realtime FAQ</a>: </p><pre class="code">&quot;A real-time system is one in which the correctness of the computations notonly depends upon the logical correctness of the computation but also uponthe time at which the result is produced. If the timing constraints of thesystem are not met, system failure is said to have occurred.&quot;</pre><p>According to the <a href="http://www.faqs.org/faqs/realtime-computing/faq/" class="urlextern" title="http://www.faqs.org/faqs/realtime-computing/faq/"  rel="nofollow">Comp.realtime FAQ</a> what makes an Operating System an real time operating system are the following:</p><ol><li class="level1"><div class="li"> A RTOS (Real-Time Operating System) has to be multi-threaded and preemptible.</div></li><li class="level1"><div class="li"> The notion of thread priority has to exist as there is for the moment no deadline driven <acronym title="Operating System">OS</acronym>.</div></li><li class="level1"><div class="li"> The <acronym title="Operating System">OS</acronym> has to support predictable thread synchronisation mechanisms</div></li><li class="level1"><div class="li"> A system of priority inheritance has to exist</div></li><li class="level1"><div class="li"> <acronym title="Operating System">OS</acronym> Behaviour should be known</div></li></ol><p> So the following figures should be clearly given by the <acronym title="Operating System">OS</acronym> manufacturer:</p><ol><li class="level1"><div class="li"> the interrupt latency (i.e. time from interrupt to task run) : this has to be compatible with application requirements and has to be predictable. This value depends on the number of simultaneous pending interrupts.</div></li><li class="level1"><div class="li"> for every system call, the maximum time it takes. It should be predictable and independent from the number of objects in the system;</div></li><li class="level1"><div class="li"> the maximum time the <acronym title="Operating System">OS</acronym> and drivers mask the interrupts.</div></li><li class="level1"><div class="li"> System Interrupt Levels.</div></li><li class="level1"><div class="li"> Device driver IRQ Levels, maximum time they take, etc.</div></li></ol><p> To determine how real time, uclinux is, we will try to provide the requirements stated above with some standard, and custom tools: </p><ul><li class="level1"><div class="li"> <a href="lmbench.html" class="wikilink1" title="lmbench.html">lmbench</a></div></li><li class="level1"><div class="li"> <a href="interrupt_latency.html" class="wikilink1" title="interrupt_latency.html">interrupt latency</a></div></li></ul></div><!-- SECTION [1-2482] --><h1><a name="other_benchmarks" id="other_benchmarks">Other Benchmarks</a></h1><div class="level1"><ul><li class="level1"><div class="li"> <a href="dhrystone.html" class="wikilink1" title="dhrystone.html">Dhrystone</a></div></li><li class="level1"><div class="li"> <a href="whetstone.html" class="wikilink1" title="whetstone.html">Whetstone</a></div></li><li class="level1"><div class="li"> <a href="nbench.html" class="wikilink2" title="nbench.html">nbench</a></div></li><li class="level1"><div class="li"> <a href="netperf.html" class="wikilink2" title="netperf.html">netperf</a></div></li></ul></div><!-- SECTION [2483-] --></body></html>

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -