Gestión de Ficheros
El sistema de gestion de ficheros proporciona las abstraciones de recursos asociadas al almacenamiento secundario. El sistema de gestion de ficheros proporciona una manera de organizar los datos como ficheros. Las solicitudes de entrada para las aplicaciones se efectuan por medio de un archivo. Las salidas son guardadas en un archivo de almacenamiento a largo plazo. Gestión de Ficheros
Existencia a largo plazo Compartible entre procesos Estructura Propiedades del Sistema de Archivos
Create Delete Open Close Read Write Funciones y Atributos asociados a los Ficheros Propiedades Tiempo de creación Tiempo de la última modificación Privilegios de acceso Y otras
Campo Es la unidad más pequeña a la cual uno puede referirse en un programa. Desde el punto de vista del programador representa una característica de un individuo u objeto.   Registro Colección de campos de iguales o de diferentes tipos. Estructura de un Fichero
Archivos Colección de registros almacenados siguiendo una estructura homogénea. Base de Datos      Es una colección de archivos interrelacionados, son creados con un DBMS.  El contenido de una base de datos engloba a la información concerniente (almacenadas en archivos) de una organización, de tal manera que los datos estén disponibles para los usuarios, una finalidad de la base de datos es eliminar la redundancia o al menos minimizarla.   Estructura de un Fichero
Es el conjunto de software de sistema que proporciona servicios a los usuarios y las aplicaciones en el uso de ficheros. La forma en que un usuario de la aplicación puede acceder a archivos  El Programador no necesita desarrollar software de gestión de archivos  Sistema de Gestión de Ficheros
Satisfacer las necesidades de gestión de datos y los requisitos del usuario  Garantizar que los datos del archivo son válidos  Optimizar el rendimiento  Proveer soporte de E/S para una variedad de tipos de dispositivo de almacenamiento  Objetivos del Sistema de Gestión de Ficheros
Reducir al mínimo o eliminar la posibilidad de que los datos se pierdan ó se destruyan.  Proporcionar un conjunto normalizado de las rutinas de interfaz  de E/S.  Proporcionar  soporte de E/S para múltiples usuarios.  Objetivos del Sistema de Gestión de Ficheros
Cada usuario debería ser capaz de crear, borrar, leer, escribir y modificar archivos  Cada usuario puede tener controlado el acceso a otros archivos de usuarios Cada usuario puede controlar que tipo de accesos se permite a los usuarios sobre archivos  Conjunto mínimo de requisitos
Cada usuario debería ser capaz de mover datos entre los archivos Cada usuario debería ser capaz de hacer una copia de seguridad y recuperar los archivos del usuario en caso de daños  Cada usuario debería poder acceder a los archivos del usuario mediante el uso de nombres simbólicos  Conjunto mínimo de requisitos
Arquitectura Software de un Sistema de Ficheros Métodos de acceso Permite al usuario y las aplicaciones usar los registros de ficheros Inicia y finaliza las operaciones de E/S, planifica el disco Coloca bloques de datos entre la RAM y los Buffers Manejados de dispositivos (Drivers) comunicandose con su controladora ó canal.
Identificar y localizar un archivo seleccionado  Utilización de directorios para describir la ubicación de todos los archivos y sus atributos  En sistema compartido describir el control de acceso de los usuarios  Bloqueo de acceso a los archivos  Asignar archivos a bloques libres  Administrar almacenamiento gratuito disponible para los bloques  Funciones de Gestión de Ficheros
Corto tiempo de acceso  Necesidad la hora de acceder a un registro único  No es necesario para el modo por lotes  Facilidad de actualización  Archivo en CD-ROM no será actualizado, por lo que esta no es una preocupación  Criterios para la organización de Ficheros
Economía de almacenamiento  Debería ser mínima la redundancia de los datos  Simple mantenimiento  Fiabilidad  Criterios para la organización de Ficheros
Fichero Apilado ó Pila Los datos se almacenan en el orden en que llegan  El objetivo es acumular una masa de datos y guardarlo  Los registros pueden tener diferentes campos  No tiene estructura  El acceso a registros es por la búsqueda exhaustiva  Organización de Ficheros Estructura lógica de los registros determinada por la forma en que se acceden.
Fichero Secuencial Registros de longitud fija Los registros son iguales en logitud Todos los campos son iguales en orden y longitud  Los nombres y longitudes de los campos son atributos de el archivo Un campo es el campo clave Identifica de forma exclusiva el registro  Los registros se almacenan en secuencia del campo clave  ¿Aplicaciones por lotes vs interactivas? Organización de Ficheros
Fichero Secuencial Indexado Los registros se organizan en secuencia (niveles indexados) basandose en un campo clave y un indice al fichero principal que da soporte al acceso aleatorio y un fichero de desbordamiento. Los nuevos registros son agregados al archivo de desbordamiento El registro del fichero principal tiene un puntero al archivo de desbordamiento Organización de Ficheros
Fichero Indexado Elimina las busquedas que se basan en un único campo  Se usan multiples índices, uno por cada tipo de campo que puede estar sujeto a una busqueda Puede contener un índice exhasustivo que contiene una entrada por cada registro al fichero principal Puede contener un índice parcial que contiene entradas donde el campo de interés existe.  Los registros son de longitud variable Organización de Ficheros
Fichero de acceso directo ó Hash Accede directamente a una dirección conocida, usa clave para cada registro pero no hay secuencialidad Los registros son de tamaño fijo La propia posición del objeto implica su valor Organización de Ficheros 50  valor(50)
Contiene información sobre los ficheros Atributos Ubicación Propiedades El directorio en sí es un archivo de propiedad del sistema operativo  Proporciona correspondencia entre los nombres de los archivos y los propios archivos  Directorios
Lista de entradas, una para cada uno de los archivos  Archivo Secuencial con el nombre del archivo que actúa como clave  No proporciona ayuda en la organización de los archivos  Fuerza al usuario a tener cuidado de no utilizar el mismo nombre para dos archivos diferentes  Estructura de Directorio
Información de los elementos de un Directorio Propietario, información de acceso y acciones permitidas Información de control de acceso Volumen, dirección de inicio, tamaño usado Información de Uso Fecha de creación, creador, fecha de última lectura de acceso, fecha de última modificación y otras Información de dirección Nombre, tipo, organización Información Básica
Un directorio para cada usuario y un directorio maestro  Un directorio maestro   contiene una entrada para cada usuario  Proporciona la dirección y el control de acceso a la información  Cada directorio de usuario es una simple lista de los archivos de ese usuario  No proporciona ayuda en la estructuración de las colecciones de archivos  Esquema de dos niveles para un Directorio
Directorio maestro (Root) del usuario con directorios por debajo de el.  Cada directorio de usuario puede tener subdirectorios y archivos como entradas Jerárquico ó estructura en forma de árbol para un Directorio
Directorio estructura en forma de árbol
En un sistema multiusuario, permite que los archivos se compartan entre los usuarios Dos cuestiones Derechos de acceso (Ninguno,W,R,X, Borrar, propietario) Gestión de acceso simultaneo (Exclusión mutua, Interbloqueos) Compartir Ficheros
Bloques: Unidades de E/S con almacenamiento secundario Registros: Unidades lógicas de acceso a un fichero estructurado. Los registros se organizan como bloques. Dado el tamaño de un bloque se pueden usar tres métodos: Bloques y Registros
Bloques Fijos Son de longitud fija y permite almacenar un número integral de registros.=> fragmentación interna
Bloques Expandidos de Longitud Variable Son de longitud variable, no se pierde espacio. Los registros se expanden a lo largo de dos pistas, repercutiendo en dos operaciones de E/S.
Bloques No Expandidos de Longitud Variable Son de longitud variable sin expansión. Se malgasta espacio.
Un fichero esta compuesto por una colección de bloques Que espacio debe ser asignado a los archivos ? Hay que realizar un seguimiento de los espacios disponibles para la asignación  Gestión de Almacenamiento Secundario
Varios aspectos estan involucrados en la asignación de ficheros: 1. Preasignación frente a asignación dinámica * Requiere que el tamaño máximo de un fichero sea    declarado en tiempo de creación. * Estimar el valor en forma fiable ? (malgasto) * La gestión dinámica asigna espacio a un fichero en      porciones cuando se necesite. Asignación de ficheros
2. Tamaño de Porciones Una porción es la cantidad de unidades contiguas que se asignan a un fichero. * Se puede asignar una porción suficientemente grande para contener el fichero completo. ( Mejora el rendimiento - busquedas, tabla de asignacion de ficheros pequeña, contiguo y el espacio es dificil de reutilizar) * Para el espacio en el disco se puede asignar un bloque cada vez que se necesite. (No hay continuidad, porciones fijas en bloques, mayor flexibilidad, tabla de asignacion de ficheros grande) Asignación de ficheros
3. Métodos de asignación de Ficheros Qué estructura ó tablas de datos usar para guardar trazas de porciones asignadas a un fichero? 1. Asignación Contigüa 2. Asignación Encadenada 3. Asignación Indexada Asignación de ficheros
1. Asignacion Contigüa Se asigna un único conjunto contiguo de bloques en tiempo de creación de los ficheros. Preasignación de tamaño variable La tabla de asignación de ficheros necesita sólo una entrada para cada fichero, mostrando el bloque inicial y la longitud del fichero. Fragmentación externa Compactación para liberar espacio adicional Asignación de ficheros
 
 
2. Asignacion Encadenada La asignación se realiza a nivel de bloques individuales. Cada bloque contiene un puntero al siguiente bloque de la cadena. La tabla de asignación de ficheros necesita sólo una entrada para cada fichero, mostrando el bloque inicial y la longitud del fichero. Se asignan bloques cuando se necesitan Cualquier bloque libre se puede añadir a una cadena No hay fragmentación externa porque solo se necesita un bloque a la vez Asignación de ficheros
 
