El CRC
La comprobación de redundancia cíclica (CRC) es un código de detección de errores usado frecuentemente en redes digitales y en dispositivos de almacenamiento para detectar cambios accidentales en los datos. Los bloques de datos ingresados en estos sistemas contiene un valor de verificación adjunto, basado en el residuo de una división de polinomios; el cálculo es repetido, y la acción de corrección puede tomarse en contra de los datos presuntamente corrompidos en caso de que el valor de verificación no concuerde; por lo tanto se puede afirmar que este código es un tipo de función que recibe un flujo de datos de cualquier longitud como entrada y devuelve un valor de longitud fija como salida. El término suele ser usado para designar tanto a la función como a su resultado. Pueden ser usadas como suma de verificación para detectar la alteración de datos durante su transmisión o almacenamiento. Las CRC son populares porque su implementación en hardware binario es simple, son fáciles de analizar matemáticamente y son particularmente efectivas para detectar errores ocasionados por ruido en los canales de transmisión.
Cálculo de CRC
La mecánica de la informática con su lenguaje binario produce unas CRC simples. Los bits representados de entrada son alineados en una fila, y el (n + 1) representa el patrón de bits del divisor CRC (llamado polinomio) se coloca debajo de la parte izquierda del final de la fila. Aquí está la primera de ellas para el cálculo de 3 bits de CRC:
11010011101100 <--- entrada
1011 <--- divisor (4 bits)
--------------
01100011101100 <--- resultado
Si la entrada que está por encima del extremo izquierdo del divisor es 0, no se hace nada y se pasa el divisor a la derecha de uno en uno. Si la entrada que está por encima de la izquierda del divisor es 1, el divisor es Or exclusiva en la entrada (en otras palabras, por encima de la entrada de cada bit el primer bit conmuta con el divisor). El divisor es entonces desplazado hacia la derecha, y el proceso se repite hasta que el divisor llega a la derecha, en la parte final de la fila de entrada. Aquí está el último cálculo:
00000000001110 <--- resultado de la multiplicación de cálculo
1011 <--- divisor
--------------
00000000000101 <--- resto (3 bits)
FAT.
(File Allocation Table - Tabla de Ubicación de Ficheros).
Sistema de archivos que utilizan las ediciones no empresariales de Microsoft Windows. Adem
ás es un sistema admitido casi por todos los sistemas operativos.El sistema de archivos FAT fue creado por Bill Gates y Marc McDonald en 1977. Existen las versiones FAT12 del año 1977, FAT16 del año 1988 y FAT32 del año 1996.
Las implementaciones más extendidas de FAT tienen algunas desventajas; por ejemplo, la fragmentación excesiva de los datos. Cuando se borran y escriben nuevos archivos, suele dejar fragmentos dispersos por todo el soporte de almacenamiento. Esto complica el proceso de lectura y escritura, haciéndose cada vez más lento. Para agilizar la lectura/escritura se usa una herramienta de defragmentación, pero es un proceso demasiado largo. También, a diferencia de otros sistemas, no posee permisos de seguridad para cada archivo, por lo tanto cualquier usuario puede acceder a cualquier fichero en el soporte.
Es un formato sencillo, muy popular para disquetes, tarjetas de memorias, almacenamiento USB y dispositivos similares.
El sistema de archivos FAT se compone de cuatro secciones:
- Sector de arranque.
- Región FAT: que contiene la tabla de asignación de archivos.
- La región del directorio raíz.
- La región de datos: donde se almacena el contenido de ficheros y carpetas.
- Actualmente el sistema FAT es reemplazado opcionalmente en Windows XP y superiores por el sistema NTFS.