버퍼(buffer)란? 동영상 회색 바 원리

스트리밍 동영상을 보다 재생이 버벅거리면 "버퍼링 걸린다"라는 표현을 쓰곤 합니다. 여기서 버퍼링(buffering)은 버퍼(buffer)라는 용어의 진행형입니다. 버퍼는 네트워크로부터 전송되는 데이터를 일시적으로 저장하는 메모리를 뜻합니다. 즉 스트리밍 영상이 멈추는 건 버퍼에 데이터가 충분히 쌓이지 않아 재생이 일시적으로 멈추는 현상입니다.

버퍼란?

컴퓨터에서 버퍼란 데이터를 일시적으로 저장하는 메모리 영역입니다. 버퍼는 주로 두 개의 서로 다른 프로세스나 장치 간에 데이터를 전송할 때 데이터의 흐름을 관리하고 속도 차이를 보상하기 위해 사용됩니다.

 

버퍼를 사용하면 한쪽에서 생성된 데이터를 다른 쪽이 처리할 수 있을 때까지 일시적으로 저장할 수 있어 프로세스 간의 동기화를 돕고 전체 시스템의 성능을 향상시킵니다.

 

예시 1) 동영상 스트리밍

스트리밍으로 동영상을 시청할 때 서버로 부터 전달받은 영상 데이터를 버퍼에 일시적으로 저장하고 이를 순차적으로 재생합니다. 이렇게 하면 네트워크 속도 변화가 있더라도 재생이 일정하게 이루어질 수 있습니다.

 

영상을 보시면 재생 구간을 나타내는 바에 주로 회색으로 이미 수신된 버퍼를 보실 수 있습니다. 만약 인터넷이 끊기더라도 버퍼가 생성된 구간까지는 문제없이 재생됩니다. 이미 수신된 데이터이기 때문입니다. 이것이 버퍼입니다.

 

buffer
영상의 회색 바로 표시되는 버퍼. 출처=cloudflare.com

 

예시 2) 키보드 입력

키보드에 입력한 문자도 컴퓨터의 버퍼에 저장되고 순차적으로 처리됩니다. 덕분에 아무리 빠르게 타자를 쳐도 결국은 입력한 모든 값을 모니터에 출력해 줄 수 있습니다. 간혹 컴퓨터가 버벅거릴 때도 결국은 입력한 값이 하나 둘 반영되는 것을 보신 적 있으실 겁니다. 이 역시 버퍼의 영향을 받습니다.

 

예시 3) 프린터 출력

프린터는 컴퓨터에서 전송되는 출력 데이터를 버퍼에 저장합니다. 이를 통해 프린터와 컴퓨터 간의 속도 차이를 보상하고, 프린터가 여러 페이지를 순차적으로 인쇄할 수 있게 합니다.

반응형

댓글

Designed by JB FACTORY