Home :: International :: Manuals :: Howto :: FAQ :: Man Pages :: Email Login

 
 

 

MLOCKALL

Section: Linux Programmer's Manual (2)
Updated: 1995-11-26
Index Return to Main Contents
 

̾Á°

mlockall - ¸Æ¤Ó½Ð¤·¤¿¥×¥í¥»¥¹¤Î¥Ú¡¼¥¸¥ó¥°¤ò¶Ø»ß¤¹¤ë  

½ñ¼°

#include <sys/mman.h>

int mlockall(int flags);
 

ÀâÌÀ

mlockall ¸Æ¤Ó½Ð¤·¤¿¥×¥í¥»¥¹¤Î¥¢¥É¥ì¥¹¶õ´Ö¤Ë¥Þ¥Ã¥×¤µ¤ì¤Æ¤¤¤ëÁ´¤Æ¤Î¥Ú¡¼¥¸¤Î ¥Ú¡¼¥¸¥ó¥°(paging)¤ò¶Ø»ß¤¹¤ë¡£¤³¤ì¤Ë¤Ï¥³¡¼¥É¡¢¥Ç¡¼¥¿¡¢¥¹¥¿¥Ã¥¯¤Î ³Æ¥»¥°¥á¥ó¥È¡¢¶¦Í­¥é¥¤¥Ö¥é¥ê¡¢¥«¡¼¥Í¥ë¤Î¥æ¡¼¥¶¡¼¶õ´Ö¥Ç¡¼¥¿¡¢ ¶¦Í­¥á¥â¥ê¡¢¥á¥â¥ê¡¦¥Þ¥Ã¥×¤µ¤ì¤¿¥Õ¥¡¥¤¥ë¤ò´Þ¤ó¤Ç¤¤¤ë¡£ mlockall ¥·¥¹¥Æ¥à¡¦¥³¡¼¥ë¤¬À®¸ù¤·¤¿¾ì¹ç¤Ë¤ÏÁ´¤Æ¤Î¥Þ¥Ã¥×¤µ¤ì¤¿¥Ú¡¼¥¸¤Ï RAM ¤Ë »Ä¤ê³¤±¤ë¤³¤È¤òÊݾڤµ¤ì¤ë¡¢¤½¤·¤Æ munlock ¤ä munlockall ¤Ë¤è¤Ã¤Æ¥Ú¡¼¥¸¤¬¥¢¥ó¥í¥Ã¥¯¤µ¤ì¤¿¤ê¡¢¥×¥í¥»¥¹¤¬½ªÎ»¤·¤¿¤ê¡¢ exec ¤Ë¤è¤Ã¤ÆÂ¾¤Î¥×¥í¥°¥é¥à¤ò³«»Ï¤·¤¿¤ê¤¹¤ë¤Þ¤Ç¤Ï RAM ¤Ë»Ä¤ë¤³¤È¤¬ Êݾڤµ¤ì¤ë¡£ fork ¤ò¹Ô¤Ê¤Ã¤¿¾ì¹ç¤Ë»Ò¥×¥í¥»¥¹¤Ï¥Ú¡¼¥¸¤Î¥í¥Ã¥¯¤ò·Ñ¾µ¤·¤Ê¤¤¡£

