먼저 생활 비유
창고 담당자와 건물 관리실
담당자는 기존 창고에서 자리를 먼저 찾고, 정말 부족할 때만 관리실에 새 구역을 열어 달라고 합니다.
3.5 · 메모리와 포인터
힙에 줄 빈 공간이 부족하면 할당자는 누구에게 요청할까요?
malloc은 먼저 사용자 공간의 빈 블록을 찾고, 부족하면 시스템 호출로 가상 메모리 영역을 늘립니다.
먼저 생활 비유
담당자는 기존 창고에서 자리를 먼저 찾고, 정말 부족할 때만 관리실에 새 구역을 열어 달라고 합니다.
컴퓨터 예제로 바꾸기
buffer = malloc(8 * 1024 * 1024);할당자가 brk나 mmap 같은 운영 체제 기능으로 주소 공간을 확보할 수 있습니다. 실제 RAM은 접근 시점에 붙을 수도 있습니다.
지금 일어나는 변화
필요한 바이트 수를 표준 라이브러리에 요청합니다.
이 그림에서 기억할 한 문장
메모리 할당은 라이브러리의 블록 관리와 운영 체제의 가상 메모리 관리가 이어진 결과입니다.
현재 상태
30초 확인 문제
작은 malloc마다 반드시 커널로 전환할까요?
처음 보는 용어 두 개
이 절을 다 읽었다면
메모리 할당은 라이브러리의 블록 관리와 운영 체제의 가상 메모리 관리가 이어진 결과입니다.