Capítulo 5 Sistema de Ficheros 5.1 Ficheros 5.2 Directorios

Slides:



Advertisements
Presentaciones similares
MOVIMIENTO JOVENES DE LA CALLE CIUDAD DE GUATEMALA chi siamo quienes-somos qui sommes-nous who we are attività actividades activités activities scuola.
Advertisements

Construcción de Sistemas Distribuidos “Transacciones Distribuidas”
SIES – SISTEMA INTEGRADO DE EDUCACIÓN SUPERIOR
1 Datos sobre webloggers Datos extraidos de la encuesta a webloggers disponibles en la web de los autores.
IMPLEMENTACION CONTIGUA Y NO CONTIGUA
Tabla de Contenido Concurrencia.
1 INFORME RESUMEN SOBRE EL NIVEL DE UTILIZACION DE LAS TIC EN LAS EMPRESAS GALLEGAS ( Resumen PYMES ) Noviembre de 2004.
AYUDA A LA FUNCIÓN DOCENTE Internet
TEMA 2 MÚLTIPLOS Y DIVISORES
02- PLAN DOCENTE Febrero 2009 SIES – SISTEMA INTEGRADO DE EDUCACIÓN SUPERIOR.
ABECEDARIO FIGURAS GEOMÉTRICAS NÚMERO
Organización Secuencial
Teoría de Sistemas Operativos Memoria
IBD Clase 7.
GESTION DE DISPOSITIVOS
IV - Gestión de disco.
Sistemas Gestores de Ficheros
CLASE 3 SOFTWARE DEL MICROPROCESADOR
MOVIMIENTO JOVENES DE LA CALLE CIUDAD DE GUATEMALA chi siamo quienes-somos qui sommes-nous who we are attività actividades activités activities alimentazione.
EQUIPO ·# 3 SISTEMAS OPERATIVOS
EL OSO APRENDIZ Y SUS AMIGOS
Introducción a los Sistemas Operativos Memoria Virtual
Tema II Unidad de memoria. 2 Unidad de memoria 2.1 Definiciones y conceptos básicos Localización Capacidad Unidad de transferencia
Implementación de archivos
INTRODUCCIÓN A LA PROGRAMACIÓN
Planificación de la Información.
Administración de Archivos (1ra parte)
Administración de Archivos (2da parte)
TEMA: SISTEMA DE ARCHIVOS
Índice Sesión I Bloque I (09:30 a 10:30 Horas) Configuración Inicial
Johanna Lizeth Rodríguez Lorena Fda. Chávarro Ramos
BEATRIZ LAFONT VILLODRE
Teoría de Sistemas Operativos
Direcciones físicas y direcciones virtuales (lógicas)
HILOS Y COMUNICACIÓN ENTRE PROCESOS
Sistema de Ficheros1 Horas 1INTRODUCCIÓN5 2PROCESOS Y THREADS8 3GESTIÓN DE MEMORIA8 4ENTRADA/SALIDA4 5GESTIÓN DE FICHEROS4 S.O.ITemarioCurso: 04/05.
Administración de memoria
Administración del espacio
Administración de Archivos
Sebastián Sánchez Prieto
Tema 10a Manejo de archivos. Introducción Un computador puede almacenar grandes cantidades de información. Puede acceder a ella de manera muy rápida.
Administración de Memoria Memoria Virtual
Sistema de archivos Sistemas operativos.
Tema 10.3: Asignación de Espacio No Contiguo. Tema 10.3: 2 Silberschatz, Galvin and Gagne ©2005 Fundamentos de los Computadores (ITT, Sist. Electr.),
Asignación de Espacio No Contiguo
Soporte HW para Administración de Memoria Cecilia Hernández
Estructura del sistema de Archivos de
Administración de Memoria
Arquitectura NFS El servidor NFS exporta uno o más directorios
Capítulo 7 Gestión de memoria.
Sistemas Operativos Tema 3
Memoria virtual.
MEDIOS DE ALMACENAMIENTO
Sistemas de ficheros MS-DOS.
Gestión de Memoria.
Teoría de Sistemas Operativos Administración de Archivos.
Teoría de Sistemas Operativos
Capítulo 4 Entrada/Salida 4.1 Principios hardware de E/S
SISTEMAS DE ARCHIVOS.
Un ordenador no puede funcionar sin sistema operativo.
Gestión de Memoria.
Sistemas de Archivos Sistemas Operativos.  Se debe proporcionar un almacenamiento secundario que respalda a la memoria principal  El Sistema de archivos.
Almacenamiento de la información IES Virgen del Espino.
1 Sistemas de Archivos. 2 Almacenamiento Semipermanente 1.Gran capacidad de almacenamiento 2.La informaci ó n sobrevive a la terminaci ó n del proceso.
Unidad IV Manejo de archivos
MIA - Grupo 5 Unidad 2.
Sistema de Gestión de Archivos FUNDAMENTOS TEORICOS Ing. Jorge Gutiérrez D Universidad Nacional de Colombia Catedrático - I Sem 2009
Gestión de Memoria – Parte 2
Sistemas de archivos. Sistemas de archivos 2 Objetivo del SdA  Ocultar al usuario los detalles relativos al almacenamiento de información en dispositivos.
1/50 Ing. Gerardo Chávez Malpartida Administración de Memoria SISTEMAS OPERATIVOS.
Transcripción de la presentación:

