Your SlideShare is downloading. ×
Tema5
Tema5
Tema5
Tema5
Tema5
Tema5
Tema5
Tema5
Tema5
Tema5
Tema5
Tema5
Tema5
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×
Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

Tema5

194

Published on

Published in: Education
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
194
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
4
Comments
0
Likes
0
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  1. Tema 5. El sistema de ficheros 1. Visión del usuario. 1. Concepto de fichero. 2. Organización lógica de los ficheros. 3. Estructura del sistema de ficheros. 4. Generalización de los servicios del sistema de ficheros. 2. Organización del espacio. 1. Asignación contigua. 2. Asignación no contigua. 3. Gestión del espacio libre. 3. Gestión de ficheros. 1. Estructura interna de un directorio. 2. Implantación de enlaces. 4. Integridad y protección del sistema de ficheros. 1. Seguridad e integridad. Métodos. 2. Protección. Mecanismos.Área de Lenguajes y Sistemas Informáticos (E.G.R.) 1. Visión del usuario (I) 1.1. Concepto de fichero. (I) Definiciones: un fichero es un conjunto de información con cierta entidad y con vista a su conservación y a su utilización en un entorno informático. A la información contenida en un fichero se puede referenciar como un todo mediante un nombre que se le asocia a cada fichero y que lo identifica. el sistema de ficheros es la parte del S. O. encargada de gestionar los datos almacenados en el almacenamiento secundario. Funciones que debe ofrecer el sistema de ficheros: 1. permitir que los usuarios puedan crear, borrar y modificar sus ficheros; 2. permitir que los usuarios puedan compartir sus ficheros de una forma controlada; 3. proporcionar varios tipos de acceso controlado a la hora de la compartición;Área de Lenguajes y Sistemas Informáticos (E.G.R.)
  2. 1. Visión del usuario (II) 1.1. Concepto de fichero. (II) Funciones que debe ofrecer el sistema de ficheros: 4. permitir que los usuarios puedan estructurar sus ficheros; 5. permitir que los usuarios puedan ordenar la transferencia de información entre ficheros; 6. proporcionar recursos para realizar respaldos y recuperaciones de información; 7. permitir que los usuarios puedan referenciar sus ficheros mediante nombres simbólicos; 8. proporcionar posibilidades de cifrado y descifrado para conseguir seguridad y privacidad; 9. ofrecer al usuario una interfaz amable, ofreciendo una vista lógica de los datos y de las funciones que se pueden realizar con ellos; 10. efectuar las operaciones sobre los datos de forma independiente al dispositivo; 11. gestionar la memoria secundaria.Área de Lenguajes y Sistemas Informáticos (E.G.R.) 1. Visión del usuario (III) 1.2. Organización lógica de los ficheros. Definición: la organización lógica de un fichero se refiere a la manera en que se disponen sus registros dentro del almacenamiento secundario, en base a realizar un acceso a nivel lógico. Organizaciones comunes: A. Acceso secuencial: la información del fichero se procesa en orden consecutivo, por ello una operación de lectura leerá el siguiente registro y una operación de escritura añadirá el registro al final del fichero. B. Acceso directo: se accede a los registros de un fichero sin seguir un orden particular, sino usando una clave. Si la clave es única existen dos métodos de búsqueda: 1. Direccionamiento disperso: se usa una función que tomando como entrada la clave devuelve la dirección física de ese registro; 2. Fichero indexado: se usa una tabla índice en donde es significativo el orden de las claves.Área de Lenguajes y Sistemas Informáticos (E.G.R.)
  3. 1. Visión del usuario (IV) 1.3. Estructura del sistema de ficheros. (I) El nombre simbólico de un fichero puede estar formado por una raíz y una extensión. Un directorio es una estructura que permite organizar los ficheros de un sistema. Los nombres simbólicos de los ficheros deben ser únicos dentro del directorio. Para identificar un fichero es necesario dar su dirección completa partiendo del directorio raíz (pathname o ruta de acceso). (Ejemplo: Directorio1Directorio3Fichero4) Raíz () Directorio2 Fichero1 Directorio1 Fichero2 Directorio3 Fichero3 Fichero4Área de Lenguajes y Sistemas Informáticos (E.G.R.) 1. Visión del usuario (V) 1.3. Estructura del sistema de ficheros. (II) Conceptos: 1. Directorio de trabajo (working directory o directorio activo). Se puede dar la dirección de un fichero a partir del directorio de trabajo (ruta de acceso relativa). (Ejemplo: si el directorio de trabajo es Directorio1 Directorio3Fichero4) 2. Lista de búsqueda. A cada proceso se le asigna una lista de direcciones de directorios, de forma que si el proceso hace referencia a un fichero y este no esta en su directorio de trabajo, se busca en los directorios que indica dicha lista de búsqueda. 3. Ficheros que hacen referencia a dispositivos de E/S. 4. Enlace (Link). Es un mecanismo que permite que un determinado fichero se vea en dos puntos distintos de la estructura sin necesidad de que existan dos copias del mismo fichero. Raíz () Directorio1 Directorio2 Fichero1 Fichero2Área de Lenguajes y Sistemas Informáticos (E.G.R.)
  4. 1. Visión del usuario (VI) 1.4. Generalización de los servicios del sistema de ficheros. Gestión de directorios: 1. crear un directorio; 2. borrar un directorio; 3. visualizar los elementos que dependen de un directorio; 4. (opcional) cambiar el nombre de un directorio. Gestión del directorio de trabajo: 1. visualizar el directorio de trabajo actual; 2. modificar el directorio de trabajo. Gestión de la lista de búsqueda: 1. visualizar la lista de búsqueda actual; 2. modificar la lista de búsqueda. Gestión de enlaces: 1. crear un enlace; 2. borrar un enlace.Área de Lenguajes y Sistemas Informáticos (E.G.R.) 2. Organización del espacio (I) 2.1. Asignación contigua. (I) Definición: la asignación contigua consiste en asignarle a un fichero un área contigua del almacenamiento secundario. Se requiere que el usuario especifique por adelantado el tamaño del área necesaria para almacenar el fichero que va a crear. Ventajas: 1. minimiza el tiempo de acceso: el tiempo requerido para el intercambio de información entre el disco y la memoria principal, o viceversa, necesita el mínimo número de desplazamientos de la cabeza del disco y el rotacional; 2. facilita la implementación de los directorios: basta almacenar por cada fichero su dirección de comienzo y su longitud. Desventaja: 1. presenta fragmentación externa: requiriendo la combinación de huecos adyacentes y la compactación de memoria periódicamente.Área de Lenguajes y Sistemas Informáticos (E.G.R.)
  5. 2. Organización del espacio (II) 2.1. Asignación contigua. (II) Este esquema es útil cuando no son frecuentes las creaciones, destrucciones y cambios de tamaño de los ficheros. Libre Fichero A Fichero A Libre Fichero B Libre Fichero B Fichero C Aumenta el tamaño Fichero C del fichero BÁrea de Lenguajes y Sistemas Informáticos (E.G.R.) 2. Organización del espacio (III) 2.2. Asignación no contigua. (I) Definición: la asignación no contigua consiste en alojar los ficheros partidos en una serie de trozos del mismo tamaño (bloques), no ocupando necesariamente áreas contiguas del almacenamiento secundario. Tamaño del bloque: compromiso entre el aprovechamiento de la memoria y la obtención de una buena velocidad de transferencia. A. tamaño del bloque grande: se desperdicia memoria ya que los ficheros, sobre todo los pequeños, no conseguirán ocupar todo el bloque; B. tamaño del bloque pequeño: cuanto mayor sea el tamaño del fichero mayor será el número de bloques que se le deben asignar y como estos no se graban contiguos, entonces el tiempo de acceso a ellos será mayor puesto que existe un retardo en el desplazamiento de la cabeza del disco.Área de Lenguajes y Sistemas Informáticos (E.G.R.)
  6. 2. Organización del espacio (IV) 2.2. Asignación no contigua. (II) Formas de asignar espacio: 1. Asignación encadenada: en cada bloque se reserva un espacio en donde se guarda la dirección del siguiente bloque del fichero. El último bloque del fichero se indica siguiendo algún criterio preestablecido. 370 540 La dirección del primer bloque se encuentra en el directorio donde cuelga el fichero. 112 FIN Inconvenientes: 1. desperdicio de memoria; 540 112 2. sirve solo para realizar acceso secuencial y no directo; 3. la estructura empleada es bastante vulnerable.Área de Lenguajes y Sistemas Informáticos (E.G.R.) 2. Organización del espacio (V) 2.2. Asignación no contigua. (III) Variante de la asignación encadenada: toda la información que contiene los bloques son datos del fichero, almacenándose los apuntadores en una tabla de asignación de ficheros (FAT). Esta tabla tiene tantas casillas como número de bloques en los que se ha dividido el disco, y cada una de ellas contendrá el puntero al siguiente bloque lógico dentro del disco. FAT Tabla de ficheros Si el disco es pequeño entonces almacenados en disco 1 se puede mantener la tabla FAT 112 FIN en memoria principal. … Si el tamaño del disco es muy 370 grande, entonces la FAT no se 370 540 podrá mantener en memoria … principal siendo necesario tener 540 112 que ir descargándola y cargándola por partes. …Área de Lenguajes y Sistemas Informáticos (E.G.R.)
  7. 2. Organización del espacio (VI) 2.2. Asignación no contigua. (IV) 2. Asignación indexada: cada fichero tiene asociada una pequeña tabla (índice) con la que se mantiene la estructura de sus bloques. Lectura secuencial: se lee la dirección del primer elemento de la tabla de índices y se accede al primer bloque de 370 datos, luego se lee la dirección 370 del segundo elemento de dicha 540 tabla para leer el segundo 112 bloque de datos, y así 112 sucesivamente. 540 Lectura directa: se realiza buscando en la tabla la dirección del bloque de datos que se desea leer para acceder a él a continuación.Área de Lenguajes y Sistemas Informáticos (E.G.R.) 2. Organización del espacio (VII) 2.2. Asignación no contigua. (V) Problema: la tabla de índices se almacena en otro bloque del disco, limitando el tamaño del bloque el tamaño de la tabla y como consecuencia el número de bloques de datos que compone el fichero. Solución: cuando el bloque de índices se completa y el fichero necesita crecer se coloca un segundo nivel de índices contenido en otro bloque, de forma que la primera entrada de ese bloque direcciona el bloque que contiene la tabla anterior; y la segunda entrada direccionará a la segunda tabla de índices y así sucesivamente. Bloques de datos Bloques de índicesÁrea de Lenguajes y Sistemas Informáticos (E.G.R.)
  8. 2. Organización del espacio (VIII) 2.3. Gestión del espacio libre. (I) Tipo de asignación: 1. Asignación contigua. Mantener información sobre los huecos y tramos ocupados. 2. Asignación no contigua. Procedimientos: A. mapa del disco: estructura de datos almacenada en una zona concreta del disco, cuyo tamaño es de tantos bits como bloques tiene el disco. Los bloques libres se representan con el valor 1 y los bloques ocupados con el valor 0 (o viceversa). B. usar la FAT: los bloques libres están marcados con algún distintivo. 1 NIL 2 FIN FAT … NIL 370 2Área de Lenguajes y Sistemas Informáticos (E.G.R.) … NIL 2. Organización del espacio (IX) 2.3. Gestión del espacio libre. (II) C. lista de bloques libres. Comparación: Si existen muchos bloques libres, la lista de bloques ocupa más espacio del disco que el mapa, ya que una dirección ocupa más que los bits del mapa. Si el disco esta dividido en un gran número de bloques, el mapa del disco, por su tamaño, no se puede mantener en memoria principal para realizar su gestión, mientras que si se usa una lista de bloques basta con mantener la cabecera de esta en memoria principal, gestionándola como una cola (se elige el primer bloque de la lista).Área de Lenguajes y Sistemas Informáticos (E.G.R.)
  9. 3. Gestión de ficheros (I) 3.1. Estructura interna de un directorio. (I) Un directorio se implementa generalmente mediante una tabla, donde cada fila corresponde a uno de los elementos que cuelga de ese directorio. Con esta tabla se puede obtener: conocimiento sobre los elementos que dependen del directorio; acceso a un elemento directamente: si el elemento es un directorio se obtendrá la dirección donde comienza la tabla que lo representa; en caso de que sea un fichero se obtendrá la dirección de comienzo de su tabla de índices o la dirección del primer bloque del fichero, dentro de la FAT o directamente al bloque del disco que lo contiene; localización de un fichero o directorio dada su ruta de acceso: se comienza buscando en la tabla del directorio raíz la dirección de la segunda referencia del pathname y así sucesivamente hasta hallar el componente requerido o producirse un error debido a que alguna de las referencias no se encuentren en sus respectivas tablas. En dicha tabla se guarda información esencial de cada uno de los elementos: tamaño del fichero, fecha de creación y de último acceso, tipo de fichero, etc.Área de Lenguajes y Sistemas Informáticos (E.G.R.) 3. Gestión de ficheros (II) 3.1. Estructura interna de un directorio. (II) UNIX solo almacena el nombre simbólico del fichero y el número de inode, ya que además gestiona la tabla de inodes donde guarda la información esencial de cada fichero: tamaño, propietario del fichero y las direcciones para localizar los bloques de datos del fichero en el disco. Existen trece direcciones que se ajustan al siguiente esquema: 1 2 . 3 . 4 Direcciones 5 . directas 6 . . 7 8 . . ... 9 ... 10 ...Indirecta simple 11 ... . Indirecta doble 12 . . ... Indirecta triple 13 ... . ...Área de Lenguajes y Sistemas Informáticos (E.G.R.)
  10. 3. Gestión de ficheros (III) 3.2. Implantación de enlaces. Formas de representar un enlace: 1. Se crea un archivo de tipo enlace dependiendo del directorio donde se crea el enlace, cuyo contenido es la ruta absoluta de acceso al archivo al cual se enlaza. 2. Unix almacena en la estructura con la que se implementa el directorio del cual depende el enlace, el número del inode del fichero correspondiente, es decir, apunta a la tabla de inodes.Área de Lenguajes y Sistemas Informáticos (E.G.R.) 4. Integridad y protección del sistema de ficheros (I) 4.1. Seguridad e integridad. Métodos. (I) Definición: la integridad se refiere a que la información que contiene todo el sistema de ficheros debe ser consistente. Problemas: 1. Fallo en la superficie del dispositivo: el sistema de ficheros queda incompleto. 2. Errores en la lectura o escritura de la información: el sistema de ficheros queda integro pero no consistente. 3. Fallo del sistema global: el sistema de ficheros queda no consistente.Área de Lenguajes y Sistemas Informáticos (E.G.R.)
  11. 4. Integridad y protección del sistema de ficheros (II) 4.1. Seguridad e integridad. Métodos. (II) Métodos: 1. Copias de seguridad (backup). Tipos: Copias globales periódicamente: cada cierto tiempo se graba manualmente todo el sistema de ficheros. El proceso de recuperación consiste en cargar la última copia global realizada. Copias increméntales: se realizan copias globales más espaciadas y durante ese tiempo solo se copian las modificaciones que se producen. Para ello, el Sistema Operativo mantendrá la fecha de la última vez que se modifico cada componente y también la de la última copia incremental. El proceso de recuperación se ralentiza: se carga la última copia global y se añade a ella todas la modificaciones que indican las copias incrementales siguientes, siguiendo el mismo orden en que se grabaron.Área de Lenguajes y Sistemas Informáticos (E.G.R.) 4. Integridad y protección del sistema de ficheros (III) 4.1. Seguridad e integridad. Métodos. (III) 2. Tratamiento atómico estable. La información del sistema de ficheros esta duplicada en dos conjuntos de dispositivos idénticos. Requiere un mayor número de dispositivos (coste) y un mayor tiempo de acceso, ya que se debe realizar las actualizaciones en ambas copias, primero en una de ellas y cuando se compruebe que esta bien hecha, será el momento en que se actualice la otra copia. 3. Tratamiento diferencial de los ficheros. Asegura la integridad de cada fichero mientras se esta usando, ya que consiste en usar un nuevo bloque para almacenar la información modificada de uno ya existente y no rescribirlo.Área de Lenguajes y Sistemas Informáticos (E.G.R.)
  12. 4. Integridad y protección del sistema de ficheros (IV) 4.1. Seguridad e integridad. Métodos. (IV) En asignación indexada, cada dirección a un bloque tiene un campo que indica si ese bloque esta modificado o no. Si se modifica el contenido del bloque se toma un nuevo bloque, añadiendo su dirección a la tabla y modificando el campo citado anteriormente. Al terminar de trabajar con el fichero es cuando se actualizan las direcciones a los bloques ya modificados, se inicializan el campo modificado a no modificado, y se liberan los bloques antiguos. Bit Dirección Dirección modificado bloque antiguo bloque nuevoÁrea de Lenguajes y Sistemas Informáticos (E.G.R.) 4. Integridad y protección del sistema de ficheros (V) 4.1. Seguridad e integridad. Métodos. (V) 4. Utilidades que comprueben la consistencia de la estructura de datos que soporta el sistema de ficheros. Posibles errores que detectan: si un mismo bloque pertenece a dos ficheros distintos, si un bloque designado como libre esta asignado también a un fichero, etc. Generalmente estas utilidades se ejecutan cuando se producen errores al acceder a los ficheros. Con estas utilidades no se comprueba la consistencia del contenido de los ficheros.Área de Lenguajes y Sistemas Informáticos (E.G.R.)
  13. 4. Integridad y protección del sistema de ficheros (VI) 4.2. Protección. Mecanismos. (I) Definición: la protección se refiere al control que debe realizar el Sistema Operativo sobre el uso que hacen los usuarios de la información existente en el sistema de ficheros. Mecanismos: 1. Uso de contraseñas. La información es propiedad de los usuarios no de los procesos, aunque son estos los que piden acceso a esa información. El Sistema Operativo determina el usuario al que pertenece cada proceso de la siguiente forma: cuando el usuario se conecta se debe identificar (nombre de usuario y contraseña) y en ese momento se crea un proceso que se le asocia a dicho usuario. Este proceso creará otros procesos dependiendo de él, de forma que todos ellos pertenecen al mismo usuario.Área de Lenguajes y Sistemas Informáticos (E.G.R.) 4. Integridad y protección del sistema de ficheros (VII) 4.2. Protección. Mecanismos. (II) 2. Lista de control de acceso (ACL). El Sistema Operativo mantiene de cada elemento del sistema una lista de control de acceso formada por pares de usuarios-operaciones permitidas (leer, ejecutar, añadir y modificar), de forma que antes de admitir el acceso de un usuario a un elemento se comprueba si ese usuario esta en la lista de ese elemento y que la operación que solicita también está. Cada vez que se crea un elemento del sistema de ficheros se le asocia una lista de control de acceso por defecto que consiste en el usuario que lo crea con todas las operaciones. Esta lista se puede modificar. Además, existe un usuario privilegiado (superusuario) que cuando accede a un elemento del sistema de ficheros, el Sistema Operativo no comprueba si esta en la lista de acceso de dicho elemento, permitiéndole de esta forma acceder a todo el sistema. Es por ello el encargado de realizar las copias de seguridad y de reorganizar el sistema de ficheros.Área de Lenguajes y Sistemas Informáticos (E.G.R.)

×