fso-05-sistemas de archivos - ulpgcsopa.dis.ulpgc.es/so/teoria/pdf/fso-05-sistemas de... ·...

9
1 Sistemas Operativos Tema 5. Sistemas de archivos 1 © 1998-2014 José Miguel Santos – Alexis Quesada – Francisco Santana – Belén Esteban Contenidos Interfaz del sistema de archivos Implementación del sistema de archivos 2 Interfaz del sistema de archivos Concepto de archivo/fichero Métodos de acceso Directorios Protección 3 Necesidad de gestionar el almacenamiento no volátil SISTEMA DE COMPUTACIÓN necesitad de almacenar y recuperar información Característica fundamental del medio de almacenamiento: NO VOLATILIDAD Variedad de medios donde almacenar información: discos magnéticos, cintas magnéticas, discos ópticos, etc... Ventaja Permite elegir el medio más adecuado en función de las necesidades particulares: cantidad de información a almacenar, velocidad de acceso, fiabilidad, etc... Desventaja Requiere conocer las particularidades de cada medio 4 Concepto de archivo Solución: Sistema Operativo abstraiga las propiedades físicas de sus dispositivos de almacenamiento ¿Cómo? Definiendo una unidad de almacenamiento lógica, el ARCHIVO Definiciones Un almacén persistente de información accesible mediante un nombre Es una abstracción cómoda del almacenamiento secundario (tipo abstracto de datos): Oculta la realidad física del almacenamiento (cintas, discos, etc...) Sirve para organizar la información como lo hacemos las personas 5 Concepto de archivo En general un archivo es una secuencia de bits cuyo significado el creador y usuario define SISTEMA DE ARCHIVOS: conjunto de módulos del SO que se encargan de la gestión de la información (archivos) 6

Upload: others

Post on 29-Jul-2020

4 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: FSO-05-Sistemas de archivos - ULPGCsopa.dis.ulpgc.es/so/teoria/pdf/FSO-05-Sistemas de... · 2014-05-15 · ACCESO SECUENCIAL # Se basa en un modelo de archivo de cinta ! ACCESO DIRECTO

1

Sistemas Operativos Tema 5. Sistemas de archivos

1

© 1998-2014 José Miguel Santos – Alexis Quesada – Francisco Santana – Belén Esteban

Contenidos

n  Interfaz del sistema de archivos

n  Implementación del sistema de archivos

2

Interfaz del sistema de archivos

n  Concepto de archivo/fichero

n  Métodos de acceso

n  Directorios

n  Protección

3

Necesidad de gestionar el almacenamiento no volátil n  SISTEMA DE COMPUTACIÓN à necesitad de

almacenar y recuperar información n  Característica fundamental del medio de

almacenamiento: NO VOLATILIDAD n  Variedad de medios donde almacenar información:

discos magnéticos, cintas magnéticas, discos ópticos, etc... q  Ventaja

n  Permite elegir el medio más adecuado en función de las necesidades particulares: cantidad de información a almacenar, velocidad de acceso, fiabilidad, etc...

q  Desventaja n  Requiere conocer las particularidades de cada medio

4

Concepto de archivo

n  Solución: q  Sistema Operativo abstraiga las propiedades físicas de sus

dispositivos de almacenamiento q  ¿Cómo?

n  Definiendo una unidad de almacenamiento lógica, el ARCHIVO n  Definiciones

q  Un almacén persistente de información accesible mediante un nombre

q  Es una abstracción cómoda del almacenamiento secundario (tipo abstracto de datos): n  Oculta la realidad física del almacenamiento (cintas, discos,

etc...) n  Sirve para organizar la información como lo hacemos las

personas

5

Concepto de archivo

n  En general un archivo es una secuencia de bits cuyo significado el creador y usuario define

n  SISTEMA DE ARCHIVOS: conjunto de módulos del SO que se encargan de la gestión de la información (archivos)

6

Page 2: FSO-05-Sistemas de archivos - ULPGCsopa.dis.ulpgc.es/so/teoria/pdf/FSO-05-Sistemas de... · 2014-05-15 · ACCESO SECUENCIAL # Se basa en un modelo de archivo de cinta ! ACCESO DIRECTO

2

Atributos de archivo

n  Aparte de su contenido, todo archivo tiene atributos que lo describen: q  Nombre (cadena de caracteres)