¥á¥â¥ê¤Î¥í¥Ã¥¯¤Ë¤Ï¼ç¤ËÆó¤Ä¤Î»È¤¤Æ»¤¬¤¢¤ë¡£¥ê¥¢¥ë¡¦¥¿¥¤¥à(real-time) ¥¢¥ë¥´¥ê¥º¥à¤È¹â¤¤¥»¥­¥å¥ê¥Æ¥£¤Î¥Ç¡¼¥¿½èÍý¤Ç¤¢¤ë¡£¥ê¥¢¥ë¡¦¥¿¥¤¥à¤Î ¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤Ï·èÄêŪ¤Ê¥¿¥¤¥ß¥ó¥°¤ä¥¹¥±¥¸¥å¡¼¥ê¥ó¥°¤òÍ׵ᤷ¡¢ ¥Ú¡¼¥¸¥ó¥°¤Ïͽ´ü¤·¤Ê¤¤¥×¥í¥°¥é¥à¤Î¼Â¹ÔÃÙ¤ì¤ò¤â¤¿¤é¤¹½ÅÍפÊÍ×°ø¤Ç¤¢¤ë¡£ ¥ê¥¢¥ë¡¦¥¿¥¤¥à¤Î¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤Ï¤¿¤¤¤Æ¤¤¤Ï sched_setscheduler ¤Ç¥ê¥¢¥ë¡¦¥¿¥¤¥à¡¦¥¹¥±¥¸¥å¥é¡¼¤ËÊѹ¹¤µ¤ì¤ë¡£ °Å¹æ¤ä¥»¥­¥å¥ê¥Æ¥£¤Î¥½¥Õ¥È¥¦¥§¥¢¤Ï¤·¤Ð¤·¤Ð¥Ñ¥¹¥ï¡¼¥É¤äÈëÌ©¸°¤Î¥Ç¡¼¥¿¤Î ¤Î¤è¤¦¤Ê½ÅÍפʥХ¤¥È¤ò¤¢¤Ä¤«¤¦¡£¥Ú¡¼¥¸¥ó¥°¤Î·ë²Ì¡¢¤³¤ì¤é¤ÎÈëÌ©¤¬ ¥¹¥ï¥Ã¥×ÍѤθÇÄêÇÞÂΤËžÁ÷¤µ¤ì¤ë¤«¤â¤·¤ì¤Ê¤¤¡£¤½¤·¤Æ¤½¤ì¤Ï¥»¥­¥å¥ê¥Æ¥£ ¡¦¥½¥Õ¥È¥¦¥§¥¢¤¬ RAM ¾å¤ÎÈëÌ©¤òºï½ü¤·¤Æ½ªÎ»¤·¤¿¤º¤Ã¤È¸å¤Ë¤Ç¤âŨ¤Ë¤è¤Ã¤Æ ¥¢¥¯¥»¥¹¤¬²Äǽ¤Ë¤Ê¤ë¤«¤â¤·¤ì¤Ê¤¤¡£¥»¥­¥å¥ê¥Æ¥£¡¦¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤Ç¤Ï ¥á¥â¥ê¤Î¤Û¤ó¤Î¾®¤µ¤ÊÉôʬ¤Î¤ß¤¬¥í¥Ã¥¯¤µ¤ì¤Ê¤±¤ì¤Ð¤Ê¤é¤Ê¤¤¡£¤½¤Î¤¿¤á¤Ë mlock ¤¬»ÈÍѤǤ­¤ë¡£

flags ¥Ñ¥é¥á¡¼¥¿¡¼¤Ï°Ê²¼¤ÎÆâÍÆ¤Î¥Ó¥Ã¥È OR ¤«¤é¤Ê¤ë:

MCL_CURRENT
¸½ºß¡¢¥×¥í¥»¥¹¤Î¥¢¥É¥ì¥¹¶õ´Ö¤Ë¥Þ¥Ã¥×¤µ¤ì¤Æ¤¤¤ëÁ´¤Æ¤Î¥Ú¡¼¥¸¤ò¥í¥Ã¥¯¤¹¤ë¡£
MCL_FUTURE
¾­Íè¡¢¥×¥í¥»¥¹¤Î¥¢¥É¥ì¥¹¶õ´Ö¤Ë¥Þ¥Ã¥×¤µ¤ì¤ëÁ´¤Æ¤Î¥Ú¡¼¥¸¤ò¥í¥Ã¥¯¤¹¤ë¡£ ¤³¤ì¤ÏÎ㤨¤Ð¡¢À®Ä¹¤¹¤ë¥Ò¡¼¥×(heap)¤ä¥¹¥¿¥Ã¥¯¤Î¾¤Ë ¿·¤·¤¤¥á¥â¥ê¡¦¥Þ¥Ã¥×¤µ¤ì¤¿¥Õ¥¡¥¤¥ë¤ä¶¦Í­¥á¥â¥êÎΰè¤Ê¤É¤ËɬÍפȤʤ롣

