Rechercher une page de manuel
mincore
Langue: ja
Version: 2007-01-08 (openSuse - 09/10/07)
Section: 2 (Appels système)
̾Á°
mincore - ¥Ú¡¼¥¸¤¬¥á¥â¥êÆâ¤Ë¤¢¤ë¤«¤É¤¦¤«¤òȽÄꤹ¤ë½ñ¼°
#include <unistd.h>#include <sys/mman.h>
int mincore(void *start, size_t length, unsigned char *vec);
ÀâÌÀ
mincore() ¤Ï¡¢¸Æ¤Ó½Ð¤·¸µ¥×¥í¥»¥¹¤Î²¾ÁÛ¥á¥â¥ê¤Î¥Ú¡¼¥¸¤¬¥³¥¢ (RAM) Æâ¤Ë¸ºß¤·¡¢ ¥Ú¡¼¥¸»²¾È»þ¤Ë¥Ç¥£¥¹¥¯¥¢¥¯¥»¥¹ (¥Ú¡¼¥¸¡¦¥Õ¥©¡¼¥ë¥È) ¤òµ¯¤³¤µ¤Ê¤¤¤« ¤É¤¦¤«¤ò¼¨¤¹¥Ù¥¯¥È¥ë¤òÊÖ¤¹¡£¥«¡¼¥Í¥ë¤Ï¡¢¥¢¥É¥ì¥¹ start ¤«¤é»Ï¤Þ¤ë length ¥Ð¥¤¥È¤ÎÈϰϤΥڡ¼¥¸¤Ë´Ø¤¹¤ë¸ºß¾ðÊó¤òÊÖ¤¹¡£start °ú¤¿ô¤Ï¥·¥¹¥Æ¥à¤Î¥Ú¡¼¥¸¥µ¥¤¥º¤ÎÇÜ¿ô¤Ç¤Ê¤±¤ì¤Ð¤Ê¤é¤Ê¤¤¡£ length °ú¤¿ô¤Ï¥Ú¡¼¥¸¥µ¥¤¥º¤ÎÇÜ¿ô¤Ç¤¢¤ëɬÍפϤʤ¤¤¬¡¢ ¥Ú¡¼¥¸Á´ÂΤ˴ؤ¹¤ë¸ºß¾ðÊó¤¬ÊÖ¤µ¤ì¤ë¤Î¤Ç¡¢»ö¼Â¾å length ¤Ï¥Ú¡¼¥¸¥µ¥¤¥º¤ÎÇÜ¿ô¤ËÀÚ¤ê¾å¤²¤é¤ì¤ë¤³¤È¤Ë¤Ê¤ë¡£ ¥Ú¡¼¥¸¥µ¥¤¥º (PAGE_SIZE) ¤Ï sysconf(_SC_PAGESIZE) ¤ò»È¤Ã¤ÆÆþ¼ê¤Ç¤¤ë¡£
vec °ú¤¿ô¤Ï¡¢¾¯¤Ê¤¯¤È¤â (length+PAGE_SIZE-1) / PAGE_SIZE ¥Ð¥¤¥È¤¬ ³ÊǼ¤Ç¤¤ëÇÛÎó¤ò»Ø¤·¤Æ¤¤¤Ê¤±¤ì¤Ð¤Ê¤é¤Ê¤¤¡£ ¤³¤Î¸Æ¤Ó½Ð¤·¤¬ÊÖ¤ë¤È¤¡¢ ³Æ¥Ð¥¤¥È¤ÎºÇ²¼°Ì¥Ó¥Ã¥È¤Ï¡¢Âбþ¤¹¤ë¥Ú¡¼¥¸¤¬¥á¥â¥êÆâ¤Ë¤½¤Î¤È¤Â¸ºß¤¹¤ì¤Ð ¥»¥Ã¥È¤µ¤ì¡¢¤½¤¦¤Ç¤Ê¤¤¾ì¹ç¤Ï¥¯¥ê¥¢¤µ¤ì¤ë (³Æ¥Ð¥¤¥È¤Î¤½¤Î¾¤Î¥Ó¥Ã¥È¤Ï̤ÄêµÁ¤Ç¤¢¤ê¡¢¤³¤ì¤é¤Î¥Ó¥Ã¥È¤Ï¾Íè¤Î»ÈÍÑ¤Ë ¤½¤Ê¤¨¤ÆͽÌ󤵤ì¤Æ¤¤¤ë)¡£ ¤â¤Á¤í¤ó¡¢ vec ¤ÇÊÖ¤µ¤ì¤¿¾ðÊó¤Ï¥¹¥Ê¥Ã¥×¥·¥ç¥Ã¥È¤Ç¤·¤«¤Ê¤¤¡£ ¥á¥â¥êÆâ¤Ë¥í¥Ã¥¯¤µ¤ì¤Æ¤¤¤Ê¤¤¥Ú¡¼¥¸¤Ï¡¢Ç¤°Õ¤Î»þÅÀ¤Ç¥á¥â¥êÆâ¤Ë Æþ¤Ã¤¿¤ê½Ð¤¿¤ê¤Ç¤¡¢¤³¤Î¸Æ¤Ó½Ð¤·¤¬ÊÖ¤ë¤È¤¤Ë¤Ï vec ¤ÎÆâÍƤϤ¹¤Ç¤Ë¸Å¤¯¤Ê¤Ã¤Æ¤¤¤ë¤«¤â¤·¤ì¤Ê¤¤¡£
ÊÖ¤êÃÍ
À®¸ù¤·¤¿¾ì¹ç¡¢ mincore() ¤Ï 0 ¤òÊÖ¤¹¡£ ¥¨¥é¡¼¤Î¾ì¹ç¤Ï -1 ¤òÊÖ¤·¤Æ¡¢ errno ¤òŬÀÚ¤ÊÃͤËÀßÄꤹ¤ë¡£¥¨¥é¡¼
EAGAIN ¥«¡¼¥Í¥ë¤¬°ì»þŪ¤Ë¥ê¥½¡¼¥¹¤ò»È¤¤²Ì¤¿¤·¤Æ¤¤¤ë¡£- EFAULT
- vec ¤¬Ìµ¸ú¤Ê¥¢¥É¥ì¥¹¤ò»Ø¤·¤Æ¤¤¤ë¡£
- EINVAL
- start ¤¬¥Ú¡¼¥¸¥µ¥¤¥º¤ÎÇÜ¿ô¤Ç¤Ê¤¤¡£
- ENOMEM
- length ¤¬ (TASK_SIZE - start) ¤è¤êÂ礤¤¡£ (length ¤ËÉé¤ÎÃͤ¬»ØÄꤵ¤ì¤¿¾ì¹ç¡¢ ¤½¤ÎÃͤ¬Â礤ÊÉä¹æ¤Ê¤·À°¿ô¤È¤·¤Æ²ò¼á¤µ¤ì¤ë¤¿¤á¤Ëµ¯¤³¤ë¤³¤È¤¬¤¢¤ë¡£) Linux 2.6.11 °ÊÁ°¤Ç¤Ï¡¢¤³¤Î¾ò·ï¤Î¾ì¹ç¤Ï¥¨¥é¡¼ EINVAL ¤¬ÊÖ¤µ¤ì¤Æ¤¤¤¿¡£
- ENOMEM
- start ¤«¤é start + length ¤Î´Ö¤Ë¥Þ¥Ã¥×¤µ¤ì¤Æ¤¤¤Ê¤¤¥á¥â¥ê¤¬¤¢¤Ã¤¿¡£
¥Ð¡¼¥¸¥ç¥ó
Linux 2.3.99pre1 ¤È glibc 2.2 ¤«¤éÍøÍѲÄǽ¤Ç¤¢¤ë¡£½àµò
mincore() ¤Ï POSIX.1-2001 ¤Ëµ½Ò¤µ¤ì¤Æ¤ª¤é¤º¡¢ Á´¤Æ¤Î Unix ¼ÂÁõ¤ÇÍøÍѲÄǽ¤Ç¤¢¤ë¤ï¤±¤Ç¤Ï¤Ê¤¤¡£¥Ð¥°
¥«¡¼¥Í¥ë 2.6.21 ¤è¤êÁ°¤Ï¡¢ mincore() ¤Ï¡¢ MAP_PRIVATE ¥Þ¥Ã¥Ô¥ó¥°¤äÈóÀþ·Á¥Þ¥Ã¥Ô¥ó¥° (remap_file_pages(2) ¤ò»È¤Ã¤ÆºîÀ®¤µ¤ì¤ë) ¤Ë¤Ä¤¤¤ÆÀµ¤·¤¤¾ðÊó¤òÊÖ¤µ¤Ê¤«¤Ã¤¿¡£´ØÏ¢¹àÌÜ
mlock(2), mmap(2)Contenus ©2006-2024 Benjamin Poulain
Design ©2006-2024 Maxime Vantorre