Capítulo 5 Sistema de Ficheros 5.1 Ficheros 5.2 Directorios 5.3 Implementación del sistema de ficheros 5.4 Ejemplos de sistemas de ficheros Lo que viene en el Tanenbaun sobre los puntos 5.1 y 5.2 es bastante sencillo. Las transparencias que he puesto es un compromiso entre o explicarlo todo o no explicar nada (y que se lo lean ellos). La idea de estas transparencias (epígrafes 5.1 y 5.2) es indicar la existencia de esos conceptos. En 1 hora se pueden ver los epígrafes 5.1 y 5.2 (13 transparencias). El verdadero meollo del tema está en el epígrafe 5.3.

Almacenamiento de información a largo plazo Ficheros (1) Almacenamiento de información a largo plazo Almacenar grandes cantidades de datos (más de lo que cabe en el espacio virtual de direccionamiento) La información debe vivir más allá de la terminación del proceso que la utiliza (persistencia) Múltiples procesos quieren acceder a la misma información concurrentemente Solución: almacenar la información en unidades llamadas Ficheros Sistema Operativo: Gestor de Ficheros (Sistema de Ficheros) Veremos: la perspectiva del usuario y la del SO

Ficheros. (Nombrado) (2) Extensiones típicas de un fichero

Ficheros. (Estructura) (3) 3 tipos de estructuración (a) Secuencia de bytes (Unix, Windows): interpreta el usuario (b) Secuencia de registros: la unidad de R/W es el registro (c) Árbol, cada nodo contiene una clave

Ficheros. (Tipos) (4) Varios tipos de ficheros. Windows: regulares, directorios Unix: regulares, directorios, especiales, pseudoficheros Regulares: información del usuario, del tipo binarios: ejecutables, archivos ASCII: líneas de texto acabadas en: cr o lf (UNIX), o crlf (MSDOS) Directorios: mantienen la estructura del sistema de ficheros Especiales de caracteres: impresora, terminal, network Especiales de bloques: discos, disquettes

Ficheros. (Acceso) (5) Acceso secuencial Acceso aleatorio Lee todos los bytes/registros desde el principio No puede saltar, solo rebobinar Adecuado con cintas magnéticas Acceso aleatorio Se leen bytes/registros en cualquier orden Esencial para bases de datos En la lectura … Se da la posición desde donde leer, o … Seek, read

Ficheros. (Atributos) (6)

Ficheros. (Operaciones) (7) Create Delete Open Close Read Write Append Seek Get attributes Set Attributes Rename Leer la sección 6.1.7. La sección 6.1.8 no entra para el examen

Directorios. (de un nivel) (1) Directorios (folders, carpetas): estructuran el sistema de ficheros. Es simple, fácil de implementar. Colisión de nombres (solo un espacio de nombrado) Tampoco útil con un solo usuario (miles de ficheros)

Directorios. (de dos niveles) (2) Cada usuario tiene su propio directorio Identificación del usuario Acceso a ficheros que no son del usuario (p.e. del sistema)

Directorios. (jerárquico) (3)

Directorios. (Path Names) (4) Nombre absoluto Nombre relativo Directorio de trabajo Entradas: . ..