MCL_FUTURE ¤¬»ØÄꤵ¤ì¤Æ¤ª¤ê¡¢¥í¥Ã¥¯¤µ¤ì¤¿¥Ú¡¼¥¸¤Î¿ô¤¬¥í¥Ã¥¯¤¹¤ë¤³¤È¤¬¤Ç¤­¤ë¥Ú¡¼¥¸¿ô¤Î ¾å¸Â¤òͤ¨¤¿¾ì¹ç¤Ë¤Ï¡¢¿·¤·¤¯¥Ú¡¼¥¸¤ò¥Þ¥Ã¥×¤¹¤ë¥·¥¹¥Æ¥à¡¦¥³¡¼¥ë¤Ï ENOMEM ¤È¤Ê¤Ã¤Æ¼ºÇÔ¤¹¤ë¡£ À®Ä¹¤¹¤ë¥¹¥¿¥Ã¥¯¤Ë¤è¤Ã¤Æ¿·¤·¤¤¥Ú¡¼¥¸¤¬¥Þ¥Ã¥×¤µ¤ì¤ë¾ì¹ç¤Ï¡¢¥«¡¼¥Í¥ë¤Ï ¥¹¥¿¥Ã¥¯¤Î³ÈÄ¥¤òµñÈݤ·¡¢ SIGSEGV ¤òÁ÷¤ë¡£

¥ê¥¢¥ë¡¦¥¿¥¤¥à¡¦¥×¥í¥»¥¹¤Ï´Ø¿ô¸Æ¤Ó½Ð¤·¤Ç¥Ú¡¼¥¸¡¦¥Õ¥©¡¼¥ë¥È¤¬È¯À¸¤·¤Ê¤¤ ¤è¤¦¤Ë»þ´Ö¤¬Ã×̿Ū¤ÊÉôʬ¤ËÆþ¤ëÁ°¤Ë½½Ê¬¤Ê¥í¥Ã¥¯¤µ¤ì¤¿¥¹¥¿¥Ã¥¯¤ò³ÎÊݤ·¤Æ ¤ª¤¯É¬Íפ¬¤¢¤ë¡£¤³¤ì¤Ï½½Ê¬¤ËÂ礭¤Ê¼«Æ°ÊÑ¿ô¤ò³ÎÊݤ¹¤ë´Ø¿ô¤ò¸Æ¤Ó½Ð¤·¡¢ ¤³¤ì¤é¤Î¥¹¥¿¥Ã¥¯ÍѤΥڡ¼¥¸¤¬¥á¥â¥ê¤Ë³ÎÊݤµ¤ì¤ë¤è¤¦¤Ë¤³¤ÎÂ礭¤ÊÇÛÎó¤Ë ½ñ¤­¹þ¤ß¤ò¹Ô¤Ê¤¦¤³¤È¤Ë¤è¤Ã¤ÆÃ£À®¤Ç¤­¤ë¡£¤³¤ÎÊýË¡¤Ë¤è¤Ã¤Æ½½Ê¬¤Ê¥Ú¡¼¥¸¤¬ ¥¹¥¿¥Ã¥¯¤Ë¥Þ¥Ã¥×¤µ¤ì¡¢RAM ¤Ë¥í¥Ã¥¯¤µ¤ì¤ë¡£¥À¥ß¡¼¤Î½ñ¤­¹þ¤ß¤ÏÃ×̿Ū¤Ê Éôʬ¤Ç½ñ¤­¹þ¤ß»þ¥³¥Ô¡¼(copy-on-write)¤Ë¤è¤ë¥Ú¡¼¥¸¡¦¥Õ¥©¡¼¥ë¥È¤µ¤¨ µ¯¤­¤Ê¤¤¤³¤È¤òÊݾڤ¹¤ë¡£

