동적 메모리 할당

요구 페이징 기법

malloc을 통해서 가상 주소를 할당받았더라도 현재 그 가상 주소에 매핑된 페이지는 없음 !! 따라서 페이지 테이블의 valid bit는 0이다 해당 가상 주소를 역참조해서 접근하였을 때 비로소 페이지 폴트가 발생하면서 필요한 물리 페이지를 할당해주고 그 정보를 페이지 테이블에 기록해줌

명시적 할당기와 묵시적 할당기

명시적 할당기


malloc은 32비트 시스템에서는 8의 배수인 주소를, 64비트 시스템에서는 16의 배수인 주소를 리턴한다. 만약 가용한 가상 메모리 공간이 없다면 NULL을 리턴하고 errno를 설정한다

묵시적 할당기

묵시적 가용 리스트

이제 힙 내에서 가용 블록과 할당 블록을 어떻게 구분할 것인가?