readelf전문보기더보기더보기--all -a -- show all tables --archive-index -c -- show symbol/file index in an archive --arch-specific -A -- show architecture specific information (if any) --ctf -- display compact C type format info from section -..
그 충분히 다른 블로그 참고하고 왔을 거 같아서 Binning은 기본적인 요소보다는 중요한 포인트만 갖고 왔습니다. Boundary Tag메모리 청크(블록이라고 표현하는게 맞을 수도) 경계를 식별하고 관리하기 위한 메커니즘이다.-> 청크의 헤더 정보를 다음 청크에 복사하는 식으로 관리한다.그러면 어떤 일이 발생하냐면, 청크의 앞뒤 정보를 빠르게 확인할 수 있다. 그러면 인접한 청크들이 free된다면 병합을 할 수 있다! 그러면 메모리 관리가 효율적이다! Boundary Tag 메커니즘이 heap에서 장점들이 Chaining된다 +--------+--------------------+--------+| Header | Payload | Footer | 사실 dlmalloc에서 Boun..
Heap이 왜 어려울까?1. Stack Memory와 너무 다른 구조Stack 메모리에서는 단순히 push, pop 동작만 하기에 우리가 이해하는데 큰 어려움은 있지 않았다.반면 Heap의 메모리 할당은 비정형적이고 동적이기에 정적으로 할당되는 Stack 메모리보다 배우기 까다롭다. 2. 너무 많은 Memory Allocators Google의 tcmallocGNU의 ptmalloc2FreeBSD/Firefox의 JemallocSolaris의 Libumem등 동적 메모리 할당자는 종류가 많다. 운영체제, 메모리 재사용, 단편화, 낭비등 여러면에서 각각 구현 목표가 다를 수 있다. ptmalloc2.. 빠르고 쉽게 알아보자우선 리눅스 glibc에서는 ptmalloc(pthreads malloc)을 제공한다..