Manejo de localidades temporales
•- Un buffer se define como un conjunto de bytes que son
leídos o escritos desde un dispositivo de almacenamiento, en la memoria
primaria.
Existen muchas formas de dividir el trabajo, pero siempre se debera
llevar dos apuntadores, uno al caracter actual y otro al inicial del
lexema.
• El manejo de buffers es esencial para realizar el analisis de
grandes programas de mejor manera
- La utilización de esta técnica permite reducir el número
de accesos a memoria secundaria.
Número de Buffers y Velocidad de Acceso
- El manejo de buffers por parte del administrador de archivos
permite reducir el número de accesos a memoria secundaria.
- Pero una cuestión fundamental es el número de buffers a utilizar. - Si sólo se utiliza un
buffer, un problema que realice lecturas y escrituras demodo alterno,
debería leer un bloque en cada operación. - Esto se resuelve
mediante la utilización de un buffer para escritura
y otro para lectura. - Pero la lectura, o escritura, alterna sobre varios
archivos puede provocar el mismo problema. - Otra alternativa es la
utilización de ambos bloques para lecturas y escrituras de modo
alternado.
- La generalización de esta idea es el caso real, varios buffers que se
manejan de modo indistinto para lecturas y escrituras.
- La administración de estos buffers es realizada por el administrador
de archios, aunque el usuario puede controlar el número de buffers.
- Si todos los buffers estan ocupados, se debe vaciar uno de ellos para
posibilitar una lectura.
- Normalmente se utiliza al algoritmo LRU (Less Reciently Used
), es decir, se vacía el buffer menos recientemente utilizado.