170 lines
5.7 KiB
Groff
170 lines
5.7 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.6.2.2 2000/08/23 00:49:04 jhb Exp %
|
||
.\"
|
||
.Dd June 2, 1993
|
||
.Dt MLOCK 2
|
||
.Os
|
||
.Sh ̾¾Î
|
||
.Nm mlock ,
|
||
.Nm munlock
|
||
.Nd ʪÍý¥Ú¡¼¥¸¤ò¥á¥â¥êÆâ¤Ç¥í¥Ã¥¯ (¥¢¥ó¥í¥Ã¥¯) ¤¹¤ë
|
||
.Sh ¥é¥¤¥Ö¥é¥ê
|
||
.Lb libc
|
||
.Sh ½ñ¼°
|
||
.Fd #include <sys/types.h>
|
||
.Fd #include <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 Ìá¤êÃÍ
|
||
Ìá¤êÃÍ 0 ¤Ï¸Æ¤Ó½Ð¤·¤¬´°Î»¤·¡¢ÈÏ°ÏÆâ¤Î¤¹¤Ù¤Æ¤Î¥Ú¡¼¥¸¤¬¥í¥Ã¥¯¡¢
|
||
¤Þ¤¿¤Ï¥¢¥ó¥í¥Ã¥¯¤µ¤ì¤¿¤³¤È¤ò¼¨¤·¤Þ¤¹¡£Ìá¤êÃÍ -1 ¤Ï¥¨¥é¡¼¤¬µ¯¤¤Æ¡¢
|
||
¤½¤·¤ÆÈÏ°ÏÆâ¤Î¤¹¤Ù¤Æ¤Î¥Ú¡¼¥¸¤Î¥í¥Ã¥¯¤µ¤ì¤¿
|
||
¥¹¥Æ¡¼¥¿¥¹¤¬Êѹ¹¤µ¤ì¤Ê¤¤¤³¤È¤ò¼¨¤·¤Þ¤¹¡£¤³¤Î¾ì¹ç¡¢¥¨¥é¡¼¤ò¼¨¤¹¤¿¤á¤Ë
|
||
¥°¥í¡¼¥Ð¥ëÊÑ¿ô
|
||
.Va errno
|
||
¤¬ÀßÄꤵ¤ì¤Þ¤¹¡£
|
||
.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 mmap 2 ,
|
||
.Xr munmap 2 ,
|
||
.Xr setrlimit 2 ,
|
||
.Xr getpagesize 3
|
||
.Sh ¥Ð¥°
|
||
Sun ¤Î¼ÂÁõ¤È°Û¤Ê¤ê¡¢Æ±¤¸¥¢¥É¥ì¥¹ÈϰϤ˴ؤ¹¤ëÊ£¿ô¤Î
|
||
.Fn mlock
|
||
¸Æ¤Ó½Ð¤·¤ËÂФ·¤Æ¡¢¼ÂºÝ¤Ë¥Ú¡¼¥¸¤ò¥¢¥ó¥í¥Ã¥¯
|
||
¤¹¤ë¤¿¤á¤ËÂбþ¤¹¤ë¿ô¤Î
|
||
.Fn munlock
|
||
¸Æ¤Ó½Ð¤·¤¬É¬ÍפǤ¹¡£¤Ä¤Þ¤ê
|
||
.Fn mlock
|
||
¤Î¥Í¥¹¥È¤Ç¤¹¡£¤³¤ì¤Ï¼ÂÁõ¾å¤Î·ë²Ì¤Ç¤¢¤Ã¤Æ
|
||
»ÅÍͤǤϤʤ¤¤È¹Í¤¨¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£
|
||
.Pp
|
||
¥×¥í¥»¥¹¤´¤È¤Î¥ê¥½¡¼¥¹¤Î¸Â³¦¤Ï¥í¥Ã¥¯¤µ¤ì¤¿²¾ÁÛ¥á¥â¥ê¤ÎÎ̤ؤÎÀ©¸Â¤Ç¡¢
|
||
¥·¥¹¥Æ¥àÁ´ÂΤ˶¦Ä̤ÎÀ©¸Â¤Ï¥í¥Ã¥¯¤µ¤ì¤¿ÊªÍý¥Ú¡¼¥¸¤Î¿ô¤Ë¤Ä¤¤¤Æ¤Î¤â¤Î¤Ç¤¹¡£
|
||
¤³¤Î¤è¤¦¤Ë¡¢2 ¤Ä¤ÎÊÌ¡¹¤Î¥Þ¥Ã¥Ô¥ó¥°¤«¤éƱ¤¸ÊªÍý¥Ú¡¼¥¸¤ò
|
||
¥í¥Ã¥¯¤¹¤ë¤È¥×¥í¥»¥¹¤´¤È¤ÎÀ©¸Â¤ËÂФ·¤Æ¤Ï 2 ¥Ú¡¼¥¸¤È¤·¤Æ¥«¥¦¥ó¥È¤µ¤ì¡¢
|
||
¥·¥¹¥Æ¥àÀ©¸Â¤Ç¤Ï 1 ¥Ú¡¼¥¸¤À¤±¤È¤·¤Æ¥«¥¦¥ó¥È¤µ¤ì¤Þ¤¹¡£
|
||
.Pp
|
||
¥×¥í¥»¥¹¤´¤È¤Î¥ê¥½¡¼¥¹À©¸Â¤Ï¸½»þÅÀ¤Ç¤Ï¥µ¥Ý¡¼¥È¤µ¤ì¤Æ¤¤¤Þ¤»¤ó¡£
|
||
.Sh Îò»Ë
|
||
.Fn mlock
|
||
´Ø¿ô¤È
|
||
.Fn munlock
|
||
´Ø¿ô¤Ï
|
||
.Bx 4.4
|
||
¤Ç¤Ï¤¸¤á¤ÆÅо줷¤Þ¤·¤¿¡£
|