S.O.: Sistemas de ficheros

Documentos relacionados
Sistemas de ficheros en Servidores de Información multimedia

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

PREPARACION DE UN DISCO

Sistemas de Ficheros en GNU/Linux

Sistemas Operativos. Curso 2016 Sistema de Archivos

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

Sistemas de archivos distribuidos. Alvaro Ospina Sanjuan

Tablas de particiones y Sistemas de ficheros

Ing. Andrés Bustamante

Sistemas operativos. Tema 10: Sistemas de ficheros

S.O.: Entrada salida, E/S, (Input Output I/O)

Contenido. Sistema de archivos. Operaciones sobre archivos. Métodos de acceso a archivos. Directorio. Sistema de archivos por capas.

Tema 1: Implementación del sistema de archivos

Tema 1: Introducción al S.O.

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

Tema 3. Estructura física y lógica del Disco Duro

Memoria Virtual. Memoria Virtual

Los dispositivos de almacenamiento secundario pueden ser muy distintos (discos rígidos, memorias flash, DVD, magnetic tape)

DISCOS Y SISTEMAS DE FICHEROS

Sistemas de archivos: Estructura en el dispositivo

Menú de Arranque en Windows VISTA

Instalación de dos Sistemas Operativos en un mismo Computador

Ubuntu Server HOW TO : UBUNTU SERVER EN ESTE SE REALIZA LO SIGUIENTE: En este how to se le va a enseñar como instalar un servidor de ubuntu.

Almacenamiento magnético, 3

PARTICIONES Y FORMATOS

ASO. Instalación de RedHat Linux 1

TP N 7 Comandos "mount" y "umount"

Sistemas de Clonación

Fases de Instalación de un Sistema Operativo

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

Estructura de un disco duro

Sistemas de archivos

Descubre gnulinex 1. Capítulo 16. El sistema de archivos

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

Indice: Particiones. Sistema de archivos. Fdisk. QTparted 1. PARTICIONES

6 Sistemas de Archivos

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

Respaldo de la información del cliente

Mundo Azul.

T5.- Gestión de discos Estructura física del disco duro. TEMA 5 GESTIÓN DE DISCOS Estructura física del disco duro.

SISTEMAS DE ARCHIVOS. Conrado Perea

Persistencia de datos

11224 Gestión Avanzada de OpenGnSys

GUÍA DE INSTALACIÓN DE SLACKWARE LINUX 11.0 v. 1.0

SISTEMAS OPERATIVOS: SISTEMAS DE FICHEROS. Aspectos del diseño de un sistema de ficheros

TEORÍA DE SISTEMAS OPERATIVOS Gabriel Astudillo Muñoz ALMACENAMIENTO JERARQUÍA DE MEMORIA PROBLEMA

UNIDAD DIDACTICA 8 MONTAR Y DESMONTAR UNIDADES EN GNU/LINUX

File System Distribuido - FSD

Instalación de un segundo sistema operativo

FACULTAD DE INFORMATICA SISTEMAS OPERATIVOS 3º de Informática.

18 y 19 Sistemas de Archivos Distribuidos y Tarea 05


SISTEMAS OPERATIVOS. Instalación de los sistemas operativos (basado en UNIX- LINUX) TECNOLOGÍAS DE LA INFORMACIÓN Y COMUNICACIÓN MSC.

Sistemas Operativos 1

SISTEMAS DE ARCHIVOS DISTRIBUIDOS

1 OBTENER EL CD DE UBUNTU 2 INSERTAR EL CD 3 ELEGIR EL IDIOMA. Coleccion: Ubuntu para Torpes

Sistemas de almacenamiento

Actividades de Teoría de Sistemas Operativos Sistemas informáticos multiusuario y en red

Unidad 1 Discos Rígidos Sistemas de Archivos y Particiones.


Configuración de los servidores de los institutos con raid (Institutos nuevos)

