맨위로가기

버퍼 언더런

"오늘의AI위키"는 AI 기술로 일관성 있고 체계적인 최신 지식을 제공하는 혁신 플랫폼입니다.
"오늘의AI위키"의 AI를 통해 더욱 풍부하고 폭넓은 지식 경험을 누리세요.

1. 개요

버퍼 언더런은 버퍼링되는 연결이나 대역폭 경쟁으로 인해 발생하는 일시적인 문제로, 데이터 전송 속도가 버퍼 처리 속도를 따라가지 못해 데이터 손실이 발생하는 현상이다. 이러한 문제는 버퍼 크기를 늘려 해결할 수 있지만, 메모리 사용량 증가 및 대기 시간 증가의 단점이 있다. 광 디스크 기록 시 버퍼 언더런은 쓰기 오류를 발생시키며, 이를 방지하기 위해 버퍼 언더런 보호 기술과 UDF 파일 시스템을 사용하기도 한다. 또한, 그래픽 컨트롤러나 오디오 컨트롤러에서도 버퍼 언더런이 발생할 수 있으며, 이는 화면 멈춤이나 오디오 글리치로 나타날 수 있다.

더 읽어볼만한 페이지

  • 데이터 전송 - 대역폭 제한
    대역폭 제한은 네트워크 혼잡 방지, 특정 사용자 과도한 사용 방지, 서비스 품질 관리 등을 위해 컴퓨터 네트워크에서 데이터 전송 속도를 인위적으로 제한하는 기술이다.
  • 데이터 전송 - 데이터 링크
    데이터 링크는 데이터를 송수신하기 위한 통신 연결로, 단방향, 반이중, 전이중 통신으로 나뉘며, 다양한 분야에서 활용되고 특히 항공 분야에서 항공 교통 관제 및 정보 교환, 무인 시스템 제어에 사용된다.
버퍼 언더런
컴퓨터 과학
종류오류
발생 시기빈 버퍼에서 읽기 작업 시 발생
설명버퍼의 데이터를 읽으려고 시도했지만 버퍼가 비어 있을 때 발생하는 오류
관련 용어버퍼 오버플로

2. 일반적인 원인 및 해결 방법

버퍼 언더런은 CPU 시간을 놓고 경쟁하는 다른 프로세스 간의 연결이나 대역폭을 놓고 경쟁하는 장치가 있는 물리적 링크와 같이, 버퍼링되는 연결과 관련된 일시적인 문제로 인해 발생하는 경우가 많다.

2. 1. 해결 방법

버퍼 크기를 늘리는 것은 버퍼 언더런 문제를 해결하는 간단한 방법이다. 데이터 스트림을 초당 1비트로 읽어야 할 때, 10비트 버퍼는 최대 10초 동안 연결이 차단될 수 있지만, 60비트 버퍼는 최대 1분 동안 차단될 수 있다. 하지만 이 방법은 더 많은 메모리를 필요로 하며, 읽기 프로세스 시작 전에 상당한 지연을 유발할 수 있다. 또한 실시간 애플리케이션에서는 입력과 출력 간의 대기 시간을 증가시켜 화상 회의와 같은 낮은 대기 시간 애플리케이션에 부적합하다.

쓰기 가능한 광 디스크(CD-R, DVD-R 등)에서 버퍼 언더런은 쓰기 오류의 주요 원인 중 하나였다. 광 디스크에 데이터를 기록할 때, 컴퓨터에서 전송된 데이터는 드라이브의 버퍼 메모리에 축적되지만, 전송 지연으로 인해 버퍼 메모리의 데이터가 고갈되면 버퍼 언더런이 발생하여 쓰기 오류가 발생한다.

버퍼 언더런 발생 시 디스크를 사용할 수 없게 될 수 있지만, 2000년경부터는 전송 지연 시 쓰기를 일시 중지하고 버퍼 메모리에 데이터가 충분히 쌓이면 중지된 위치부터 쓰기를 재개하는 기능이 있는 드라이브가 등장하여 불량 디스크 발생률을 줄였다.[3]

3. 광 디스크 기록 시의 버퍼 언더런

CD/DVD 굽기 과정에서 버퍼 언더런은 심각한 문제를 일으킬 수 있다. 쓰기가 시작되면 완벽하게 중단하고 다시 시작하기 어렵기 때문이다. 일반적으로 버퍼는 하드 디스크나 다른 CD/DVD와 같이 상대적으로 느린 장치에서 데이터를 받기 때문에, 다른 작업으로 인해 CPU나 메모리 사용량이 많아지면 작은 버퍼가 쉽게 비워질 수 있다.

이러한 문제를 해결하기 위해 다양한 CD/DVD 기록 장치 제조사에서 버퍼 언더런 보호 기술을 개발했다.

