Persistencia de datos



Documentos relacionados
6 Sistemas de Archivos

Tema 1: Implementación del sistema de archivos

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

Gestion de archivos. Problemas al almacenar datos sólo en la memoria:

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

Sistemas de Archivos Implementación. Módulo 11. Departamento de Informática Facultad de Ingeniería Universidad Nacional de la Patagonia San Juan Bosco

Sistemas operativos. Tema 9: Gestión n de E/S

Convivencia. Gestión del Sistema de Archivos

DISCOS RAID. Se considera que todos los discos físicos tienen la misma capacidad, y de no ser así, en el que sea mayor se desperdicia la diferencia.

Almacenamiento y estructura de archivos

Tema 4. Gestión de entrada/salida

No se requiere que los discos sean del mismo tamaño ya que el objetivo es solamente adjuntar discos.

18 y 19 Sistemas de Archivos Distribuidos y Tarea 05

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

Sistemas de archivos distribuidos. Alvaro Ospina Sanjuan

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

El soporte del sistema operativo. Hace que un computador sea más fácil de usar. Permite que los recursos del computador se aprovechen mejor.

Unidad 1: Conceptos generales de Sistemas Operativos.

Hardware y Estructuras de Control. Memoria Virtual. Ejecución de un Programa. Ejecución de un Programa

TEMA 6: GESTIÓN DE ENTRADA/SALIDA

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

SEGURIDAD Y PROTECCION DE FICHEROS

Version 3. Capítulo 9. Fundamentos de hardware avanzado para servidores

SISTEMAS DE ARCHIVOS DISTRIBUIDOS

ARQUITECTURA DE DISTRIBUCIÓN DE DATOS

Capítulo 12: Indexación y asociación

Sistemas de Operación II

En esta unidad añadiremos información sobre EXT3 y trabajaremos con aspectos visibles que nos proporcionan estos sistemas de archivos.

Unidad 2: Gestión de Memoria

Convivencia. Gestión del Sistema de Entrada/Salida

RAID. Redundant Array of Independent Disks. Rafael Jurado Moreno Fuente: Wikipedia

Segundo parcial de Sistemas Operativos. 24/6/2008. Ejercicios. 5 puntos. Duración 2h.

13º Unidad Didáctica. RAID (Redundant Array of Independent Disks) Eduard Lara

RAID 0 : No redundante

Gestión de Ficheros y Directorios

Tema: Configuración de arreglos redundantes de discos duros (RAID).

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

Sistema de Archivos Almacenaje Secundario. Módulo 12

Introducción a los Sistemas Operativos

Global File System (GFS)...

CAPÍTULO 4. EL EXPLORADOR DE WINDOWS XP

Sistemas de Archivos. Modulo 10. Departamento de Ciencias e Ingeniería de la Computación Universidad Nacional del Sur

TEMA 7: EL SISTEMA DE ARCHIVOS

Unidad 1: Conceptos generales de Sistemas Operativos.

Qué es un sistema de almacenamiento RAID?

Sistemas de almacenamiento en Servidores de Información multimedia

UNIVERSIDAD DE ORIENTE FACULTAD DE ICIENCIAS ECONOMICAS LAS REDES I. Licda. Consuelo Eleticia Sandoval

Estructuras de Almacenamiento RAID RAID. Nivel FísicoF. Índice. Requisitos Almacenamiento. Nivel Lógico Modelo Entidad-Relación y Modelo Relacional

Tema 6. Gestión de la memoria

TALLER No. 1 Capitulo 1: Conceptos Básicos de Bases de datos

Clase 3. Discos Duros (continuación)

Técnicas empleadas. además de los discos las controladoras.

Tema 1 Introducción. Arquitectura básica y Sistemas Operativos. Fundamentos de Informática

Estructura de un disco duro

Capitulo V Administración de memoria

Sistemas de arreglo de discos RAID. - Alex Avila

Sistemas operativos: una visión aplicada. Capítulo 12 Estudio de casos: Windows-NT

