160 lines
5.5 KiB
Groff
160 lines
5.5 KiB
Groff
.\" Copyright (c) 1993
|
|
.\" The Regents of the University of California. All rights reserved.
|
|
.\"
|
|
.\" Redistribution and use in source and binary forms, with or without
|
|
.\" modification, are permitted provided that the following conditions
|
|
.\" are met:
|
|
.\" 1. Redistributions of source code must retain the above copyright
|
|
.\" notice, this list of conditions and the following disclaimer.
|
|
.\" 2. Redistributions in binary form must reproduce the above copyright
|
|
.\" notice, this list of conditions and the following disclaimer in the
|
|
.\" documentation and/or other materials provided with the distribution.
|
|
.\" 3. All advertising materials mentioning features or use of this software
|
|
.\" must display the following acknowledgement:
|
|
.\" This product includes software developed by the University of
|
|
.\" California, Berkeley and its contributors.
|
|
.\" 4. Neither the name of the University nor the names of its contributors
|
|
.\" may be used to endorse or promote products derived from this software
|
|
.\" without specific prior written permission.
|
|
.\"
|
|
.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
|
|
.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
|
.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
|
.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
|
|
.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
|
|
.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
|
|
.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
|
|
.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
|
|
.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
|
|
.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
|
|
.\" SUCH DAMAGE.
|
|
.\"
|
|
.\" @(#)mlock.2 8.2 (Berkeley) 12/11/93
|
|
.\" %FreeBSD: src/lib/libc/sys/mlock.2,v 1.18.2.2 2005/02/28 03:32:34 brueffer Exp %
|
|
.\"
|
|
.\" $FreeBSD$
|
|
.Dd August 10, 2004
|
|
.Dt MLOCK 2
|
|
.Os
|
|
.Sh ̾¾Î
|
|
.Nm mlock ,
|
|
.Nm munlock
|
|
.Nd ʪÍý¥Ú¡¼¥¸¤ò¥á¥â¥êÆâ¤Ç¥í¥Ã¥¯ (¥¢¥ó¥í¥Ã¥¯) ¤¹¤ë
|
|
.Sh ¥é¥¤¥Ö¥é¥ê
|
|
.Lb libc
|
|
.Sh ½ñ¼°
|
|
.In sys/mman.h
|
|
.Ft int
|
|
.Fn mlock "const void *addr" "size_t len"
|
|
.Ft int
|
|
.Fn munlock "const void *addr" "size_t len"
|
|
.Sh ²òÀâ
|
|
.Fn mlock
|
|
¥·¥¹¥Æ¥à¥³¡¼¥ë¤Ï¡¢
|
|
.Fa addr
|
|
¤«¤é³«»Ï¤¹¤ë
|
|
.Fa len
|
|
¥Ð¥¤¥È¤Î²¾ÁÛ¥¢¥É¥ì¥¹ÈϰϤËÂбþ¤¹¤ëʪÍý¥Ú¡¼¥¸¤ò¥á¥â¥ê¤Ë¥í¥Ã¥¯¤·¤Þ¤¹¡£
|
|
.Fn munlock
|
|
¥·¥¹¥Æ¥à¥³¡¼¥ë¤Ï¡¢1 ¤Ä°Ê¾å¤Î
|
|
.Fn mlock
|
|
¸Æ¤Ó½Ð¤·¤Ë¤è¤Ã¤Æ¥í¥Ã¥¯¤µ¤ì¤Æ¤¤¤¿¥Ú¡¼¥¸¤ò¥¢¥ó¥í¥Ã¥¯¤·¤Þ¤¹¡£
|
|
¤³¤ì¤é¤ÎξÊý¤Ë¤ª¤¤¤Æ¡¢
|
|
.Fa addr
|
|
°ú¿ô¤Ï¥Ú¡¼¥¸¥µ¥¤¥º¤ÎÀ°¿ôÇܤǤʤ±¤ì¤Ð¤¤¤±¤Þ¤»¤ó¡£
|
|
.Fa len
|
|
°ú¿ô¤¬¥Ú¡¼¥¸¥µ¥¤¥º¤ÎÀ°¿ôÇܤǤʤ¤¾ì¹ç¡¢ÀÚ¤ê¾å¤²¤é¤ì¤Þ¤¹¡£
|
|
ÈϰÏÁ´ÂΤ¬³ÎÊݤµ¤ì¤Æ¤¤¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£
|
|
.Pp
|
|
.Fn mlock
|
|
¥·¥¹¥Æ¥à¥³¡¼¥ë¤Î¸å¡¢»Ø¼¨¤µ¤ì¤¿¥Ú¡¼¥¸¤Ï¡¢¥¢¥ó¥í¥Ã¥¯¤µ¤ì¤ë¤Þ¤Ç
|
|
Èó¾ïÃó¥Ú¡¼¥¸¥Õ¥©¥ë¥È¤â¥¢¥É¥ì¥¹ÊÑ´¹¥Õ¥©¥ë¥È¤âµ¯¤³¤·¤Þ¤»¤ó¡£
|
|
¤·¤«¤·¡¢TLB ¤Î´ÉÍý¤ò¥½¥Õ¥È¥¦¥§¥¢¤Ç¼ÂÁõ¤·¤Æ¤¤¤ë¥¢¡¼¥¥Æ¥¯¥Á¥ã¤Ç¤Ï¡¢
|
|
Êݸî°ãÈ¿¥Õ¥©¥ë¥È¡¢¤Þ¤¿¤Ï TLB ¥ß¥¹¥Õ¥©¥ë¥È¤òµ¯¤³¤¹²ÄǽÀ¤Ï¤¢¤ê¤Þ¤¹¡£
|
|
¥Ú¡¼¥¸¤Ë´Ø¤¹¤ë¤¹¤Ù¤Æ¤Î¥í¥Ã¥¯¤µ¤ì¤¿¥Þ¥Ã¥Ô¥ó¥°¤¬ºï½ü¤µ¤ì¤ë¤Þ¤Ç
|
|
ʪÍý¥Ú¡¼¥¸¤Ï¥á¥â¥ê¤Ëα¤Þ¤ê¤Þ¤¹¡£
|
|
Ê£¿ô¤Î¥×¥í¥»¥¹¤¬¡¢¤½¤ì¤¾¤ì¤Î²¾ÁÛ¥¢¥É¥ì¥¹¥Þ¥Ã¥Ô¥ó¥°¤«¤é
|
|
Ʊ¤¸ÊªÍý¥Ú¡¼¥¸¤ò¥í¥Ã¥¯¤¹¤ë²ÄǽÀ¤¬¤¢¤ê¤Þ¤¹¡£
|
|
ƱÍͤˡ¢1 ¤Ä¤Î¥×¥í¥»¥¹¤¬Æ±¤¸¥Ú¡¼¥¸¤ËÂФ¹¤ë°Û¤Ê¤ëÊ£¿ô¤Î
|
|
²¾Áۥޥåԥ󥰤ˤè¤Ã¤Æ¡¢¤Þ¤¿¤ÏƱ¤¸¥¢¥É¥ì¥¹ÈϰϤؤΥͥ¹¥È¤·¤¿
|
|
.Fn mlock
|
|
¸Æ¤Ó½Ð¤·¤Ë¤è¤Ã¤Æ¡¢¥Ú¡¼¥¸¤ò¿½Å¤Ë¥í¥Ã¥¯¤¹¤ë²ÄǽÀ¤¬¤¢¤ê¤Þ¤¹¡£
|
|
¥¢¥ó¥í¥Ã¥¯¤Ï¡¢
|
|
.Fn munlock
|
|
¤Ë¤è¤Ã¤ÆÌÀ¼¨Åª¤Ë¡¢¤Þ¤¿¤Ï
|
|
.Fn munmap
|
|
¤Ë¤è¤Ã¤Æ°ÅÌÛŪ¤Ë¹Ô¤ï¤ì¤Þ¤¹¡£
|
|
.Fn munmap
|
|
¤Ï¥Þ¥Ã¥×¤µ¤ì¤Æ¤¤¤Ê¤¤¥¢¥É¥ì¥¹ÈϰϤγä¤êÅö¤Æ¤ò²ò½ü¤·¤Þ¤¹¡£
|
|
¥í¥Ã¥¯¤µ¤ì¤¿¥Þ¥Ã¥Ô¥ó¥°¤Ï
|
|
.Xr fork 2
|
|
¤Ë¤è¤ë»Ò¥×¥í¥»¥¹¤Ë¤Ï·Ñ¾µ¤µ¤ì¤Þ¤»¤ó¡£
|
|
.Pp
|
|
ʪÍý¥á¥â¥ê¤ÏÀøºßŪ¤Ë˳¤·¤¤¥ê¥½¡¼¥¹¤Ê¤Î¤Ç¡¢¥×¥í¥»¥¹¤Ï
|
|
¤É¤Î¤¯¤é¤¤¥í¥Ã¥¯¤Ç¤¤ë¤«¤ÎÀ©¸Â¤ò¼õ¤±¤Þ¤¹¡£
|
|
1 ¤Ä¤Î¥×¥í¥»¥¹¤Ï¡¢¥·¥¹¥Æ¥àÁ´ÂΤ˶¦Ä̤Π``¸ÇÄꤵ¤ì¤¿¥Ú¡¼¥¸'' ¸Â³¦¡¢
|
|
¤Þ¤¿¤Ï¥×¥í¥»¥¹¤´¤È¤Î
|
|
.Li RLIMIT_MEMLOCK
|
|
¥ê¥½¡¼¥¹¸Â³¦¤Î¤¤¤º¤ì¤«¾®¤µ¤¤Êý¤ÎÃͤޤÇ
|
|
.Fn mlock
|
|
¤Ç¤¤Þ¤¹¡£
|
|
.Pp
|
|
¤³¤ì¤é¤Î¸Æ¤Ó½Ð¤·¤¬ÍøÍѤǤ¤ë¤Î¤Ï¥¹¡¼¥Ñ¥æ¡¼¥¶¤À¤±¤Ç¤¹¡£
|
|
.Sh Ìá¤êÃÍ
|
|
.Rv -std
|
|
.Pp
|
|
¸Æ¤Ó½Ð¤·¤¬À®¸ù¤¹¤ë¤È¡¢ÈÏ°ÏÆâ¤Î¤¹¤Ù¤Æ¤Î¥Ú¡¼¥¸¤¬¥í¥Ã¥¯ (¥¢¥ó¥í¥Ã¥¯) ¤µ¤ì¤Þ¤¹¡£
|
|
¼ºÇÔ¤·¤¿¾ì¹ç¤Ï¡¢ÈÏ°ÏÆâ¤Î¤¹¤Ù¤Æ¤Î¥Ú¡¼¥¸¤Î¥í¥Ã¥¯¾õÂÖ¤ÏÊѹ¹¤µ¤ì¤Þ¤»¤ó¡£
|
|
.Sh ¥¨¥é¡¼
|
|
.Fn mlock
|
|
¥·¥¹¥Æ¥à¥³¡¼¥ë¤Ï¼¡¤Î¾ì¹ç¤Ë½èÍý¤ò¼ºÇÔ¤·¤Þ¤¹:
|
|
.Bl -tag -width Er
|
|
.It Bq Er EPERM
|
|
¸Æ¤Ó½Ð¤·Â¦¤¬¥¹¡¼¥Ñ¥æ¡¼¥¶¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó¡£
|
|
.It Bq Er EINVAL
|
|
»ØÄꤵ¤ì¤¿¥¢¥É¥ì¥¹¤¬¥Ú¡¼¥¸¶³¦¤ËÀ°Îó¤µ¤ì¤Æ¤¤¤Ê¤¤¤«¡¢¤Þ¤¿¤ÏŤµ¤¬Éé¤Ç¤¹¡£
|
|
.It Bq Er EAGAIN
|
|
»Ø¼¨¤µ¤ì¤¿ÈϰϤΥí¥Ã¥¯¤Ë¤è¤Ã¤Æ¡¢¥í¥Ã¥¯¤µ¤ì¤¿¥á¥â¥ê¤Ë¤Ä¤¤¤Æ¤Î
|
|
¥·¥¹¥Æ¥à¸Â³¦¤Þ¤¿¤Ï¥×¥í¥»¥¹¤´¤È¤Î¸Â³¦¤òĶ²á¤·¤Æ¤·¤Þ¤¤¤Þ¤¹¡£
|
|
.It Bq Er ENOMEM
|
|
»Ø¼¨¤µ¤ì¤¿¥¢¥É¥ì¥¹ÈϰϤΰìÉô¤¬³ä¤êÅö¤Æ¤é¤ì¤Æ¤¤¤Þ¤»¤ó¡£
|
|
¥Ú¡¼¥¸¤Î¥Õ¥©¥ë¥È / ¥Þ¥Ã¥Ô¥ó¥°¤Ç¥¨¥é¡¼¤¬¤¢¤ê¤Þ¤·¤¿¡£
|
|
.El
|
|
.Fn munlock
|
|
¥·¥¹¥Æ¥à¥³¡¼¥ë¤Ï¼¡¤Î¾ì¹ç¤Ë¼ºÇÔ¤·¤Þ¤¹:
|
|
.Bl -tag -width Er
|
|
.It Bq Er EPERM
|
|
¸Æ¤Ó½Ð¤·Â¦¤¬¥¹¡¼¥Ñ¥æ¡¼¥¶¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó¡£
|
|
.It Bq Er EINVAL
|
|
»ØÄꤵ¤ì¤¿¥¢¥É¥ì¥¹¤¬¥Ú¡¼¥¸¶³¦¤ËÀ°Î󤷤Ƥ¤¤Ê¤¤¤«¡¢¤Þ¤¿¤ÏŤµ¤¬Éé¤Ç¤¹¡£
|
|
.It Bq Er ENOMEM
|
|
»Ø¼¨¤µ¤ì¤¿¥¢¥É¥ì¥¹ÈϰϤΰìÉô¤¬³ä¤êÅö¤Æ¤é¤ì¤Æ¤¤¤Þ¤»¤ó¡£
|
|
.El
|
|
.Sh ´ØÏ¢¹àÌÜ
|
|
.Xr fork 2 ,
|
|
.Xr mincore 2 ,
|
|
.Xr minherit 2 ,
|
|
.Xr mlockall 2 ,
|
|
.Xr mmap 2 ,
|
|
.Xr munlockall 2 ,
|
|
.Xr munmap 2 ,
|
|
.Xr setrlimit 2 ,
|
|
.Xr getpagesize 3
|
|
.Sh ¥Ð¥°
|
|
¸ÇÄꤵ¤ì¤¿¥á¥â¥ê¤ò¿¤¯³ä¤êÅö¤Æ²á¤®¤ë¤³¤È¤Ï¡¢¤½¤³¤«¤é²óÉü¤¹¤ë¤¿¤á¤Ë
|
|
¥ê¥Ö¡¼¥È¤òÍ׵᤹¤ë¥á¥â¥ê³ä¤êÅö¤Æ¤Î¥Ç¥Ã¥É¥í¥Ã¥¯¤Ë¤Ä¤Ê¤¬¤ë²ÄǽÀ¤¬¤¢¤ê¤Þ¤¹¡£
|
|
.Pp
|
|
¥×¥í¥»¥¹¤´¤È¤Î¥ê¥½¡¼¥¹¤Î¸Â³¦¤Ï¥í¥Ã¥¯¤µ¤ì¤¿²¾ÁÛ¥á¥â¥ê¤ÎÎ̤ؤÎÀ©¸Â¤Ç¡¢
|
|
¥·¥¹¥Æ¥àÁ´ÂΤ˶¦Ä̤ÎÀ©¸Â¤Ï¥í¥Ã¥¯¤µ¤ì¤¿ÊªÍý¥Ú¡¼¥¸¤Î¿ô¤Ë¤Ä¤¤¤Æ¤Î¤â¤Î¤Ç¤¹¡£
|
|
¤³¤Î¤è¤¦¤Ë¡¢2 ¤Ä¤ÎÊÌ¡¹¤Î¥Þ¥Ã¥Ô¥ó¥°¤«¤éƱ¤¸ÊªÍý¥Ú¡¼¥¸¤ò
|
|
¥í¥Ã¥¯¤¹¤ë¤È¥×¥í¥»¥¹¤´¤È¤ÎÀ©¸Â¤ËÂФ·¤Æ¤Ï 2 ¥Ú¡¼¥¸¤È¤·¤Æ¥«¥¦¥ó¥È¤µ¤ì¡¢
|
|
¥·¥¹¥Æ¥àÀ©¸Â¤Ç¤Ï 1 ¥Ú¡¼¥¸¤À¤±¤È¤·¤Æ¥«¥¦¥ó¥È¤µ¤ì¤Þ¤¹¡£
|
|
.Pp
|
|
¥×¥í¥»¥¹¤´¤È¤Î¥ê¥½¡¼¥¹À©¸Â¤Ï¸½»þÅÀ¤Ç¤Ï¥µ¥Ý¡¼¥È¤µ¤ì¤Æ¤¤¤Þ¤»¤ó¡£
|
|
.Sh Îò»Ë
|
|
.Fn mlock
|
|
¥·¥¹¥Æ¥à¥³¡¼¥ë¤È
|
|
.Fn munlock
|
|
¥·¥¹¥Æ¥à¥³¡¼¥ë¤Ï
|
|
.Bx 4.4
|
|
¤Ç¤Ï¤¸¤á¤ÆÅо줷¤Þ¤·¤¿¡£
|