CD-RW, DVD-RW, DVD-RAM 같은 재기록 가능 미디어를 사용할 때 UDF 파일 시스템을 사용하면 이 문제를 예방할 수 있다. UDF 파일 시스템은 데이터를 더 작은 "패킷"으로 구성하고, 단일 업데이트된 주소 테이블로 참조하여 짧은 버스트로 쓸 수 있게 한다.

CD-R, DVD-R 등 쓰기 가능한 광 디스크에서 쓰기 오류가 발생하는 원인 중 하나가 버퍼 언더런이다.

3. 1. 발생 원리

광 디스크에 데이터를 기록할 때, 컴퓨터에서 드라이브로 전송된 데이터는 드라이브의 버퍼 메모리에 일시적으로 저장된다. 데이터 전송 지연으로 인해 버퍼 메모리가 비워지면 버퍼 언더런이 발생하고 쓰기 오류가 발생한다.[3]

3. 2. 버퍼 언더런 방지 기술

버퍼 언더런 보호 기술은 여러 상표로 다양한 CD/DVD 기록기 제조업체에서 구현되었다. 예를 들어 플렉스터 BurnProof, 네로 UltraBuffer, 야마하 SafeBurn, JustLink 및 Seamless Link 등이 있다. 이 기술을 통해 레이저는 쓰기를 일시 중단하고 버퍼가 다시 채워지면 재개할 수 있으며, 연속적인 쓰기 사이의 간격은 매우 작다.[3]

2000년경부터는 버퍼 언더런 방지 기능이 있는 드라이브가 등장하여, 전송 지연 시 쓰기를 일시 중지하고 버퍼 메모리에 데이터가 충분히 쌓이면 중지 위치부터 쓰기를 재개하여 불량 디스크 발생률을 줄일 수 있게 되었다.[3]

4. 멀티미디어 재생 시의 버퍼 언더런

멀티미디어 재생 시 버퍼 언더런은 화면 멈춤, 오디오 끊김 등의 현상을 유발한다. 이러한 현상은 그래픽스 컨트롤러나 오디오 컨트롤러에서 발생할 수 있다.

4. 1. 그래픽 컨트롤러

그래픽스 컨트롤러의 프레임 버퍼가 업데이트되지 않으면, 컴퓨터 화면의 그림이 버퍼가 새로운 데이터를 받을 때까지 멈춘 것처럼 보인다. 많은 비디오 플레이어 프로그램(예: MPlayer)은 시스템에 과부하가 걸릴 경우 프레임을 드롭하는 기능을 갖추고 있으며, 의도적으로 버퍼 언더런을 허용하여 템포를 유지한다.

4. 2. 오디오 컨트롤러

오디오 컨트롤러의 버퍼는 링 버퍼이다. 언더런이 발생하고 오디오 컨트롤러가 중지되지 않으면, 버퍼에 포함된 소리를 계속 반복하거나, 구현에 따라 무음을 출력한다. 이러한 효과는 일반적으로 "머신건" 또는 맥스 헤드룸 스터터링 효과라고 한다. 이는 운영 체제가 오디오 재생 중에 멈출 때 발생한다. 오류 처리 루틴(예: 블루 스크린 오브 데스)은 결국 오디오 컨트롤러를 중지할 수 있다.

오디오를 수동으로 분할하거나 샘플을 다시 트리거하거나 플러그인을 사용하여 음악 또는 사운드 아트 제작 중에 이러한 오디오 글리치를 의도적으로 모방하는 것을 스터터 에디트라고 한다.

참조

[1] 웹사이트 CWE-124: Buffer Underwrite ('Buffer Underflow') https://cwe.mitre.or[...]
[2] 블로그 バッファアンダーフローとは | 情報セキュリティ用語解説 | 情報セキュリティブログ | 日立システムアンドサービス http://blog.hitachi-[...] 2009-11-05
[3] IT용어사전 バッファアンダーランとは (buffer underrun) - IT用語辞典バイナリ http://www.sophia-it[...] 2009-11-06
[4] 웹인용 CWE-124: Buffer Underwrite ('Buffer Underflow') https://cwe.mitre.or[...]



본 사이트는 AI가 위키백과와 뉴스 기사,정부 간행물,학술 논문등을 바탕으로 정보를 가공하여 제공하는 백과사전형 서비스입니다.
모든 문서는 AI에 의해 자동 생성되며, CC BY-SA 4.0 라이선스에 따라 이용할 수 있습니다.
하지만, 위키백과나 뉴스 기사 자체에 오류, 부정확한 정보, 또는 가짜 뉴스가 포함될 수 있으며, AI는 이러한 내용을 완벽하게 걸러내지 못할 수 있습니다.
따라서 제공되는 정보에 일부 오류나 편향이 있을 수 있으므로, 중요한 정보는 반드시 다른 출처를 통해 교차 검증하시기 바랍니다.

문의하기 : help@durumis.com