Ingeniería Superior de Informática. Curso 3º. Sistemas Operativos. Examen Final. TEORÍA. 31 de Enero de 2005

RAID= Redundant Array of Independent (or Inexpensive) Disks

ARREGLOS DEFINICION GENERAL DE ARREGLO

Administración de la producción. Sesión 10: Gestor de Base de Datos (Access)

MODULO 4: EL DISCO DURO

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

Capítulo 4 Gestión de memoria

Universidad de Valladolid

Procesos. Planificación del Procesador.

PARTICIONES Y FORMATOS

2. Sistema Operativo Windows

Función de un disco duro 2009

ISEC Labs #11. Despliegue y restauración segura de volúmenes cifrados con TrueCrypt. Javier Moreno jmoreno<arroba>isecauditors.com

WINDOWS : COPIAS DE SEGURIDAD

Curso de seguridad informática en el entorno docente. Sesión 4. PONENTE: Jaime López Soto.

[TECNOLOGÍA RAID] Documentos de formación de SM Data:

Sistemas de archivos: El medio físico

Introducción Subsistemas de disco inteligentes Técnicas de entrada y salida. Storage. Esteban De La Fuente Rubio SASCO. 7 de noviembre de 2013

Universidad de Colima Facultad de Ingeniería Mecánica y Eléctrica. Base de Datos I. Maestra: Martha E. Evangelista Salazar

Guia para examen de Sistemas Operativos Para primer parcial Febrero 2013 Revisión 2 Ing. Julio Cesar Gonzalez Cervantes

Sistemas Multimedia Distribuidos. Juan A. Sigüenza Departamento de Ingeniería Informática UAM


Redes de Almacenamiento

GENERALIDADES DE BASES DE DATOS

Familia de Windows Server 2003

Arquitectura de sistema de alta disponibilidad

comercio electrónico Antonio Sanz Comercio Electrónico

Estructuras de Sistemas Operativos

Dispositivos de almacenamien to secundario. Almacenamiento de datos

Sistemas Operativos. Administración de Periféricos

7. Manejo de Archivos en C.

ACTIVIDADES TEMA 1. EL LENGUAJE DE LOS ORDENADORES. 4º E.S.O- SOLUCIONES.

Sea el siguiente programa de nombre "c0p1" para copiar archivos (por simplicidad se ha eliminado todo control de errores): Se pide:

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

ADMINISTRACIÓN CENTRALIZADA DELL POWERVAULT DL2000 CON TECNOLOGÍA SYMANTEC

Sugar en Windows. Creación de una máquina virtual con la imagen de Sugar. Autor. Versión Fecha Setiembre Ubicación

Sistemas de Computación I/O. 2º Semestre, 2008 José Miguel Rubio L.

CONFIGURACIONES DE ALTA DISPONIBILIDAD

Autenticación Centralizada

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

Componentes de Integración entre Plataformas Información Detallada

2. Entorno de trabajo y funcionalidad en Arquímedes

Transcripción:

Sistemas de archivos Interfaz de los SAs: I. Archivos y directorios Implementación: II. Estructuras de datos III. Métodos de asignación IV. Gestión del espacio libre V. Cachés de disco VI. Archivos proyectados en memoria VII. Recuperación de fallos VIII.Planificación de disco IX. Gestión del intercambio X. RAID José Antonio Gómez Hernández, 2004

Persistencia de datos Los sistemas de archivos implementan el almacenamiento persistente - los datos creados por un programa persisten a la finalización del mismo. Los sistemas de archivos suministran una versión mejorada de los dispositivos del almacenamiento (discos, cintas, CD-ROM ) Existen sistemas de computación especiales que no tienen, o no necesitan, sistema de archivos. P. ej. un SO de un satélite, o en un microondas. Sistemas operativos II

Abstracciones El SO suele implementar cuatro abstracciones básicas relativas al almacenamiento permanente: Archivo Directorio Descriptor de archivo Sistema de archivos En este tema, vamos a definir cada una de ellas, y como se implementan de forma genérica. Sistemas operativos II

