SISTEMAS DE FICHEROS. Universidad San Pablo-CEU Escuela Politécnica Superior Rodrigo García Carmona

Documentos relacionados
Gestión de archivos. Gestión de archivos

Gestión de archivos. Gestión de archivos. Gestión de archivos. Objetivo general

ENTRADA-SALIDA. 2. Dispositivos de Carácter: Envía o recibe un flujo de caracteres No es direccionable, no tiene operación de búsqueda

Sistemas Operativos Tema 9

SISTEMAS OPERATIVOS: SISTEMAS DE FICHEROS. Ficheros

Sistemas Operativos. Curso 2016 Sistema de Archivos

Dispositivos de I/O. El código destinado a manejar el I/O representa una fracción significativa de un sistema operativo.

Tema III: Componentes de un Sistema Operativo

PREPARACION DE UN DISCO

Sistemas de Archivos. Unidad 2 Almacenamiento y Estructuras de Archivos

Unidad 3: Gestión de Archivos

RAID CLASES O TIPOS. RAID 0 unión de discos físicos en paralelo.

Tarea #6. Gestión de E/S y Planificación de Discos

Sistemas Operativos. Curso 2016 Estructuras de dispositivos masivos de datos

Esta unidad describe cómo se almacena la información en los dispositivos magnéticos.

Sistema de Ficheros SOA

Almacenamiento y discos

Sistemas Operativos Tema 10. Sistema de archivos José Miguel Santos Alexis Quesada Francisco Santana Belén Esteban

Sistemas Operativos Tema 4. Sistema de archivos

Almacenamiento Secundario y Terciario. Unidad 4. Almacenamiento y Estructuras de Archivos

Sistemas Operativos. Curso 2018 Sistema de Archivos II

GESTIÓN DE ARCHIVOS. Presentado por: Alba Arosemena Alma Vargas Hospicia Mendoza Roselvira Fernández Ahías Arosemena

Sistemas Operativos ING. EN COMPUTACIÓN Tercer Examen Parcial

Objetivos. Conocer los distintos dispositivos de memoria y almacenamiento existentes y valorar ventajas e inconvenientes de cada uno

Sistemas de Archivos Implementación. Módulo 11. Departamento de Ciencias e Ingeniería de la Computación Universidad Nacional del Sur.

Sistemas Operativos. Gestión de E/S Discos. Dr. Wenceslao Palma

Interfaz de Sistema de Archivos. Operating System Concepts 8th Edition

Tema 1: Implementación del sistema de archivos

Sistemas de archivos

Sistema de Archivos. E. Campo M. Knoblauch Ó. López J. Clemente. Departamento de Automática Universidad de Alcalá

TEMA 3. Sistemas de Ficheros. Contenido

Gestión de almacenamiento secundario

Almacenamiento. Universidad de Buenos Aires Facultad de Ciencias Económicas Tecnología de la Información Profesor Adjunto Dr. Anibal Mazza Fraquelli

Tema 1. Informática Básica 1.1 Introducción 1.2 Informática Básica 1.3 El ordenador. Fundamentos estructurales y de funcionamiento

Estructura de los dispositivos de E/S.

Unidad V: Sistemas de archivos 5.1 Concepto

Unidad 3: Gestión de Archivos

Sistemas de archivos. Introducción Particiones. Proceso de arranque Sistemas de archivos. Administración

FICHEROS Y BASES DE DATOS (E44) 3º INGENIERÍA EN INFORMÁTICA. Tema 1. Aspectos Básicos de los Ficheros.

TEMA GESTION DE DISCOS

Almacenamiento y estructura de archivos

Facilitar a los usuarios la posibilidad de estructurar los archivos de la manera más adecuada.

Clase de Backup + RAID

Sistemas operativos. Tema 10: Sistemas de ficheros

Jerarquía de Almacenamiento

SISTEMAS DE ALMACENAMIENTO RAID. Gestión de Sistemas informáticos.

*** SOLUCIÓN *** SISTEMAS OPERATIVOS (II-ITIS-ITIG) Examen Final 9 de junio de SEGUNDA PARTE -

