경험 중심 1인칭 답변
자기소개서에 쓴 임베디드 시스템 프로젝트에서 SRAM 할당을 설계할 때 가장 어려웠던 건 동적 할당의 단편화 문제였습니다. 메모리가 충분한데도 연속 공간 부족으로 malloc이 실패하는 상황이 반복됐습니다. 처음엔 힙 크기를 늘리는 방향으로 접근했는데, 근본 해결이 안 됐습니다. 결국 정적 풀 할당 방식으로 전환해서 사용 패턴을 분석한 뒤 크기별 버킷을 미리 잡는 구조로 바꿨습니다. 이후 단편화가 사라졌고 메모리 사용량도 15% 줄었습니다.
문제가 재현되지 않는 환경에서 디버깅하는 게 가장 어렵다는 걸 이 경험으로 배웠습니다. 지금도 임베디드 작업 시 메모리 할당 방식을 설계 단계에서 먼저 결정합니다.