Arranque Dual (Dual boot) Ubuntu, Windows 7 y Windows XP

2.- Instalación de Linux

Tema 4. Particiones y Sistemas de Archivos. Sistemas Operativos Monopuesto 1º SMR

Arranque Dual (Dual boot) Ubuntu, Windows 7 y Windows XP

TEMA 6: «LOS SISTEMAS DE ARCHIVO» Implantación de Sistemas Operativos

Clase práctica - Filesystem

S.O.: Asignación de memoria dinámica

Introducción al software libre

ESCUELA DE CIENCIAS BASICAS TECNOLOGIA E INGENIERIA Sistemas Embebidos Act 11: Reconocimiento Unidad 3 LECTURA 1

Instalación de Sistemas Operativos de Red

ATRIBUTOS DE LOS FICHEROS EN LINUX

Creación de un pendrive USB de instalación de SO

Organización lógica Identificación de bloque

Clase 3. Discos Duros (continuación)

Unidad V: Sistemas de archivos 5.1 Concepto

Sistemas de archivos: Estructura en el dispositivo

Para ver que el kernel ha reconocido la nueva partición: Creación de Sistemas de archivos II. mkfs -t ext2 /dev/fd mkfs -t fat /dev/fd0 1144

Sistemas de Operación II

Gestión de Ficheros y Directorios

Laboratorios Linux: mini-curso de supervivencia

Gestión de almacenamiento secundario

NOCIONES SOBRE DISCOS DUROS

file:///d:/users/coord%20tic/mis%20documentos/mis%20sitios%20web/web%20ntic.orgfree.com/man...

"Si he logrado ver más lejos ha sido porque he subido a hombros de gigantes" Isaac Newton

De Wikipedia, la enciclopedia libre

aspectos fundamentales

TEMA 7: EL SISTEMA DE ARCHIVOS

Introducción a los Sistemas Operativos

TEMA 2. ORGANIZACIONES DE FICHEROS Y ESTRUCTURAS DE ACCESO

TEMA 4. SISTEMA DE ARCHIVOS

Sistemas operativos: una visión aplicada. Capítulo 2 Introducción a los sistemas operativos

Información básica. Qué es un disco duro?

Nombres de archivo. Sistemas Operativos III - ETB EMT - CETP

Componente del sistema operativo que maneja el acceso a los archivos.

UNIVERSIDAD DON BOSCO FACULTAD DE ESTUDIOS TECNOLÓGICOS ESCUELA DE COMPUTACION. GUIA DE LABORATORIO # 5

3 SISTEMAS DE ARCHIVOS INTRODUCCIÓN CARACTERÍSTICAS DE LOS SISTEMAS DE ARCHIVOS EL SISTEMA DE ARCHIVOS FAT

UNIDAD DIDACTICA 9 GESTIÓN DE PARTICIONES EN GNU/LINUX

MODULO 4: EL DISCO DURO

Qué es un disco duro?

Transcripción:

Gorka Guardiola Laboratorio de Sistemas, Grupo de Sistemas y Comunicaciones, URJC 27 de agosto de 2010

(cc) 2008 Grupo de Sistemas y Comunicaciones. Algunos derechos reservados. Este trabajo se entrega bajo la licencia Creative Commons Attribution-ShareAlike. Para obtener la licencia completa, véase http://creativecommons.org/licenses/by-sa/2.1/es. También puede solicitarse a Creative Commons, 559 Nathan Abbott Way, Stanford, California 94305, USA.

Almacenamiento secundario Más grande que la memoria Persistente Problema similar a la asignación de memoria Diferencias: bloques, lento, muy grande

Sistema de ficheros vs servidor de ficheros Sistema de ficheros: FAT32, Ext3, NTFS, HFS+, ISO9660 Estructura de datos persistente para repartir el disco Abstrae bloques a ficheros, directorios con permisos, usuarios etc. Asigna bloques y espacio libre Fragmentación, y el resto de problemas de asignar espacio Servidor de ficheros Programa, parte del sistema operativo Arbitra el acceso al sistema de ficheros Acceso concurrente Protección Interfaz de llamadas al sistema, read(), write(), open() etc. Protocolo de red, 9P, NFS (también se les llama sistemas de ficheros en red)

