SHMOP
Section: ¸®´ª½º ÇÁ·Î±×·¡¸Ó ¸Þ´º¾ó (2)
Updated: November 28, 1993
Index
Return to Main Contents
 
À̸§
shmop - °øÀ¯ ¸Þ¸ð¸® ÀÛµ¿µé
 
»ç¿ë¹ý
# include <sys/types.h>
# include <sys/shm.h>
void *shmat ( int shmid,
const void *shmaddr,
int shmflg )
int shmdt ( const void *shmaddr)
 
¼³¸í
shmat
ÇÔ¼ö´Â 
shmid
·Î ½Äº°µÇ´Â °øÀ¯ ¸Þ¸ð¸® ¼¼±×¸ÕÆ®¸¦ È£Ãâ ÇÁ·Î¼¼½ºÀÇ µ¥ÀÌÅÍ ¼¼±×¸ÕÆ®¿¡
¿¬°áÇÑ´Ù.
¿¬°áµÉ ÁÖ¼Ò´Â ´ÙÀ½ Á¶°ÇÁß ÇϳªÀÇ 
shmaddr
·Î ÁöÁ¤µÈ´Ù.
- 
If
shmaddr
°¡ 
0
À̸é, ½Ã½ºÅÛÀº 1 - 1.5G»çÀÌÀÇ ¿µ¿ª¿¡¼ »óÀ§¿¡¼ºÎÅÍ ÇÏÀ§·Î ´ëÀÀµÇÁö ¾ÊÀº 
¿µ¿ªÀ» ã´Â´Ù.
- 
shmaddr
°¡ 
0
ÀÌ ¾Æ´Ï°í 
SHM_RND
°¡ 
shmflg
¿¡ ÁöÁ¤µÇ¾î ÀÖÀ¸¸é, 
shmaddr
°¡ 
SHMLBA
ÀÇ ¹è¼öÀÇ ÁÖ¼Ò·Î ¿¬°áÀÌ ¹ß»ýÇÑ´Ù.
±×·¸Áö ¾ÊÀ¸¸é
shmaddr
´Â ¿¬°áÇÒ¼ö ÀÖ´Â Á¤·ÄµÈ ÆäÀÌÁö ÁÖ¼ÒÀ̾î¾ß ÇÑ´Ù.
¸¸ÀÏ
SHM_RDONLY
°¡ 
shmflg
¿¡ ÁöÁ¤µÇ¸é, 
ÀÌ ¼¼±×¸ÕÆ®´Â ÀбâÀü¿ëÀ¸·Î ¿¬°áµÇ¸ç ÇÁ·Î¼¼½º´Â ¼¼±×¸ÕÆ®¿¡ Àбâ Á¢±Ù Çã°¡±ÇÀ» 
°¡Á®¾ß¸¸ ÇÑ´Ù. 
±×·¸Áö ¾ÊÀ¸¸é ¼¼±×¸ÕÆ®´Â Àбâ-¾²±â·Î ¿¬°áµÇ¸ç ÇÁ·Î¼¼½º´Â ¼¼±×¸ÕÆ®¿¡ Àбâ-¾²±â Á¢±Ù Çã°¡±ÇµéÀ» °¡Á®¾ß¸¸ ÇÑ´Ù.
¾²±âÀü¿ë °øÀ¯¸Þ¸ð¸® ¼¼±×¸ÕÆ®¿¡ ´ëÇÑ Ç¥½Ã´Â ¾ø´Ù.
È£Ãâ ÇÁ·Î¼¼½ºÀÇ 
brk
°ªÀº ¿¬°á½Ã ¹Ù²î¾îÁöÁö ¾Ê´Â´Ù.
¼¼±×¸ÕÆ®´Â ÇÁ·Î¼¼½º°¡ Á¾·áÇÒ¶§ ÀÚµ¿ÀûÀ¸·Î ºÐ¸®µÈ´Ù.
°°Àº ¼¼±×¸ÕÆ®´Â ±× ÇÁ·Î¼¼½º ÁÖ¼Ò °ø°£¿¡¼ Àбâ Àü¿ëÀ¸·Î,  Àбâ-¾²±â·Î, Çѹø 
ÀÌ»ó ¿¬°áµÉ¼ö ÀÖ´Ù.
¼º°ø½Ã
shmat
½Ã½ºÅÛ ÄÝÀº °øÀ¯ ¸Þ¸ð¸® ¼¼±×¸ÕÆ®¿¡¼ ´ÙÀ½°ú °°Àº 
shmid_ds
±¸Á¶Ã¼ ¸â¹öµéÀ» °»½ÅÇÑ´Ù.
- 
shm_atime
´Â ÇöÀç ½Ã°£À¸·Î ¼³Á¤µÈ´Ù.
- 
shm_lpid
´Â È£Ãâ ÇÁ·Î¼¼½ºÀÇ ÇÁ·Î¼¼½º-ID·Î ¼³Á¤µÈ´Ù.
- 
shm_nattch
´Â 1 Áõ°¡ÇÑ´Ù.
°øÀ¯ ¸Þ¸ð¸® ¼¼±×¸ÕÆ®°¡ »èÁ¦·Î¼ Ç¥½ÃµÉ °æ¿ìµµ ¿ª½Ã ºÐ¸® µÈ´Ù.
ÇÔ¼ö 
shmdt
´Â È£Ãâ ÇÁ·Î¼¼½ºÀÇ µ¥ÀÌŸ ¼¼±×¸ÕÆ®¿¡¼ 
shmaddr
·Î ÁöÁ¤µÈ ÁÖ¼Ò¿¡ À§Ä¡ÇÑ °øÀ¯ ¸Þ¸ð¸® ¼¼±×¸ÕÆ®¸¦ ºÐ¸®ÇÑ´Ù.
°øÀ¯ ¸Þ¸ð¸® ¼¼±×¸ÕÆ®ÀÇ ºÐ¸®´Â 
shmat
½Ã±×ÅÛ ÄÝ·Î ¿¬°áµÈ °ª°ú °°Àº  
shmaddr
¸¦ °¡Áö°í ÀÖ´Â ÇöÀç ¿¬°áµÈ ¼¼±×¸ÕÆ®µéÁß Çϳª(ÇÁ·Î¼¼½ºÀÇ ÁÖ¼Ò °ø°£)À̾î¾ß ÇÑ´Ù.
¼º°ø½Ã, 
shmdt
½Ã½ºÅÛ ÄÝÀº °øÀ¯ ¸Þ¸ð¸® ¼¼±×¸ÕÆ®¿¡¼ ´ÙÀ½°ú °°Àº 
shmid_ds
±¸Á¶Ã¼ ¸â¹öµéÀ» °»½ÅÇÑ´Ù.
- 
shm_dtime
´Â ÇöÀç ½Ã°£À¸·Î ¼³Á¤µÈ´Ù.
- 
shm_lpid
´Â È£Ãâ ÇÁ·Î¼¼½ºÀÇ ÇÁ·Î¼¼½º-ID·Î ¼³Á¤µÈ´Ù.
- 
shm_nattch
´Â 1 °¨¼ÒÇÑ´Ù.
¸¸ÀÏ 0ÀÌ°í ¼¼±×¸ÕÆ®°¡ »èÁ¦ Ç¥½ÃµÇ¾î ÀÖµå¸é ¼¼±×¸ÕÆ®´Â »èÁ¦µÈ´Ù.
È£Ãâ ÇÁ·Î¼¼½ºÀÇ À¯Àú °ø°£¿¡ Á¡À¯µÈ ¿µ¿ªÀº ´ëÀÀÀÌ Ç®¸®Áö ¾Ê´Â´Ù.
 