q  Tipo de archivo (necesario en sistemas que reconocen distintos tipos)

q  Ubicación en el dispositivo

q  Tamaño

q  Información de protección q  Fechas, horas e identificación del usuario

7

Directorios

n  ¿ Qué estructura nos permite organizar y acceder a los archivos ?

n  Los atributos de los archivos deben guardarse en alguna estructura: DIRECTORIO O TABLA DE CONTENIDOS

n  Los directorios al igual que los archivos deben ser no volátiles ➜ se almacenan en disco

n  Deben traerse a memoria cuando se necesitan

8

Operaciones sobre archivos

n  ARCHIVO: TAD = ATRIBUTOS + OPERACIONES

n  OPERACIONES TIPICAS: q  Creación / Destrucción

q  Lectura / Escritura

q  Situarse dentro del archivo (por posición o por clave)

q  Cambiar atributos

9

Operaciones sobre archivos

n  La mayor parte de las operaciones implican buscar la entrada en el directorio asociada al archivo

n  Mejora: operaciones para abrir y cerrar archivos q  Tabla de archivos abiertos q  Indice, puntero o descriptor de fichero

n  Operación apertura de un fichero n  Entorno multiusuario ?

10

Tipos y estructuras de archivos

n  La información guardada puede ser de muchos tipos q  Técnica común para implementar los tipos de

archivos es incluir el tipo como parte del nombre del archivo (extensión)

n  Según el tipo de archivo à estructura interna q  ¿ Debe el SO reconocer y manejar la estructura

interna de diferentes tipos de archivos que pueden existir en un sistema?

n  Todos los S.O. deben reconocer al menos una estructura : la de un ARCHIVO EJECUTABLE

11

Métodos de acceso n  Archivo: secuencia de registros lógicos de longitud fija

n  ¿De qué manera se accede a la información almacenada en los archivos? q  Algunos SO ofrecen un solo método de acceso mientras que otros

ofrecen diferentes métodos de acceso

n  ACCESO SECUENCIAL q  Se basa en un modelo de archivo de cinta

n  ACCESO DIRECTO o RELATIVO q  Se basa en el modelo de archivo de disco

n  ACCESO INDEXADO q  Requiere de estructuras adicionales: tablas de indices

12

Page 3: FSO-05-Sistemas de archivos - ULPGCsopa.dis.ulpgc.es/so/teoria/pdf/FSO-05-Sistemas de... · 2014-05-15 · ACCESO SECUENCIAL # Se basa en un modelo de archivo de cinta ! ACCESO DIRECTO

3

Directorios n  Sistema de Archivos à Miles de archivos

n  ¿Cómo los organizamos?

n  Particiones/Minidiscos/Volúmenes

n  Directorio de dispositivo, Tabla de Contenido del Volumen o simplemente Directorio

13

Operaciones sobre directorios

n  Buscar un archivo por nombre

n  Crear archivos

n  Borrar Archivos

n  Renombrar archivos

n  Listar el directorio

n  Recorrer el sistema de ficheros

14

Organización de directorios

n  Único nivel (espacio plano)

n  Dos niveles

n  Arbóreo

n  Grafo acíclico (enlaces)

n  Grafo general (enlaces sin restricciones)

15

Directorio de nivel único

n  Estructura de directorio más sencilla: todos los archivos se guardan en el mismo directorio

n  Problemas: n  Conflictos de nombres (al aumentar el numero de ficheros)

n  Mala organización en sistemas multiusuario

n  El tiempo de búsqueda tiende a aumentar

16

Directorio de dos niveles

n  Desventaja principal de la estructura de nivel único à confusión de nombres entre diferentes usuarios

n  Solución natural à un directorio por usuario

17

Directorio de dos niveles

n  Se resuelve el problema de conflictos de nombres (entre diferentes usuarios)

n  Problema: compartir información (algunos sistemas impiden el acceso a los directorios de otros usuarios)

n  Aparece el concepto de ruta (path)

n  Archivos de sistema à usuario especial

18

Page 4: FSO-05-Sistemas de archivos - ULPGCsopa.dis.ulpgc.es/so/teoria/pdf/FSO-05-Sistemas de... · 2014-05-15 · ACCESO SECUENCIAL # Se basa en un modelo de archivo de cinta ! ACCESO DIRECTO

