UD 3 Gestión de Archivos - PDF
Document Details
Uploaded by Deleted User
IES Sotero Hernández
Tags
Summary
Este documento presenta un resumen de la gestión de archivos, incluyendo temas como estructura lógica, estructura física, y atributos.
Full Transcript
UD 3 Gestión de archivos Índice Introducción. Sistema de archivos. Archivos. Definición Estructura lógica. Objetivos. Estructura física. Tipos. Identificación. Sistemas de archivos transaccionales. A...
UD 3 Gestión de archivos Índice Introducción. Sistema de archivos. Archivos. Definición Estructura lógica. Objetivos. Estructura física. Tipos. Identificación. Sistemas de archivos transaccionales. Atributos. Operaciones soportadas. Características comunes. Métodos de acceso. Directorios. Gestión de archivos. Rutas. Asignación de espacio en disco. Estructura típica. Gestión del espacio libre. Gestión dispositivos de almacenamiento. Algoritmos de planificación de discos. Gestión de sistema particionamiento. Discos SSD. Herramientas de mantenimiento. Introducción Introducción Como ya sabemos, la memoria principal (RAM) es una memoria de tipo volátil. Para poder almacenar la información de modo permanente en un ordenador, es necesario un dispositivo de almacenamiento no volátil. Estos dispositivos forman la memoria externa del ordenador, compuesta de: Memoria secundaria: fundamentalmente formada por discos de almacenamiento internos. Memoria auxiliar: compuesta por medios extraíbles donde se suelen almacenar información que no es utilizada habitualmente. Registros Memoria Caché Interna Memoria Principal Memoria Memoria Secundaria Externa Memoria Auxiliar Introducción A los dispositivos que forman la memoria externa se les denomina dispositivos de almacenamiento masivo. El sistema operativo se encargará de gestionar el almacenamiento de información en los dispositivos de almacenamiento masivo. Esto conlleva las siguientes funciones: Gestión de archivos: Control el espacio asignado. Control el espacio libre. Gestión de dispositivos de almacenamiento: Gestión del sistema de archivo. Planificación de acceso (algoritmos de planificación de acceso). Gestión del sistema de particionamiento. Para almacenar la información en los dispositivos de almacenamiento masivo, el sistema operativo utiliza lo que denominamos archivos. Introducción Sistema de archivo Manual Sistema de archivo Informático Introducción Sistema de archivos Archivos Archivos El archivo o fichero es la unidad que utiliza el sistema operativo para almacenar la información en dispositivos de almacenamiento masivo. Es decir, toda la información existente un disco se almacena en archivos. Archivos De un modo más técnico, podemos definir un archivo como un: Conjunto de información relacionada de forma lógica. Conjunto de información organizada físicamente de forma estructurada. Un conjunto de información al que se le da un nombre para poder identificarlo de forma unívoca, que incluye implícitamente su ruta o path. ¿Qué quiere decir esto? Archivos Estructura lógica Un archivo es un conjunto de información relacionada de forma lógica. Los archivos están compuestos por un conjunto de registros lógicos que se definen de acuerdo con la aplicación que se utiliza para su tratamiento. A su vez, cada registro contiene campos en los que se almacena la información elemental de cada registro. Por ejemplo: Un documento de texto que contenga la redacción de una carta podría estar formado por un registro con un campo en el que almacenamos la información del documento. Un documento que contenga información de los libros de una biblioteca estará formado por un registro correspondiente a cada libro y cada registro tendrá distintos campos para guardar el nombre del libro, el número de páginas, el nombre del autor, … Archivos Estructura lógica En el primer caso, utilizaremos un procesador de textos para gestionar la información almacenada en el archivo de tipo texto. En el segundo caso emplearemos un software de gestión de base de datos para poder procesar la información de acuerdo a la estructura lógica de la misma. Nombre Número páginas Autor ISBN Estantería Don Quijote de la Mancha 920 Miguel de Cervantes Saavedra 9788467016901 B4 Rinconete y Cortadillo 160 Miguel de Cervantes Saavedra 9788483432754 C2 La Celestina 256 Fernando de Rojas 9788431615116 A3 Archivos Estructura física Un archivo es un conjunto de información organizada físicamente de forma estructurada. Para almacenar el archivo en el disco no importa la estructura lógica del mismo. Desde el punto de vista físico, un archivo es una sucesión de 0 y 1. El sistema operativo divide físicamente el archivo en bloques, que estarán formados por 0 y 1, y cada bloque será enviado al disco en una operación de E/S para que sea almacenado. Como veremos más adelante, la estructura física de los archivos está directamente relacionada con las características del dispositivo de almacenamiento (hardware). Archivos Estructura física Archivo HDD 1011000101100011011001001001000110010110001101110010010100111111 0110001101100100100100011001011000110111001001010011111110010001 0110010010010001100101100011011100100101001111111001000110101110 1001000110010110001101110010010100111111100100011010111011011111 1001011000110111001001010011111110010001101011101101111100100100 0011011100100101001111111001000110101110110111110010010000101110 E/S 0010010100111111100100011010111011011111001001000010111011001001 0011111110010001101011101101111100100100001011101100100110010010 1001000110101110110111110010010000101110110010011001001000100000 1010111011011111001001000010111011001001100100100010000001011101 1101111100100100001011101100100110010010001000000101110110010010 0010010000101110110010011001001000100000010111011001001011011101 0010111011001001100100100010000001011101100100101101110111001110 1100100110010010001000000101110110010010110111011100111010111100 1001001000100000010111011001001011011101110011101011110001001101 0010000001011101100100101101110111001110101111000100110100011110 E/S 0101110110010010110111011100111010111100010011010001111000101011 1001001011011101110011101011110001001101000111100010101101010111 1101110111001110101111000100110100011110001010110101011110110010 1100111010111100010011010001111000101011010101111011001000001010 1011110001001101000111100010101101010111101100100000101010111100 0100110100011110001010110101011110110010000010101011110010010110 0001111000101011010101111011001000001010101111001001011010111111 0010101101010111101100100000101010111100100101101011111100110101 E/S 0101011110110010000010101011110010010110101111110011010100100001 Archivos Identificación Un archivo es un conjunto de información al que se le da un nombre para poder identificarlo de forma unívoca, que incluye implícitamente su ruta o path. El sistema operativo ofrece mecanismos que permiten al usuario manejar los archivos simplemente a través de su nombre. Por ejemplo: Interfaz de texto Interfaz gráfica Archivos Identificación Esto permite ABSTRAER a los usuarios y programas de usuarios de las características y funcionamiento del hardware de almacenamiento. Es decir: Manejar la información contenida en un archivo a través del nombre de dicho archivo. Sin importar la forma ni el lugar del disco en el cuál se encuentra almacenada. Archivos Atributos Todos los archivos tienen la siguiente estructura: Atributos o metadatos: Nombre, proporcionado generalmente por el usuario siguiendo unas normas preestablecidas (qué caracteres se pueden usar y cuáles no, con cuáles caracteres puede empezar el nombre,…). Tamaño. Fecha-hora de creación, modificación o último acceso. Tipo, que identifica a la aplicación o aplicaciones que pueden manejar el archivo. Permisos. Propietario. Información de su ubicación (ruta). … Datos: información que almacena el archivo. Archivos Atributos El procedimiento para visualizar los atributos de un archivo haciendo uso de la GUI del sistema operativo en Windows es: Localizar el archivo. Hacer clic con botón derecho para visualizar el menú contextual. Seleccionar propiedades en el menú contextual. 18 Archivos Características comunes Algunas características de los archivos son: nombre extensión Se identifican con nombre y una extensión (opcional) (Ej.: Actividad.pdf). Existen distintos tipos de archivos y cada tipo es manejado por un software determinado. La extensión suele hacer referencia al software o tipo de software que permite manejar el archivo (Ej: Tarea.txt → Editor/Procesador de texto). Lugar almacenamiento se indica mediante una ruta de acceso o pathname (Ej: C:\Usuarios\SMR\Tarea.txt). 19 Archivos Características comunes Algunas características de los archivos son: Posee gran capacidad de almacenamiento, el tamaño máximo dependerá del sistemas de archivos. La información que contiene es permanente e independiente de los programas que los maneja. Pueden ser accedidos por distintos programas en distintos momentos. Están constituidos por registros lógicos (es lo que se maneja a nivel de software) y registros físicos (a nivel de hardware). Generalmente todos los lenguajes de programación de alto nivel disponen de instrucciones para el manejo de ficheros. 20 Directorios Directorios Los directorios o carpetas permiten a los usuarios organizar los archivos. Los directorios o carpetas forman una estructura jerárquica con forma de árbol con un único directorio raíz (root) que contiene un número variable de directorios, que a su vez, contiene subdirectorios y archivos. En realidad, un directorio es un tipo de archivo, constituido por una “tabla” con una fila por cada archivo o subdirectorio que contenga, que contiene metadatos de los mismos (nombre, tamaño, permisos, …). Directorios Rutas Como ya hemos indicado, el nombre de un archivo lleva implícito su ruta o path, que se corresponde con la ubicación del archivo dentro de esta estructura de árbol. Para especificar el nombre de los archivos dentro de esta estructura de árbol, se emplean dos métodos: Rutas absolutas: se hace referencia al archivo indicando la ruta completa desde el directorio raíz hasta el directorio que contiene el archivo. Ejemplo: C:\Usuarios\SMR\Ejercicios\Unidad1 (Windows) /home/SMR/Ejercicios/Unidad1 (Linux) Rutas relativas: en lugar de partir del directorio raíz, se hace referencia al archivo indicado la ruta desde el directorio actual. Ejemplo, suponiendo que actualmente estamos dentro del directorio /home/SMR Ejercicio\Unidad1 (Windows) Ejercicios/Unidad1 (Linux) Directorios Estructura típica Los sistemas de archivos suelen crear una estructura típica de directorios. Por ejemplo, los sistemas de archivo de Windows suelen crear la siguiente estructura: Archivos de programa: contienen programas que instalan y utilizan los usuarios. Usuarios: contiene los directorios personales de cada usuario. Windows: contiene los archivos y directorios del SO. Directorios Estructura típica Los sistemas de archivo de Linux suelen crear la siguiente estructura: Directorios Estructura típica Los sistemas de archivo de Linux suelen crear la siguiente estructura: /bin: software esencial para el funcionamiento SO. /boot: archivos necesarios para el arranque del equipo /dev: archivos virtuales de dispositivos hardware. /Etc: archivos de configuración global del sistema. /home: directorios personales de los usuarios. /lib: archivos de soporte del sistema. /media: directorio donde se montan dispositivos (reproductores CD/DVD, cámaras digitales,…) /root: directorio personal del superusuario (root). /tmp: directorios o archivos temporales. /usr: contiene la mayoría de programas usados por el sistema. Accesible para casi todos los usuarios. /var: contiene ciertos archivos como registros o BBDD constantemente actualizados por el sistema. Actividad A01_Tipos de ficheros y estructura de directorios 1. Tipos de ficheros: Dada la siguiente lista de extensiones de ficheros, indica el tipo contenido de cada una de ellas: dll png mov ico gz wav dxf jar 2. Estructura de directorios: Ve a la carpeta Windows de tu unidad C. Observa la estructura de directorios. Haz una captura de la misma. Indica al menos 5 directorios e indica la función o el contenido del mismo, por ejemplo, la carpeta System32: Contiene todos los archivos del sistema compartidos entre los que se encuentran los controladores Actividad AA01_Tipos de ficheros y estructura de directorios Con la siguiente imagen: 1. Indica la ruta relativa de los ficheros: a) Del fichero notas.db si estamos en el directorio mysql b) Del fichero busca.sh si estamos en el directorio home c) Del fichero autorun.inf si estamos en el directorio raíz 2. Indica de esos mismos fichero la ruta absoluta. Sistema de archivos Sistema de archivos Definición El sistema de archivos en disco es el elemento utilizado por el sistema operativo para estructurar y organizar la información contenida en archivos y directorios y permitir que estos puedan ser almacenados y posteriormente leídos en el computador. Sin un sistema de archivos, la información almacenada en disco sería una secuencia de 1 y 0 siendo imposible conocer donde empieza y donde termina cada archivo. En la práctica, un sistema de archivos también puede ser utilizado para acceder a datos generados dinámicamente, como los recibidos a través de una conexión de red de computadoras, sin la intervención de un dispositivo de almacenamiento. Sistema de archivos Objetivos Los objetivos más importantes que se persiguen con la implantación de un sistema de archivos son: Optimizar el rendimiento del sistema: el sistema de archivos debe ofrecer un acceso rápido para recuperar la información contenida en los archivos. Facilitar la actualización de la información: los posibles cambios de la información contenida en los archivos (añadir, borrar o modificar) debe suponer una tarea fácil para el usuario y las aplicaciones. Economizar el almacenamiento: intentar que los archivos desperdicien la menor cantidad de espacio en disco posible. Es importante evitar la fragmentación de los discos. Simplificar el mantenimiento: debe evitar al usuario y programas las operaciones complicadas, ocultando los detalles de dichas operaciones y proporcionando un acceso estandarizado a los archivos. Sistema de archivos Objetivos Los objetivos más importantes que se persiguen con la implantación de un sistema de archivos son: Asegurar la confianza en los datos (fiabilidad): deben proporcionar sistemas que aseguren que los datos escritos o leídos (entradas/salidas) sean correctos y fiables. Eliminar o minimizar la posibilidad de pérdida o destrucción de datos. Incorporar mecanismos de seguridad y permisos. Controlar la concurrencia: debe controlar y asegurar el correcto acceso de varios usuarios a los archivos al mismo tiempo. Sistema de archivos Tipos Existen distintos sistemas de archivos en disco, por ejemplo: Windows: FAT, FAT32, exFAT, NTFS MacOS: HFS, HFS+, APFS Linux: ext3, ext4 Sistema de archivos Tipos Para ver qué tipo de sistema de archivos se ha configurado en un disco en Windows: Abrir el administrador de archivos. Hacer clic derecho sobre medio de almacenamiento (menú contextual). Seleccionar Propiedades. Seleccionar Pestaña General. 34 Sistema de archivos Tipos Para ver qué tipo de sistema de archivos se ha configurado en un disco en Linux: Abrir la aplicación Discos. Hacer clic derecho sobre medio de almacenamiento. Visualizar etiqueta Contenido. 35 Sistema de archivos Sistemas de archivos transaccionales Los sistemas de archivos transaccionales usan el concepto de transacción. Una transacción es un grupo indivisible de operaciones. A la hora de ejecutarse una transacción pueden ocurrir dos cosas: Se ejecutan todas las operaciones de la transacción → la transacción se ha ejecutado con éxito. No se ejecutan todas las operaciones de la transacción → la transacción no ha tenido éxito y hay que deshacer las operaciones que se hayan realizado. Los sistemas de archivos transaccionales: Almacenan el resultado de las transacciones. Aseguran la integridad del sistema comprobando que toda operación asociadas a una transacción se ejecuta completamente. Si se pierda el acceso al sistema de archivos y una operación no es finalizada, se guarda dicha información y en el siguiente arranque se comprueban las operaciones no completadas y se deshacen. Sistema de archivos Sistemas de archivos transaccionales Ventajas: Fiabilidad para la recuperación de archivos frente a fallos. Ofrece más funcionalidades. Compatible con otros sistemas de archivos. Permite usar volúmenes y archivos de gran tamaño (hasta 264 bytes = 16 exabytes). Ejemplos de sistemas de archivos transaccionales: NTFS o ext4. Sistema de archivos Operaciones soportadas Independientemente del sistema de asignación de espacio utilizado, de los métodos de acceso o de las formas de resolver las peticiones de lectura y escritura, el sistema de archivos debe proporcionar mecanismos para operar con los archivos. Sistema de archivos Operaciones soportadas Las operaciones básicas que la mayoría de los sistemas de archivos soportan sobre archivos y directorios son: Crear: los archivos se crean sin datos y posteriormente el usuario o alguna aplicación los van llenando. Abrir: antes de utilizar el archivo se debe abrir para que el sistema conozca sus atributos, tales como el propietario, fecha de modificación, … Leer: los datos se leen del archivo. El programa que hace la llamada debe especificar cantidad datos necesarios y proporcionar buffer para colocarlos Escribir: los datos se escriben en el archivo. El tamaño del archivo puede aumentar si se agregan datos nuevos o no si lo que se hace es actualizar. Cerrar: tras realizar las operaciones deseadas sobre el archivo, éste puede cerrarse para asegurar su integridad y liberar recursos de memoria que pudiera tener asignados. No se elimina en disco. Renombrar: se puede modificar el atributo nombre de un archivo existente Borrar: si un archivo ya no es necesario debe poder eliminarse para liberar espacio en disco. Sistema de archivos Operaciones soportadas Los sistemas de archivos suelen soportar otras operaciones como son: copiar, mover, proteger, recorrer, clasificar, indexar, fusionar, partir, … 40 Sistema de archivos Métodos de acceso Los métodos de acceso se refieren a las capacidades que el sistema de archivos proporciona para acceder a datos dentro de los directorios y medios de almacenamiento en general. Los métodos de acceso están relacionados con la organización lógica de la información que contiene el archivo. Podemos destacar tres métodos de acceso: Acceso secuencial: Consiste en recorrer los componentes de un archivo uno a uno hasta llegar al registro deseado. Se necesita que el orden lógico de los registros sea igual al orden físico en el medio de almacenamiento. Es comúnmente utilizado en cintas magnéticas. Es el método de acceso más lento. Sistema de archivos Métodos de acceso Acceso directo: Permite acceder a cualquier registro o bloque de forma directa, por medio de llamadas al sistema. Se usa comúnmente en discos duros (HDD). Es un tipo de acceso más rápido que el anterior. Acceso directo indexado: Consiste en que cada archivo tiene una tabla de apuntadores, donde cada apuntador va a la dirección de un bloque de índices, lo cuál permite expandir el archivo a través de un gran espacio. Las tablas de índices consumen una cantidad importante de recursos de memoria pero permite un acceso muy rápido. Es el tipo de acceso más apropiado para grandes volúmenes de información. Gestión de archivos Gestión de archivos De acuerdo a los objetivos que debe perseguir el sistema de archivos, éste va a definir cómo se diseñan físicamente los archivos y cómo se les asigna espacio en el disco para que: Capacidad de almacenamiento del disco sea utilizada de la forma más eficiente posible. Acceso a los archivos sea lo más rápido posible. Para dar respuesta a esto, dos de las funciones principales de la gestión de archivos son del sistema de archivo son: Asignar el espacio en disco. Gestionar el espacio libre en disco. Gestión de archivos Asignación de espacio en disco Para entender cómo el sistema de archivo asigna espacio en disco para el almacenamiento de los archivos, primero debemos conocer como se almacena un archivo en un dispositivo de almacenamiento masivo. Lo primero que debemos saber es que: La forma en que se almacena un archivo en un dispositivo de almacenamiento depende del tipo de dispositivo. No será igual en un HDD que en un SDD. Sin embargo, tal como vimos al estudiar la gestión de entrada/salida, el controlador de los dispositivo hace que el funcionamiento interno del disco sea transparente para el sistema operativo. CPU Gestión de archivos Asignación de espacio en disco Por tanto, el sistema de archivo implementado por el sistema operativo es el mismo para un HDD y un SDD, aunque internamente almacenen la información de modo distinto. Es decir, no existe sistema FAT para HDD y FAT para SDD. No existe ningún campo de configuración donde seleccionemos el tipo de dispositivo, HDD o SDD. Gestión de archivos Asignación de espacio en disco Para conocer cómo se almacena un archivo en un dispositivo de almacenamiento masivo, vamos a ver el caso de que el dispositivo sea un disco duro (HDD). En el caso de un disco duro, tenemos que saber que: Los discos duros están compuestos por sectores. A nivel de hardware (controlador de dispositivo), el sector es la unidad mínima gestionable. Esto quiere decir que el sector es un espacio del disco con una determinada capacidad de almacenamiento y no puede ser compartido por dos archivos distintos (Ej.: sector = 512 bytes). A nivel de software, al configurar un sistema de archivo, se define un bloque o clúster como un conjunto consecutivo de sectores (Ej.: clúster = 4 sectores = 2 KB). Un clúster no puede estar compartido por dos archivos distintos. Es la unidad mínima de almacenamiento que maneja el sistema operativo. Gestión de archivos Asignación de espacio en disco Pista Sector (Definido a nivel de HW) Clúster (Definido a nivel de SW) Gestión de archivos Asignación de espacio en disco Para almacenar el archivo en el disco no importa la estructura lógica del mismo. Desde el punto de vista físico, un archivo es una sucesión de 0 y 1. De acuerdo al sistema de archivo implantado, el sistema operativo divide el archivo en bloques, que estarán formados por 0 y 1, y cada bloque será enviado al disco en una operación de E/S. Como es lógico, el sistema de archivo ha definido del mismo tamaño los bloques en los que sea han dividido los archivos y el tamaño de los clústeres. El controlador del disco almacena cada bloque recibido en un clúster libre, que no tienen porque ser contiguos. Por ejemplo: Archivo con tamaño de 5 KB que queremos almacenar en un HDD. El HDD contiene sectores de 512 bytes. El sistema operativo utiliza un sistema de archivo sobre ese HDD en el que ha definido un tamaño de clúster de 2 KB, es decir, cada clúster está formado por 4 sectores. Gestión de archivos Asignación de espacio en disco Archivo (5KB) HDD 1011000101100011011001001001000110010110001101110010010100111111 0110001101100100100100011001011000110111001001010011111110010001 0110010010010001100101100011011100100101001111111001000110101110 1001000110010110001101110010010100111111100100011010111011011111 1001011000110111001001010011111110010001101011101101111100100100 0011011100100101001111111001000110101110110111110010010000101110 E/S 0010010100111111100100011010111011011111001001000010111011001001 0011111110010001101011101101111100100100001011101100100110010010 1001000110101110110111110010010000101110110010011001001000100000 1010111011011111001001000010111011001001100100100010000001011101 1101111100100100001011101100100110010010001000000101110110010010 0010010000101110110010011001001000100000010111011001001011011101 0010111011001001100100100010000001011101100100101101110111001110 1100100110010010001000000101110110010010110111011100111010111100 1001001000100000010111011001001011011101110011101011110001001101 0010000001011101100100101101110111001110101111000100110100011110 E/S 0101110110010010110111011100111010111100010011010001111000101011 1001001011011101110011101011110001001101000111100010101101010111 1101110111001110101111000100110100011110001010110101011110110010 1100111010111100010011010001111000101011010101111011001000001010 1011110001001101000111100010101101010111101100100000101010111100 0100110100011110001010110101011110110010000010101011110010010110 0001111000101011010101111011001000001010101111001001011010111111 0010101101010111101100100000101010111100100101101011111100110101 E/S 0101011110110010000010101011110010010110101111110011010100100001 Espacio utilizado en disco: 3 clústeres → 6 KB Gestión de archivos Asignación de espacio en disco Como vimos en el apartado dedicado a los atributos de un archivo, para poder visualizar en Windows dichos atributos debemos: Localizar el archivo. Hacer clic con botón derecho para visualizar el menú contextual. Seleccionar propiedades en el menú contextual. ¿Por qué es distintos el tamaño y el tamaño en disco? Porque el tamaño en disco está relacionado con la estructura física del archivo, y depende de las características definidas en relación al dispositivo de almacenamiento (hardware). 51 Gestión de archivos Asignación de espacio en disco Por eso el tamaño del archivo y el tamaño en disco, que son dos de los atributos de un archivo, no coinciden. En el ejemplo anterior, el archivo tenía un tamaño de 5 KB (tamaño) y se almacenaba en 3 clústeres (tamaño en disco) que ocupaban 6 Kb. ¿Puede variar el tamaño en disco de un mismo archivo de un dispositivo de almacenamiento a otro? SÍ. Todo dependerá del tamaño bloque/clúster que se haya definido con el sistema de archivos implantado al formatear el dispositivo de almacenamiento Ejercicio práctico : Hazte con dos pendrives. Formatea un pendrive con NTFS y tamaño de clúster de 8 KB. Formatea el segundo pendrive con NTFS y tamaño de clúster de 64 KB. Crea un documento de texto vacío y cópialo en ambos pendrive. Mira los atributos del archivo en cada caso. ¿Qué observas? Gestión de archivos Asignación de espacio en disco Gestión de archivos Asignación de espacio en disco Después de analizar como se almacena un archivo en un HDD, respondamos a la pregunta que plantea este apartado: ¿Cómo sabe el sistema operativo donde está almacenado un archivo dentro de un dispositivo de almacenamiento, que además, sabemos que puede estar repartido por distintos clústeres no contiguos del disco? Los sistemas de archivos pueden emplear distintos métodos para controlar los clústeres donde están almacenados los distintos archivos: Listas de enlace: utilizado por MS-DOS y primeras versiones Windows (FAT). Ficheros de índice (i-nodos): utilizado por sistemas basados en UNIX (ext4). Árboles B+: utilizado por última versiones de Windows (NTFS). Gestión de archivos Asignación de espacio en disco. Listas enlace Mediante el sistema de listas de enlace, cada disco dispone de una tabla que permite conocer los clústeres donde se encuentran almacenados los distintos bloques de un archivo. El número de celdas de la tabla coincide con el número de clústeres del disco. En cada celda de la tabla se almacena el número del clúster donde está almacenado el siguiente bloque del archivo. La tabla con los enlaces a los distintos clústeres permanece almacenada en la memoria principal. Esto hace que el acceso a un determinado bloque de un archivo sea relativamente rápido. Inconvenientes: Aunque se utilicen pocos ficheros, la tabla permanece cargada en memoria principal consumiendo parte de la misma y su tamaño puede ser importante dado el número de clústeres que tienen los discos. Para acceder al bloque “n” de un archivo tenemos que realizar “n-1” lecturas en la tabla. Gestión de archivos Asignación de espacio en disco. Listas enlace Este es el sistema utilizado en el sistema de archivos FAT, empleado por los sistemas operativos MS-DOS y primeras versiones de Windows. FAT = FILE ALLOCATION TABLE (Tabla de localización de archivos). ¿Cómo funciona este sistema? Al abrir un archivo, el sistema de archivo identifica el enlace al primer clúster donde está almacena el primer bloque. Los siguientes bloques se van identificando consultando la tabla de localización de archivos. Gestión de archivos Asignación de espacio en disco. Listas enlace FAT Ejemplo: 1 Tenemos un sistema de archivos FAT con la siguiente 5 2 tabla de localización de archivos en un momentos 7 3 dado. 4 Tenemos dos archivos que empiezan en el clúster 3 16 5 (archivo 1) y clúster 14 (archivo 2) End Of File (EOF) 6 12 7 ¿Cuáles serán los clústeres donde están 6 8 almacenados en disco ambos archivos? 9 10 Archivo 1: 3 – 7 – 12 – 2 – 5 – 16 11 Archivo 2: 14 – 15 – 8 – 6 2 12 13 15 14 8 15 End Of File (EOF) 16 Gestión de archivos Asignación de espacio en disco. I-nodos Para evitar tener que almacenar toda la información de la tabla FAT en memoria principal, aunque se utilicen pocos archivos, se desarrolló el método de los nodos índice o i-nodos. En este caso, para cada archivo existe una pequeña tabla almacenada en disco llamada i-nodo. Es el método utilizado en los sistemas basados en UNIX. Gestión de archivos Asignación de espacio en disco. I-nodos Cada tabla i-nodo contiene los siguientes campos: Identificador del propietario del fichero. Tipo de fichero. Derechos de acceso. Fecha de última modificación. Número de enlaces. Tamaño de fichero. 10 punteros a bloques de memoria. Puntero indirecto simple. Puntero indirecto doble. Puntero indirecto triple. El i-nodo contiene 10 punteros a bloques o clústeres de memoria donde se almacenaran los bloques que conforman el archivo. Esto será suficiente para archivos pequeños pero no para archivos más grandes. Gestión de archivos Asignación de espacio en disco. I-nodos Para archivos más grandes se emplearán los punteros indirectos simples, dobles y triples, según resulten necesarios: Puntero indirecto simple: contiene la dirección de un bloque de memoria, el cuál contiene otros punteros a bloques donde se encuentra el archivo. Puntero indirecto doble: contiene la dirección de un bloque de memoria que contiene punteros a otros bloques de memoria los cuales, a su vez, apuntan a los bloques asignados al archivo. Puntero indirecto triple: repite la estructura anterior pero añadiendo un nivel más. Estos punteros se utilizan únicamente cuando son necesarios debido al número de bloques o clústeres que ocupa el archivo. Gestión de archivos Asignación de espacio en disco. I-nodos Gestión de archivos Asignación de espacio en disco. Árbol B+ El sistema de archivo utiliza unas estructura de datos denominada árbol B+ para controlar la asignación de los distintos clústeres a los archivos. El árbol B+ es una estructura formada por nodos interconectados por aristas que cumple: Los enlaces a cada uno de los clústeres se guardan en los nodos hojas. Los nodos internos solo contiene las claves y punteros. Cada nodo hoja tiene un apuntador adicional para apuntar al siguiente nodo hoja, de modo que están conectados secuencialmente para permitir búsquedas secuenciales. El sistema NTFS usado en las últimas versiones de Windows utiliza una estructura en árbol B+. Gestión de archivos Gestión del espacio libre Para llevar a cabo el control de los bloques libres en el dispositivo de almacenamiento se utilizan principalmente los siguientes métodos: Mapa de bits de bloques libres: Consiste en usar un mapa con tantos bits como bloques tenga el disco. En cada bit se almacena el valor 1 si el bloque está libre y el valor 0 si el bloque está ocupado (o viceversa). Es muy eficiente para localizar bloques libres contiguos. Este método no requiere mucho espacio por lo que no representa ningún problema para que permanezca almacenado en memoria principal permanentemente. Lista enlazada de bloques libres: Consiste en usar una lista enlazada de bloques que almacenará la dirección de los bloques libres que quedan en cada momento. Este método es eficiente si el disco está bastante lleno, ya que quedarán pocos bloques libres y la lista será corta (pocos nodos). El método resulta deficiente si el disco está poco ocupado ya que la lista será muy larga y ocupará mucho espacio en memoria. Actividad A02_Sistemas de ficheros Dada la siguiente tabla FAT del sistema de ficheros. Determina los clúster que tendrán los ficheros A, B y C. Determina el tamaño en disco que ocuparan dichos ficheros sabiendo que cada clúster tiene una capacidad de 32KB * Leyendas: BAD. Cluster no utilizable por estar en mal estado FREE: Cluster vacio/libre EOF: Final de fichero. Gestión de dispositivos de almacenamiento Algoritmos de planificación de discos Gestión de dispositivos de almacenamiento Algoritmos de planificación de discos Los algoritmos de planificación de acceso a disco duro (HDD) permiten optimizar el movimiento de la cabeza de lectura/escritura del disco y por tanto, mejorar también el acceso a los datos. Los principales algoritmos de planificación de acceso al HDD son: FCFS. SSTF. SCAN. C-SCAN. LOOK. Sistema de archivos Algoritmos de planificación de discos. FCFS La planificación FCFS (First Come, First Served) consiste en dar servicio a las solicitudes del sistema en estricto orden de llegada de las mismas. Ventaja: Es el tipo de planificación más sencilla de implementar. Inconvenientes: El recorrido total de los cabezales de lectura/escritura es muy elevado. El cabezal realiza constantes cambios de dirección, lo cuál deteriora el dispositivo. Sistema de archivos Algoritmos de planificación de discos. FCFS Ejemplo: HDD con 200 cilindros (0 – 199) Posición inicial del cabezal: cilindro 53 y sentido descendente. Cilindro en el que hay que leer/escribir para cada petición recibida: 98, 183, 37, 122, 14, 124, 65, 67. El orden de atención de las peticiones: 98, 183, 37, 122, 14, 124, 65, 67. Movimiento del cabezal Orden atención Número Desplazamiento 200 183 peticiones Pista Cabezal L/E 180 53 160 1 98 45 140 122 124 2 183 85 120 3 37 146 98 100 4 122 85 80 65 67 5 14 108 60 53 6 124 110 37 7 65 59 40 14 8 67 2 20 Total 640 0 Sistema de archivos Algoritmos de planificación de discos. SSTF La planificación SSTF (Shortest Seek Time First) consiste atender primero la solicitud que requiera el menor movimiento de la cabeza de lectura/escritura desde su posición actual. Ventaja: Los recorridos totales son más bajos. Inconvenientes: El cabezal tiende a oscilar sobre la zona central, pudiendo dar lugar a inanición. Sistema de archivos Algoritmos de planificación de discos. SSTF Ejemplo: HDD con 200 cilindros (0 – 199) Posición inicial del cabezal: cilindro 53 y sentido descendente. Cilindro en el que hay que leer/escribir para cada petición recibida: 98, 183, 37, 122, 14, 124, 65, 67. El orden de atención de las peticiones: 65, 67, 37, 14, 98, 122, 124, 183. Movimiento del cabezal Orden atención Número Desplazamiento 200 183 peticiones Pista Cabezal L/E 180 53 160 1 65 12 140 122 124 2 67 2 120 3 37 30 98 100 4 14 23 80 65 67 5 98 84 60 53 6 122 24 37 7 124 2 40 14 8 183 59 20 Total 236 0 Sistema de archivos Algoritmos de planificación de discos. SCAN En la planificación SCAN el cabezal recorre el disco de un extremo a otro atendiendo las peticiones que encuentra por el camino. Cuando llega al final, cambia de dirección. Ventaja: Los recorridos totales son bajos. Evita la inanición. Sistema de archivos Algoritmos de planificación de discos. SCAN Ejemplo: HDD con 200 cilindros (0 – 199) Posición inicial del cabezal: cilindro 53 y sentido descendente. Cilindro en el que hay que leer/escribir para cada petición recibida: 98, 183, 37, 122, 14, 124, 65, 67. El orden de atención de las peticiones: 37, 14, 0, 65, 67, 98, 122, 124, 183. Movimiento del cabezal Orden atención Número Desplazamiento 200 183 peticiones Pista Cabezal L/E 180 53 160 1 37 16 140 122 124 2 14 23 120 0 14 98 100 3 65 65 80 65 67 4 67 2 60 53 5 98 31 37 6 122 24 40 14 7 124 2 20 0 8 183 59 0 Total 236 Sistema de archivos Algoritmos de planificación de discos. C-SCAN En la planificación C-SCAN (SCAN Circular) es una variante de la planificación SCAN. El cabezal recorre el disco de un extremo a otro atendiendo las peticiones que encuentra por el camino. Cuando llega al extremo invierte el sentido, regresando de inmediato al otro extremo sin servir ninguna solicitud por el camino. Sistema de archivos Algoritmos de planificación de discos. C-SCAN Ejemplo: HDD con 200 cilindros (0 – 199) Posición inicial del cabezal: cilindro 53 y sentido descendente. Cilindro en el que hay que leer/escribir para cada petición recibida: 98, 183, 37, 122, 14, 124, 65, 67. El orden de atención de las peticiones: 37, 14, 0, 199, 183, 124, 122, 98, 67, 65. Movimiento del cabezal 199 Orden atención Número Desplazamiento 200 183 peticiones Pista Cabezal L/E 180 53 160 1 37 16 140 124 122 2 14 23 120 0 14 98 100 199 199 80 67 65 3 183 16 60 53 4 124 59 37 5 122 2 40 14 6 98 24 20 0 7 67 31 0 8 65 2 Total 386 Sistema de archivos Algoritmos de planificación de discos. LOOK Puede considerarse una variante de la planificación SCAN. En la planificación LOOK el cabezal de lectura/escritura no se mueve hasta el extremo del disco, sino hasta la última solicitud pendiente en el sentido del movimiento. Ventaja: Permite ahorrar movimientos innecesarios del cabezal. Sistema de archivos Algoritmos de planificación de discos. LOOK Ejemplo: HDD con 200 cilindros (0 – 199) Posición inicial del cabezal: cilindro 53 y sentido descendente. Cilindro en el que hay que leer/escribir para cada petición recibida: 98, 183, 37, 122, 14, 124, 65, 67. El orden de atención de las peticiones: 37, 14, 65, 67, 98, 122, 124, 183. Movimiento del cabezal Orden atención Número Desplazamiento 200 183 peticiones Pista Cabezal L/E 180 53 160 1 37 16 140 122 124 2 14 23 120 3 65 51 98 100 4 67 2 80 65 67 5 98 31 60 53 6 122 24 37 7 124 2 40 14 8 183 59 20 Total 208 0 Discos SSD Hoy en día los discos SSD están ganando cuota de mercado a los discos HDD como dispositivos de almacenamiento secundario. La estructura de los discos SDD cambia por completo respecto a los discos HDD al no tener partes mecánicas ni móviles. Las operaciones de lectura/escritura no se basan en el giro de un plato y un cabezal que lee o graba los datos sobre la superficie del mismo. Por todo ello, los algoritmos de planificación anteriores no aplican a este tipo de dispositivos. En general un algoritmo FCFS es suficiente para discos SSD (uniendo las escrituras contiguas en el mismo sector) Discos SSD Los SDD no tienen la estructura física ni lógica de un HDD, es decir, no tienen platos, pistas, cilindros, sectores ni clúster. En un SDD, la información se almacena en circuitos electrónicos. Sin embargo, cuando formateamos un disco, el sistema de archivos no pregunta si se trata de un HDD o un SDD. ¿Por qué funciona el sistema de archivos sobre el dispositivo de almacenamiento con independencia de que se trate de un HDD o un SDD? La respuesta es porque el SDD tiene un controlador que emula el comportamiento de un HDD, junto a una interfaz electrónica compatible con las entradas/salidas en forma de bloques, de modo que, para el sistema de archivos, la tecnología del dispositivo de almacenamiento es transparente. Discos SSD - TRIM Los sectores de los discos SSD no se pueden sobreescribir, hay que borrarlos primero y el borrado es la operación más lenta Al sobreescribir un bloque muchas veces se marca al original como inválido y se escribe uno nuevo Cuando no hay espacio libre hay que hacer garbage collection y borrar los bloques con datos inválidos Para optimizar esto es útil que el sistema de archivos le indique al disco cuando hay sectores que se borraron (solo se marcaron como libres en el sistema pero no se borraron) Esta operación es conocida como TRIM y permite que el disco libere más bloques en el garbage collection. Esta operación se realiza en general cuando el disco no tiene actividad para que no impacte el rendimiento Discos SSD - TRIM Tener activado el comando TRIM os va a ayudar mucho a recuperar rendimiento de vuestros SSD en Windows 10. El hecho es que, este tipo de comando se debería de ejecutar de manera automática al menos una vez a la semana. Para saber si el TRIM se está ejecutando en vuestro ordenador, debéis seguir estos pasos: 1. Abrimos el explorador de archivos o cualquier carpeta. 2. En el lateral derecho nos debería aparecer la opción Este equipo. 3. En Dispositivos y unidades debe aparecer nuestro disco duro principal con la denominación Disco local (C:). Puede que en tu equipo tenga otro nombre, pero la letra de unidad debería seguir siendo C:, que es la que da Windows por defecto. 4. Hacemos clic derecho sobre la unidad. 5. Pulsamos sobre Propiedades. 6. Vamos ahora a la pestaña de Herramientas. 7. Ahora debemos hacer clic sobre la opción de Optimizar. Discos SSD - TRIM 8. En Estado actual nos aparecerán dos opciones: Requiere optimización: Nos indica que TRIM no está activo y esto quiere decir que debemos optimizarlo manualmente. Seleccionamos la unidad y le damos a Optimizar. Este proceso es muy rápido, durando unos segundos. Tras esto, vuelve más arriba en este tutorial y activa el comando TRIM como te explicamos. Correcto: En este caso no debemos hacer nada, ya que TRIM está activado optimiza la unidad periódicamente. Podemos optimizarla manualmente en este punto, pero es innecesario. 9. Cerramos todas las ventanas y listo. Sistema de archivos Gestión de sistemas de particionamiento Herramientas de mantenimiento Los sistemas operativos incorporan herramientas de mantenimiento para el sistema de archivos y los dispositivos de almacenamiento. Por ejemplo, Windows incorpora dos herramientas muy útiles: Comprobación de errores del sistema de archivos. Optimización y desfragmentación de la unidad de almacenamiento. Para acceder a dichas herramientas debemos: Abrir el administrador de archivos. Hacer clic derecho sobre medio de almacenamiento (menú contextual). Seleccionar Propiedades. Seleccionar Pestaña Herramientas. Seleccionar Comprobar (Comprobación de errores). Herramientas de mantenimiento 84