Concepto de archivo Un archivo es una colección de información relacionada con nombre que se guarda en almacenamiento secundario. Podemos verlos como un espacio de direcciones lógicas contiguas. Un archivo puede: Tener cierta estructura interna, p.ej, registros, campos, etc. No tener estructura. En cuyo caso, si es necesaria, se simula por el SO o la aplicación. Sistemas operativos II

Funciones de la gestión de archivos Gestión de disco - cómo organizar bloques de disco en archivos. Designación (naming) - nombres de archivos dados por el usuario. Protección - mantener segura la información. Fiabilidad/durabilidad - cuando cae el sistema, se mantiene información en disco. Control de concurrencia o bloqueo de archivosaccesos concurrentes al mismo archivo. Sistemas operativos II

Servicios de archivos Podemos agrupar las funciones anteriores: Servicio de almacenamiento permanente - la abstracción archivo actúa como un contenedor de datos. Permite al usuario crear, borrar,, archivos y controlar la compartición y el acceso. Servicio de directorio (gestión de datos) -la abstracción sistema de archivos permite organizar, manipular, y acceder a diferentes archivos. Suministra un sistema de designación lógico. Sistemas operativos II

Solicitud de servicio Pasos: Nombre Identificador de archivo 1º 2º 3º 4º Servicio de directorio Información solicitada Cerrar 5º Servicio de almacenamiento Cliente SO Manejador de disco Distribución Disco Sistemas operativos II

Pasos de la solicitud 1 Solicitud de apertura dado su nombre. El SO realiza un control de acceso (el cliente esta autorizado a usarlo), y la traducción de nombre de usuario al nombre en el SO. 2 El SO devuelve un identificador de archivo, descriptor, para manipulaciones posteriores. 3 El usuario lo manipula con las operaciones read, write, lseek, close, etc., pasando como argumento el descriptor de archivo. 4 El sistema suministra la información deseada 5. Cerramos el archivos al terminar. Sistemas operativos II

Descriptor de archivo Podemos verlo como un puntero protegido que nos da acceso a una sesión de trabajo sobre un archivo. Podemos abrir un mismo archivo de varias formas (lectura, escritura, lectura/escritura), cada sesión se aísla permitiendo el acceso a ella sólo a través del descriptor (handle en la terminología Microsoft). Sistemas operativos II

Atributos de archivo Metadatos - información que mantiene el SO para describir el archivo. Suelen contener: Nombre - nombre de usuario Tipo - caracteriza el contenido del archivo Ubicación su localización en el dispositivo Tamaño - tamaño actual (bytes, bloques,...) Protección - información de control de acceso: quién y qué puede hacer con él Tiempos de creación, modificación, último acceso por seguridad y vigilancia de uso. Sistemas operativos II 1

Atributos: ejemplos Sistemas operativos II 1

Archivos: operaciones y métodos de acceso Operaciones create write read lseek delete truncate open close... Métodos de acceso Secuencial Aleatorio o directo Indexado Archivos proyectados en memoria Sistemas operativos II 1

Los directorios Un directorio es un objeto que relaciona nombres de usuario de archivos con el nombre interno del archivo en el SO. Pueden implementarse como: Archivos especiales archivos normales. Tanto la estructura directorio como los archivos residen en disco. Sistemas operativos II 1

Organización del directorio La organización de directorios permite obtener Eficiencia - localización rápida de un archivo Designación - conveniente para usuarios Dos usuarios pueden tener el mismo nombre para dos archivos diferentes El mismo archivo puede tener varios nombres Agrupación - agrupar lógicamente archivos por propiedades, p. ej. programas C, juegos, etc. Sistemas operativos II 1

Directorio de dispositivo Un disco se suele estructurar en particiones o volúmenes, que podemos ver como dispositivos virtuales Los metadatos de todos los archivos de la partición se almacena en el directorio de dispositivo o tabla de volumen. P. ej. en Unix esta información se almacena en el superbloque; en Windows NT, se almacena en el MFT (Master File Table). Sistemas operativos II 1