SYSTEM CALLS
- fork()
- 
fork()
ÈÄ¿¡ ÀÚ½Ä ÇÁ·Î¼¼½º´Â ¿¬°áµÈ °øÀ¯ ¸Þ¸ð¸® ¼¼±×¸ÕÆ®µéÀ» »ó¼ÓÇÑ´Ù.
- exec()
- 
exec()
ÈÄ¿¡ ¸ðµç ¿¬°áµÈ °øÀ¯ ¸Þ¸ð¸® ¼¼±×¸ÕÆ®µéÀº ºÐ¸®µÈ´Ù.(ÆÄ±«µÇ´Â°ÍÀÌ ¾Æ´Ï´Ù.)
- exit()
- 
exit()
½Ã ¸ðµç ¿¬°áµÈ °øÀ¯ ¸Þ¸ð¸® ¼¼±×¸ÕÆ®´Â ºÐ¸®µÈ´Ù.(ÆÄ±«µÇ´Â °ÍÀÌ ¾Æ´Ï´Ù.)
 
¹Ýȯ°ª
½ÇÆÐ½Ã µÎ ÇÔ¼ö´Â ¸ðµÎ 
¿¡·¯¸¦ °¡¸®Å°´Â 
errno
¿Í  
-1
¸¦ ¸®ÅÏÇϸç 
±×·¸Áö ¾ÊÀ¸¸é 
shmat
´Â ¿¬°áµÈ °øÀ¯ ¸Þ¸ð¸® ¼¼±×¸ÕÆ®ÀÇ ÁÖ¼Ò¸¦ ¸®ÅÏÇÑ´Ù.
±×¸®°í 
shmdt
´Â 
0
¸¦ ¸®ÅÏÇÑ´Ù.
 
