SSAFY-CSStudy / OS

SSAFY CS 운영체제 스터디입니다.
11 stars 0 forks source link

[2. 컴퓨터시스템의 구조] 힙 영역과 스택 영역의 차이점 #41

Open SooYoungJi opened 8 months ago

SooYoungJi commented 8 months ago

1Depth

메모리 공간에 대한 설명


Answer 프로그램을 실행시키면 운영체제는, 실행한 프로그램을 위해서 메모리 공간을 할당해주게 되는데, 이때 할당되는 메모리의 공간이 크게 스택, 힙, 데이터 영역으로 나누어지게 됩니다. 할당된 장소는 메인 메모리(RAM)에 할당되며, 할당되는 용도는 프로그램 실핼 시 필요한 메모리 공간을 지정하기 위해서 할당하게 됩니다. 스크린샷 2024-03-05 오전 12 37 00 <데이터 영역 (정적 메모리)> - 프로그램이 종료될 때까지 지워지지 않을 데이터 저장 - 대표적으로 전역변수와 static 변수, 상수도 저장 <스택 영역(자동 메모리)> - 잠깐 사용하고 삭제하는 데이터 저장(지역변수, 매개변수) - 해당 객체가 정의된 블록(스코프)를 벗어날 때 소멸 - 함수의 호출하는 위치도 저장 - 힙보다 빠름 <힙 영역(자유 저장소)> - 가비지 컬렉터가 없으면 프로그래머가 직접 관리(할당/해제)해줘야 함 - 스택보다 큰 메모리를 할당받기 위해 사용 - 동적 메모리 할당 (new / 포인터) - delete를 사용하여 해당 객체 메모리 반환 - 스택보다 느림

2Depth

힙과 스택의 차이점


Answer - 스택(Stack)은 메모리 할당과 할당 해제가 자동으로 수행된다. - 힙(heap)은 프로그래머가 수동으로 메모리를 할당하고 해제해야 한다. - 스택 메모리의 처리 속도가 힙 메모리 보다 빠르다. - 메모리 부족 문제는 스택에서 발생할 가능성이 높다. - 힙 메모리의 주요 문제는 메모리 조각화(Memory Fragmentation) 또는 메모리 단편화 - 스택은 메모리 영역이 더 작고 캐시 친화적 - 힙 메모리는 메모리 전체게 분산되어 더 많은 캐시 누락을 야기한다. - 스택은 유연하지 않으며 할당된 메모리의 크기를 변결할 수 없다. 스크린샷 2024-03-05 오전 12 46 16

Additional Explain