Operaciones sobre directorios Los podemos ver como un tipo de dato abstracto con las operaciones: Búsqueda de un archivo Crear Creación de un archivo Borrar Borrado de un archivo Lista un directorio Renombrado de archivos Atravesar el sistema de archivos,... Directorio archivo1 archivo2 Sistemas operativos II 1

Estructuras de directorios Estructura de un sólo nivel - un directorio para todos los usuarios. P. ej. CP/M. Problemas de designación y agrupación Estructura de dos niveles - un directorio separado para cada usuario Búsqueda eficiente, sin capacidad de agrupar Estructura de árbol Búsqueda eficiente, capacidad de agrupación El concepto de directorio actual permite utilizar nombres relativos. Sistemas operativos II 1

Estructura grafo acíclico Permite la existencia de subdirectorios y/o archivos compartidos, es decir, dos o más nombres para un mismo objeto. Más flexible, pero más compleja. La compartición se suele implementar a través de enlaces. Dir2 Arch2 Dir1 Arch1 Arch3 Dir3 Arch4 Sistemas operativos II 1

Estructura de grafo general Más general pero tiene problemas: Podemos generar ciclos infinitos en el recorrido del mismo. Debemos emplear un recolector de basura para ver cuando se puede borrar un archivo. Dir2 Arch2 Dir1 Arch1 Arch3 Dir3 Arch4 Sistemas operativos II 1

Enlaces duros Un enlace duro (hard link) es un puntero (nombre) hacia un archivo. Limitados a un único sistema de archivos - el puntero es único en el mismo sistema de archivos. En Unix: Directorio 2 Directorio 1 Unnombre 25 Inodo 25 Otronombre 25 archivo Sistemas operativos II 2

Enlace duro: ejemplo Sistemas operativos II 2

Enlaces simbólicos Es un archivo especial cuyo contenido es el nombre absoluto del archivo al que apunta. Podemos atravesar Directorio 2 diferentes sistemas Otronombre 25 de archivos Problema: si borramos el puntero se queda colgado. 30 Directorio 1 Unnombre 30 25 datos archivo Directorio2/Otronombre Sistemas operativos II 2

Enlaces simbólicos: ejemplo Sistemas operativos II 2

Borrado de archivos compartidos Cuando podemos desasignar el espacio asignado a estos archivos cuando se borran? Para enlaces simbólicos, simplemente borrar el archivo punteros colgados (Cualquier acceso posterior se trata como acceso a nombre ilegal) Asociar un contador de referencias. La creación/borrado, de un enlace incrementa/decrementa, el contador. El archivo se borra cuando contador=0. P. ej. contador enlaces duros en UNIX. Sistemas operativos II 2

Estructura general de directorios La principal ventaja de un grafo acíclico es la relativa simplicidad de los algoritmos para atravesarlo y ver cuando no hay más referencias a un archivo. Por ello debemos evitar los ciclos. Para garantizar la no existencia de ciclos: Permitir sólo enlaces a archivos, no a directorios Al añadir un enlace, activar un algoritmo de detección de ciclos para determinar si todo es correcto. Sistemas operativos II 2

Protección El propietario / creador de un archivo debe ser capaz de controlar: qué puede hacerse con él quién puede hacerlo Tipos de accesos: lectura escritura ejecución añadir borrar Listar La veremos en tema Seguridad y protección Sistemas operativos II 2

Semánticas de consistencia Si un usuario modifica un archivo, cuando es visible esta modificación por otro usuario? Semántica UNIX: atomicidad a nivel de operaciones write/read. Semántica de sesión: atomicidad a nivel de sesión (accesos realizados entre las operaciones open y close). P. ej. AFS. Semántica de archivos compartidos inmutables: un archivo compartido, no puede ser modificado. Utilizada en sistemas distribuidos. Sistemas operativos II 2

Sistema de archivos Sistemas de archivos - componentes del SO que definen cómo se estructuran los archivos, cómo se identifican, y cómo se manejan. Se implementan por niveles (transparencia siguiente): Sistema de archivos lógico Sistema de archivos físico Sistema de Entradas/salida A veces, hablamos de SA sin especificar el nivel a que nos referimos. Sistemas operativos II 2