4

Directorio con estructura de árbol

n  Directorio de dos niveles à árbol de dos niveles

n  Generalización à árbol de altura arbitraria (subdirectorios)

19

Directorio con estructura de árbol

n  Se reducen al mínimo los conflictos de nombres

n  Directorio à archivo que se trata de manera especial

n  Los nombres de los archivos son rutas sobre el árbol de directorios: rutas absolutas o relativas

n  Aparece el concepto de “directorio de trabajo”

n  Política a seguir para la eliminación de directorios

n  “Caminos de búsqueda ” (facilita el hecho de que varios usuarios quieran compartir ficheros)

20

Directorios en grafo acíclico n  La estructura de árbol dificulta compartir archivos o

directorios

n  Se puede generalizar el esquema de directorio con estructura de árbol permitiendo a los directorios tener subdirectorios y archivos compartidos, sin ciclos

21

Directorios en grafo acíclico

n  ¿Cómo se puede implementar? n  Duplicar la información (complica la consistencia)

n  Nueva entrada de directorio: ENLACE o LINK (es un puntero a otro archivo o directorio)

n  Estructura de directorios de grafo acíclico es más flexible que un árbol sencillo pero más compleja n  Un mismo archivo podría tener diferentes nombres de camino

absoluto -> Copias de seguridad dobles???

n  Eliminación ➜ ¿ Cuándo puede liberarse o reutilizarse el espacio asignado a un archivo compartido ?

22

Directorios en grafo acíclico

23

Organización de directorios: resumen

Directorio doble nivel

Directorio estructura árbol

Directorio estructura grafo general n  Problemas

n  Evitar búsquedas repetidas n  Liberación de espacio al eliminar

un archivo n  Recolector de basuras (“Garbage

Colection”) n  Consume mucho tiempo y por ello

pocas veces se intenta

Usuarios pueden crear subdirectorios

Links

n  Caso particular n  Directorio grafo acíclico n  Requieren el uso de

algoritmos que detecten ciclos en grafos (problema: costoso en tiempo)

24

Page 5: FSO-05-Sistemas de archivos - ULPGCsopa.dis.ulpgc.es/so/teoria/pdf/FSO-05-Sistemas de... · 2014-05-15 · ACCESO SECUENCIAL # Se basa en un modelo de archivo de cinta ! ACCESO DIRECTO

5

Protección de archivos

n  Necesidad de mantener la seguridad de la información: n  De daños físicos (integridad)

n  Copias de seguridad

n  Accesos indebidos (privacidad)

n  Múltiples mecanismos según

n  Tipo sistema

n  Seguridad requerida

25

Protección

n  Muchos sistemas definen privilegios de uso: cada usuario solo puede realizar ciertas operaciones sobre un archivo (acceso controlado)

n  Tipo de operaciones n  Leer, Escribir, Ejecutar, Anexar, Eliminar, Listar

n  Diferentes mecanismos de protección n  Listas y grupos de acceso

n  Claves

n  Técnicas criptográficas

26

Implementación del sistema de archivos

n  Estructura del Sistema de Archivos

n  Métodos de Asignación

n  Administración del espacio libre

n  Implementación de directorios

27

Estructura del sistema de archivos

n  SISTEMA DE ARCHIVOS à reside de manera permanente en almacenamiento secundario

n  Con el objetivo de aumentar la eficiencia E/S à las transferencias entre la memoria y el disco se efectúan en unidades de bloques (uno o más sectores)

n  Discos à dos características importantes que los convierten en un medio cómodo para almacenar muchos archivos n  Leer bloque/ Modificarlo y volverlo a escribir (rescribir)

n  Se puede acceder directamente a cualquier bloque de información del disco

28

Organización del sistema de archivos

n  Un sistema de archivos presenta dos problemas de diseño muy distintos:

n  Definir que aspecto debe presentar el sistema de archivos a los usuarios (atributos, operaciones, estructura de directorios, etc...)

n  Definir los algoritmos y estructuras de datos que permiten mapear el sistema de ficheros lógico sobre los equipos físicos

29

Métodos de asignación de espacio

n  OBJETIVO: asignar espacio a ficheros de modo que el espacio en disco se aproveche de forma eficaz y se pueda acceder rápidamente a los archivos