No existe principio de proximidad ¿Si es necesario traer varios bloques del fichero a la vez, se requiere acceder a diferentes partes del disco?. La solución es la consolidacion de ficheros periodicamente
3. Asignacion Indexada La tabla de asignación de ficheros contiene un índice separado de un nivel por cada fichero; el índice tiene una entrada por cada porción asignada al fichero. El índice para un fichero se guarda en un bloque separado La asignación puede realizarse usando: * Bloques de tamaño fijo (No hay fragmentación Externa) * Porciones de tamaño variable (Mejora la proximidad) Asignación de ficheros
 
 
La  fragmentación de los archivos es consecuencia del modo habitual en que se van guardando los archivos en Windows , ya que éstos y sus modificaciones sucesivas se van almacenando en distintos sectores del disco según los espacios libres disponibles. Este hecho supone un grave cuello de botella que impide obtener un rendimiento óptimo de los sistemas.  El resultado de la fragmentación es que nos encontramos los archivos y el espacio libre divididos en fragmentos,  esparcidos por todo el disco. Esta situación se genera día a día por la actividad normal del disco – grabar archivos, comprimirlos, borrarlos, instalar aplicaciones, navegar por internet, etc.- y reduce cada vez más la eficiencia de las aplicaciones y del trabajo en la organización. ¿Cuánto tiempo puede llevar leer un documento fragmentado? El tiempo de lectura de un archivo fragmentado, respecto a cuando no lo está, es muchísimo mayor. Por ello la  fragmentación afecta de forma tan directa al rendimiento de los sistemas.   Qué es la Fragmentación ?
Desfragmentador de Disco
Desfragmentador de Disco La mayoría de los clústeres son de espacio libre y contiguo. Blanco La mayoría de los clústeres forman parte de un archivo que no se puede mover de su ubicación actual. En los volúmenes formateados mediante la tabla de asignación de archivos (FAT), FAT32 o el sistema de archivos NTFS, las áreas verdes suelen representar archivos de paginación, denominados también archivos de intercambio. No obstante, en los volúmenes con formato del sistema de archivos NTFS, también pueden representar el espacio utilizado por el diario de cambios y el archivo de registro de NTFS. Verde La mayoría de los clústeres son archivos contiguos con clústeres en el grupo que sólo contiene clústeres de espacio libre y contiguo. Azul La mayoría de los clústeres forman parte de un archivo fragmentado. Rojo Descripción Color
Se trata de un espacio de memoria virtual en el disco que se utiliza para intercambiar páginas. Es un suplemento de la memoria física RAM. No obstante, puesto que la velocidad de la memoria basada en el disco se mide en milisegundos y la memoria física RAM en nanosegundos, el  Archivo de Paginación es 100.000 veces más lento que la RAM real y se puede convertir en el cuello de botella más importante para el rendimiento del sistema Windows  . Además, si  el Archivo de Paginación está fragmentado en múltiples piezas ocupa más espacio en disco y puede reducir la velocidad con la que se abren y cierran las aplicaciones . Defragmentar el Archivo de Paginación al arrancar el equipo no sólo aumenta la velocidad en la ejecución de páginas sino que además ofrece más espacio libre consolidado .  Archivo de Paginación Windows PageFile
Se debe gestionar el espacio que no está asignado a ningún archivo. Para esto es necesario saber qué bloques están disponibles, entonces hace falta una tabla de asignación e discos. Se utilizan tres técnicas de uso común: las tablas de asignación de bits, las secciones libres encadenadas y la indexación. Gestión del espacio libre
1.Tablas de asignación de bits Utiliza un vector que contiene un bit por cada bloque del disco. Cada entrada igual a 0 es un bloque libre, si es un 1 corresponde a un bloque en uso. Tienen  la ventaja de que es fácil encontrar un bloque libre o un grupo de bloques libres. La cantidad de memoria requerida para un mapa  de bits en bloques se puede calcular como muestra la figura.  Es recomendable ubicar la tabla de bits en la memoria, aún cuando la tabla de bits esté en la memoria, una búsqueda exhaustiva de la tabla puede reducir considerablemente el rendimiento del sistema de archivos.  Gestión del espacio libre
2.Secciones libres encadenadas Pueden encadenarse juntas mediante un puntero y un valor de longitud en cada sección libre. No tiene necesidad de una tabla de asignación de disco, sino un puntero al comienzo de la cadena y la longitud de la primera sección.  Este método sirve para todas las técnicas de asignación de archivos, si la asignación se realiza por bloques sólo hay que elegir el bloque libre del principio de la cadena y retocar el primer puntero o el valor de la longitud. Si la asignación se hace por secciones de longitud variable, puede usarse el algoritmo el primer ajuste. Este método tiene sus propios problemas, después de un tiempo de uso el disco llegará a estar fragmentado y muchas secciones serán de un solo bloque. Cada vez que asigna un  bloque es necesario leer antes el bloque para recuperar el puntero al nuevo primer bloque libre antes de escribir datos sobre ese  bloque, entonces se ralentizará mucho la creación del archivo. Gestión del espacio libre
3. Indexación. Trata al espacio libre como si fuera un archivo y utiliza una tabla índice como la descrita en la asignación de archivos. Por eficiencia el índice debe trabajar con secciones de tamaño variables mejor que con bloques. De este modo habrá una entrada en la tabla para cada sección libre del disco. Este procedimiento ofrece un soporte eficaz para todos los métodos de asignación de archivos. Gestión del espacio libre
Para un kernel Unix todos los archivos son flujos de bytes, cualquier estructura lógica interna será especificada por la aplicación, pero sí está contemplada estructura física de los archivos. Sistema de Archivos en Unix
Regular u Ordinarios : contienen información creada por usuarios, aplicaciones o el sistema operativo. Directorios : son listas de nombres de archivo y punteros a nodos-i asociados. Están organizados jerárquicamente. Son realmente archivos ordinarios con privilegio especial de protección para que solo el sistema de archivos pueda escribir en ellos (programas de usuario tienen permiso de lectura). Especiales : se usan para acceder a dispositivos periféricos como impresoras, cada dispositivo de E/S tiene asociado un archivo especial. Tuberías con Nombre:  pipes, es una utilidad de comunicación entre procesos. Enlace:  Es un nombre alternativo de un fichero para un fichero existente Enlace Simbólico:  Se trata de un fichero de datos que contiene el nombre del fichero al que enlaza Tipos de Archivos
Todos los tipos de archivos son administrados por Unix por medio de nodos-i. Éste es una estructura de control que contiene información (permisos, atributos, información de control, etc.), de un archivo necesaria para el sistema operativo.  Puede asociarse varios nombres de archivo a un mismo nodo-i, pero un nodo-i activo se puede asociar con un único archivo (cada uno es controlado por un solo nodo-i). Nodos - i
 