Estructura de capas del sistema de archivos Programas de aplicación Sistema archivos lógico Sistema archivos físico Organización archivos Sistema archivos básico Control de E/S Dispositivos Suministra la estructura de directorio. Se encarga de la protección y seguridad. Conoce existencia de archivos y traduce bloques lógicos a físicos. Genera ordenes de l/e de bloques físicos para el manejador de dispositivo. Manejadores de dispositivos e interrupciones. Sistemas operativos II 2

Temas de implementación Cómo se dividen los discos en sistemas de archivos Cómo asigna el sistema de archivos bloques de disco a los archivos. Cómo gestiona el sistema de archivos el espacio libre. Cómo se manejan los directorios Como puede el sistema de archivos mejorar: El rendimiento Fiabilidad Sistemas operativos II 3

Estructuras de datos del SO Bloque de Control de Archivo - estructura de almacenamiento que contiene información sobre el archivo. Es una estructura general del sistema. Tabla de archivos abiertos - Mantiene información en memoria de las sesiones sobre los archivos abiertos. Tabla de sistema. Tabla de descriptores de archivos - Esta indexada por descriptor de archivo. Evita tener que acceder al directorio en cada operación de E/S. Es una estructura por proceso. Sistemas operativos II 3

Estructuras de datos en memoria Descriptores de archivos Tabla de archivos abiertos Bloque Control archivo Disco Directorio de dispositivo PCB 1 Modo apertura Puntero l/e Descriptores de archivos Directorios Datos de archivos Copia en memoria de los metadatos del archivo Sistemas operativos II 3

Organización y control de flujo Descriptor archivo Tabla archivo abierto Puntero l/e BCA open( archivo, ) = fd Asigna y enlaza las estructuras de datos Puntero al descriptor de archivo Búsqueda del nombre de archivo Puntero al búfer de E/S Correspondencia de bloques lógicos a físicos Nivel de usuario Sistema de designación de archivos Sistema de archivos físicos Ver siguiente esquema Sistemas operativos II 3

Una operación de lectura Caché de disco TAA BCA bufer Descriptor archivo Puntero l/e read(fd,bufer,long) = nbl Encuentra fd y Archivo abierto Lee bloques lógicos y pasarlos a bufer Correspondencia de bloques lógicos a físicos Obtener bloques físicos (obtener caché) Manejador de disco Nivel de usuario Sist.archivos lógico read(fd, bufer, nºlog. bytes) Direc. bufer disc read(fd, NBloqLog) Direc. búfer disco read(dev, NBloqFis) Sist. archivos físico E/Sdisco(dev, NBloqFis) Sist. de E/S Sistemas operativos II 3

Métodos de asignación Cómo asignar espacio a los archivos para que el disco se utilice eficientemente (en espacio y tiempo)? Contiguo - cada archivo ocupa un conjunto de bloques contiguos. Enlazado - cada archivo es una lista enlazada de bloques de disco; los bloques pueden estar dispersos por el disco. Indexado - mantiene todos los punteros a bloques juntos en un bloque de índices. Sistemas operativos II 3

Asignación contigua Ventajas: Sencillo; sólo necesitamos ubicación de comienzo (número bloque) y la longitud. Acceso directo y rápido. Desventajas: Asignación dinámica fragmentación de disco. Los archivos no pueden aumentar salvo que se realice compactación (es ineficiente). Sistemas operativos II 3

Asignación contigua (y ii) La correspondencia de una posición lógica a una física: (DL=Direc. Lógica) DL / Tam. bloque=cociente (C) y Resto (R) Bloque a acceder = C + Dirección_inicio Desplazamiento en bloque = R 512 0 DL EOF DI C R Sistemas operativos II 3

Asignación enlazada Asignar bloques conforme se necesitan y enlazarlos en una lista. P. ej. Sea el archivo con inicio en el bloque 1: Directorio Nombre Inicio Fin prueba 1 7 Disco 0 3 6 1 2 2 5 4 5 7 7-1 8 Sistemas operativos II 3