n  Asignación Contigua

n  Asignación Enlazada

n  Asignación Indexada

30

Page 6: FSO-05-Sistemas de archivos - ULPGCsopa.dis.ulpgc.es/so/teoria/pdf/FSO-05-Sistemas de... · 2014-05-15 · ACCESO SECUENCIAL # Se basa en un modelo de archivo de cinta ! ACCESO DIRECTO

6

Asignación contigua

n  Cada fichero ocupa un conjunto de bloques contiguos en el disco (optimiza movimiento de las cabezas del disco)

n  Entrada de directorio para cada fichero n  Dirección del bloque inicial

n  Longitud del área asignada al archivo (nº bloques)

31

Asignación contigua

n  Permite manejar acceso tanto secuencial como directo

n  Dificultades

n  Encontrar espacio para la creación de un fichero

n  Algoritmos mas utilizados

n  Primer ajuste (First Fit)

n  Mejor ajuste (Best Fit)

n  Desde un punto de vista de aprovechamiento del espacio no existen diferencias pero el primero suele ser mas rápido

n  Problema ambos algoritmos: Fragmentación Externa n  Solución: Compactación (pero es una solución costosa)

32

Asignación contigua

n  Otro problema importante: n  Determinar cuanto espacio se necesita para un fichero

n  En unas ocasiones es sencillo (cuando el archivo es copia de otro)

n  Otras es muy complicado:

n  ¿Pecar por defecto?

n  ¿Pecar por exceso?

n  Incluso cuando se conoce la cantidad total de espacio requerido, la preasignación puede ser ineficiente

n  Crecimiento lento (fragmentación interna)

33

Asignación contigua con extensiones (extents)

n  Para evitar estas desventajas algunos SO permiten fragmentar el archivo (NTFS, XFS…): n  Inicialmente se asigna un trozo contiguo de espacio

n  Cuando se requiere más espacio, se añade otro trozo de espacio contiguo à extensiones

n  Ubicación de los bloques de un archivo: bloque inicial, nº bloques, enlace al primer bloque de la siguiente extensión

n  Sigue existiendo fragmentación interna (si las extensiones son grandes) y externa (como consecuencia de la asignación y liberación de extensiones de diferentes tamaños)

34

Asignación enlazada

n  Cada fichero es una lista enlazada de bloques de disco

n  Entrada de directorio contiene: n  Puntero al primer y último

bloque del archivo

35

Asignación enlazada: pros y contras

n  Se solucionan los problemas de la asignación contigua n  No se produce fragmentación externa n  No es necesario declarar de antemano el tamaño del archivo

n  Desventajas: n  Solo eficiente para archivos de acceso secuencial n  Espacio que ocupan los punteros (un archivo requerirá algo

mas de espacio del que requeriría en otro caso)

36

Page 7: FSO-05-Sistemas de archivos - ULPGCsopa.dis.ulpgc.es/so/teoria/pdf/FSO-05-Sistemas de... · 2014-05-15 · ACCESO SECUENCIAL # Se basa en un modelo de archivo de cinta ! ACCESO DIRECTO

7

Asignación enlazada por clusters n  Solución usual:

n  Agrupar los bloques en grupos o clusters

n  Esto permite:

n  Correspondencia entre bloques lógicos y físicos siga siendo sencilla

n  Mejora el rendimiento del disco (menos búsqueda de disco)

n  Reduce el espacio necesario para la asignación de bloques y la administración de la lista de espacio libre

n  Costo de esta estrategia:

n  Aumento de la fragmentación interna: se desperdicia mas espacio cuando un cluster está parcialmente lleno que cuando lo esta un bloque

37

Asignación enlazada

n  Confiabilidad (¿Que sucedería si un puntero se perdiera o deteriorara ?)

n  Soluciones

n  Listas doblemente enlazadas

n  Almacenar el nombre del archivo y el numero de bloque relativo en cada bloque

n  Problema: gasta extra de espacio

38

Asignación enlazada con FAT

n  Variación del método de asignación enlazada

n  FAT (Tabla de asignación de archivos, File Allocation Table)

n  Se aparta una sección del disco al principio de cada partición para guardar en ella la tabla

n  Empleado en MS-DOS y las tarjetas de memoria flash

39

