Subdesbordament de memòria intermèdia

De Viquipèdia
Dreceres ràpides: navegació, cerca

A l'entorn de la informàtica un subdesbordament de memòria intermèdia (Buffer underflow/underrun) és una situació a la que 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 de les mateixes, això fa que el programa o dispositiu que processa aquesta informació s'hagi d'aturar momentàniament quan no té dades per a processar i esperar fins que les dades arribin a un cert nivell.[1]

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[modifica | modifica el codi]

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.

Exemple Gràfic

Underflow/run vs Overflow/run[modifica | modifica el codi]

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 de processar la informació que s'hi emmagatzema.

Accés no autoritzat a la memòria (hack)[modifica | modifica el codi]

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 no esperat d'un programa vulnerable (des del tancament del mateix fins a aconseguir executar codi arbitrari).

Durant la gravació[modifica | modifica el codi]

Un subdesbordament de memòria intermèdia durant l'enregistrament d'un CD o d'un DVD és generat al 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:

SI Disc AVISA a Software_Grabador = ("Estic gravant dades")
Software_Grabador AVISA a Disc = ("Els rebut correctament")
SI Disc AVISA a Software_Grabador = ("No puc gravar dades")
Software_Grabador AVISA a Disc = ("Cap problema, m'aturo")
SI Disc AVISA a Software_Grabador = ("Ja em recuperi")
Software_Grabador AVISA a Disc = ("Continu la gravació")

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é[modifica | modifica el codi]

Nota[modifica | modifica el codi]

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

Bibliografia[modifica | modifica el codi]

Enllaços externs[modifica | modifica el codi]