버퍼 언더런(Buffer Underrun)은 컴퓨터 시스템에서 발생하는 오류 유형 중 하나로, 데이터를 전송하는 과정에서 버퍼에 필요한 데이터가 충분히 채워지지 않은 상태를 의미한다. 이 현상은 주로 디지털 오디오, 비디오 스트리밍, 네트워크 통신 등 실시간 데이터 전송 환경에서 발생한다.
버퍼는 데이터가 일시적으로 저장되는 메모리 영역으로, 데이터 전송 과정에서의 속도 차이를 완화하는 역할을 한다. 그러나 데이터를 처리하는 속도가 데이터가 버퍼에 저절로 채워지는 속도보다 느릴 경우, 버퍼의 내용이 소진되고 새로운 데이터가 들어오기 전에 버퍼가 비워지게 된다. 이런 상태를 언더런이라고 하며, 이로 인해 실행 중인 프로세스가 필요한 데이터를 확보하지 못해 일시적인 중단이나 오류가 발생할 수 있다.
예를 들어, 오디오 재생 중에 버퍼 언더런이 발생하면 오디오 출력이 끊기거나 지연되는 등의 문제가 발생할 수 있다. 이는 사용자에게 불쾌한 경험을 줄 수 있으며, 특히 실시간 시스템에서는 심각한 성능 저하를 초래할 수 있다.
버퍼 언더런은 다양한 원인으로 발생할 수 있으며, 이를 방지하기 위해서는 적절한 버퍼 크기 설정, 데이터 전송율 관리, 시스템 자원의 효율적인 활용 등이 필요하다.