# Subdesbordament de memòria intermèdia

A l'entorn de la informàtica un subdesbordament de memòria intermèdia (Buffer underflow/underrun) és una situació a la qual s'arriba quan es carreguen les dades a una memòria intermèdia (flux de dades), a una velocitat més baixa que el processament d'aquestes, això fa que el programa o dispositiu que processa aquesta informació s'hagi d'aturar momentàniament quan no té dades per processar i esperar fins que les dades arribin a un cert nivell.
Un subdesbordament de memòria intermèdia pot arribar a qualsevol programari o dispositiu que depengui del flux de dades o càrrega de dades sobre una memòria intermèdia: Gravadors, exploradors d'internet (P.E.:visualització de Youtube), etc.

## Exemple Gràfic

La combinació del color verd clar i el color verd fosc representen l'avanç del procés de la informació: el color verd clar representa el progrés de càrrega de dades a la memòria intermèdia, el verd fosc representa la petició de lectura de dades de la memòria intermèdia (subdesbordament), el color gris representa la part memòria buida de la memòria intermèdia, amb possibilitat de ser carregada.

## Underflow/run vs Overflow/run

Un subdesbordament de memòria intermèdia (buffer underflow/run) és l'oposat de desbordament de memòria intermèdia (buffer Overflow/run), pel fet que aquest últim es produeix mitjançant l'aparició d'una sobrecàrrega a la memòria intermèdia i la incapacitat de processar la informació que emmagatzemada.
En canvi un subdesbordament de memòria intermèdia es produeix per la falta d'informació a la memòria intermèdia i l'excés de capacitat per processar la informació que s'hi emmagatzema.

## Accés no autoritzat a la memòria (hack)

L'espai del progrés del procés que té lloc en quedar-se sense dades la memòria intermèdia (subdesbordament) permet que un atacant pugui obtenir un accés no autoritzat a la memòria per obtenir un funcionament inesperat d'un programa vulnerable (des del seu tancament fins a aconseguir executar codi arbitrari).

## Durant la gravació

Un subdesbordament de memòria intermèdia durant l'enregistrament d'un CD o d'un DVD és generat en quedar sense dades la memòria intermèdia de la unitat gravadora, això fa que, si el làser de la unitat no es pot aturar, escrigui el disc amb una informació invàlida, fent que el disc quedi inservible. Això passava en les gravadores de CD d'abans del 2000.
A mitjans de l'any 2000, va aparèixer de la mà de Sanyo una unitat gravadora de CD-RW que incorporava la tecnologia BURN-Proof (Buffer UndeRuN-Proof technology), aquesta tecnologia quan detecta a la memòria intermèdia de gravació (també coneguda com a memòria cau) arribat al final de dades, li ordena al làser que deixi d'escriure després de fer una petita marca en el disc (anomenada GAP) al final de l'últim bloc vàlid i fent que quan hi torni a haver dades, la gravació pugui reprendre.
El gap és molt semblant al generat per la tècnica IPW
Exemple, BURN-Proof:
Anteriorment al Burn-proof, per protegir-se d'un subdesbordament de memòria intermèdia durant la gravació s'emprava una memòria cau (memòria intermèdia) alta, d'aquesta manera la possibilitat d'aparició d'un subdesbordament de memòria intermèdia es reduïa notablement, però no proporcionava una seguretat total, una combinació d'una memòria cau alta i una protecció contra un subdesbordament de memòria intermèdia tal com ho és el BURN-Proof garanteixen una gran protecció contra un error subdesbordament de memòria intermèdia.
La companyia PLEXTOR fa servir la tecnologia de Sanyo en combinació amb la seva pròpia metodologia PoweRec (PLEXTOR optimisme Writing Error Reduction Control). Amb aquesta, la gravació és pausada periòdicament usant la tecnologia BURN-Proof, permetent que la qualitat de gravació sigui revisada i d'alguna manera permeti modificar en l'increment possible la velocitat de gravació.
Altres fabricants d'unitats han tret llicències de tecnologies similars o han desenvolupat les seves pròpies versions. Yamaha utilitza els mateixos mètodes però una marca anomenada SafeBurn, Mitsumi fa servir la tecnologia d'OAK, el sistema ExacLink, LG Electronics utilitza la seva tecnologia Superlink, Lite-On empra Smart Burn, Acer Communications la seva tecnologia Seamless Link i Ricoh la seva "JustLink". Encara que es coneixen amb diferents noms per motius de patents, el resultat és el mateix.

## Vegeu també

* IPW
* Memòria intermèdia
* Cache
* Desbordament de memòria intermèdia
* Error de programari
* Null
* Offset
* Problema aritmètic
* Seguretat informàtica

## Nota

* ↑ En el cas del problema aritmètic amb el rang de les variables es pot donar un error semblant.

## Bibliografia

* «What is buffer underrun (En anglès)», 2003.
* «Buffer underrun», 2011. Arxivat de l'original el 2010-06-15. [Consulta: 3 gener 2011].
* «Buffer underrun (En anglès)», 2004. Arxivat de l'original el 2008-02-05. [Consulta: 3 gener 2011].
* «Definició de memòria intermèdia underflow», 2003.
* «Buffer underrun», 2002. Arxivat de l'original el 2007-06-08. [Consulta: 3 gener 2011].

## Enllaços externs

* Característiques i trucs per evitar un buffer underrun
* Habilitar la protecció contra buffer underrun en les noves gravadores Arxivat 2007-10-08 a Wayback Machine.
* Llista de underflows (bugs)