Asignación enlazada (ii) Ventajas: Simple (sólo necesitamos dirección de inicio) Crecimiento dinámico no fragmentación Inconvenientes: Acceso aleatorio ineficiente. Punteros consumen espacio; mejora : agrupación de bloques (cluster) Problema de seguridad por perdida de punteros. Solución: lista doble enlazada sobrecarga. Sistemas operativos II 3

Asignación enlazada (y iii) Correspondencia: DL = C y R Bloque acceder en C-ésimo bloque de la lista Desplazamiento en el bloque = R +1 0 DL EOF DI R C-ésimo elemento Espacio enlace Sistemas operativos II 4

File Allocation Table Variante del método enlazado (MS-DOS, OS/2) Cada partición reserva un espacio para la FAT que contiene una entrada por bloque de disco y esta indexada por nº de bloque. Hay una copia de la FAT en caché para reducir el tiempo de búsqueda. Entrada de directorio Nombre Inicio Mi_archivo... 2 FAT 0 0 2 6 4 EOF 6 4 2 4 6 Sistemas operativos II 4

Asignación indexada Necesita una tabla de índices a bloques por archivo. Directorio Archivo Bloque_índice prueba 3 0 1 2 Disco 3 1 5-1 4 5 Sistemas operativos II 4

Características de la asignación indexada Ventajas: Acceso aleatorio Acceso dinámico sin fragmentación, pero tiene la sobrecarga del bloque de índices. Desventajas: Posible desperdicio de espacio en el bloque de índices Tamaño del bloque de índices. Soluciones: P. ej., UNIX utiliza bloques de índices enlazados multinivel. Sistemas operativos II 4

Gestión del espacio libre El SO mantiene una lista de bloques libres. Posibles implementaciones: Mapa de bits - Cada bloque esta representado por un bit. Lista enlazada -Enlaza todos los bloques libres, y mantiene un puntero al primer bloque. Agrupación -bloques libre con punteros a bloques libres. Cuenta - dirección del 1º bloque libre y el número de bloques libres que le siguen. Sistemas operativos II 4

Mapas de Bits Mapa de bits: Fácil de obtener bloques libres contiguos. Algunas máquinas tiene instrucciones que lo favorecen. Debe mantenerse en disco y en memoria Copia en memoria y disco pueden diferir Mapa de bits: 0 Libre, 1 Ocupado 1011001 0 1 2 3 4 5 6 Libre Ocupado Sistemas operativos II 4

Espacio libre (iv) Cabeza de lista de bloques libres 0 1 2 3 4 5 6 Lista libre enlazada: No se obtiene espacio contiguo de forma fácil. Ocupa menos espacio. Ojo: La FAT incorpora la gestión del espacio libre junto con el esquema de asignación de espacio. Sistemas operativos II 4

Implementación de directorios Lista lineal de nombres de archivos con punteros a los bloques de datos Simple de programar El acceso al archivo consume tiempo si no se utiliza una caché. Tabla hash - lista lineal con estructura hash Decrementa el tiempo de búsqueda en directorio Previsión de colisiones Tamaño fijo Sistemas operativos II 4

Ejemplos CP/M: Extendido 1 8 3 1 2 16 bytes Nombre archivo Nºs de bloques de disco Código de usuario Tipo archivo Cuenta de bloques MS-DOS: 8 3 1 10 2 2 2 4 bytes Nombre archivo Reservado Tamaño Tipo archivo Atributo Tiempo Fecha 1º Bloque Sistemas operativos II 4

Eficiencia y rendimiento La eficiencia depende de algoritmos de asignación de disco y directorios tipos de datos mantenidos en las entradas del directorio El rendimiento se mejora con Cache de disco - zona de memoria con bloques recientemente utilizados. Un tamaño típico es el 10% de memoria principal. Discos virtuales o RAM. Sistemas operativos II 4

