
[시스템 프로그래밍] 동적 메모리 할당(Implicit, Explicit List)
메모리에 대한 진실 🔲 메모리는 무한의 자원이 아닌 할당되고 관리되는 자원이다. 🔲 메모리 참조 버그는 치명적이다. 🔲 메모리의 성능은 일정하지 않다. 캐시와 가상 메모리는 프로그램 성능에 영향을 준다. 동적 메모리 할당기 🔶 직접 할당(Explicit) 응용 프로그램이 할당하고, 반환한다. (malloc, free) 🔶 간접 할당(Implicit) 응용 프로그램이 할당하지만, 반환하지 않는다. 예를 들어 자바는 가비지 컬렉션 기능이 있다. 메모리는 블록 단위로 제공되며, 응용 프로그램에 free 메모리 블록을 나눠준다. 메모리 구조 🔲 할당기는 sbrk 함수를 통해 추가적인 힙 메모리를 운영체제로부터 요청한다. 🔲 stack, kernel virtual memory가 유저 코드에서 볼 수 있는 메모리이..