영역별 수명 분리
전역 값은 프로세스 전체, stack 값은 함수 호출 동안, heap 값은 명시 해제 전까지 남는다.
프로세스는 하나의 가상 주소 공간을 가진다. 각 영역은 생성 시점, 성장 방향, 접근 권한이 달라서 오류 위치를 추적하는 기준이 된다.
전역 값은 프로세스 전체, stack 값은 함수 호출 동안, heap 값은 명시 해제 전까지 남는다.
코드 영역 쓰기 금지와 stack 실행 금지는 보호와 exploit 완화에 연결된다.
stack overflow, heap use-after-free, global 초기화 문제는 서로 다른 영역에서 난다.
text | rodata | data/bss | heap -> ... <- stack | kernel mapped area