Directorios. (Operaciones) (5) Readdir Rename Link Unlink Create Delete Opendir Closedir

Implementación del sistema de ficheros. (Estructura) (1) Direcciones de comienzo y fin activa Master Boot Record PowerOn: BIOS lee y ejecuta MBR; MBR localiza partición activa, lee y ejecuta el boot block

Implementación del sistema de ficheros Implementación del sistema de ficheros. (implementación de ficheros) (2) ¿En qué bloques del disco está el contenido de un fichero? Asignación contigua

Implementación del sistema de ficheros Implementación del sistema de ficheros. (implementación de ficheros) (3) ¿En qué bloques del disco está el contenido de un fichero? Asignación contigua (ventajas) - Fácil implementar - ¿Dónde están los bloques de un fichero? - dirección del primer bloque - número de bloques - buen rendimiento en lectura: solo 1 seek 1 rotación Asignación contigua (desventajas) - Encontrar un hueco lo bastante grande - Hay que conocer el tamaño final del fichero - La compactación es cara - Adecuado para CDs

Implementación del sistema de ficheros Implementación del sistema de ficheros. (implementación de ficheros) (4) ¿En qué bloques del disco está el contenido de un fichero? Lista encadenada

Implementación del sistema de ficheros Implementación del sistema de ficheros. (implementación de ficheros) (5) ¿En qué bloques del disco está el contenido de un fichero? Lista encadenada No fragmentación externa, SI fragmentación interna En la entrada al directorio: dirección del primer bloque Mal para acceso aleatorio La cantidad de bytes en un bloque no es potencia de 2 los programas R/W en potencias de 2 hay que acceder a dos bloques

Implementación del sistema de ficheros Implementación del sistema de ficheros. (implementación de ficheros) (6) ¿En qué bloques del disco está el contenido de un fichero? Lista encadenada utilizando una tabla en memoria File Allocation Table

Implementación del sistema de ficheros Implementación del sistema de ficheros. (implementación de ficheros) (7) ¿En qué bloques del disco está el contenido de un fichero? Lista encadenada utilizando una tabla en memoria (FAT) Ventajas: - Todo el bloque para datos Acceso aleatorio mejorado Entrada al directorio: primer bloque Desventajas: Toda la tabla debe estar en memoria. disco: 20Gb; bloque: 1K; nº entradas: 20 millones tamaño de la entrada: 3 bytes; tamaño de la tabla: 60 Mb (en memoria)

Implementación del sistema de ficheros Implementación del sistema de ficheros. (implementación de ficheros) (8) ¿En qué bloques del disco está el contenido de un fichero? I-node

Implementación del sistema de ficheros Implementación del sistema de ficheros. (implementación de ficheros) (9) ¿En qué bloques del disco está el contenido de un fichero? I-node Ventajas: Solo en memoria el i-node del fichero abierto Tabla de i-nodes residentes en memoria (para todos los procesos) Tabla de ficheros abiertos (por proceso) Cada proceso tiene un máximo de ficheros abiertos Desventajas: - Los punteros indirectos aumentan el tiempo de búsqueda de bloques

Implementación del sistema de ficheros Implementación del sistema de ficheros. (implementación de directorios) (10) Cada entrada al directorio mantiene los bloques de disco del fichero y sus atributos Entrada: nombre, atributos y bloques de disco (MSDOS, Windows) Entrada: nombre y nº i-node (Unix)

Implementación del sistema de ficheros Implementación del sistema de ficheros. (implementación de directorios) (11) Cada entrada al directorio mantiene el nombre del fichero: longitud fija MSDOS: 8+3; Unix V.7: de 1 a 14 ¿Longitud del nombre variable y más grande?

Implementación del sistema de ficheros Implementación del sistema de ficheros. (implementación de directorios) (12) Entrada al directorio de longitud variable - Cuando se elimina queda un hueco de tamaño variable (b) Entrada al directorio de longitud fija - los nombres de los ficheros al final del directorio - ventaja: no huecos de longitud variable Búsqueda lineal en el directorio lenta (si muchas entradas) Mejor: tabla hash en cada directorio Opción: memoria caché

Implementación del sistema de ficheros. (ficheros compartidos) (13) link

