Organizer 정리 산출물(From_RawData) + 이사 체크리스트 + 인덱스 갱신

- Raw_Data 자동 정리 산출물이 각 도메인 From_RawData/ 로 편입, 00_INDEX 연결 갱신
- 컴퓨터_이사_체크리스트.md 추가 (두뇌-상대 경로 규약 v2.2.304 — 새 컴퓨터에서
  바꿀 절대 경로는 localBrainPath 1개)
- Astra 세션 산출물(에피소드 기억·기능 인벤토리) 갱신

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
Antigravity Agent
2026-07-11 21:03:00 +09:00
parent 468322768c
commit 2cc6eff2dd
162 changed files with 15836 additions and 14 deletions
@@ -0,0 +1,92 @@
---
id: call-stack
title: "Call Stack"
category: "Computer Science"
status: "draft"
verification_status: "conceptual"
canonical_id: ""
aliases: ["콜 스택", "콜스택", "Execution Context Stack", "Runtime Stack", "Machine Stack", "호출 스택"]
duplicate_of: ""
source_trust_level: "A"
confidence_score: 0.90
created_at: 2026-07-11
updated_at: 2026-07-11
review_reason: ""
merge_history: []
tags: ["research", "context 이해 규칙"]
raw_sources: ["JavaScript Execution Context How JS Works Behind the Scenes - freeCodeCamp", "Execution Context 실행 컨텍스트를 알아야하는 이유? - 넥스트리", "Process Control Block (PCB) Explained: What It Stores - Unwired Learning"]
applied_in: []
github_commit: ""
---
# [[Call Stack]]
## 🎯 한 줄 통찰 (One-line insight)
콜 스택은 자바스크립트 엔진이 전역 및 함수 실행 컨텍스트의 호출 순서와 실행 상태를 LIFO(후입선출) 원칙에 따라 추적하고 관리하는 핵심 메모리 제어 구조이다.
## 🧠 핵심 개념 (Core concepts)
- **LIFO (Last-In-First-Out) 원칙**: 가장 마지막에 들어온 데이터(컨텍스트)가 가장 먼저 처리되고 나가는 스택의 기본 자료 구조 메커니즘.
- **실행 컨텍스트 스택 (Execution Context Stack)**: 자바스크립트 스크립트 실행 시 글로벌 스코프부터 개별 함수 스코프까지의 모든 실행 컨텍스트를 순차적으로 보관하는 공간.
- **스택 오버플로우 (Stack Overflow)**: 브라우저나 시스템이 허용하는 콜 스택의 고정된 크기(메모리 제한)를 초과하여 컨텍스트가 적재될 때 발생하는 에러.
## 🧩 추출된 패턴 (Extracted patterns)
- **푸시 및 팝(Push and Pop) 패턴**: 새로운 함수가 호출될 때마다 해당 함수의 실행 컨텍스트가 스택의 최상단에 푸시(Push)되고, 함수의 실행이 완료되면 스택에서 팝(Pop)되어 제거된 뒤 부모 컨텍스트로 제어권이 반환되는 순환 패턴.
## 📖 세부 내용 (Details)
- **콜 스택의 정의 및 역할**: 콜 스택은 자바스크립트 엔진이 전역 컨텍스트와 함수 컨텍스트를 포함한 모든 실행 컨텍스트의 추적을 유지하기 위해 사용하는 메모리 공간이다 [S1]. 문맥에 따라 'Execution Context Stack(실행 컨텍스트 스택)', 'Runtime Stack(런타임 스택)', 'Machine Stack(머신 스택)' 등 다양한 명칭으로 불린다 [S1].
- **LIFO 원칙과 구동 방식**: 콜 스택은 LIFO(후입선출) 원칙을 따른다 [S1]. 스크립트가 최초로 실행될 때 자바스크립트 엔진은 전역 실행 컨텍스트를 생성하여 콜 스택에 푸시한다 [S1, S2].
- **함수의 중첩 호출 흐름**: 특정 함수가 호출되면 해당 함수를 위한 새 실행 컨텍스트가 생성되어 콜 스택의 최상단에 푸시되며 실행을 시작한다 [S1, S2]. 만약 그 내부에서 또 다른 중첩 함수가 호출된다면, 그 중첩 함수의 실행 컨텍스트 역시 스택 최상단에 새롭게 푸시된다 [S2].
- **종료와 제어권 반환**: 현재 실행 중인 함수의 처리가 완료되면, 자바스크립트 엔진은 해당 실행 컨텍스트를 콜 스택에서 팝(Pop)하여 삭제하고, 실행 제어권은 스택의 바로 아래에 있는 부모 컨텍스트로 돌아간다 [S1, S2]. 최종적으로 프로그램 실행이 모두 종료되면 전역 컨텍스트마저 스택에서 팝되어 프로그램이 완전히 종료된다 [S2].
- **메모리 한계와 Stack Overflow**: 콜 스택은 시스템이나 구동 중인 브라우저의 환경에 따라 한정된 고정 크기를 갖는다 [S1]. 베이스 조건(Base condition)이 없는 무한 재귀 함수 등으로 인해 생성된 실행 컨텍스트의 수가 이 한계 제한을 초과하게 되면 '스택 오버플로우(Stack Overflow)' 에러가 발생하여 런타임이 중단된다 [S1].
- **OS 레벨에서의 스택 연관성**: 운영체제의 문맥 스위칭(Context Switching) 관점에서도 프로세스나 스레드의 스택은 함수 콜 스택(Function call stack)과 실행 재개에 필요한 세부 정보를 동일하게 포함하며, 이는 Process Control Block (PCB)과 같은 구조체를 통해 저장 및 관리된다 [S3].
## ⚖️ 모순 및 업데이트 (Contradictions & updates)
소스에서 확인되지 않음.
## 🛠️ 적용 사례 (Applied in summary)
현재 발견된 실제 적용 사례가 없습니다.
## 💻 코드 패턴 (Code patterns)
소스에 코드 예시 없음.
## ✅ 검증 상태 및 신뢰도
- **상태:** draft
- **검증 단계:** conceptual
- **출처 신뢰도:** A
- **신뢰 점수:** 0.90
- **중복 검사 결과:** 신규 생성 (New discovery)
## 🔗 관련 문서 링크 (Related document links)
### 상위/유사 개념
- [[Execution Context]] — 콜 스택에 적재되고 팝(Pop)되는 상태 정보의 최소 단위.
- [[Event Loop]] — 비동기 작업 처리 시 콜 스택의 점유 상태를 파악하여 태스크를 스케줄링하는 자바스크립트의 실행 조율 메커니즘.
- [[Stack Overflow]] — 콜 스택에 너무 많은 실행 컨텍스트가 적재되어 시스템의 허용 한계를 초과했을 때 발생하는 에러.
### 심층 후속 질문 (Deeper Research Questions)
- 콜 스택의 고정된 크기 한계는 각 브라우저 엔진마다 어떻게 다르며, 이를 측정하거나 우회할 수 있는 방법론은 무엇인가?
- 이벤트 루프(Event Loop) 메커니즘은 콜 스택이 완전히 비워져 있는지를 어떤 하드웨어/소프트웨어적 인터럽트로 감지하는가?
- 비동기 에러 발생 시, 콜 스택 추적(Stack Trace) 정보가 유실되는 현상의 원인과 이를 복원하기 위한 엔지니어링 접근법은 무엇인가?
### 실무 적용 맥락 (Practical Application Contexts)
- **Implementation:** 자바스크립트 재귀 함수 작성 시 명확한 탈출 조건(Base condition) 설정.
- **System Design:** 장기 실행 함수 블로킹 방지를 위한 이벤트 루프 비동기 큐 설계.
- **Operation / Maintenance:** 브라우저 콘솔에서 발생하는 스택 트레이스(Stack Trace) 디버깅 및 에러 로그 분석.
- **Learning Path:** 자바스크립트 엔진 내부 동작 원리 및 비동기 처리(Promise, Callback) 과정 학습.
### 인접 주변 주제 (Adjacent Topics)
- [[Memory Heap]] — 스택과 달리 동적 메모리 할당(객체, 배열 등)에 사용되는 자바스크립트 엔진의 또 다른 메모리 구조.
- [[Process Control Block (PCB)]] — 운영체제 단에서 프로세스의 스택 및 레지스터 정보를 보관하는 메모리 관리 블록.
## 🔗 지식 그래프 (Knowledge Graph)
- **상위/루트:** [[context 이해 규칙]]
- **관련 개념:** [[Execution Context]], [[Event Loop]]
- **참조 맥락:** 자바스크립트 엔진의 동기적 함수 실행 순서 추적, 스코프 해석 및 런타임 에러(스택 트레이스) 디버깅 시 핵심적으로 참조됨.
## 📚 출처 (Sources)
- [S1] JavaScript Execution Context How JS Works Behind the Scenes - freeCodeCamp (https://www.freecodecamp.org/news/how-javascript-works-behind-the-scene-javascript-execution-context/)
- [S2] Execution Context 실행 컨텍스트를 알아야하는 이유? - 넥스트리 (https://www.nextree.io/execution-context/)
- [S3] Process Control Block (PCB) Explained: What It Stores - Unwired Learning (https://unwiredlearning.com/blog/process-control-block)
## 📝 변경 이력 (Change history)
- 2026-07-11: Initial draft generated via Datacollector_MAC P-Reinforce engine.