본문으로 이동

버퍼 언더런

위키백과, 우리 모두의 백과사전.

버퍼 언더런(buffer underrun) 또는 버퍼 언더플로(buffer underflow)는 두 장치나 프로세스 사이를 통신하는 데 쓰이는 버퍼가, 데이터를 읽는 속도보다 더 낮은 속도로 데이터로 충당될 때 일어나는 상태이다. 이렇게 되면 버퍼로부터 읽어들이는 프로그램이나 장치가 버퍼가 다시 차는 동안 처리를 잠시 멈추게 된다. 이 경우 바라지 않는 결과, 심지어는 심각한 부작용을 초래할 수도 있는데, 버퍼링되는 데이터는 일반적으로 이러한 종류의 중단-시작 접근에 적합하지 않기 때문이다.

동시 프로그래밍 측면에서 버퍼 언더런은 리소스 부족의 한 형태로 간주될 수 있다.

위에 정의된 용어는 메모리의 일부가 고정된 크기의 버퍼를 형성하지만 해당 양보다 많은 양의 데이터로 채워져 할당된 청크 외부의 메모리 위치를 덮어쓰는 상태인 버퍼 오버플로와는 다르다. 그러나 버퍼 언더런과 언더플로는 때때로 버퍼 언더라이트를 의미하는 데 사용되기도 한다. 즉, 프로그램이 버퍼 시작 전에 메모리 위치에 데이터를 쓰도록 속여서 권한 비트와 같은 잠재적인 데이터를 재정의한다.[1]

같이 보기

[편집]

각주

[편집]