MREMAP
Section: ¸®´ª½º ÇÁ·Î±×·¡¸Ó ¸Å´º¾ó (2)
Updated: 1996³â 4¿ù 12ÀÏ
Index
Return to Main Contents
À̸§
mremap - °¡»ó ¸Þ¸ð¸® ÁÖ¼Ò¸¦ Àç´ëÀÀ½ÃŲ´Ù.
»ç¿ë¹ý
#include <unistd.h>
#include <sys/mman.h>
void * mremap(void * old_address, size_t old_size
, size_t new_size, unsigned long flags);
¼³¸í
mremap ´Â Á¸ÀçÇÏ´Â ¸Þ¸ð¸® ´ëÀÀÀ» È®Àå(¶Ç´Â Ãà¼Ò)Çϸç,
µ¿½Ã¿¡ ³»ºÎÀûÀ¸·Î ±× ´ëÀÀÀ» À̵¿½ÃŲ´Ù (flagsÀÎÀÚ¿Í ÀÌ¿ëÇÒ ¼ö ÀÖ´Â
°¡»ó ÁÖ¼Ò °ø°£¿¡ ÀÇÇØ Á¦¾îµÈ´Ù).
old_address´Â È®Àå(¶Ç´Â Ãà¼Ò)Çϱ⸦ ¿øÇÏ´Â °¡»ó ¸Þ¸ð¸® ºí·°ÀÇ
¿¹Àü ÁÖ¼ÒÀÌ´Ù. old_address´Â ÆäÀÌÁö Á¤·ÄÀÌ µÇÀÖ¾î¾ß ÇÑ´Ù.
old_size´Â °¡»ó ¸Þ¸ð¸® ºí·°ÀÇ ¿¹Àü Å©±âÀÌ´Ù.
new_size´Â ¹Ù²Ù·ÁÇÏ´Â »õ·Î¿î °¡»ó ¸Þ¸ð¸® ºí·°ÀÇ Å©±âÀÌ´Ù.
flagsÀÎÀÚ´Â Ç÷¡±×ÀÇ ºñÆ®¸ÊÀÌ´Ù.
¸®´ª½º¿¡¼ ¸Þ¸ð¸®´Â ÆäÀÌÁö·Î ³ª´©¾î Áø´Ù. »ç¿ëÀÚ ÇÁ·Î¼¼½º´Â (Çϳª
¶Ç´Â) ¿©·¯ °³ÀÇ ¼±Çü °¡»ó ¸Þ¸ð¸® ¼¼±×¸ÕÆ®µéÀ» °¡Áö°í ÀÖ´Ù.
°¢°¢ÀÇ °¡»ó ¸Þ¸ð¸® ¼¼±×¸ÕÆ®´Â Çϳª ¶Ç´Â ¿©·¯ °³ÀÇ ½ÇÁ¦ ¸Þ¸ð¸® ÆäÀÌÁö·Î
(ÆäÀÌÁö Å×ÀÌºí ³») ´ëÀÀµÈ´Ù.
°¢°¢ÀÇ °¡»ó ¸Þ¸ð¸® ¼¼±×¸ÕÆ®´Â À߸øµÈ ¸Þ¸ð¸®¿¡ Á¢±ÙµÇ¸é ¼¼±×¸ÕÆ® À§¹ÝÀ»
¹ß»ý½ÃÅ°´Â (Áï, Àбâ Àü¿ë ¼¼±×¸ÕÆ®¿¡ ¾²±â¸¦ ÇÒ ¶§) ÀڽŸ¸ÀÇ
º¸È£ ¸ðµå(Á¢±Ù ±ÇÇÑ)¸¦ °¡Áö°í ÀÖ´Ù.
¼¼±×¸ÕÆ® ¿µ¿ª ¿ÜÀÇ °¡»ó ¸Þ¸ð¸® Á¢±Ù ¶ÇÇÑ ¼¼±×¸ÕÆ® À§¹ÝÀ» ¹ß»ý½ÃŲ´Ù.
mremap´Â ¸®´ª½º ÆäÀÌÁö ±¸Á¶¸¦ »ç¿ëÇÑ´Ù.
mremap´Â °¡»ó ÁÖ¼Ò¿Í ¸Þ¸ð¸® ÆäÀÌÁö »çÀÌÀÇ ´ëÀÀÀ» ¹Ù²Û´Ù.
ÀÌ°ÍÀº reallocÀ» ¸Å¿ì È¿À²ÀûÀ¸·Î ¼öÇàÇϱâ À§ÇØ »ç¿ëµÉ ¼ö ÀÖ´Ù.
Ç÷¡±×
- MREMAP_MAYMOVE
-
¿¬»êÀÌ ½ÇÆÐÇϸé, ÇöÀç °¡»ó ÁÖ¼Ò¿¡ ´ëÇÑ Å©±â º¯°æÀÌ ºÒ°¡´ÉÇÑ °æ¿ì
°¡»ó ÁÖ¼Ò¸¦ ¹Ù²Ùµµ·Ï ÁöÁ¤ÇÑ´Ù.
¹Ýȯ°ª
¼º°ø½Ã, mremap´Â »õ·Î¿î °¡»ó ¸Þ¸ð¸® ¿µ¿ª¿¡ ´ëÇÑ Æ÷ÀÎÅ͸¦
¹ÝȯÇÑ´Ù. ¿¡·¯½Ã, -1ÀÌ ¹ÝȯµÇ¸ç,errno´Â Àû´çÇÑ °ªÀ¸·Î ¼³Á¤µÈ´Ù.
¿¡·¯
- EINVAL
-
À¯È¿ÇÏÁö ¾ÊÀº ÀÎÀÚ°¡ ÁÖ¾îÁ³´Ù. ´ëºÎºÐ old_address°¡ ÆäÀÌÁö
Á¤·Ä µÇÀÖÁö ¾ÊÀº °æ¿ìÀÌ´Ù.
- EFAULT
-
"Segmentation fault"
old_address¿¡¼ old_address+old_size ¹üÀ§ÀÇ ÀÏÁ¤
ÁÖ¼Ò°¡ ÀÌ ÇÁ·Î¼¼½º¸¦ À§ÇÑ À¯È¿ÇÑ °¡»ó ¸Þ¸ð¸® ÁÖ¼Ò°¡ ¾Æ´Ï´Ù.
ºñ·Ï ¿äûµÈ Àüü ÁÖ¼Ò °ø°£À» Æ÷ÇÔÇÏ´Â ´ëÀÀÀÌ ÀÖÀ» Áö¶óµµ »ç¿ëÀÚ´Â
EFAULT¸¦ ¹ÞÀ» ¼ö ÀÖÀ¸¸ç, ÀÌ·± ´ëÀÀÀº ´Ù¸¥ ŸÀÔÀÇ °ÍÀÌ´Ù.
- EAGAIN
-
¸Þ¸ð¸® ¼¼±×¸ÕÆ®°¡ Àá°ÜÁ® ÀÖ¾î ´Ù½Ã ´ëÀÀ½Ãų ¼ö ¾ø´Ù.
- ENOMEM
-
¸Þ¸ð¸® ¿µ¿ªÀÌ ÇöÀç °¡»ó ÁÖ¼Ò·Î È®ÀåµÉ ¼ö ¾øÀ¸¸ç,
MREMAP_MAYMOVE Ç÷¡±×°¡ flags¿¡ ¼³Á¤µÇÀÖÁö ¾Ê´Ù.
¶Ç´Â, ÀÌ¿ëÇÒ ¼ö ÀÖ´Â (°¡»ó) ¸Þ¸ð¸®°¡ ÃæºÐÇÏÁö ¾Ê´Ù.
ȣȯ
ÀÌ ½Ã½ºÅÛ ÄÝÀº ¸®´ª½º¿¡ ÇÑÁ¤ÀûÀ̸ç, ȣȯ¼ºÀ» ¿°µÎ¿¡ µÐ ÇÁ·Î±×·¥¿¡¼
»ç¿ëÇؼ´Â ¾ÈµÈ´Ù. 4.2BSD´Â ¿ÏÀüÈ÷ ´Ù¸¥ ÀǹÌÀÇ
mremap(2)
½Ã½ºÅÛ ÄÝ(½ÇÁ¦·Î ±¸ÇöµÇÁö ¾ÊÀ½)ÀÌ ÀÖ´Ù.
°ü·Ã Ç׸ñ
getpagesize(2),
realloc(3),
malloc(3),
brk(2),
sbrk(2),
mmap(2)
¸Þ¸ð¸® ÆäÀÌÁö¿¡ °üÇÑ ´õ ¸¹Àº Á¤º¸´Â ÁÁ¾ÆÇÏ´Â OS ±³À縦 Âü°íÇ϶ó>
(Andrew S. TannenbaumÀÇ Modern Operating Systems,
Randolf BentsonÀÇ Inside Linux,
Maurice J. BachÀÇ The Design of the UNIX Operating System.)
¿ªÀÚ
Á¤°ÈÆ <skyeyes@soback.kornet.net>, 2000³â 5¿ù 15ÀÏ
Index
- À̸§
-
- »ç¿ë¹ý
-
- ¼³¸í
-
- Ç÷¡±×
-
- ¹Ýȯ°ª
-
- ¿¡·¯
-
- ȣȯ
-
- °ü·Ã Ç׸ñ
-
- ¿ªÀÚ
-
This document was created by
man2html,
using the manual pages.
Time: 08:07:01 GMT, March 25, 2004