더북(TheBook)

스택 대 힙

운영체제는 변수와 함수로 수행하는 모든 작업에 메모리를 할당한다. 함수를 저장하고 호출해야 하며 데이터를 처리하고 재사용해야 한다. 이 작업에 스택과 힙, 두 개념이 사용된다.

스택은 보통 프로그램에 의해 제어되며 각 스레드에는 자체 스택이 있다. 주소, 레지스터 값, 프로그래밍 값(변수, 매개변수, 반환 값)을 저장한다. 기본으로 고정된 크기를 가진(또는 정규적인 크기가 되도록 여분 데이터가 붙은) 모든 항목은 스택에 저장할 수 있다.

힙은 다른 메모리 영역에 비해 특징적이고(힙이 여러 개 있을 수 있음) 힙에서 작업하려면 오버헤드가 더 많이 발생한다. 데이터는 크기가 고정되어 있지 않고 여러 블록으로 분할될 수 있으므로 읽는 데 시간이 더 많이 걸린다.

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.