Implementación del sistema de ficheros. (ficheros compartidos) (14) Problema: si las entradas contienen las direcciones de disco La entrada de B contiene una copia de la entrada de C Si B o C hacen crecer el fichero, solo se modifica una entrada Solución 1: i-nodes

Implementación del sistema de ficheros. (ficheros compartidos) (15) Solución 2: enlaces simbólicos (ficheros tipo link) No presentan el problema anterior: si el propietario elimina el fichero, el contenido del fichero link indica un fichero que no existe. - Además, un enlace simbólico puede enlazar ficheros en otros nodos. - Presenta otros problemas: - sobrecarga por tener el nombre y no el i-node - Un i-node extra por cada enlace simbólico - Un enlace simbólico es un alias: un fichero varios nombres: ojo al recorrer el sistema de ficheros

Implementación del sistema de ficheros Implementación del sistema de ficheros. (gestión de espacio en disco) (16) ¿Cómo almacenar en disco los n bytes de un fichero? N bytes contiguos en disco. ¿y si el fichero crece? - En bloques (contiguos o no) de tamaño fijo ¿Tamaño del bloque? - cilindro - pista - sector Si muy grande (cilindro): desperdicio tamaño medio de un fichero: 1K 1 bloque: 32k se desperdicia el 97% del espacio

Implementación del sistema de ficheros Implementación del sistema de ficheros. (gestión de espacio en disco) (17) Si muy pequeño: muchos accesos: muy lento. Ejem: pista: 217 bytes = 131072 bytes tiempo de rotación: 8,33 ms tiempo medio de posicionamiento: 10 ms Para leer un bloque de k bytes: Tpos. = 10 ms Trot. = 8,33/2 = 4,165 ms Ttra. = (k/131072) * 8,33 Si el bloque se muy pequeño, prima los tiempos de posicionamiento y de espera de rotación.

Implementación del sistema de ficheros Implementación del sistema de ficheros. (gestión de espacio en disco) (18) Tamaño del bloque (bytes) Todos los ficheros son de 2k

Implementación del sistema de ficheros Implementación del sistema de ficheros. (gestión de espacio en disco) (19) ¿Cuáles son los bloques libres? (a) Lista enlazada de bloques libres; (b) mapa de bits

Implementación del sistema de ficheros Implementación del sistema de ficheros. (gestión de espacio en disco) (20) ¿Cuáles son los bloques libres? Disco de 16Gb, tamaño del bloque: 1k Número de bloques: 24*230/210 = 224 32 bits para direccionar un bloque (¿por qué no 24?) ¿Cuánto ocupa cada método si disco vacío? Lista enlazada. - 1kb/4bytes = 255 dir. por bloque (+ 1 puntero) - 224/255 = 65793 bloques de 1kb (b) Mapa de bits - 224 bits /(210*23) = 211 (2048) bloques de 1k A Tanembaum le salen (para la lista enlazada) 16794 bloques (y no 65793 que me salen a mí). El contenido de la página 414 (versión inglesa) no lo contamos. Es una optimización para disminuir las E/S. Demasiado específico siendo que hay conceptos más importantes y generales que contar. Lo mismo se aplica a las cuotas de disco. El epígrafe Disk Quotas (Cuotas de disco) (pág. 415) no entra para el examen

Implementación del sistema de ficheros Implementación del sistema de ficheros. (fiabilidad del sistema de ficheros) (21) El hardware es fácil sustituirlo (solo dinero) Si se pierde el sistema de ficheros ¡¡desastre!! Backups La información se pierde por errores hardware, fuego, … La información se pierde por acciones del usuario (rm *) Ejemplo de recuperación: papelera de Windows Los backups consumen tiempo y espacio ¿Backup de todo el sistema de ficheros o de parte de él? - los fichero del sistema no son necesarios - los ficheros temporales tampoco - los especiales (/dev) no tiene sentido Solo hacer respaldo de parte del sistema de ficheros

Implementación del sistema de ficheros Implementación del sistema de ficheros. (fiabilidad del sistema de ficheros) (22) ¿Hacer respaldo de los que no han sufrido modificaciones? NO: Backup incremental - hacer un respaldo completo cada semana (mes) - hacer un respaldo diario de sólo los que han cambiado - minimiza la cantidad de espacio necesario - Dificulta la restauración ¿Se comprimen los datos en el respaldo? - Ojo con los errores en la superficie de la cinta ¿Cuándo realizar el respaldo? - Los ficheros pueden estar en uso - Se pueden estar creando/borrando ficheros - Offline (de noche) ¿Dónde guardar los respaldos?