Los archivos se asignan en bloques dinámicamente según sea necesario, por ello no hay asignación previa. Por esto los bloques pueden no ser contiguos, y se usa un método de indexación para “formar” un archivo:  Un índice en parte guardado en el nodo-i, 39 bytes de información de dirección, organizada como 13 direcciones; las primeras 10 direcciones apuntan los primeros 10 bloques de datos del archivo, si éste es más grande que 10 bloques se usan más niveles de indexación llamados “indirectos”. A considerar: Asignación de Archivos
  La dirección 11 del nodo-i apunta a un bloque del disco que contiene la siguiente parte del índice, este bloque es llamado “indirecto simple” y contiene los punteros a los siguientes bloques que forman el archivo.   Si el archivo contiene más bloques: la dirección 12 del nodo-i apuntará a un bloque “indirecto doble” que contendrá una lista de direcciones de bloques “indirectos simples” adicionales.   Si el archivo tiene aún más bloques: la dirección 13 del nodo-i apuntará a un bloque “indirecto triple” que consiste en un tercer nivel que apunta a bloques “indirectos dobles” adicionales.   Asignación de Archivos
 
El número total de bloques de un archivo depende de la capacidad de los bloques de tamaño fijo del sistema. Por ejemplo: en Unix System V la longitud de bloque es de 1KB y cada uno puede guardar 256 direcciones de bloques, por lo tanto el tamaño máximo de archivo sería cercano a 16 GB. Asignación de Archivos 10K 256K 65M 16G 10 256 256*256=65K 256*65K=16M Directo Simple Indirecto Doble Indirecto Triple Indirecto Número de bytes Número de bloques Nivel
  Son de tamaño fijo y pequeños por lo que pueden permanecer en memoria principal largos períodos.   Se accede a archivos pequeños de modo directo o indirecto reduciendo el tiempo de acceso al disco.   El tamaño máximo teórico de un archivo satisface los requerimientos de la mayoría de las aplicaciones.   Ventajas de los Nodos-i
