본문으로 바로가기

해커스쿨.Section 15

category Study/system 2017. 11. 7. 00:18


Section 15


스택(Stack) 영역 조금 더 깊게 알기




스택은 LIFO(Last In First Out)이라는 후입선출형 구조를 가지고 있다.


말그대로 마지막에 들어온 것이 먼저 나가는 형식이다.


예를 들어 설명하면 프린터기에 종이를 차곡차곡 쌓아넣으면


가장 마지막에 올라간 종이부터 사용하는 것과 같다고 보면 된다



보통 스택은 위와같이 그리며 아래쪽이 높은주소이다.


push를 통해 데이터를 채워나가며 pop을 통해 데이터를 제거해나갈 수 있다.


스택의 위치를 지칭하는 용어는 TOP과 BOTTOM이 있는데


TOP 경우 스택의 최상단. 즉, 가장 최근에 쌓인 데이터를 가리키며 BOTTOM의 경우 가장 아래부분을 가리킨다


TOP과 BOTTOM이 같을 경우 더이상 데이터가 없음을 뜻한다.





스택이 높은주소부터 낮은주소 방향으로 쌓이도록 설계된 이유는 커널영역을 침범하지 않기 위함과


힙 영역과 함께 공유 라이브러리 영역을 중심에 두고 서로 마주보는 형태를 통해 메모리 공간을 알뜰하게 활용할 수 있기 때문이다.




'Study > system' 카테고리의 다른 글

해커스쿨.Section 19  (0) 2017.11.07
해커스쿨.Section 17  (0) 2017.11.07
해커스쿨.Section 14  (0) 2017.11.05
해커스쿨.Section 12  (0) 2017.11.02
해커스쿨.Section 11  (0) 2017.11.02