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