Los directorios se estructuran como un árbol jerárquico. Cada entrada de directorio contiene un nombre para el fichero asociado más un entero llamado el número-i (número índice).  Directorios
Bloque de arranque Superbloque Tabla de Nodos-i Bloques de datos Un sistema de ficheros UNIX reside en un único disco lógico ó partición de disco y se compone de los siguientes elementos: Bloque de arranque : Contiene el código requerido para arrancar el sistema operativo. Superbloque : Contiene atributos e información sobre el sistema de ficheros, tal como el tamaño de la partición y el tamaño de la tabla de nodos-i. Tabla de nodos-i : La colección de nodos-i para cada fichero. Bloques de datos : El espacio de almacenamiento disponible para los ficheros de datos y subdirectorios. Estructura del Volumen
Soporta una gran variedad de sistema de gestión de ficheros y estructuras de ficheros VFS Proporciona una interfaz uniforme del sistema de archivos para los procesos de usuario  VFS define un modelo de ficheros común que es capaz de representar cualquier característica general y comportamiento de un sistema de ficheros concebible. VFS asume que los ficheros son objetos de un sistema de alamcenamiento masivo del computador que comparten propiedades básicas sin tener en cuenta el sistema de ficheros concreto ó el hardware subyacente. Sistema de Ficheros  Virtual Linux
 
Objeto superbloque Representa un sistema de ficheros montado específico. Objeto nodo-i Representa un fichero específico. Objeto entrada de directorio Representa una entrada de directorio específica. Objeto de fichero Representa un fichero abierto asociado con un proceso. Tipos de Objetos primarios en VFS
Esta pensado para alcanzar requisitos de altas prestaciones en estaciones de trabajo y servidores Caracteristicas clave de NTFS Recuperación Securidad Discos y ficheros grandes Multiples flujos de datos Facilidad general de indexación Sistema de Ficheros de Windows
NTFS hace uso de los siguientes conceptos de almacenamiento de disco: Sector La unidad física de almacenamiento más pequeña en disco. Agrupación Uno ó más sectores contiguos Volumen Una partición lógica de un disco Volúmenes NTFS y Estructura de Ficheros
Sector de arranque de la partición MFT Ficheros del sistema Área de Ficheros Sector de arranque de la partición : Contiene información sobre la estructura del volumen, las estructuras del sistema de ficheros, la información de arranque de inicio y el código. Tabal Maestra de Ficheros MFT : Contiene información sobre todos los ficheros y carpetas, así como la información sobre el espacio disponible no asignado. Ficheros del Sistema : se encuentran ficheros del sistema como MFT2, fichero del registro, mapa de bits de las agrupaciones  y la tabal de definición de atributos. Estructura del Volumen
 
NTFS (Windows NT File System)  fue desarrollado específicamente para Windows . Se trata de un sistema de archivos seguro y eficiente que soporta la arquitectura cliente-servidor. Pero NTFS, contrariamente a lo que se cree, es vulnerable a la fragmentación. Cuando NTFS escribe un archivo en un disco, deja un espacio libre a continuación para poder seguir escribiendo en ese mismo archivo en el futuro sin tener que fragmentarlo. Esto es así hasta que el espacio en disco se agota y es necesario escribir los nuevos archivos en esos huecos que se fueron dejando previamente.  Por otro lado,  NTFS registra todos los contenidos de un volumen en un archivo llamado Master File Table (MFT) . Éste se compone exclusivamente de registros sobre los archivos, asignando un puntero a cada archivo. Si un archivo tiene un gran número de atributos o se encuentra altamente fragmentado, puede que necesite más de un puntero en MFT. Al añadir más archivos y registros a un volumen, MFT se va expandiendo, lo que permite a NTFS soportar discos enormes con gran número de archivos. Esto hace que  MTF también pueda fragmentarse en el disco . Hay que destacar que una vez que MFT se expande para incorporar más datos sobre archivos, jamás volverá a su tamaño anterior, aunque sí aprovecha los huecos dejados por los datos de archivos borrados para registrar otros nuevos. Un MFT fragmentado necesita lecturas adicionales del volumen. Por esta razón  todo volumen debe defragmentarse regularmente para asegurar que MFT no crezca desproporcionadamente . El problema de la fragmentación en Windows servidor – Master File Table (MFT)

