Files
2nd/10_Wiki/Topics_Biz/Call Stack.md
T

2.3 KiB

id, category, confidence_score, tags, last_reinforced
id category confidence_score tags last_reinforced
P-REINFORCE-AUTO-CAST-001 10_Wiki/💡 Topics/AI 0.99
auto-reinforced
call-stack
computer-science
execution-context
memory-management
recursion
2026-04-20

Call Stack

📌 한 줄 통찰 (The Karpathy Summary)

"함수들이 쌓아 올리는 기억의 탑: 프로그램이 어떤 순서로 함수를 호출해왔는지, 함수가 끝나면 어디로 돌아가야 하는지를 관리하는 '후입선출(LIFO)' 방식의 지능형 작업 일지이자 메모리 영역."

📖 구조화된 지식 (Synthesized Content)

콜 스택(Call Stack)은 컴퓨터 프로그램의 현재 실행 중인 서브루틴(함수)들에 대한 정보를 저장하는 스택 자료구조입니다.

  1. 동작 메커니즘:
    • Push: 함수를 호출하면 해당 함수의 실행 컨텍스트(변수, 리턴 주소 등)가 스택 맨 위에 쌓임.
    • Pop: 함수 실행이 종료되면 스택 맨 위에서 제거되고, 이전 함수로 제어권이 넘어감.
  2. 주요 이슈:
    • Stack Overflow: 재귀 함수가 끝나지 않고 계속 스택을 쌓거나, 함수 중첩이 너무 깊어 메모리 한계를 넘었을 때 발생.
    • Debugging: 에러 발생 시 출력되는 'Stack Trace'는 이 스택의 기록을 역순으로 보여주어 버그의 원점을 추적하게 도움. (Analysis와 연결)

⚠️ 모순 및 업데이트 (Contradictions & RL Update)

  • 과거 데이터와의 충돌: 과거의 스택 정책은 단순히 '순차 실행'을 관리하는 정적 정책이었으나, 현대 자바스크립트 등 비동기 언어 정책에서는 '이벤트 루프(Event Loop)' 및 '마이크로태스크 큐'와 상호작용하며 복잡한 비동기 흐름을 관리하는 동적 정책으로 이해됨(RL Update).
  • 정책 변화(RL Update): 브라우저 성능 최적화 정책에서, 메인 스레드 점유 정책(Main thread blocking)을 막기 위해 콜 스택을 너무 무겁게 유지하지 않고 작업을 쪼개는 '비동기 스택 정책'이 웹 앱 성능의 핵심 지표가 됨. (Blocking과 연결)

🔗 지식 연결 (Graph)