Sistema de ficheros Estructura de datos para repartir el disco Incluye datos (contenido de ficheros) y metadatos, nombres de ficheros, permisos, etc. Los ficheros en sí no tienen (mucho) tipo Los ficheros datos en crudo con un nombre que es una cadena de texto. Excepción extensiones (tipo del fichero en Windows), resource forks (Mac OS) etc. Los metadatos sí tienen tipo, nombres usuario, permisos, enteros con tamaños, fechas

Particiones Estructura de datos que parte el disco en regiones fijas Tamaños fijos (aunque algunas aplicaciones lo pueden cambiar, para reconfigurar, no es lo normal) Tabla de particiones, al principio del disco, en el MBR (Master Boot Record) Cada partición tiene un tipo, sistema de ficheros, o swap etc. También tienen un bit diciendo si se puede cargar un kernel de ellas (bootable) Dentro de una partición hay un sistema de ficheros

Particiones

Particiones Hay que hacerlas con cuidado porque no se pueden cambiar fácilmente Hay normales y extendidas, que pueden contener otras en el interior También tienen un bit diciendo si se puede cargar un kernel de ellas (bootable)

Arranque de un PC BIOS, Rom de arranque (El equivalente en Mac es EFI y el arranque y el sistema de particiones es un poco diferente) Carga el MBR en memoria El MBR contiene la tabla de particiones Y código para arrancar El código del MBR busca una partición marcada como bootable Si es primaria, carga el kernel (o el cargador) y lo arranca. En una partición secundaria hay otro Boot Record secundario que a su vez carga el kernel (o el cargador)

MBR

Arranque de un PC A veces en lugar de cargar el kernel, se carga un cargador, un programa que carga el kernel y salta a él Se llama cargador secundario, flexibilidad, limitaciones del MBR Grub o LILO vienen con linux NTLDR Windows XP, BOOTMGR con Windows Vista 9load en Plan 9 Suele tener una shell, menú para elegir qué se arranca etc.

Arranque de un PC, de red BIOS, ROM de arranque La BIOS salta a la ROM de la tarjeta La ROM de la tarjeta usa DHCP para configurarse, se trae el cargador secundario de la red por tftp Esto se llama PXE, Preboot execution Environment El cargador secundario normalmente tiene que ser especial para esto (se carga en una dirección diferente y tiene ĺımites) Permite arrancar sin disco como en el laboratorio

Sistema de Ficheros, FS Evitar la fragmentación Maximizar la velocidad, transferir bloques grandes, minimizar el acceso al disco para metadatos Bloque físico (sector), tamaño fijado por el disco, el hw Bloque lógico (bloque o cluster) fijado por el fs Compromiso: Mayor el bloque mayor la tasa de transferencia (mejor) y mayor la fragmentación (peor)

Sistema de Ficheros, FS Un directorio puede ser un tipo especial de fichero (normalmente) u otra cosa diferente Hay que ver dónde van los metadatos, a veces en el directorio, a veces en estructuras de datos para el fichero, a veces asociada al fichero.

Asignación contigua Pongo los bloques contiguos en disco Cuanto va a ocupar el fichero?, reservo hueco Si me quedo sin espacio tengo que mover y actualizar los punteros, aquí puedo, pero es caro Si hay mucha fragmentación externa, puedo compactar, de nuevo, caro En casos simples o que no se modifican, puede resultar útil (por ejemplo, en un CDROM que sólo se va a escribir una vez)

Asignación enlazada Un fichero es una lista enlazada ( simple, doble?) de bloques Se tiene un puntero al primero ( y al último?) Acceso aleatorio ineficaz (aunque una caché de bloques lo resuelve) Que pasa si pierdo un enlace?

