Friday, April 25, 2008

Memory, Data Segment, Break Point

지금이야 heap과 stack 영역이 별도로 구분되어 있지만, 옛날에는 한 Data Segment 안에 들어있었다(학교 때 이렇게 배웠는데, 벌써 옛날이 되었네..). 그래서 스택은 제일 윗쪽 주소로 부터 내려오고, 힙은 아래서 부터 올라갔다. 두 영역이 만나는 지점을 Break 혹은 Break point 라고 하는데, 따로 구분되어 있는 지금에도 이 이름은 계속 사용된다. POSIX나 C에서 공식적으로 제공하는 것은 아니지만 brk() 함수를 통해 break point 값을 조정할 수 있고, sbrk()를 통해 현재 break point 값에서 증감할 수 있다(sbrk(0)으로 호출하면 현재 break point의 값을 알 수 있다.).

No comments:

Post a Comment