본문 바로가기
ETC

버퍼 개념

by do_ng 2021. 1. 23.

A와 B가 서로 입출력을 하는 데 있어서 속도 차이를 극복하기 위해 사용하는 임시 저장공간

 

버퍼는 거의 대부분 CPU와 보조기억장치(HDD) 사이에서 사용되는 임시 저장공간을 의미하는데 CPU는 1초에 최대 수십억 개의 데이터를 처리할 수 있는데 데이터를 전송하는 속도가 느린 보조기억장치에서 데이터를 1초에 10개씩 CPU로 전달해서 처리하게 되면 CPU가 가지고 있는 효율성은 떨어지게 됨 

이러한 CPU의 효율성 문제를 해결하기 위해서 주기억장치인 RAM에 버퍼를 생성해서 보조기억장치에 있는 데이터를 가져와 버퍼에 쌓아놓은다음 CPU는 주기억장치의 버퍼 안에 쌓여있는 데이터를 한꺼번에 빠른 속도로 처리하고 다른 작업을 한 뒤 다시 버퍼에 있는 데이터를 처리하게 되는 식으로 사용하면 CPU를 효율적으로 사용할 수 있다. 

 

쉽게 예시를 들자면 유튜브와 같은 동영상 스트리밍을 보면 동영상이 진행되는 부분(빨간색)과 서버로부터 동영상 데이터를 내려받는(회색) 부분이 있는데 여기서 회색부분이 버퍼에 해당한다고 볼 수 있다.

만약에 사용자가 동영상을 보는 속도와 서버로 부터 해당 동영상 데이터를 내려받는 속도가 비슷하다면 동영상은 매번 끊기게 되는 현상(버퍼링)이 발생한다. 그래서 버퍼라는 임시 저장공간을 만들어 놓은 다음 서버에서 동영상 데이터의 일부분을 계속해서 버퍼에 저장시키고 사용자는 버퍼에서 동영상 데이터를 가져와서 해당 영상을 끊킴없이 시청할 수 있다. 

 

 

Reference) 

dololak.tistory.com/84

 

'ETC' 카테고리의 다른 글

기본 개발용어  (0) 2021.06.10
독립변수와 종속변수  (0) 2021.03.14
모델이란?  (0) 2021.01.12
http 통신이란?  (0) 2020.11.13
쿠키,세션,웹스토리지  (0) 2020.11.13