Gestión de Almacenamiento

  • 1.
  • 2.
    El sistema degestion de ficheros proporciona las abstraciones de recursos asociadas al almacenamiento secundario. El sistema de gestion de ficheros proporciona una manera de organizar los datos como ficheros. Las solicitudes de entrada para las aplicaciones se efectuan por medio de un archivo. Las salidas son guardadas en un archivo de almacenamiento a largo plazo. Gestión de Ficheros
  • 3.
    Existencia a largoplazo Compartible entre procesos Estructura Propiedades del Sistema de Archivos
  • 4.
    Create Delete OpenClose Read Write Funciones y Atributos asociados a los Ficheros Propiedades Tiempo de creación Tiempo de la última modificación Privilegios de acceso Y otras
  • 5.
    Campo Es launidad más pequeña a la cual uno puede referirse en un programa. Desde el punto de vista del programador representa una característica de un individuo u objeto. Registro Colección de campos de iguales o de diferentes tipos. Estructura de un Fichero
  • 6.
    Archivos Colección deregistros almacenados siguiendo una estructura homogénea. Base de Datos     Es una colección de archivos interrelacionados, son creados con un DBMS. El contenido de una base de datos engloba a la información concerniente (almacenadas en archivos) de una organización, de tal manera que los datos estén disponibles para los usuarios, una finalidad de la base de datos es eliminar la redundancia o al menos minimizarla. Estructura de un Fichero
  • 7.
    Es el conjuntode software de sistema que proporciona servicios a los usuarios y las aplicaciones en el uso de ficheros. La forma en que un usuario de la aplicación puede acceder a archivos El Programador no necesita desarrollar software de gestión de archivos Sistema de Gestión de Ficheros
  • 8.
    Satisfacer las necesidadesde gestión de datos y los requisitos del usuario Garantizar que los datos del archivo son válidos Optimizar el rendimiento Proveer soporte de E/S para una variedad de tipos de dispositivo de almacenamiento Objetivos del Sistema de Gestión de Ficheros
  • 9.
    Reducir al mínimoo eliminar la posibilidad de que los datos se pierdan ó se destruyan. Proporcionar un conjunto normalizado de las rutinas de interfaz de E/S. Proporcionar soporte de E/S para múltiples usuarios. Objetivos del Sistema de Gestión de Ficheros
  • 10.
    Cada usuario deberíaser capaz de crear, borrar, leer, escribir y modificar archivos Cada usuario puede tener controlado el acceso a otros archivos de usuarios Cada usuario puede controlar que tipo de accesos se permite a los usuarios sobre archivos Conjunto mínimo de requisitos
  • 11.
    Cada usuario deberíaser capaz de mover datos entre los archivos Cada usuario debería ser capaz de hacer una copia de seguridad y recuperar los archivos del usuario en caso de daños Cada usuario debería poder acceder a los archivos del usuario mediante el uso de nombres simbólicos Conjunto mínimo de requisitos
  • 12.
    Arquitectura Software deun Sistema de Ficheros Métodos de acceso Permite al usuario y las aplicaciones usar los registros de ficheros Inicia y finaliza las operaciones de E/S, planifica el disco Coloca bloques de datos entre la RAM y los Buffers Manejados de dispositivos (Drivers) comunicandose con su controladora ó canal.
  • 13.
    Identificar y localizarun archivo seleccionado Utilización de directorios para describir la ubicación de todos los archivos y sus atributos En sistema compartido describir el control de acceso de los usuarios Bloqueo de acceso a los archivos Asignar archivos a bloques libres Administrar almacenamiento gratuito disponible para los bloques Funciones de Gestión de Ficheros
  • 14.
    Corto tiempo deacceso Necesidad la hora de acceder a un registro único No es necesario para el modo por lotes Facilidad de actualización Archivo en CD-ROM no será actualizado, por lo que esta no es una preocupación Criterios para la organización de Ficheros
  • 15.
    Economía de almacenamiento Debería ser mínima la redundancia de los datos Simple mantenimiento Fiabilidad Criterios para la organización de Ficheros
  • 16.
    Fichero Apilado óPila Los datos se almacenan en el orden en que llegan El objetivo es acumular una masa de datos y guardarlo Los registros pueden tener diferentes campos No tiene estructura El acceso a registros es por la búsqueda exhaustiva Organización de Ficheros Estructura lógica de los registros determinada por la forma en que se acceden.
  • 17.
    Fichero Secuencial Registrosde longitud fija Los registros son iguales en logitud Todos los campos son iguales en orden y longitud Los nombres y longitudes de los campos son atributos de el archivo Un campo es el campo clave Identifica de forma exclusiva el registro Los registros se almacenan en secuencia del campo clave ¿Aplicaciones por lotes vs interactivas? Organización de Ficheros
  • 18.
    Fichero Secuencial IndexadoLos registros se organizan en secuencia (niveles indexados) basandose en un campo clave y un indice al fichero principal que da soporte al acceso aleatorio y un fichero de desbordamiento. Los nuevos registros son agregados al archivo de desbordamiento El registro del fichero principal tiene un puntero al archivo de desbordamiento Organización de Ficheros
  • 19.
    Fichero Indexado Eliminalas busquedas que se basan en un único campo Se usan multiples índices, uno por cada tipo de campo que puede estar sujeto a una busqueda Puede contener un índice exhasustivo que contiene una entrada por cada registro al fichero principal Puede contener un índice parcial que contiene entradas donde el campo de interés existe. Los registros son de longitud variable Organización de Ficheros
  • 20.
    Fichero de accesodirecto ó Hash Accede directamente a una dirección conocida, usa clave para cada registro pero no hay secuencialidad Los registros son de tamaño fijo La propia posición del objeto implica su valor Organización de Ficheros 50 valor(50)
  • 21.
    Contiene información sobrelos ficheros Atributos Ubicación Propiedades El directorio en sí es un archivo de propiedad del sistema operativo Proporciona correspondencia entre los nombres de los archivos y los propios archivos Directorios
  • 22.
    Lista de entradas,una para cada uno de los archivos Archivo Secuencial con el nombre del archivo que actúa como clave No proporciona ayuda en la organización de los archivos Fuerza al usuario a tener cuidado de no utilizar el mismo nombre para dos archivos diferentes Estructura de Directorio
  • 23.
    Información de loselementos de un Directorio Propietario, información de acceso y acciones permitidas Información de control de acceso Volumen, dirección de inicio, tamaño usado Información de Uso Fecha de creación, creador, fecha de última lectura de acceso, fecha de última modificación y otras Información de dirección Nombre, tipo, organización Información Básica
  • 24.
    Un directorio paracada usuario y un directorio maestro Un directorio maestro contiene una entrada para cada usuario Proporciona la dirección y el control de acceso a la información Cada directorio de usuario es una simple lista de los archivos de ese usuario No proporciona ayuda en la estructuración de las colecciones de archivos Esquema de dos niveles para un Directorio
  • 25.
    Directorio maestro (Root)del usuario con directorios por debajo de el. Cada directorio de usuario puede tener subdirectorios y archivos como entradas Jerárquico ó estructura en forma de árbol para un Directorio
  • 26.
    Directorio estructura enforma de árbol
  • 27.
    En un sistemamultiusuario, permite que los archivos se compartan entre los usuarios Dos cuestiones Derechos de acceso (Ninguno,W,R,X, Borrar, propietario) Gestión de acceso simultaneo (Exclusión mutua, Interbloqueos) Compartir Ficheros
  • 28.
    Bloques: Unidades deE/S con almacenamiento secundario Registros: Unidades lógicas de acceso a un fichero estructurado. Los registros se organizan como bloques. Dado el tamaño de un bloque se pueden usar tres métodos: Bloques y Registros
  • 29.
    Bloques Fijos Sonde longitud fija y permite almacenar un número integral de registros.=> fragmentación interna
  • 30.
    Bloques Expandidos deLongitud Variable Son de longitud variable, no se pierde espacio. Los registros se expanden a lo largo de dos pistas, repercutiendo en dos operaciones de E/S.
  • 31.
    Bloques No Expandidosde Longitud Variable Son de longitud variable sin expansión. Se malgasta espacio.
  • 32.
    Un fichero estacompuesto por una colección de bloques Que espacio debe ser asignado a los archivos ? Hay que realizar un seguimiento de los espacios disponibles para la asignación Gestión de Almacenamiento Secundario
  • 33.
    Varios aspectos estaninvolucrados en la asignación de ficheros: 1. Preasignación frente a asignación dinámica * Requiere que el tamaño máximo de un fichero sea declarado en tiempo de creación. * Estimar el valor en forma fiable ? (malgasto) * La gestión dinámica asigna espacio a un fichero en porciones cuando se necesite. Asignación de ficheros
  • 34.
    2. Tamaño dePorciones Una porción es la cantidad de unidades contiguas que se asignan a un fichero. * Se puede asignar una porción suficientemente grande para contener el fichero completo. ( Mejora el rendimiento - busquedas, tabla de asignacion de ficheros pequeña, contiguo y el espacio es dificil de reutilizar) * Para el espacio en el disco se puede asignar un bloque cada vez que se necesite. (No hay continuidad, porciones fijas en bloques, mayor flexibilidad, tabla de asignacion de ficheros grande) Asignación de ficheros
  • 35.
    3. Métodos deasignación de Ficheros Qué estructura ó tablas de datos usar para guardar trazas de porciones asignadas a un fichero? 1. Asignación Contigüa 2. Asignación Encadenada 3. Asignación Indexada Asignación de ficheros
  • 36.
    1. Asignacion ContigüaSe asigna un único conjunto contiguo de bloques en tiempo de creación de los ficheros. Preasignación de tamaño variable La tabla de asignación de ficheros necesita sólo una entrada para cada fichero, mostrando el bloque inicial y la longitud del fichero. Fragmentación externa Compactación para liberar espacio adicional Asignación de ficheros
  • 37.
  • 38.
  • 39.
    2. Asignacion EncadenadaLa asignación se realiza a nivel de bloques individuales. Cada bloque contiene un puntero al siguiente bloque de la cadena. La tabla de asignación de ficheros necesita sólo una entrada para cada fichero, mostrando el bloque inicial y la longitud del fichero. Se asignan bloques cuando se necesitan Cualquier bloque libre se puede añadir a una cadena No hay fragmentación externa porque solo se necesita un bloque a la vez Asignación de ficheros
  • 40.
  • 41.
    No existe principiode proximidad ¿Si es necesario traer varios bloques del fichero a la vez, se requiere acceder a diferentes partes del disco?. La solución es la consolidacion de ficheros periodicamente
  • 42.
    3. Asignacion IndexadaLa tabla de asignación de ficheros contiene un índice separado de un nivel por cada fichero; el índice tiene una entrada por cada porción asignada al fichero. El índice para un fichero se guarda en un bloque separado La asignación puede realizarse usando: * Bloques de tamaño fijo (No hay fragmentación Externa) * Porciones de tamaño variable (Mejora la proximidad) Asignación de ficheros
  • 43.
  • 44.
  • 45.
    La fragmentaciónde los archivos es consecuencia del modo habitual en que se van guardando los archivos en Windows , ya que éstos y sus modificaciones sucesivas se van almacenando en distintos sectores del disco según los espacios libres disponibles. Este hecho supone un grave cuello de botella que impide obtener un rendimiento óptimo de los sistemas. El resultado de la fragmentación es que nos encontramos los archivos y el espacio libre divididos en fragmentos, esparcidos por todo el disco. Esta situación se genera día a día por la actividad normal del disco – grabar archivos, comprimirlos, borrarlos, instalar aplicaciones, navegar por internet, etc.- y reduce cada vez más la eficiencia de las aplicaciones y del trabajo en la organización. ¿Cuánto tiempo puede llevar leer un documento fragmentado? El tiempo de lectura de un archivo fragmentado, respecto a cuando no lo está, es muchísimo mayor. Por ello la fragmentación afecta de forma tan directa al rendimiento de los sistemas. Qué es la Fragmentación ?
  • 46.
  • 47.
    Desfragmentador de DiscoLa mayoría de los clústeres son de espacio libre y contiguo. Blanco La mayoría de los clústeres forman parte de un archivo que no se puede mover de su ubicación actual. En los volúmenes formateados mediante la tabla de asignación de archivos (FAT), FAT32 o el sistema de archivos NTFS, las áreas verdes suelen representar archivos de paginación, denominados también archivos de intercambio. No obstante, en los volúmenes con formato del sistema de archivos NTFS, también pueden representar el espacio utilizado por el diario de cambios y el archivo de registro de NTFS. Verde La mayoría de los clústeres son archivos contiguos con clústeres en el grupo que sólo contiene clústeres de espacio libre y contiguo. Azul La mayoría de los clústeres forman parte de un archivo fragmentado. Rojo Descripción Color
  • 48.
    Se trata deun espacio de memoria virtual en el disco que se utiliza para intercambiar páginas. Es un suplemento de la memoria física RAM. No obstante, puesto que la velocidad de la memoria basada en el disco se mide en milisegundos y la memoria física RAM en nanosegundos, el Archivo de Paginación es 100.000 veces más lento que la RAM real y se puede convertir en el cuello de botella más importante para el rendimiento del sistema Windows . Además, si el Archivo de Paginación está fragmentado en múltiples piezas ocupa más espacio en disco y puede reducir la velocidad con la que se abren y cierran las aplicaciones . Defragmentar el Archivo de Paginación al arrancar el equipo no sólo aumenta la velocidad en la ejecución de páginas sino que además ofrece más espacio libre consolidado . Archivo de Paginación Windows PageFile
  • 49.
    Se debe gestionarel espacio que no está asignado a ningún archivo. Para esto es necesario saber qué bloques están disponibles, entonces hace falta una tabla de asignación e discos. Se utilizan tres técnicas de uso común: las tablas de asignación de bits, las secciones libres encadenadas y la indexación. Gestión del espacio libre
  • 50.
    1.Tablas de asignaciónde bits Utiliza un vector que contiene un bit por cada bloque del disco. Cada entrada igual a 0 es un bloque libre, si es un 1 corresponde a un bloque en uso. Tienen la ventaja de que es fácil encontrar un bloque libre o un grupo de bloques libres. La cantidad de memoria requerida para un mapa de bits en bloques se puede calcular como muestra la figura. Es recomendable ubicar la tabla de bits en la memoria, aún cuando la tabla de bits esté en la memoria, una búsqueda exhaustiva de la tabla puede reducir considerablemente el rendimiento del sistema de archivos. Gestión del espacio libre
  • 51.
    2.Secciones libres encadenadasPueden encadenarse juntas mediante un puntero y un valor de longitud en cada sección libre. No tiene necesidad de una tabla de asignación de disco, sino un puntero al comienzo de la cadena y la longitud de la primera sección. Este método sirve para todas las técnicas de asignación de archivos, si la asignación se realiza por bloques sólo hay que elegir el bloque libre del principio de la cadena y retocar el primer puntero o el valor de la longitud. Si la asignación se hace por secciones de longitud variable, puede usarse el algoritmo el primer ajuste. Este método tiene sus propios problemas, después de un tiempo de uso el disco llegará a estar fragmentado y muchas secciones serán de un solo bloque. Cada vez que asigna un bloque es necesario leer antes el bloque para recuperar el puntero al nuevo primer bloque libre antes de escribir datos sobre ese bloque, entonces se ralentizará mucho la creación del archivo. Gestión del espacio libre
  • 52.
    3. Indexación. Trataal espacio libre como si fuera un archivo y utiliza una tabla índice como la descrita en la asignación de archivos. Por eficiencia el índice debe trabajar con secciones de tamaño variables mejor que con bloques. De este modo habrá una entrada en la tabla para cada sección libre del disco. Este procedimiento ofrece un soporte eficaz para todos los métodos de asignación de archivos. Gestión del espacio libre
  • 53.
    Para un kernelUnix todos los archivos son flujos de bytes, cualquier estructura lógica interna será especificada por la aplicación, pero sí está contemplada estructura física de los archivos. Sistema de Archivos en Unix
  • 54.
    Regular u Ordinarios: contienen información creada por usuarios, aplicaciones o el sistema operativo. Directorios : son listas de nombres de archivo y punteros a nodos-i asociados. Están organizados jerárquicamente. Son realmente archivos ordinarios con privilegio especial de protección para que solo el sistema de archivos pueda escribir en ellos (programas de usuario tienen permiso de lectura). Especiales : se usan para acceder a dispositivos periféricos como impresoras, cada dispositivo de E/S tiene asociado un archivo especial. Tuberías con Nombre: pipes, es una utilidad de comunicación entre procesos. Enlace: Es un nombre alternativo de un fichero para un fichero existente Enlace Simbólico: Se trata de un fichero de datos que contiene el nombre del fichero al que enlaza Tipos de Archivos
  • 55.
    Todos los tiposde archivos son administrados por Unix por medio de nodos-i. Éste es una estructura de control que contiene información (permisos, atributos, información de control, etc.), de un archivo necesaria para el sistema operativo. Puede asociarse varios nombres de archivo a un mismo nodo-i, pero un nodo-i activo se puede asociar con un único archivo (cada uno es controlado por un solo nodo-i). Nodos - i
  • 56.
  • 57.
    Los archivos seasignan en bloques dinámicamente según sea necesario, por ello no hay asignación previa. Por esto los bloques pueden no ser contiguos, y se usa un método de indexación para “formar” un archivo: Un índice en parte guardado en el nodo-i, 39 bytes de información de dirección, organizada como 13 direcciones; las primeras 10 direcciones apuntan los primeros 10 bloques de datos del archivo, si éste es más grande que 10 bloques se usan más niveles de indexación llamados “indirectos”. A considerar: Asignación de Archivos
  • 58.
      La dirección11 del nodo-i apunta a un bloque del disco que contiene la siguiente parte del índice, este bloque es llamado “indirecto simple” y contiene los punteros a los siguientes bloques que forman el archivo. Si el archivo contiene más bloques: la dirección 12 del nodo-i apuntará a un bloque “indirecto doble” que contendrá una lista de direcciones de bloques “indirectos simples” adicionales. Si el archivo tiene aún más bloques: la dirección 13 del nodo-i apuntará a un bloque “indirecto triple” que consiste en un tercer nivel que apunta a bloques “indirectos dobles” adicionales. Asignación de Archivos
  • 59.
  • 60.
    El número totalde bloques de un archivo depende de la capacidad de los bloques de tamaño fijo del sistema. Por ejemplo: en Unix System V la longitud de bloque es de 1KB y cada uno puede guardar 256 direcciones de bloques, por lo tanto el tamaño máximo de archivo sería cercano a 16 GB. Asignación de Archivos 10K 256K 65M 16G 10 256 256*256=65K 256*65K=16M Directo Simple Indirecto Doble Indirecto Triple Indirecto Número de bytes Número de bloques Nivel
  • 61.
      Son detamaño fijo y pequeños por lo que pueden permanecer en memoria principal largos períodos. Se accede a archivos pequeños de modo directo o indirecto reduciendo el tiempo de acceso al disco. El tamaño máximo teórico de un archivo satisface los requerimientos de la mayoría de las aplicaciones. Ventajas de los Nodos-i
  • 62.
    Los directorios seestructuran como un árbol jerárquico. Cada entrada de directorio contiene un nombre para el fichero asociado más un entero llamado el número-i (número índice). Directorios
  • 63.
    Bloque de arranqueSuperbloque Tabla de Nodos-i Bloques de datos Un sistema de ficheros UNIX reside en un único disco lógico ó partición de disco y se compone de los siguientes elementos: Bloque de arranque : Contiene el código requerido para arrancar el sistema operativo. Superbloque : Contiene atributos e información sobre el sistema de ficheros, tal como el tamaño de la partición y el tamaño de la tabla de nodos-i. Tabla de nodos-i : La colección de nodos-i para cada fichero. Bloques de datos : El espacio de almacenamiento disponible para los ficheros de datos y subdirectorios. Estructura del Volumen
  • 64.
    Soporta una granvariedad de sistema de gestión de ficheros y estructuras de ficheros VFS Proporciona una interfaz uniforme del sistema de archivos para los procesos de usuario VFS define un modelo de ficheros común que es capaz de representar cualquier característica general y comportamiento de un sistema de ficheros concebible. VFS asume que los ficheros son objetos de un sistema de alamcenamiento masivo del computador que comparten propiedades básicas sin tener en cuenta el sistema de ficheros concreto ó el hardware subyacente. Sistema de Ficheros Virtual Linux
  • 65.
  • 66.
    Objeto superbloque Representaun sistema de ficheros montado específico. Objeto nodo-i Representa un fichero específico. Objeto entrada de directorio Representa una entrada de directorio específica. Objeto de fichero Representa un fichero abierto asociado con un proceso. Tipos de Objetos primarios en VFS
  • 67.
    Esta pensado paraalcanzar requisitos de altas prestaciones en estaciones de trabajo y servidores Caracteristicas clave de NTFS Recuperación Securidad Discos y ficheros grandes Multiples flujos de datos Facilidad general de indexación Sistema de Ficheros de Windows
  • 68.
    NTFS hace usode los siguientes conceptos de almacenamiento de disco: Sector La unidad física de almacenamiento más pequeña en disco. Agrupación Uno ó más sectores contiguos Volumen Una partición lógica de un disco Volúmenes NTFS y Estructura de Ficheros
  • 69.
    Sector de arranquede la partición MFT Ficheros del sistema Área de Ficheros Sector de arranque de la partición : Contiene información sobre la estructura del volumen, las estructuras del sistema de ficheros, la información de arranque de inicio y el código. Tabal Maestra de Ficheros MFT : Contiene información sobre todos los ficheros y carpetas, así como la información sobre el espacio disponible no asignado. Ficheros del Sistema : se encuentran ficheros del sistema como MFT2, fichero del registro, mapa de bits de las agrupaciones y la tabal de definición de atributos. Estructura del Volumen
  • 70.
  • 71.
    NTFS (Windows NTFile System) fue desarrollado específicamente para Windows . Se trata de un sistema de archivos seguro y eficiente que soporta la arquitectura cliente-servidor. Pero NTFS, contrariamente a lo que se cree, es vulnerable a la fragmentación. Cuando NTFS escribe un archivo en un disco, deja un espacio libre a continuación para poder seguir escribiendo en ese mismo archivo en el futuro sin tener que fragmentarlo. Esto es así hasta que el espacio en disco se agota y es necesario escribir los nuevos archivos en esos huecos que se fueron dejando previamente. Por otro lado, NTFS registra todos los contenidos de un volumen en un archivo llamado Master File Table (MFT) . Éste se compone exclusivamente de registros sobre los archivos, asignando un puntero a cada archivo. Si un archivo tiene un gran número de atributos o se encuentra altamente fragmentado, puede que necesite más de un puntero en MFT. Al añadir más archivos y registros a un volumen, MFT se va expandiendo, lo que permite a NTFS soportar discos enormes con gran número de archivos. Esto hace que MTF también pueda fragmentarse en el disco . Hay que destacar que una vez que MFT se expande para incorporar más datos sobre archivos, jamás volverá a su tamaño anterior, aunque sí aprovecha los huecos dejados por los datos de archivos borrados para registrar otros nuevos. Un MFT fragmentado necesita lecturas adicionales del volumen. Por esta razón todo volumen debe defragmentarse regularmente para asegurar que MFT no crezca desproporcionadamente . El problema de la fragmentación en Windows servidor – Master File Table (MFT)