¥á¥â¥ê¤Î¥í¥Ã¥¯(lock)¤ÏÎßÀѤ·¤Ê¤¤¡£Î㤨¤ÐÊ£¿ô²ó mlock ¤ä mlockall ¤ò¸Æ¤Ó½Ð¤·¤Æ¥í¥Ã¥¯¤µ¤ì¤¿¥Ú¡¼¥¸¤â°ì²ó¤Î munlockall ¤Ë¤è¤Ã¤Æ¥¢¥ó¥í¥Ã¥¯(unlock)¤µ¤ì¤ë¡£ Ê£¿ô¤Î¾ì½ê¤äÊ£¿ô¤Î¥×¥í¥»¥¹¤Ë¥Þ¥Ã¥×¤µ¤ì¤Æ¤¤¤ë¥Ú¡¼¥¸¤Ï¡¢¾¯¤Ê¤¯¤È¤â°ì¤Ä¤Î¾ì½ê¡¢ °ì¤Ä¤Î¥×¥í¥»¥¹¤Ç¥í¥Ã¥¯¤µ¤ì¤Æ¤¤¤ë¸Â¤ê¤Ï RAM ¤Ë»Ä¤ê³¤±¤ë¡£

mlockall ¤È munlockall ¤¬»ÈÍѲÄǽ¤Ç¤¢¤ë POSIX ¥·¥¹¥Æ¥à¤Ç¤Ï _POSIX_MEMLOCK ¤¬ <unistd.h> ¤ËÄêµÁ¤µ¤ì¤Æ¤¤¤ë¡£  

ÊÖ¤êÃÍ

À®¸ù¤·¤¿¾ì¹ç¤Ï¡¢ mlockall ¤Ï¥¼¥í¤òÊÖ¤¹¡£¥¨¥é¡¼¤Î¾ì¹ç¤Ï¡¢-1 ¤¬ÊÖ¤µ¤ì¡¢ errno ¤¬Å¬ÀÚ¤ËÀßÄꤵ¤ì¤ë¡£  

¥¨¥é¡¼

ENOMEM
µö¤µ¤ì¤ë¾å¸Â¤òͤ¨¤ë¿ô¤Î¥Ú¡¼¥¸¤ò¥í¥Ã¥¯¤·¤è¤¦¤È¤·¤¿¡£
EPERM
¸Æ¤Ó½Ð¤·¤¿¥×¥í¥»¥¹¤¬Å¬ÀÚ¤ÊÆÃ¸¢¤ò½êÍ­¤·¤Æ¤¤¤Ê¤¤¡£ ¥¹¡¼¥Ñ¡¼¡¦¥æ¡¼¥¶¡¼¤Î¥×¥í¥»¥¹¤Î¤ß¤¬¥Ú¡¼¥¸¤ò¥í¥Ã¥¯¤¹¤ë¤³¤È¤¬¤Ç¤­¤ë¡£
EINVAL
̤ÃΤΥե饰¤¬»ØÄꤵ¤ì¤¿¡£

 

½àµò

POSIX.1b, SVR4. SVr4 ¤Ë¤Ï¾¤Ë EAGAIN ¥¨¥é¡¼¤Ë¤Ä¤¤¤Æ¤Îµ­½Ò¤¬¤¢¤ë¡£  

´ØÏ¢¹àÌÜ

munlockall(2), mlock(2), munlock(2)


 

Index

̾Á°
½ñ¼°
ÀâÌÀ
ÊÖ¤êÃÍ
¥¨¥é¡¼
½àµò
´ØÏ¢¹àÌÜ

 
 
 
 
Google
  Web Linuxinfor   
 

Home :: Copyright :: Privacy :: Credits :: Get a free Linuxinfor Email Account

Document on this page is part of "Linuxinfor Man Pages in HTML Format: man2". See Index Page for more info about Authorship and Copyright.

1999-2008 Linuxinfor.com. No rights reserved.