Implementación del sistema de ficheros Implementación del sistema de ficheros. (fiabilidad del sistema de ficheros) (23) Backup físico Copiar a cinta desde el bloque 0 al último bloque del disco - simple - copia bloques libres (vacíos) - utilizar lista de bloques libres y no copiarlos - ahora cada bloque debe llevar su número - copia bloques malos - no incremental, copia todo, NO SE UTILIZA Backup lógico - copia sólo la información (ficheros y directorios) seleccionada - diferentes algoritmos (Leer el ejemplo de algoritmo de backup lógico de la páginas 419-421)

Implementación del sistema de ficheros Implementación del sistema de ficheros. (fiabilidad del sistema de ficheros) (24) Consistencia del sistema de ficheros Por fallos hw o soft fallan lecturas/escrituras de bloques críticos: El sistema de ficheros queda en un estado inconsistente. Programas que validan la consistencia del sistema de ficheros: - fsck (Unix) - scandisk (Windows) Dos tipos de operaciones: - consistencia de bloques - consistencia de ficheros ¿Cómo se valida la consistencia de bloques?

Implementación del sistema de ficheros Implementación del sistema de ficheros. (fiabilidad del sistema de ficheros) (25) Consistencia del sistema de ficheros (bloques) (c) (d) (a) Consistente (b) Bloque perdido (c) Bloque duplicado en la lista de libres (d) Bloque de datos duplicado

Implementación del sistema de ficheros Implementación del sistema de ficheros. (fiabilidad del sistema de ficheros) (26) Consistencia del sistema de ficheros (ficheros) Tabla de ficheros: una entrada por fichero Recorrer el sistema de ficheros. Por cada aparición de un fichero, Incrementar en 1 su entrada a la tabla Compara esta tabla con la información de los i-nodes (por fichero) =, el sistema de ficheros es consistente. nlink del i-node > la cuenta calculada; fijar nlink Nlink del i-nolde < la cuenta calculada; fijar nlink Consistencia del sistema de ficheros (protección) Bit de protección extraños: 0007

El acceso a disco es un millón de veces más lento Implementación del sistema de ficheros. (rendimiento del sistema de ficheros) (27) Leer una palabra (32 bits) de memoria  10 nseg. Disco que transfiere a 10MB/seg. Leer 1 palabra (4 bytes = 32 bits) 4 bytes en 4.10 -7 seg. Tiempo de posicionamiento + tiempo de latencia = 5..10 mseg. 10 nseg. frente a 10 mseg. El acceso a disco es un millón de veces más lento que el acceso a memoria ¿Cómo mejorar el rendimiento del disco?

Implementación del sistema de ficheros Implementación del sistema de ficheros. (rendimiento del sistema de ficheros) (28) Buffer caché Para reducir el número de accesos a disco Imagen en memoria de algunos bloques de disco Si el bloque a leer está en la caché, no hace falta acceder a disco Si no está en la caché, traerlo y quitar uno.

Implementación del sistema de ficheros Implementación del sistema de ficheros. (rendimiento del sistema de ficheros) (29) Buffer caché ¿EL bloque es esencial para mantener la consistencia del sistema de ficheros? (i-nodes, espacio libre, bloques de punteros indirectos) SI: escribirlo a disco inmediatamente NO: cache Datos en la cache pueden perderse: llamada sync (Unix) MSDOS: escribir inmediatamente a disco cualquier bloque modificado

Implementación del sistema de ficheros Implementación del sistema de ficheros. (rendimiento del sistema de ficheros) (30) Lectura adelantada Suposición: lectura secuencial Cuando se pide un bloque el sistema lee el solicitado y el siguiente o siguientes Seguir la pista del patrón de acceso de cada fichero abierto Reducción del movimiento del brazo del disco - Poner los bloques que se van a acceder en secuencia, cerca uno de otro. - Cluster - Cylinder skew

Implementación del sistema de ficheros Implementación del sistema de ficheros. (rendimiento del sistema de ficheros) (31) Reducción del movimiento del brazo del disco (La sección 6.3.8 no entra para el examen)