163 lines
4.5 KiB
Groff
163 lines
4.5 KiB
Groff
.\" Copyright (c) 1980, 1991, 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.
|
|
.\"
|
|
.\" @(#)brk.2 8.4 (Berkeley) 5/1/95
|
|
.\" %FreeBSD: src/lib/libc/sys/brk.2,v 1.24 2002/12/18 09:22:30 ru Exp %
|
|
.\"
|
|
.\" $FreeBSD$
|
|
.Dd July 12, 1999
|
|
.Dt BRK 2
|
|
.Os
|
|
.Sh ̾¾Î
|
|
.Nm brk ,
|
|
.Nm sbrk
|
|
.Nd ¥Ç¡¼¥¿¥»¥°¥á¥ó¥È¤Î¥µ¥¤¥º¤òÊѹ¹¤¹¤ë
|
|
.Sh ¥é¥¤¥Ö¥é¥ê
|
|
.Lb libc
|
|
.Sh ½ñ¼°
|
|
.In sys/types.h
|
|
.In unistd.h
|
|
.Ft int
|
|
.Fn brk "const void *addr"
|
|
.Ft void *
|
|
.Fn sbrk "intptr_t incr"
|
|
.Sh ²òÀâ
|
|
.Bf -symbolic
|
|
.Fn brk
|
|
´Ø¿ô¤È
|
|
.Fn sbrk
|
|
´Ø¿ô¤Ï¡¢¸½ÂåŪ¤Ê²¾ÁÛ¥á¥â¥ê´ÉÍý¤¬¸½¤ì¤ë°ÊÁ°¤Î¡¢¸Å¤¤¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤Ç¤¹¡£
|
|
.Ef
|
|
.Pp
|
|
.Fn brk
|
|
´Ø¿ô¤È
|
|
.Fn sbrk
|
|
´Ø¿ô¤Ï¡¢¥×¥í¥»¥¹¤Î¥Ç¡¼¥¿¥»¥°¥á¥ó¥È¤Ë³ä¤êÅö¤Æ¤é¤ì¤¿
|
|
¥á¥â¥êÎ̤òÊѹ¹¤¹¤ë¤¿¤á¤Ë»ÈÍѤµ¤ì¤Þ¤¹¡£
|
|
¤³¤ì¤Ï¡¢
|
|
.Dq ¥Ö¥ì¡¼¥¯
|
|
°ÌÃÖ¤ò°Üư¤¹¤ë¤³¤È¤Ç¼Â¸½¤·¤Þ¤¹¡£
|
|
¥Ö¥ì¡¼¥¯¤È¤Ï¡¢¥×¥í¥»¥¹¤Î½é´ü²½¤µ¤ì¤Æ¤¤¤Ê¤¤¥Ç¡¼¥¿ (
|
|
.Dq BSS
|
|
¤È¤·¤Æ¤âÃΤé¤ì¤Æ¤¤¤Þ¤¹) ¤Î¸å¤ÎºÇ½é¤Î¥¢¥É¥ì¥¹¤Î¤³¤È¤Ç¤¹¡£
|
|
.Pp
|
|
.Fn brk
|
|
´Ø¿ô¤Ï¡¢¥Ö¥ì¡¼¥¯¤ò
|
|
.Fa addr
|
|
¤ËÀßÄꤷ¤Þ¤¹¡£
|
|
.Pp
|
|
.Fn sbrk
|
|
´Ø¿ô¤Ï¡¢¥Ö¥ì¡¼¥¯¤ò
|
|
.Fa incr
|
|
¥Ð¥¤¥È¤À¤±Áý¤·¡¢·ë²Ì¤È¤·¤Æ¾¯¤Ê¤¯¤È¤â
|
|
.Fa incr
|
|
¥Ð¥¤¥È¤Î¿·µ¬¥á¥â¥ê¤ò¥Ç¡¼¥¿¥»¥°¥á¥ó¥È¤Ë³ä¤êÅö¤Æ¤Þ¤¹¡£
|
|
.Fa incr
|
|
¤¬Éé¤Î¾ì¹ç¡¢¥Ö¥ì¡¼¥¯¤Ï
|
|
.Fa incr
|
|
¥Ð¥¤¥È¤À¤±¸º¤é¤µ¤ì¤Þ¤¹¡£
|
|
.Sh Ãí
|
|
¥«¡¼¥Í¥ë¤¬´ÉÍý¤¹¤ë¼ÂºÝ¤Î¥×¥í¥»¥¹¥Ç¡¼¥¿¥»¥°¥á¥ó¥È¥µ¥¤¥º¤Ï
|
|
¥Ú¡¼¥¸Ã±°Ì¤Ç¤Î¤ßÁý¸º¤·¤Þ¤¹¤¬¡¢
|
|
¤³¤ì¤é¤Î´Ø¿ô¤Ï¡¢¥Ö¥ì¡¼¥¯¤ò¶³¦¤Ë¤¢¤ï¤Ê¤¤ÃͤËÀßÄꤹ¤ë¤³¤È¤òµö¤·¤Þ¤¹
|
|
(¤¹¤Ê¤ï¤Á¡¢¥Ç¡¼¥¿¥»¥°¥á¥ó¥È¤ÎºÇ½ª¥Ú¡¼¥¸Ãæ¤ÎǤ°Õ¤Î¥¢¥É¥ì¥¹¤ò»Ø¤·¤Æ¹½¤¤¤Þ¤»¤ó)¡£
|
|
.Pp
|
|
¥×¥í¥°¥é¥à¤Î¥Ö¥ì¡¼¥¯¤Î¸½ºßÃͤϡ¢
|
|
.Fn sbrk 0
|
|
¤ò¸Æ¤Ó½Ð¤¹¤³¤È¤ÇȽÄê²Äǽ¤Ç¤¹¡£
|
|
.Xr end 3
|
|
¤â»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£
|
|
.Pp
|
|
.Xr getrlimit 2
|
|
¥·¥¹¥Æ¥à¥³¡¼¥ë¤Ï¡¢
|
|
¥Ç¡¼¥¿
|
|
¥»¥°¥á¥ó¥È¤ÎµöÍÆ¤Ç¤¤ëºÇÂç¤Î¥µ¥¤¥º¤ò·èÄꤹ¤ë¤Î¤ËÍøÍѤǤ¤Þ¤¹¡£
|
|
.Dq Va etext No + Va rlim.rlim_max
|
|
¤ò±Û¤¨¤ë¥Ö¥ì¡¼¥¯¤òÀßÄꤹ¤ë¤³¤È¤Ï¤Ç¤¤Þ¤»¤ó¡£
|
|
.Va rlim.rlim_max
|
|
¤Ï
|
|
.Fn getrlimit RLIMIT_DATA &rlim
|
|
¤Î¸Æ¤Ó½Ð¤·¤«¤éÊÖ¤µ¤ì¤¿ÃͤǤ¹
|
|
.Pf ( Va etext
|
|
¤ÎÄêµÁ¤Ë¤Ä¤¤¤Æ¤Ï
|
|
.Xr end 3
|
|
¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤)¡£
|
|
.Sh Ìá¤êÃÍ
|
|
.Rv -std brk
|
|
.Pp
|
|
.Fn sbrk
|
|
´Ø¿ô¤Ï¡¢À®¸ù¤¹¤ë¤È¸Å¤¤¥Ö¥ì¡¼¥¯ÃͤòÊÖ¤·¤Þ¤¹¡£
|
|
¼ºÇÔ¤¹¤ë¤È¡¢ÃÍ
|
|
.Po Vt "void *" Pc Ns \-1
|
|
¤¬ÊÖ¤·¡¢¥°¥í¡¼¥Ð¥ëÊÑ¿ô
|
|
.Va errno
|
|
¤Ë¥¨¥é¡¼¤òɽ¤¹ÃͤòÀßÄꤷ¤Þ¤¹¡£
|
|
.Sh ¥¨¥é¡¼
|
|
.Fn brk
|
|
¤ª¤è¤Ó
|
|
.Fn sbrk
|
|
´Ø¿ô¤Ï¡¢¼¡¤Î¾ì¹ç¤Ë½èÍý¤Ë¼ºÇÔ¤·¤Þ¤¹:
|
|
.Bl -tag -width Er
|
|
.It Bq Er EINVAL
|
|
Í׵ᤵ¤ì¤¿¥Ö¥ì¡¼¥¯Ãͤ¬¥Ç¡¼¥¿¥»¥°¥á¥ó¥È¤ÎÀèÆ¬¤ò±Û¤¨¤Æ¤¤¤Þ¤¹¡£
|
|
.It Bq Er ENOMEM
|
|
.Xr setrlimit 2
|
|
¤¬ÀßÄꤷ¤¿¥Ç¡¼¥¿¥»¥°¥á¥ó¥È¥µ¥¤¥º¤Î¸Â³¦¤ò±Û¤¨¤Æ¤¤¤Þ¤¹¡£
|
|
.It Bq Er ENOMEM
|
|
¥Ç¡¼¥¿¥»¥°¥á¥ó¥È¤Î³ÈÄ¥¤ËɬÍפʥ¹¥ï¥Ã¥×ÎΰèÆâ¤Î¶õ´Ö¤¬ÉÔ½¼Ê¬¤Ç¤¹¡£
|
|
.El
|
|
.Sh ´ØÏ¢¹àÌÜ
|
|
.Xr execve 2 ,
|
|
.Xr getrlimit 2 ,
|
|
.Xr mmap 2 ,
|
|
.Xr end 3 ,
|
|
.Xr free 3 ,
|
|
.Xr malloc 3
|
|
.Sh ¥Ð¥°
|
|
.Fn brk
|
|
¤Þ¤¿¤Ï
|
|
.Fn sbrk
|
|
¤È¡¢
|
|
.Xr malloc 3 ,
|
|
.Xr free 3
|
|
¤ä¤³¤ì¤ËÎह¤ë´Ø¿ô¤òº®ºß¤µ¤»¤ë¤È¡¢°Ü¿¢À¤Î¤Ê¤¤¥×¥í¥°¥é¥àưºî¤È¤Ê¤ê¤Þ¤¹¡£
|
|
.Pp
|
|
¥Ö¥ì¡¼¥¯¤ÎÀßÄê¤Ï¡¢¥¹¥ï¥Ã¥×¶õ´Ö¤Î°ì»þŪ¤ÊÉÔ¤Τ¿¤á¤Ë½èÍý¤¬¼ºÇÔ¤¹¤ë
|
|
²ÄǽÀ¤¬¤¢¤ê¤Þ¤¹¡£
|
|
¤³¤ì¤Ï
|
|
.Xr getrlimit 2
|
|
¤ò»ÈÍѤ·¤Ê¤¤¤È¡¢¥Ç¡¼¥¿¥»¥°¥á¥ó¥È¤ÎºÇÂ祵¥¤¥º¤ò±Û¤¨¤¿¤³¤È¤Ëµ¯°ø¤¹¤ë
|
|
¼ºÇԤȶèÊ̤¹¤ë¤³¤È¤Ï¤Ç¤¤Þ¤»¤ó¡£
|
|
.Sh Îò»Ë
|
|
.Fn brk
|
|
´Ø¿ô¤Ï
|
|
.At v7
|
|
¤ÇÅо줷¤Þ¤·¤¿¡£
|