Caché de disco La caché puede ser de: Escritura directa, p.ej. búferes de pistas. Escritura retardada - 1/3 de operaciones son escrituras, y muchas son temporales. Técnica eficiente pero con problemas de consistencia. Técnicas para optimizar los accesos secuenciales: Freebehind y Read-ahead SO CPU Disco RAM Caché de bloques Búfer de pistas Memoria Controlador Sistemas operativos II 5

Integración de MV y almacenamiento Transferir páginas desde disco al espacio de direcciones del proceso, sin usar la caché de búferes del sistema de archivos. Es decir, unificar los conceptos de archivo y segmento. Ventajas: Es más eficiente: necesita menos llamadas al sistema (utilizamos las operaciones para acceso a memoria, y no read/write). Ahorra memoria, ahora sólo existe una única copia de archivos compartidos, antes teníamos tres. Sistemas operativos II 5

Archivos proyectados en memoria Disco Tablas de páginas P A P B Tablas de páginas P A P B Caché de búferes Memoria paginada Disco Memoria paginada Lectura tradicional Tres copias en memoria Lectura con archivos proyectados 1 copia en memoria Sistemas operativos II 5

Proyección frente a acceso normal La proyección de archivos es más eficiente que read/wirte pero no las sustituye totalmente por que: write/read son atómicas. La l/e del nº de bytes indicados es indivisible. Con la proyección solo es indivisible la l/e de una palabra de memoria. La visibilidad de los cambios: los contenidos de una página son los actuales no los que había cuando se hizo la proyección. Con read y write para ver un cambio posterior a una lectura debemos realizar otra. Sistemas operativos II 5

Recuperación de fallos Comprobación de consistencia - comparar datos en estructura de directorio con bloques de datos en disco, y tratar de resolver las inconsistencias. Utilizar programas de back-up de disco a otro dispositivo de almacenamiento. Recuperar archivos o discos perdidos restaurando los datos del dispositivo de back-up. Sistemas operativos II 5

Estructura del almacenamiento Desde el punto de vista del SO, el disco se puede ver como una matriz de bloques (B 0..B n-1 ). La información se referencia por una dirección física formada por varios elementos: unidad, superficie, pista y sector. Existe un esquema de asociación de bloques lógicos (B i ) a direcciones físicas. El área de asignación más pequeña es el bloque (1 ó más sectores). Fragmentación interna de bloques. P. ej. Netware usa subasignación de bloques. Sistemas operativos II 5

Petición de disco Una solicitud de E/S a disco consta de la siguiente información: Si la operación es de entrada o salida. Dirección de disco a acceder. Dirección de memoria donde copiar la información Cantidad de información a transferir (contador de bytes). En sistemas multiprogramados las peticiones suelen encolarse. Sistemas operativos II 5

Planificación de disco El SO puede mejorar el tiempo medio de servicio de disco. Una petición de disco se atiende en tres fases: 1) Posicionar del cabezal en la pista o cilindro. 2) Latencia o espera para que el bloque deseado pase debajo del cabezal. 3) Transferencia de los datos. La planificación de disco intenta minimizar el tiempo de posicionamiento (distancia de posicionamiento). Sistemas operativos II 5

Planificación FCFS La primera en llegar, primera en ser servida. Fácil de programar e intrínsecamente imparcial. No suministra el mejor tiempo de servicio medio. Cola peticiones: 98,183,37,122,14,124,65,67 Cabeza inicialmente en: 53 0 14 37 53 65 67 98 122 124 183 199 Sistemas operativos II 5

Planificación SSTF Shortest seek time first - sirve las peticiones próximas a la posición actual del cabezal. Puede provocar la inanición de peticiones. No es óptimo. Ej. Cola peticiones: 98,183,37,122,14,124,65,67 Cabeza inicialmente en: 53 0 14 37 53 65 67 98 122 124 183 199 Sistemas operativos II 5

