📄 c-basic8.html
字号:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN"><html><head><link rel="STYLESHEET" type="text/css" href="wrs.css"><title> Basic OS </title></head><body bgcolor="FFFFFF"><p class="navbar" align="right"><a href="index.html"><img border="0" alt="[Contents]" src="icons/contents.gif"></a><a href="GuideIX.html"><img border="0" alt="[Index]" src="icons/index.gif"></a><a href="c-basic.html"><img border="0" alt="[Top]" src="icons/top.gif"></a><a href="c-basic7.html"><img border="0" alt="[Prev]" src="icons/prev.gif"></a><a href="c-iosys.html"><img border="0" alt="[Next]" src="icons/next.gif"></a></p><font face="Helvetica, sans-serif" class="sans"><h3 class="H2"><i><a name="86942">2.8 POSIX Memory-Locking Interface</a></i></h3></font><dl class="margin"><dl class="margin"><dd><p class="Body"><a name="86944"> </a>Many operating systems perform memory <i class="term">paging</i> and <i class="term">swapping</i>. These techniques allow the use of more virtual memory than there is physical memory on a system, by copying blocks of memory out to disk and back. These techniques impose severe and unpredictable delays in execution time; they are therefore undesirable in real-time systems.</p><dd><p class="Body"><a name="86945"> </a>Because the <i class="i">wind</i> kernel is designed specifically for real-time applications, it never performs paging or swapping. However, the POSIX 1003.1b standard for real-time extensions also covers operating systems that perform paging or swapping. On such systems, applications that attempt real-time performance can use the POSIX <i class="term">page-locking</i> facilities to declare that certain blocks of memory must not be paged or swapped.</p><dd><p class="Body"><a name="86947"> </a>To help maximize portability, VxWorks includes the POSIX page-locking routines. Executing these routines makes no difference in VxWorks, because all memory is, in effect, always locked. They are included only to make it easier to port programs between other POSIX-conforming systems and VxWorks.</p><dd><p class="Body"><a name="86949"> </a>The POSIX page-locking routines are in <b class="library">mmanPxLib</b> (the name reflects the fact that these routines are part of the POSIX "memory-management" routines). Because in VxWorks all pages are always kept in memory, the routines listed in <a href="c-basic8.html#86960">Table 2-25</a> always return a value of <b class="symbol_UC">OK</b> (0), and have no further effect.</p><dd><p class="Body"><a name="86954"> </a>The <b class="library">mmanPxLib</b> library is included automatically when the configuration constant <b class="symbol_UC">INCLUDE_POSIX_MEM</b> is selected for inclusion in the project facility VxWorks view.<p class="table"><h4 class="EntityTitle"><a name="86960"><font face="Helvetica, sans-serif" size="-1" class="sans">Table 2-25: POSIX Memory Management Calls</font></a></h4><table border="0" cellpadding="0" cellspacing="0"><tr><td colspan="20"><hr class="tablerule"></td></tr><tr valign="middle"><th rowspan="1" colspan="1"><div class="CellHeading"><b><a name="86964"> </a><font face="Helvetica, sans-serif" size="-1" class="sans">Call</font></b></div></th><th rowspan="1" colspan="1"><div class="CellHeading"><b><a name="86966"> </a><font face="Helvetica, sans-serif" size="-1" class="sans">Purpose on Systems with Paging or Swapping</font></b></div></th></tr><tr><td colspan="20"><hr class="tablerule2"></td></tr><tr valign="top"><td colspan=1 rowspan=1><div class="CellBody"><a name="86973"> </a><b class="routine"><i class="routine">mlockall</i></b><b>( )</b> </div></td><td colspan=1 rowspan=1><div class="CellBody"><a name="86975"> </a>Lock into memory all pages used by a task. </div></td></tr><tr valign="top"><td colspan=1 rowspan=1><div class="CellBody"><a name="86978"> </a><b class="routine"><i class="routine">munlockall</i></b><b>( )</b> </div></td><td colspan=1 rowspan=1><div class="CellBody"><a name="86980"> </a>Unlock all pages used by a task. </div></td></tr><tr valign="top"><td colspan=1 rowspan=1><div class="CellBody"><a name="86983"> </a><b class="routine"><i class="routine">mlock</i></b><b>( )</b> </div></td><td colspan=1 rowspan=1><div class="CellBody"><a name="86985"> </a>Lock a specified page. </div></td></tr><tr valign="top"><td colspan=1 rowspan=1><div class="CellBody"><a name="86988"> </a><b class="routine"><i class="routine">munlock</i></b><b>( )</b> </div></td><td colspan=1 rowspan=1><div class="CellBody"><a name="86990"> </a>Unlock a specified page. </div></td></tr><tr><td colspan="20"><hr class="tablerule"></td></tr><tr valign="middle"><td colspan="20"></td></tr></table></p></p><dd><p class="Body"><a name="79990"> </a></p></dl></dl><a name="foot"><hr></a><p class="navbar" align="right"><a href="index.html"><img border="0" alt="[Contents]" src="icons/contents.gif"></a><a href="GuideIX.html"><img border="0" alt="[Index]" src="icons/index.gif"></a><a href="c-basic.html"><img border="0" alt="[Top]" src="icons/top.gif"></a><a href="c-basic7.html"><img border="0" alt="[Prev]" src="icons/prev.gif"></a><a href="c-iosys.html"><img border="0" alt="[Next]" src="icons/next.gif"></a></p></body></html><!---by WRS Documentation (), Wind River Systems, Inc. conversion tool: Quadralay WebWorks Publisher 4.0.11 template: CSS Template, Jan 1998 - Jefro --->
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -