세그먼트 2

[ Embedded ] 24. Segment(세그먼트)

Segment(세그먼트) C언어로 작성된 프로그램은 주기억장치를 효율적으로 운영하리 위해서 일정한 크기, 대개는 64kb크기로 논리적 단위로 나누어서 할당과 할당 해제로 관리하게 된다. 그 논리적 단위를 세그먼트(Segment)라 하고 서로 관련이 있는 데이터와 명령어를 하나의 세그먼트로 관리하는 것이 아니라 데이터를 저장하는 데이터 세그먼트(Data Segment)영역와 명령어를 저장하는 코드 세그먼트 (Code Segment)영역로 구분해서 사용한다. 또한 데이터 세그먼트영역은 기억 장소의 할당 방법에 따라 동적 할당 (Dynamic Allocation)에 의하여 관리되는 스택(Stack) 세그먼트, 힙(Heap) 세그먼트와 정적 할당(Static Allocation)에 의해서 관리되어지는 데이터(D..

[ C++ ] 08. 스택과 힙(Stack & Heap)

스택과 힙 (Stack and Heap) 프로그램이 사용하는 메모리는 일반적으로 세그먼트(segment)라고 하는 몇 가지 다른 영역으로 나뉜다. 코드 세그먼트 : 컴파일된 프로그램이 저장되는 영역, 일반적으로 read-only 속성이다. 데이터 세그먼트 : 전역 변수 및 정적 변수가 저장되는 영역 힙 세그먼트 : 동적으로 할당된 변수가 할당되는 영역 스택 세그먼트 : 함수 매개 변수, 지역 변수 및 기타 함수 관련 정보가 저장되는 영역 힙 세그먼트 (Heap segment) 힙 세그먼트는 동적 메모리 할당에 사용되는 메모리를 추적한다. C++에서 new 연산자를 사용해서 메모리를 할당하면 이 메모리는 응용 프로그램의 힙 세그먼트에 할당된다. int* ptr = new int; // ptr은 힙에서 4바..