Planificación SCAN Algoritmo del ascensor: La cabeza recorre el disco de un extremo a otro atendiendo solicitudes. Para aplicarlo debemos saber hacia donde se mueve la cabeza. Cola peticiones: 98,183,37,122,14,124,65,67 Cabeza inicialmente en: 53 0 14 37 53 65 67 98 122 124 183 199 Sistemas operativos II 6

Planificación C-SCAN Diseñada para dar un t espera uniforme. El disco se trata como una estructura circular Al llegar a un extremo vuelve al inicio sin atender peticiones. Cola peticiones: 98,183,37,122,14,124,65,67 Cabeza inicialmente en: 53 0 14 37 53 65 67 98 122 124 183 199 Sistemas operativos II 6

Planificaciones LOOK y C- LOOK Diseño más realista de las planificaciones SCAN y C-SCAN: si no hay peticiones en la dirección de movimiento, se invierte el movimiento del cabezal. C-LOOK no retorna al inicio, sino a la petición más próxima al inicio. Sistemas operativos II 6

Factores de elección La elección de un algoritmo dependerá de: número y tipo de peticiones. método de asignación de archivos. Ubicación de directorios y bloques de índices. metodología del controlador de disco. Sistemas operativos II 6

Gestión de disco Formateo de disco Físico - pone los sectores (cabecera y código de corrección) por pista. Lógico - escribe un directorio inicial en blanco, FAT,inodos,lista de espacio libre, Bloque de arranque para inicializar el sistema de localizado por bootstrap. Métodos para detectar y manejar bloques dañados. P. ej. Netware utiliza la re-escritura de bloques para asegurar que no se pierde información. Sistemas operativos II 6

Gestión del espacio de intercambio El uso del área de intercambio depende de los algoritmos de gestión de memoria: Intercambio - procesos completos. Paginación - páginas de procesos. Asignación de espacio: En el sistema de archivos (p. ej. Windows) Fácil de implementar pero ineficiente. Partición de disco independiente No utiliza estructura de directorios ni sistema de archivos. Necesita más espacio en disco. Sistemas operativos II 6

Asignación de espacio de swap Depende del sistema, P. ej. BSD asigna espacio al crear un proceso. Solaris lo asigna al sacar la página de memoria. El kernel puede utilizar uno de los dos tipos de mapas de intercambio: Mapa de texto (tamaño fijo) -cada entrada del mapa apunta a un bloque de disco que contiene el código. Mapa de datos (puede variar en tamaño) - el bloque apuntado por la entrada i-ésima tiene tamaño i*16kb. Sistemas operativos II 6

Tolerancia a fallos en disco Técnicas de despiece (striping) de disco: Grupos de disco funcionando como una unidad, cada bloque formado por subbloques, y cada uno de ellos en discos diferentes. Los discos realizan el posicionamiento y la transferencia en paralelo decrementa el tiempo de transferencia de los bloques. Sistemas operativos II 6

RAID Objetivos del Redundant Array of Inexpensive Disks o actualmente Redundant Array of Independent Disks: Almacenamiento a bajo coste Redundancia Velocidad Una formación de discos RAID utiliza una clase especial de controlador SCSI, que suele tener una caché en la propia tarjeta. Sistemas operativos II 6

Niveles de RAID RAID 0 - Múltiples discos definidos como un volumen con despiece de bloques.. Buen rendimiento (en lecturas) no seguridad adicional. RAID 1 - Discos duplicados o mirroring. No mayor rendimiento, si seguridad. RAID 3 - Despiece de datos con intercalado de bytes, y byte de paridad en un disco. RAID 5 - Despiece de datos con intercalado de sectores, y sector de paridad distribuido entre todos los discos. Se están utilizando sistemas RAID 0/1 y 3/5. Sistemas operativos II 6

En el tema siguiente Estudiaremos: Implementación del kernel 2.4 de Linux Interfaz de llamadas al sistema de UNIX (para abordar el segundo bloque de prácticas). Una introducción a Linux la podemos ver es: Stallings: 2.7, 3.4, 4.6,6.7, 8.4,10.3,11.8, 12.7 Si bien lo que veremos en clase es más detallado que estas descripciones Sistemas operativos II 7