mmap
은 파일을 메모리에 매핑하는 시스템 콜이다. 파일을 메모리에 직접 로드하여 접근할 수 있다.
malloc
은 동적으로 메모리를 할당하는 함수로, 힙(heap) 메모리에서 메모리를 할당한다.
malloc: 힙(heap) 영역에서 메모리를 동적으로 할당한다. 이는 프로세스의 가용한 힙 메모리 영역 내에서 메모리 블록을 할당하고 반환한다.
mmap: 파일, 장치, 익명 메모리 등을 포함한 다양한 리소스를 매핑하여 메모리를 할당한다. 파일 매핑을 통해 파일을 메모리에 매핑하거나 익명 메모리 매핑을 통해 메모리를 할당할 수 있다.
malloc: 사용자가 요청한 크기의 메모리 블록을 할당한다. 주로 작은 크기의 메모리를 할당하는 데 사용된다.
mmap: 파일 매핑의 경우 파일 크기 또는 사용자가 지정한 크기에 따라 할당되며, 익명 메모리 매핑의 경우 사용자가 지정한 크기의 메모리를 할당한다. 크기가 큰 메모리를 할당하는 데 효율적이다.
free: malloc으로 할당된 메모리를 해제한다.
munmap: mmap으로 할당된 메모리를 해제한다.
malloc: 주로 작은 크기의 메모리 블록을 동적으로 할당하여 사용할 때 사용된다.
mmap: 큰 크기의 메모리를 할당하고자 할 때, 또는 파일을 메모리에 매핑하여 파일 입출력 성능을 향상시킬 때 사용된다.
mmap
과 malloc
은 각각 파일을 메모리에 매핑하고 동적으로 메모리를 할당하는 방법이다.
mmap
은 대용량 파일을 처리할 때 유용하며, 파일을 직접 메모리에 매핑하여 I/O 작업을 최소화할 수 있다.malloc
은 프로그램 실행 중에 동적으로 메모리를 할당할 때 유용하며, 메모리 사용량을 관리할 수 있다.