[질문]Shared Memory관련 --> SHM_RND 옵션에 대해
글쓴이: omando / 작성시간: 월, 2003/05/12 - 9:25오전
Shared memory에 매핑하기 위한 함수 --->
void *shmat ( int shmid, const void * shmaddr, int shmflg ) 에서요
(1) If shmaddr 가 0 이면, 시스템이 알아서 주소를 할당하지만,
(2) shmaddr 가 0 이 아니고 SHM_RND 가 shmflg 에 지정되어 있으면,
shmaddr 가 SHMLBA 의 배수의 주소로 연결이 발생한다.
(즉, the kernel rounds off the address)
(3) 그렇지 않으면 shmaddr 는 연결할수 있는 정렬된 페이지 주소이어야
한다.
이와 같은 설명에서 (2)의 의미를 도저히 모르겠어요. round off한다는게 뭔지
SHMLBA의 배수가 뭔지...
글구 (3)의 설명도 이해가 되지 않네요.
고수님들 한수 갈쳐주십시요.
Forums:
shmaddr 에 특정 주소를 주고 shmat 을 하면 커널이 관리하기
shmaddr 에 특정 주소를 주고 shmat 을 하면 커널이 관리하기 용이한 주소로 addr을 반올/내림(?) 을 해서 그 근처이긴 한데 kernel 이 관리하기 쉬운 주소에 attatch 한다는 말인듯 하군요. 2 의 n 승 중에 한곳이겠지요. 그러니 shmaddr 에 준 주소하고는 다른 곳에 attatch 될수 있다는 말인듯 하네요.
------첨 써보는 글이라.....
/** 주워 들은 것도 내 것이다. 많이 주워 들어야지*/
댓글 달기