자료 구조란 데이터를 체계적으로 저장하고 효율적으로 활용하는 방법을 정의한 것이다.
스택은 데이터를 순서대로 쌓는 자료 구조이다.
가장 먼저 저장된 데이터가 가장 나중에 사용되고 (FILO)
가장 나중에 저장된 데이터가 가장 먼저 사용된다. (LIFO)
큐는 데이터를 입력된 순서대로 처리할 때 사용한다.
가장 먼저 저장된 데이터가 가장 먼저 사용되고 (FIFO)
가장 나중에 저장된 데이터가 가장 나중에 사용된다. (LILO)
때문에 가장 나중에 저장된 데이터는
먼저 입력된 데이터들이 모두 처리되기 전까지는 처리되지 않는다.
컴퓨터 장치 간에 데이터를 주고 받을 때 각 장치는 속도나 시간의 차이가 존재한다.
때문에 이를 극복하기 위해 임시 기억 장치의 자료 구조로 큐를 사용하고
이것을 통틀어 버퍼(Buffer)라고 한다.
컴퓨터에 발생하는 이벤트는 파동 그래프와 같이 불규칙적으로 일어나지만
이벤트를 처리하는 장치(CPU)는 일정한 처리 속도를 가진다.
이 사이에서 불규칙하게 발생한 이벤트를 일정하게 처리하기 위해
버퍼를 사용한다.