Asignación enlazada con tabla Lista enlazada, separada en una tabla Ejemplo, FAT

FAT TABLA FAT 2 5 0xFFF 3 7 0xFFF Fichero 1 2 3 4 5 6 7 8 9 Directorio Nombre Cluster inicio uno 2 Ejemplo de Directorio dos tres 10 15 FAT12 0x000 0x001 0x002 0xFEF 0xFF0 0xFF6 FAT16 0x0000 0x0001 0x0002 0xFFEF 0xFFF0 0xFFF6 FAT32 0x00000000 0x00000001 0x2 0x0FFFFFEF 0x0FFFFFF0 0x0FFFFFF6 Significado Cluster libre Valor reservado Cluster en uso Valores reservados 0xFF7 0xFFF7 0x0FFFFFF7 Cluster malo 0xFF8 0xFFF 0xFFF8 0xFFFF 0x0FFFFFF8 0x0FFFFFFF Cluster final

FAT32 Empieza con un Boot Sector (como las particiones extendidas) Datos de la tabla, número de sectores, número de copias de la tabla fat etc. Clusters de 32Kb, 64 sectores. Máximo tamaño de disco, 2Tb Entrada de directorio, contiene metadatos de un fichero 32 bytes Nombre, 8 bytes Extensión, 3 bytes Atributos, 1 byte Reservado, 10 bytes Hora de modificación, 2 bytes Fecha de modificación, 2 bytes Primer cluster del archivo, 4 bytes Tamaño del archivo 4 bytes

FAT La FAT ocupa espacio: clusters, FAT más pequeña a cambio de fragmentación Es muy sencillo Qué pasa si se pierdo la FAT?: varias copias, actualización problemas Me cabe la FAT en la memoria?, la cargo en demanda?

Asignación indexada Todos los punteros a los bloques juntos, acceso aleatorio más rápido Cada fichero tiene su lista de punteros, puede ir pegado a los datos para minimizar accesos a disco Bloque de indirección grande, desperdicio, pequeño, fichero máximo

Asignación indexada: lista enlazada Bloque de indirección con N punteros y referencia al siguiente Extensible, más accesos a disco para leer un fichero entero

Asignación indexada: multinivel Un árbol, profundidad fija, tamaño logarítmico, menos metadatos, menos accesos a disco Desperdiciamos para ficheros pequeños o de diferentes tamaños Queremos lo mejor de los casos anteriores: esquema combinado

Asignación indexada: esquema combinado Bloques directos de datos Bloques de indirección simple Bloques de indirección doble, etc.

Unix: inodos Inodo: bloque de punteros, metadatos Contienen bloques de indirección doble, etc. Directorios, nombres, número de inodo (dentry) Dos entradas especiales, una para. (actual) y otra para.. (padre) Superbloque/descriptores de grupo, tamaños, tabla de inodos/bloques ocupados (bitmap), varias copias por si hay un desastre Los bloques de punteros están en los bloques de datos

Enlaces Enlaces duros, varias entradas de directorio apuntando al mismo inodo indistinguible de un directorio normal necesito cuenta de referencias para liberar los datos Enlaces blandos o simbólicos como un fichero con un nombre, en la parte de datos open requiere resolver dos nombres el fichero al que apunta puede no existir

Unix: inodos Ejemplo, Ext2 (y Ext3, que es el mismo pero con un journal, más adelante)

ext2: inodos

ext2: super bloque/descriptores de grupo

Directorios, implementación Lineal, simple, lenta Lineal ordenada, rápida, problema para creación y borrado Tabla hash, más rápida, menos localidad para cachés

