본문 바로가기

스택2

FIFO vs LIFO 메모리 관리와 데이터 구조 설계에서 자주 등장하는 FIFO(First-In, First-Out)와 LIFO(Last-In, First-Out) 방식은 데이터가 처리되는 순서를 정의하는 중요한 개념입니다. 이 두 방식은 각각 큐(Queue)와 스택(Stack)에서 사용되며, 다양한 분야에서 유용하게 활용됩니다. 본 문서에서는 FIFO와 LIFO의 차이점과 주요 사용 예시, 그리고 두 방식이 어떻게 메모리 관리와 시스템 성능에 영향을 미치는지에 대해 다루겠습니다.1. FIFO (First-In, First-Out)란?FIFO는 먼저 들어온 데이터가 먼저 나가는 방식입니다. 이 방식은 주로 큐(Queue) 자료구조에서 사용됩니다. FIFO는 선입선출(先入先出) 방식으로, 대기열 시스템이나 데이터 전송에서 흔히.. 2025. 2. 9.
펌웨어 메모리 관리 최적화 – 스택, 힙, 전역 변수의 올바른 사용법 임베디드 시스템에서 메모리는 한정된 자원이며, 효율적인 관리가 필수적입니다. 특히, 펌웨어 개발자는 스택(Stack), 힙(Heap), 전역 변수(Global Variable)의 적절한 사용을 통해 성능과 안정성을 보장해야 합니다. 이번 글에서는 각 메모리 영역의 특징과 최적화 방법을 알아보겠습니다.1. 스택(Stack) 메모리 관리정의 및 특징스택은 함수 호출 시 지역 변수, 반환 주소 및 실행 컨텍스트를 저장하는 LIFO(Last-In, First-Out) 구조의 메모리 영역입니다. 메모리가 자동으로 할당 및 해제되므로 속도가 빠르며, 명확한 구조로 인해 예측 가능성이 높습니다. 하지만 크기가 제한적이므로, 과도한 사용 시 스택 오버플로우(Stack Overflow)가 발생할 수 있으며, 이는 시스템.. 2025. 2. 9.