Asignación Enlazada con FAT

n  Si no está en caché puede dar lugar a un número significativo de movimientos de la cabeza del disco

n  La cabeza debe moverse al principio de la partición para leer la FAT y encontrar el bloque en cuestión y luego moverse a la posición del bloque en sí.

n  En el peor caso ocurrirán ambos movimientos para cada uno de los bloques

n  Beneficio: mejora el tiempo de acceso aleatorio ya que se puede encontrar la posición de cualquier bloque leyendo la información en la FAT.

40

Asignación indexada

n  La asignación enlazada resolvía los problemas de la asignación contigua n  fragmentación externa y declaración anticipada del tamaño de

los archivos

n  Problema: si no se usa FAT no se puede implementar un acceso directo EFICIENTE (punteros dispersos junto con los bloques)

41

Asignación indexada (2)

n  SOLUCION: Reunir todos los punteros en el mismo lugar à bloque de índices

n  La i-ésima entrada del bloque índice apunta al i-ésimo bloque del archivo

42

Page 8: FSO-05-Sistemas de archivos - ULPGCsopa.dis.ulpgc.es/so/teoria/pdf/FSO-05-Sistemas de... · 2014-05-15 · ACCESO SECUENCIAL # Se basa en un modelo de archivo de cinta ! ACCESO DIRECTO

8

Asignación indexada: pros y contras

n  Soporta acceso directo sin sufrir fragmentación externa

n  Desventaja:

n  Desperdicia espacio (peor que en el caso de la asignación encadenada, p. Ej. Fichero que ocupe 1 o 2 bloques)

n  ¿ Qué tamaño debería tener el bloque de índices?

43

Asignación indexada: tamaño del bloque de índices

n  Cada archivo debe tener un bloque índice à conviene que el bloque sea lo mas pequeño posible (normalmente ocupa un bloque de disco)

n  Pero, si es demasiado pequeño no podrá tener suficientes punteros para un archivo grande. Soluciones: n  Esquema Enlazado

n  Índice multinivel

n  Esquema combinado (BSD UNIX)

44

Asignación Indexada: esquema multinivel de Unix

45

Administración del espacio libre

n  Vector de bits n  Cada bloque se representa como un bit, que puede estar

asignado (1) o libre(0)

n  Lista enlazada n  El SO mantiene un apuntador al primer bloque libre. Este a su

vez apuntará al siguiente bloque libre, etc

n  Lista enlazada con información de bloques libres n  El primer bloque libre se comporta como un “bloque índice” de

bloques libres n  Variante: incluir nº bloques consecutivos

n  FAT

46

Implementación de directorios

n  Implementación básica: lista lineal n  Lista de nombres de archivos con punteros a los bloques de

datos, más otros atributos.

n  Sencillo de implementar (vector), pero rendimiento pobre en directorios con muchas entradas.

47

Implementación de directorios

n  Los sistemas modernos usan estructuras más eficientes: q  Tabla hash q  Árboles B (NTFS, ext4…)

n  Los árboles B funcionan muy bien en directorios con muchas entradas, sin penalizar demasiado el coste de almacenamiento de la estructura y el código adicional.

48

Page 9: FSO-05-Sistemas de archivos - ULPGCsopa.dis.ulpgc.es/so/teoria/pdf/FSO-05-Sistemas de... · 2014-05-15 · ACCESO SECUENCIAL # Se basa en un modelo de archivo de cinta ! ACCESO DIRECTO

9

Ficheros: sumario (1)

Interfaz con el sistema de archivos §  Ficheros

§  Directorios

TAD Tipos de acceso

Secuencial Directo Indexado (ISAM)

Datos Atributos Operaciones ← mejora: tabla de archivos abiertos

Particiones Operaciones Protección Organización

Único nivel Dos niveles Árbol Grafo sin ciclos Grafo con ciclos

49

Ficheros: sumario (2) Implementación del sistema de archivos §  Métodos de asignación

§  Administración del espacio libre

§  Implementación de directorios

Contigua

Enlazada

Indexada

Simple Con extensiones Simple Por clusters FAT Simple Enlazado Múltiples niveles Combinado

Vector de bits Lista enlazada de bloques libres Lista enlazada con info. de bloques libres FAT

Lista lineal Tabla de dispersión (hash) Árbol B*

50