¿¡·¯
shmat
°¡ ½ÇÆÐÇÒ¶§,  ¸®ÅϵǴ 
errno
´Â ´ÙÀ½°ªÁß Çϳª·Î ¼³Á¤µÈ´Ù.
- EACCES
- 
È£Ãâ ÇÁ·Î¼¼½º´Â ¿ä±¸µÈ ¿¬°á ŸÀÔ¿¡ ´ëÇÑ Á¢±Ù Çã°¡±ÇµéÀÌ ¾ø´Ù.
- EINVAL
- 
À¯È¿ÇÏÁö ¾ÊÀº 
shmid
°ª, Á¤·ÄµÇÁö ¾ÊÀº(Áï, ÆäÀÌÁö Á¤·ÄÀÌ ¾Æ´Ï°í SHM_RND°¡ ÁöÁ¤µÇÁö ¾Ê¾Ò´Ù.) 
¶Ç´Â À¯È¿ÇÏÁö ¾ÊÀº 
shmaddr
°ª, ¶Ç´Â 
brk
¿¡ ¿¬°á ½ÇÆÐ
- ENOMEM
- 
±â¼úÀÚ³ª ÆäÀÌÁö Å×À̺íµéÀ» À§ÇØ ¸Þ¸ð¸®¸¦ ÇÒ´çÇÒ¼ö ¾ø´Ù.
shmaddr
¿¡ ¿¬°áµÈ °øÀ¯ ¸Þ¸ð¸® ¼¼±×¸ÕÆ®°¡ ¾ø´Ù¸é 
ÇÔ¼ö
shmdt
´Â ½ÇÆÐÇÒ¼ö ÀÖ´Ù.
À̰æ¿ì ¸®ÅϵǴ 
errno
´Â 
EINVAL
À¸·Î ¼³Á¤µÉ °ÍÀÌ´Ù.
 
ÁÖÀÇ
fork(2)
½Ã½ºÅÛ ÄÝ ½ÇÇà½Ã ÀÚ½Ä ÇÁ·Î¼¼½º´Â ¿¬°áµÈ ¸ðµç °øÀ¯ ¸Þ¸ð¸® ¼¼±×¸ÕÆ®µÑÀ» 
»ó¼ÓÇÑ´Ù.
execve(2)
·Î ½ÇÇàµÇ´Â ÇÁ·Î¼¼½º¿¡ ¿¬°áµÈ °øÀ¯ ¸Þ¸ð¸® ¼¼±×¸ÕÆ®µéÀº °á°ú ÇÁ·Î¼¼½º¿¡ ¿¬°áµÇÁö
¾ÊÀ» °ÍÀÌ´Ù.
´ÙÀ½Àº 
shmat
½Ã½ºÅÛ ÄÝ¿¡ ¿µÇâÀ» ¹ÌÄ¡´Â ½Ã½ºÅÛ ÀÎÀÚÀÌ´Ù:
- SHMLBA
- 
Segment low boundary address multiple.
ÆäÀÌÁöµéÀº Á¤·ÄµÇ¾î¾ß ÇÑ´Ù.
ÇöÀç ¼öÇà½Ã 
SHMBLA
°ªÀº 
PAGE_SIZE
ÀÌ´Ù.
¼öÇà½Ã ÇÁ·Î¼¼½º´ç °øÀ¯ ¸Þ¸ð¸® ¼¼±×¸ÕÆ® ÃÖ´ë¼ö¿¡ ¾î¶°ÇÑ ³»ºÎ Á¦Çѵµ ¾ø´Ù.
(SHMSEG)
 
ȣȯ
SVr4, SVID.  SVr4´Â EMFILE ¿¡·¯ Á¶°ÇÀ» ¹®¼ÈÇß´Ù.
SVID-v4¿¡¼ shmaddr ÀÎÀÚ´Â 
char *
¿¡¼ 
const void *
·Î ¹Ù²î¾úÀ¸¸ç 
shmat()ÀÇ ¸®ÅÏ Å¸ÀÔÀº 
char *
¿¡¼ 
void *
À¸·Î ¹Ù²î¾ú´Ù.
(Linux libc4 ¿Í libc5´Â 
char *
ŸÀÔÀ» °¡Áö°í ÀÖ´Ù.; glibc2´Â 
void *
À» °¡Áö°í ÀÖ´Ù.)
 
°ü·Ã Ç׸ñ
ipc(5),
shmctl(2),
shmget(2)
 
¿ªÀÚ
Á¤°ÈÆ <skyeyes@soback.kornet.net>, 2000³â 5¿ù 16ÀÏ
 Index
- À̸§
- 
- »ç¿ë¹ý
- 
- ¼³¸í
- 
- SYSTEM CALLS
- 
- ¹Ýȯ°ª
- 
- ¿¡·¯
- 
- ÁÖÀÇ
- 
- ȣȯ
- 
- °ü·Ã Ç׸ñ
- 
- ¿ªÀÚ
- 
This document was created by
man2html,
using the manual pages.
Time: 08:06:59 GMT, March 25, 2004