인프런 커뮤니티 질문&답변

별세계사자님의 프로필 이미지
별세계사자

작성한 질문수

개발자를 위한 컴퓨터공학 1: 혼자 공부하는 컴퓨터구조 + 운영체제

프로세스 상태와 계층 구조

힙영역과 스택영역이 충돌할 수도 있는건가요?

해결된 질문

작성

·

378

0

안녕하세요! 강의 재밌게 잘 수강하고 있습니다!

힙 영역과 스택 영역이 반대 방향으로 가변적으로 커지는 이유가 메모리가 겹치지 않도록 하기 위해서라고 하셨는데 반대 방향이더라도 그림과 같이 가변적으로 커지면 메모리 상에서 겹치는 부분이 생기는 것으로 보이는데 제한이 따로 있어서 상관이 없는지 궁금합니다.

답변 1

2

강민철님의 프로필 이미지
강민철
지식공유자

안녕하세요!

힙 영역과 스택 영역이 반대방향으로 커져도 겹칠 수는 있습니다만,

같은 방향으로 커져 크기가 고정되는 것보다는 더 가변적으로 크기를 사용할 수 있게 됩니다.

더욱이, 힙 영역과 스택 영역은 기본적으로 실행 중에도 크기가 가변적으로 변경될 수 있기 때문에

이 두개의 영역의 크기는 고정적으로 사용하지 않는 것이 더 좋긴 합니다^^

감사합니다.

가변적으로 사용한다는 이야기가 만약 총 메모리가 10이고 초기 할당이 힙과 스택이 2씩가지고 있으면 스택이 8까지도 가변적으로 커질 수 있는 건지 궁금합니다! 스택 오버 플로우는 그러면 8까지의 공간을 차지하고도 부족해서 발생하는 건지도 궁금합니다.

강민철님의 프로필 이미지
강민철
지식공유자

가변적으로 사용한다는 이야기가 만약 총 메모리가 10이고 초기 할당이 힙과 스택이 2씩가지고 있으면 스택이 8까지도 가변적으로 커질 수 있는 건지 궁금합니다!

> 네 그렇습니다

스택 오버 플로우는 그러면 8까지의 공간을 차지하고도 부족해서 발생하는 건지도 궁금합니다.

> 맞습니다. 더 이상 스택에 추가할 공간이 없는데도 불구하고 스택에 데이터를 추가해서 발생합니다 :)

이해가 되었습니다. 답변 너무너무 감사합니다!

별세계사자님의 프로필 이미지
별세계사자

작성한 질문수

질문하기