User Stack 핵심 개념 정리
User Stack(사용자 스택)은 운영체제가 관리하는 메모리 영역 중 하나로, 프로세스가 실행될 때 함수 호출과 지역 변수 관리, 함수 복귀 주소 저장 등에 사용되는 공간입니다. User Stack은 각 프로세스마다 독립적으로 할당되며, 주로 프로그램이 사용자 모드(User Mode)에서 동작할 때 사용됩니다.
User Stack의 주요 역할
- 함수 호출 관리
- 함수가 호출될 때마다 반환 주소(return address)와 호출된 함수의 매개 변수를 저장한다.
- 지역 변수 관리
- 함수 내에서 정의된 지역 변수는 스택에 저장되며, 함수가 종료되면 자동으로 제거된다.
- 임시 데이터 저장
- 연산 과정에서 발생하는 임시 데이터를 저장하는 데 사용된다.
User Stack의 특징
- LIFO(Last In First Out) 구조로, 가장 최근에 추가된 데이터가 가장 먼저 제거된다.
- 크기가 제한적이며, 스택 공간을 초과하면 Stack Overflow라는 오류가 발생한다.
- 높은 메모리 주소에서 낮은 메모리 주소 방향으로 확장된다.
마치면서
User Stack은 프로그램 실행 과정에서 매우 중요한 역할을 담당하며, 함수 호출과 데이터 관리에 핵심적인 구조입니다. 운영체제가 프로세스를 효율적으로 관리하기 위해 꼭 이해해야 할 기본 개념 중 하나입니다.
'크래프톤 정글 > CS기초(키워드, 개념정리)' 카테고리의 다른 글
[CS기초] Atomic Operation (원자적 연산) 개념 정리 (0) | 2025.05.18 |
---|---|
[CS기초] 캐시(Cache) 핵심 개념 정리 (0) | 2025.05.18 |
[CS기초] Register vs Memory (0) | 2025.05.18 |
[CS기초] User Mode vs Kernel Mode (0) | 2025.05.18 |
[CS기초] 만화로 보는 Iterative한 Tiny 서버가 동시에 실행될 수 있는 이유 (0) | 2025.05.14 |