Secuencia de arranque de un computador. Estructura lógica del disco duro de una PC

Tarea 5 Gestión de Archivos

dminstración de la Memoria y Sistema de Archivos Dr. Alonso Ramírez Manzanares 18-Nov-2009

ENTRADA/SALIDA. Universidad San Pablo-CEU Escuela Politécnica Superior Rodrigo García Carmona

Archivos Indice. Indexación y. Asociación. Conceptos Básicos Indices Ordenados Arboles. Asociación. Docente: Albert A.

Capítulo 4 Entrada/Salida

Capítulo 4. Entrada/Salida

Sistemas Operativos II Convocatoria ordinaria 24 de Enero de 2001 Escuela Universitaria de Informática (Grupo K)

CAPÍTULO IV: GESTIÓN DE ARCHIVOS. 1. Introducción a la Gestión de Archivos 2. Organización y acceso a los ficheros 3. Directorios

UNIDAD DIDACTICA 6 PERMISOS DE LOS ARCHIVOS

Registros Un campo: Registro:

INSTITUTO POLITÉCNICO NACIONAL

BUSQUEDA SECUENCIAL Y DIRECTA, MARCELA MARQUEZ REBECA NAVARRO FONSECA GUADALUPE RUIZ ANGULO JONATHAN ALEXIS TOPETE ESTRUCTURA Y OPERACIONES

