2011-04-29 4 views
0

나는 힙 메모리가 램의 일부라는 것을 알고있다. 하지만 스택 메모리 또는 램 또는 스택 메모리의 일부는 CPU 레지스터의 일부입니다. .net4.0 응용 프로그램에 대한 스택 메모리의 기본 크기는 무엇입니까스택 메모리 위치

답변

1

스택 메모리는 RAM의 일부입니다. 컴퓨터가 유추되는 한 힙과 다르지 않습니다. 그것은 다른 방식으로 만 사용됩니다.

+0

그런 다음 스택에서 데이터에 액세스하는 방법은 그 다음에 힙 (heater)이됩니다. –

+0

http://en.wikibooks.org/wiki/Microprocessor_Design/Computer_Architecture –

+1

@slash shogdhe : 일반적으로 힙에서 더 복잡한 메모리 할당 스키마가 사용되는 동안 포인터를 증가시키기 때문에 스택에 _allocate_하는 것이 일반적으로 저렴합니다. 스택의 객체도 캐시에서 사용할 수 있습니다. – hammar

0

일반적으로 프로그램 코드 공간과 힙 메모리는 메모리 공간의 맨 아래부터 (0에서 시작하여) 할당됩니다. 일반적으로 스택은 메모리 공간의 맨 끝에서 시작하여 아래쪽으로 커집니다. 처음 스택 크기는 매우 작을 수 있습니다 (1 페이지). 크기가 커지면 페이지 폴트가 발생하고 OS는 더 많은 공간을 할당 할 수 있으므로 아래쪽으로 커질 수 있습니다.

덧붙여서 64 비트 x86 프로세서에서 64 비트 주소 공간의 중간에는 커다란 "틈"이 있습니다. 기계가 전체 64 비트 주소 지정을 구현하지 않기 때문입니다. this on wikipedia을 참조하십시오.