Bit sucio

De Wikipedia, la enciclopedia libre

Un bit sucio (del inglés: Dirty bit) o bit de modificación es un bit asociado a un bloque de memoria del ordenador e indica si se ha modificado o no el correspondiente bloque de memoria.[1]​ El bit sucio es set cuándo el procesador escribe (modifica) esta memoria. El bit indica que su bloque asociado de memoria ha sido modificado y no ha sido guardado en el almacenamiento todavía. Cuando se va a reemplazar un bloque de memoria, se comprueba el bit sucio correspondiente para ver si es necesario volver a escribir el bloque en la memoria secundaria antes de ser reemplazado o si simplemente se puede quitar. Los bits sucios son utilizados por el caché del CPU y en los algoritmos de sustitución de páginas de un sistema operativo.

Los bits sucios también pueden ser utilizados en la Computación incremental para marcar segmentos de datos que necesitan ser procesados o que aún no se han procesado. Esta técnica se puede utilizar con la computación retardada para evitar el procesamiento innecesario de objetos o estados que no han sufrido modificaciónes. Cuando se actualiza el modelo (normalmente por fuentes múltiples), sólo los segmentos que necesitan ser reprocesados se marcarán como sucios. Después, un algoritmo escaneará el modelo en busca de segmentos sucios y los procesará, marcándolos como limpios. Esto garantiza que los segmentos no modificados no se recalculen y ahorra tiempo al procesador. 

Sustitución de página[editar]

Cuando se habla de sustitucion de página, cada página puede tener un bit de modificación asociado con ella en el hardware. El bit sucio  para una página es set por el hardware siempre que se escriba cualquier palabra o byte en la página, indicando que la página ha sido modificada. Cuándo seleccionamos una página para su sustitución, examinamos su bit de modificación. Si el bit es set, sabemos que la página ha sido modificada desde su lectura del disco. En este caso, tenemos que escribir aquella página al disco. Sin embargo, si el bit sucio no es set, la página no ha sido modificada desde que fue leída en la memoria. Por lo tanto, si la copia de la página en el disco no ha sido sobreescrita (por alguna otra página, por ejemplo), entonces podemos evitar escribir la página de memoria al disco: ya está allí.[2]

Referencias[editar]

  1. Laplante, Philip A. (2001). Dictionary of Computer Science, Engineering, and Technology. CRC Press. p. 138. ISBN 0-8493-2691-5. 
  2. Silberschatz, Abraham; Galvin, Peter Baer; Gagne, Greg (2002). Operating System Concepts: Sixth Edition. p. 333. ISBN 0-471-41743-2.