Montaje, espacio de nombres Cómo lo ve el usuario Un bosque de árboles, unidades, C:, D: (windows) Un árbol en el que se montan (pegan) sistemas de ficheros Una única tabla de montajes global, mount(2) UNIX, /etc/fstab Varios espacios de nombres, uno por proceso ns(1), Plan 9 bind(2), para pegar unos trozos de árboles en otros substitution mounts, oculta lo que hay debajo, union mounts, se ven ambos contenidos en el mismo sitio (Plan 9)

istema de ficheros Organización de datos Espacios de nombres Cache Coherencia Espacio de de nombres nombres / 386... usr bin n rubia PUNTO DE MONTAJE FICHERO MONTADO / 386 usr bin... ema 8: Gestión de ficheros

Caché Buffer caché: parte de la memoria se usa para almacenar bloques disco Page caché: Marcos de memoria no usados por los procesos, guarda páginas (mmap, carga en demanda etc). No necesito tener dos realmente, o tendré dos copias (La buffer caché de linux usa la page caché). Ambos transparentes al usuario. Completamente?, y si apago el ordenador? Otras cachés: caché de inodos, de dentries etc.

Caché Las poĺıticas que ya hemos visto valen, típicamente se usa LRU, con extras para escribir delayed write-back: se espera un poco (con la esperanza de que escriban más en ese bloque) write through: simple y si se va la luz, está ya en el disco para leer, como suele haber lectura secuencial: read-ahead: leo más hacia adelante con la esperanza de que sea lo siguiente que me pidan free-behind: los datos que se han leído secuencialmente con readahead, se tiran (para evitar llenar la caché)

Problemas de inconsistencia/coherencia Mientras escribo datos y metadatos para un fichero se puede ir la luz Puedo terminar con el sistema de ficheros inconsistente, datos corruptos, leaks de espacio etc. La caché lo empeora (puede desordenar las escrituras, aumenta las ventanas de tiempo) Ejemplo: borrar un directorio en un sistema con inodos 1: Tengo que borrar la entrada de directorio 2: Tengo que marcar el espacio para el inodo y los datos como libre en el grupo. Si se va la luz entre la 1 y 2, tengo un leak de espacio (inodo huérfano) Si se desordenan y sólo pasa 2 pero no 1, se me sobreescribirá el fichero (peor caso)

Solución: filesystem check Tengo un bit que escribo el último diciendo que he hecho sync completo Si arranco y el bit no está puesto, fsck. Cada cierto tiempo, fsck. Si sospecho, fsck. fsck se recorre todo el sistema de ficheros y arregla inconsistencias. Si encuentra ficheros corruptos o problemáticos, los deja en /lost+found fsck es lento y no hay garantías, hay soluciones mejores?

Solución: soft updates Ordeno cuidadosamente lo que escribo en el disco Nunca escribo algo que apunte a algo que pueda estar sin inicializar o que todavía pertenezca a otro Puedo tener leaks pero nunca inconsistencias Complicado en la práctica, aunque posible

Solución: journaling, ej: ext3 Tengo una zona de disco especial y escribo todos los cambios antes de hacerlos, estructura circular Tengo que ser cuidadoso con el journal y tener garantizado que las escrituras van en orden Si hay algún problema rehago el journal por donde me quedé Malo, dos escrituras y escribo mucho en el journal (se me estropean fácilmente los bloques) journal físico: escribo en el journal los bloques enteros journal lógico: escribo en el journal los cambios que voy a hacer log fs: sólo tengo el journal (me cambia toda la estructura del sistema de ficheros)

Imágenes de disco En realidad un disco duro es como un fichero y esa es la abstracción que ofrece el sistema A veces es conveniente crear un fichero que contenga un sistema de ficheros (ej: grabar un DVD) Creo un fichero con ceros (por ejemplo con dd(1)), lo formateo, y lo puedo montar (en linux con el loop device, mount -o loop)

Ficheros con huecos o sparse Algunos ficheros tienen trozos enteros a cero Qué pasa si hago un seek más allá del final y escribo? Puedo tener ficheros que ocupen en disco menos que su tamaño Especialmente útiles para imágenes de disco