Estructura Lógica de un Disco Duro (Cilindros, Cabezas, Sectores, Pistas,

Sistemas Operativos. Almacenamiento. Esteban De La Fuente Rubio L A TEX. 25 sep Universidad Andrés Bello

Backup Raid. Raid + Backup. DC - FCEyN - UBA. Sistemas Operativos, 1c Raid + Backup

SISTEMAS UNIDAD IV ADMINISTRACION DE ARCHIVOS ING. AGUILERA SERGIO OMAR

Tolerancia a Fallas Discos RAID

Archivos. Teoría de Sistemas Operativos. Archivos. Archivos. Archivos. Archivos. Administración de Archivos

Unidad 9. Daniel Rojas UTN. Thursday, July 31, 14

Tema II. Unidad de memoria

Sistema de Ficheros. Sistemas Operativos - ITIG. Álvaro Polo Valdenebro. Abril apoloval@gsyc.es. GSyC Introducción 1

Administración de archivos en Windows

Ficheros Contenido del Tema

Capítulo 2. Sistemas Operativos. Elementos, estructura y funciones generales.

1. Partes del ordenador. Nuevas Tecnologías y Sociedad de la Información

Introducción. Tema 10a. Introducción. Memoria RAM. Memoria RAM HDD

Computación Conociendo la herramienta de cálculo

SISTEMAS OPERATIVOS SISTEMA DE ARCHIVOS

Almacenamiento magnético, 3

Arquitectura de Computadores

Tema 2: El hardware del servidor Profesor: Julio Gómez López

Guía para la instalación de discos duro SATA y Configuración RAID

Tema 2.3. Hardware. Unidades de Almacenamiento

GESTION DE ENTRADA Y SALIDA

Memoria Cache. Departamento de Arquitectura de Computadores

CAPITULO 12: SISTEMAS DE FICHEROS DISTRIBUIDOS Un sistema bien diseñado permite el acceso a un servidor de ficheros (remoto) con eficiencia y

Introducción a la Computación. Capitulo 4 Memoria Cache

La secuencia de referencias a páginas para el proceso B es:

RAID 0 : No redundante

Sistemas Operativos Tema 8. Gestión de la Entrada/Salida UNED Manuel Fernández Barcell Blog:

Clase de Filesystem + Taller

Sistemas de Archivos. Definición. Objetivos. Sistemas - Sistemas_de_Archivos - # 25. Archivo. Directorio. Metadatos o Atributo.

Tema II. Unidad de memoria

Universidad Tecnológica Nacional Facultad Regional Buenos Aires. Guía Práctica nº 5. File System

La solución es colocar un memoria más pequeña y rápida entre la CPU y la memoria principal.

Sistemas de archivos

MEMORIAS. Arquitectura de Computadoras. (Conceptos Introductorios) M. C. Felipe Santiago Espinosa

Transcripción:

SISTEMAS DE FICHEROS Universidad San Pablo-CEU Escuela Politécnica Superior Rodrigo García Carmona

OBJETIVOS Entender cómo funcionan los discos magnéticos, sus particularidades, y cómo solucionar los problemas que presentan, en particular mediante el uso de algoritmos de planificación, esquemas RAID y optimización del tiempo de rotación. Comprender el concepto de fichero, sus características, qué operaciones se pueden realizar sobre ellos, y cómo están implementados, prestando especial atención a su asignación en disco. Entender la estructuración de ficheros en forma de directorios, el path name, y las operaciones que se pueden llevar a cabo sobre los directorios. Conocer cómo están implementados. Ser consciente del problema de la consistencia en la información almacenada en disco, y aprender cómo asegurarla. SISTEMAS OPERATIVOS Entrada/Salida 2

CONTENIDOS Discos Magnéticos Ficheros Directorios Consistencia Bibliografía W. Stallings: Sistemas Operativos. Capítulo 11, 12. A.S. Tanenbaum: Modern Operating Systems. Capítulo 4, 5. 3

DISCOS MAGNÉTICOS 4

ESTRUCTURA FÍSICA DE UN DISCO MAGNÉTICO Disco magnético: Floppy (Diskettes). Disco Duro. Un disco magnético está compuesto de uno o más platos. Un plato puede tener una o dos caras. Cada cara tiene una cabeza que se encarga de leerla. Cada cara está dividida en pistas circulares. Las pistas siguen la misma geometría para todos los platos. Al conjunto de la misma pista en todos los platos se le llama cilindro. Cada pista está dividida en sectores de un tamaño fijo. El número de sectores por pista puede ser constante para todo el disco o depende según unas divisiones denominadas zonas. 5

TIEMPO DE ACCESO EN DISCOS MAGNÉTICOS Tiempo total de acceso: Búsqueda + Rotación + Transferencia. Tiempo de búsqueda: Mover la cabeza hasta la pista. Muy variable: 0-15 milisegundos. Tiempo de rotación: Esperar a que el sector se sitúe bajo la cabeza. Variable: 0-5 milisegundos. Tiempo de transferencia: Leer el sector. Fijo: 15 microsegundos. Son accesos lentos. Es necesario optimizar el acceso a disco: Algoritmos de planificación. Esquemas RAID. Optimización del tiempo de rotación. 6

ALGORITMOS DE PLANIFICACIÓN (I) El objetivo es minimizar el tiempo de búsqueda. Se aprovecha la geometría del disco. El tiempo de búsqueda se reduce si accedemos a cilindros cercanos. FCFS (First-Come First-Served): Más sencillo de los algoritmos. Se atiende a las peticiones en orden de entrada. No se optimiza el tiempo de búsqueda. Es el más justo. No se puede producir inanición. 7

ALGORITMOS DE PLANIFICACIÓN (II) Las peticiones pendientes se almacenan en una lista. SSF (Shortest Seek First): Se atiende a la petición cuya pista se encuentre más cerca. Mejora mucho el tiempo de búsqueda. Puede producirse inanición. Tienen preferencia las peticiones cerca de la mitad del disco. Ascensor: Se intenta que la cabeza se mueva en un solo sentido hasta llegar al límite, momento en que cambia de sentido. Casi tan bueno como SSF para el tiempo de búsqueda. Espera máxima: dos veces el total de cilindros. Variación: Movimiento en un único sentido. Cuando se llega al cilindro más exterior se atiende la petición del cilindro más interior. Espera máxima: el total de cilindros. 8

OPTIMIZACIÓN DEL TIEMPO DE ROTACIÓN También se puede optimizar el tiempo de rotación. Diferentes estrategias: Formateo escalonado: Se marca como primer sector de cada pista de manera escalonada. Se aprovecha la relación entre tiempo de rotación y búsqueda. Apto para peticiones grandes. Planificación: Se encolan las peticiones para la misma pista en orden. Cache de disco: Se almacenan varios sectores seguidos y se almacenan. Transparente para el Sistema Operativo. Cache de lectura y cache de escritura. 9

RAID La velocidad de los discos duros no avanza a la misma velocidad que el resto de componentes informáticos. Problema mecánico. No obedece la ley de Moore. Para hacer frente a este problema se propone el uso de paralelismo. RAID: Redundant Array of Inexpensive/Independent Disks. Varios discos duros conectados a la misma controladora. A nivel lógico funcionan como un único disco. Además añaden tolerancia a fallos. 6 esquemas de RAID. Frente a SLED: Single Large Expensive Disk. 10

RAID NIVEL 0 Dividido en bandas (strips) de k sectores cada una. Distribución física: una banda por disco. Entrada/Salida en paralelo: Gran mejora de rendimiento. Adecuado para peticiones grandes. Soporta peticiones en paralelo. Menor fiabilidad: El tiempo medio de fallo se divide por el número de discos. Banda 0 Banda 1 Banda 2 Banda 3 Banda 4 Banda 5 Banda 6 Banda 7 Banda 8 Banda 9 Banda 10 Banda 11 Banda 12 Banda 13 Banda 14 11

RAID NIVEL 1 Distribución física: bandas duplicadas en un segundo disco. Lectura: Se puede leer de cualquiera de las dos copias. Hasta dos veces mejor. Soporta peticiones en paralelo. Escritura: Se escribe en las dos copias a la vez. Igual de eficiente que sin RAID. Tolerancia a fallos: Aguanta el fallo de un disco duro. Espacio en disco: Se usa sólo la mitad. Banda 0 Banda 1 Banda 0 Banda 1 Banda 2 Banda 3 Banda 2 Banda 3 Banda 4 Banda 5 Banda 4 Banda 5 12

RAID NIVEL 2 Usa código Hamming para corrección de errores: Ejemplo: 4 bits de información (0, 3, 5, y 6), 3 bits corrección (1,2, y 4). Ejemplo: 32 bits de información, 6 bits de paridad. Distribución física: una bit en cada disco, alternativamente. Entrada/Salida en paralelo: Gran mejora de rendimiento. Pero no puede manejar peticiones en paralelo. Tolerancia a fallos: Si un disco falla se corrige el error. Dificultad técnica: Sincronización de discos. Tamaño: Sólo tiene sentido con cantidades de discos muy grandes. Bit 0 Bit 1 Bit 2 Bit 3 Bit 4 Bit 5 Bit 6 Bit 0 Bit 1 Bit 2 Bit 3 Bit 4 Bit 5 Bit 6 Bit 0 Bit 1 Bit 2 Bit 3 Bit 4 Bit 5 Bit 6 13

RAID NIVEL 3 Versión simplificada de RAID 2. Un único bit de paridad: Permite detectar, pero no corregir, un error. Pero como sabemos dónde se ha producir el error, podemos corregirlo. Entrada/Salida en paralelo: Gran mejora de rendimiento. Pero no puede manejar peticiones en paralelo. Tolerancia a fallos: Si un disco falla se corrige el error. Dificultad técnica: Sincronización de discos. Bit 0 Bit 1 Bit 2 Bit 3 Paridad Bit 0 Bit 1 Bit 2 Bit 3 Paridad Bit 0 Bit 1 Bit 2 Bit 3 Paridad 14

RAID NIVEL 4 Similar a RAID 3 pero con bandas en lugar de bits. Un disco almacena la banda de paridad. No es necesario sincronizar los discos Tolerancia a fallos: Si un disco falla se corrige el error. Soporta peticiones en paralelo: Cada escritura implica otra en el disco de paridad. Es complicado recalcular la paridad en estas circunstancias. El disco de paridad se convierte en un cuello de botella. Banda 0 Banda 1 Banda 2 Banda 3 Par. 0-3 Banda 4 Banda 5 Banda 6 Banda 7 Par. 4-7 Banda 8 Banda 9 Banda 10 Banda 11 Par. 8-11 15

RAID NIVEL 5 Similar a RAID 4. La banda de paridad se almacena para grupo de bandas en un disco distinto. Se elimina el cuello de botella de RAID 4: Ahora no siempre el mismo disco actúa como paridad. Conserva el resto de ventajas. Problema: Es más complejo reconstruir un disco si se produce un fallo. Banda 0 Banda 1 Banda 2 Banda 3 Par. 0-3 Banda 4 Banda 5 Banda 6 Par. 4-7 Banda 7 Banda 8 Banda 9 Par. 8-11 Banda 10 Banda 11 16

FICHEROS 17

FICHEROS Ficheros: unidades lógicas de almacenamiento de información. Compuestos de uno o más bloques. Un bloque puede ser, o no, equivalente a un sector en un disco magnético. Los ficheros almacenan información persistente. Deben existir más allá de la vida de un proceso. Están gestionados por un componente del sistema operativo llamado sistema de ficheros. Abstrae del manejo del disco físico. Determina las características de los ficheros. Define las operaciones que se pueden realizar sobre los ficheros. Establece quién puede realizar dichas operaciones. 18

NOMBRES DE FICHEROS Nombre: título del fichero. Útil para dar una idea de su función y/o características. No es un identificador único. Esa función la cumple el inode. El formato del nombre depende del sistema de ficheros: Habitualmente compuesto de base y extensión, separadas por un.. La extensión sirve para indicar de qué tipo de fichero se trata. El sistema operativo puede usarlo para determinar con qué programa se debe acceder al fichero. Suele tener un tamaño máximo. Tiene caracteres prohibidos. 19

Secuencia de bytes Secuencia de registros Árbol ESTRUCTURA INTERNA DE FICHEROS Los ficheros pueden estar estructurados como: Una secuencia de bytes: Como la memoria principal. El más común. Una secuencia de registros: Cada registro con su estructura propia. Usado en el pasado. Un árbol: Pares llave-valor. Las llaves están ordenadas. Ideal para búsquedas. A F O B D H M 20

TIPOS DE FICHEROS La mayoría de sistemas operativos distinguen varios tipos de ficheros: Archivos normales (regular): Contienen información. Dos subtipos: ASCII: Información en forma de líneas de texto. Binarios: Código ejecutable o información no textual. Directorios: Los veremos más adelante. Archivos especiales: Para modelar Entrada/Salida. Dos subtipos: De flujo de caracteres. De bloque. Los ficheros binarios contienen información muy variada, que puede ser o no ejecutable. Tienen una estructura interna estándar según el sistema operativo. Si esta estructura incluye un número mágico, esto indica que es un fichero ejecutable. El resto de la estructura indica cómo debe cargarse o manejarse el programa. 21

CARACTERÍSTICAS DE FICHEROS Los ficheros pueden dividirse en dos tipos: Secuencial: Deben ser accedidos en orden secuencial. Para cintas. Aleatorio: Pueden ser accedidos en el orden que se desee. Las características de cada fichero se almacenan en sus metadatos o atributos: Protección: Quién puede acceder al fichero y de qué forma. Creador y/o dueño. Grupo: Conjunto de usuarios que pueden manejar el fichero. Tamaños actual y máximo. Tiempos de creación, último acceso y última escritura. Flags: Indican de forma binaria ciertas características: Oculto. De sistema. ASCII/Binario. Temporal. Sólo lectura. 22

OPERACIONES SOBRE FICHEROS Los ficheros admiten una serie de operaciones sobre ellos. Las más comunes son: Creación: El archivo se crea vacío. Borrado: Comprueba que no haya más accesos simultáneos. Apertura: Necesario para poder operar con el archivo. Lectura/Escritura. Cierre: Cuando se ha acabado de operar con el archivo. Lectura: A partir de la posición actual. Búsqueda (seek): Cambio de la posición actual. Escritura: Se sobrescribe información. Adjuntar (append): Se añade información sin sobrescribir. Leer/modificar atributos. Renombrar: A veces se sustituye por copia y borrado. Se implementan mediante llamadas a sistema. 23

ASIGNACIÓN DE FICHEROS: ASIGNACIÓN CONTINUA Traducción de la información lógica de los ficheros en información física en el disco. Mapeo de bloques a sectores. Varios esquemas: Asignación contigua: Los archivos ocupan una serie de sectores contiguos en el disco. Ventajas: Simple de implementar. Alta velocidad de lectura y escritura. Desventajas: Se produce fragmentación. Es necesario desfragmentar. Es necesario saber con antelación el tamaño máximo del fichero. Se usaba con unidades de cinta. Ha vuelto a la vida gracias a los discos ópticos. 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 Inicio: 5 Longitud: 6 24

ASIGNACIÓN DE FICHEROS: LISTA ENLAZADA Lista enlazada: Cada sector contiene un enlace al siguiente sector. Ventajas: No se produce fragmentación. El archivo puede crecer fácilmente. Desventajas: El acceso es más lento. Los sectores no contienen datos potencia de 2. Se invierte espacio en el enlace. Se pueden eliminar esta última desventaja poniendo los enlaces entre sectores en memoria: FAT (File Allocation Table) 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 Inicio: 5 Sectores: 5,1,7,9,14,4,12 25

ASIGNACIÓN DE FICHEROS: I-NODES I-nodes (index nodes): Cada fichero tiene una estructura de datos (i-node) con una lista de las características y ubicación de cada sector. Ventajas: No se produce fragmentación. El acceso es más rápido que con una lista enlazada. Los sectores contienen datos con potencia de 2. Desventajas: El acceso es más lento que con asignación contigua. Tamaño máximo de fichero limitado por i-node. Se puede eliminar esta última desventaja usando i- nodes multinivel. 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 Índice: 5 Sectores: 1,7,9,14,4,12 26

DIRECTORIOS 27

DIRECTORIOS Los directorios son el mecanismo que utiliza el sistema de ficheros para organizar los archivos. Existen dos estructuras de directorios: Sistemas de directorio único: Sólo hay un directorio, el raíz. No pueden repetirse nombres de ficheros. Es sencillo de implementar. Es fácil localizar archivos. Sistemas de directorios jerárquicos: Hay varios directorios, organizados en forma de árbol. Permite agrupar ficheros por temática, usuario, función o acceso. Pueden repetirse nombres de ficheros. Usado en la gran mayoría de sistemas modernos. 28

PATH NAMES Los path names, o nombres de camino, indican en qué posición se encuentra un fichero dentro de una estructura de directorios. Están compuestos de los nombres de los directorios que hay que recorrer, desde la raíz del árbol, para llegar al que contiene el fichero. Estos nombres se separan mediante un carácter específico del sistema: / en UNIX. \ en Windows. El directorio raíz indica mediante el separador o un grupo de caracteres especial. Los path names pueden ser: Relativos: usan como base la posición actual dentro del sistema de ficheros. Ejemplo:./SO2/notas/suspensos.txt Absolutos: usan como base la raíz del sistema de ficheros. Ejemplo: /home/rodrigo/so2/notas/suspensos.txt Caracteres especiales:. : Directorio actual... : Directorio padre del actual. 29

OPERACIONES SOBRE DIRECTORIOS Los directorios admiten, por lo general, las siguientes operaciones: Creación: Incluye automáticamente los archivos. y... Borrado: Sólo si está vacío. Apertura: Necesario para poder operar. Cierre: Cuando se ha acabado de operar. Lectura: A partir de la posición actual. Devuelve la siguiente entrada. Renombrar: A veces se sustituye por copia y borrado. Enlazar: Para que una archivo aparezca en varios directorios. Desenlazar: Romper un enlace. Los enlaces creados de esta manera son los hard links (enlaces duros o reales), diferentes de los symbolic links (enlaces simbólicos), en los que se crea un nuevo archivo cuya única función es redirigir al que ya existía. 30

IMPLEMENTACIÓN DE DIRECTORIOS Los directorios se implementan como ficheros. Los atributos o metadatos de los ficheros pueden almacenarse en: El directorio que los contiene. El inode del fichero, al que se hace referencia en el directorio. En ambos casos las entradas que almacenan esta información pueden ser: De longitud fija: Tamaño de nombres limitado. Espacio desperdiciado. De longitud variable: Puede producirse fragmentación dentro de la lista de entradas. La búsqueda en directorios puede acelerarse mediante: Tablas hash con los nombres de ficheros. Caches de búsqueda en directorios. 31

IMPLEMENTACIÓN DEL SISTEMA DE FICHEROS MBR Tabla Particiones Partición Partición Partición Partición Bloque Boot Superbloque Gest. Esp. Libre I-nodes Direct. Raíz Otros archivos MBR (Main Boot Record): Sector de Arranque. Se lee al arrancar el sistema. Redirige al Bloque Boot de una partición. Tabla de particiones: Información sobre las particiones del disco. Bloque Boot: Contiene la información de arranque del sistema operativo. Superbloque: Información sobre el sistema de ficheros. 32

CONSISTENCIA 33

JOURNALING (I) Concepto básico: Llevar un registro de lo que el sistema va a hacer antes de hacerlo. Si el sistema falla se consulta el registro y se lleva a cabo la tarea pediente. Usado en sistemas de ficheros actuales: Ext4, ReiserFS, NTFS Ejemplo: Borrado de un fichero. 1. Eliminar el fichero del directorio. 2. Añadir el inode a la lista de inodes libres. 3. Añadir los bloques de disco a la lista de bloques libres. El orden no es relevante, pero si se ejecutan sólo algunos de estos pasos se producen problemas: Si 1 y 2 pero no 3: Se pierden bloques permanentemente. Si 1 pero no 2 ni 3: Se pierden i-nodes y bloques permanentemente. Si 2 pero no 1 ni 3: Dos ficheros con el mismo i-node. Si 3 pero no 1 ni 2: Dos ficheros con los mismos bloques. 34

JOURNALING (II) Un sistema de ficheros con Journaling: Escribe en el registro la operación a realizar. Realiza todos los pasos de la operación. Marca en el registro la operación como realizada. Las operaciones deben ser idempotentes: Pueden repetirse tantas veces como se desee sin que cambie el resultado. Operaciones idempotentes: Marca el i-node x como libre. Operaciones no idempotentes: Añade el bloques y a la lista de bloques libres. Puede hacerse idempotente: Busca en la lista de bloques libres el bloque y y, si no está presente, añádelo. Son más costosas. Pueden agruparse varias operaciones para realizar el conjunto atómicamente. 35

ALMACENAMIENTO ESTABLE (I) Es necesario proteger el sistema de ficheros frente a errores: Errores de escritura. Caídas durante el proceso de escritura. Fallos de sectores. Almacenamiento estable: cuando se puede asegurar que, una vez dada una orden de escritura: O se lleva a cabo. O se deja la información original. Se puede implementar a nivel de software, pero precisa de la posibilidad de detectar errores. Para ello se destinan espacios ECC (de control de errores) para cada bloque durante el formateo. Usa dos discos que almacenan la misma información: Sólo habría error si fallaran a la vez el mismo sector en ambos discos. Si falla un sector se marca como malo y se reubica la información a otro. Todos los discos cuentan con sectores de reserva. 36

Viejo Viejo Viejo Nuevo Viejo Nuevo Nuevo Nuevo ALMACENAMIENTO ESTABLE (II) Se definen tres operaciones: Escritura estable: Escritura en disco 1, comprobación. Escritura en disco 2, comprobación. Lectura estable: Lectura en disco 1, comprobación. Si falla, lectura en disco 2, comprobación. Recuperación frente a errores: Se comparan discos tras una caída. Si distintos se copia del disco 1 al 2. Ejemplo de funcionamiento. 5 momentos posibles para error: Discos Discos Discos Discos Discos 1 2 1 2 1 2 1 2 1 2 Error Error Error Error Error 37