Você está na página 1de 9

Contenidos

Sistemas Operativos
Tema 4. Sistema de archivos n  Interfaz del sistema de archivos

n  Implementación del sistema de archivos

© 1998-2012 José Miguel Santos – Alexis Quesada – Francisco Santana –


Belén Esteban

1 2

Interfaz del sistema de archivos 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
n  Concepto de Fichero almacenamiento: NO VOLATILIDAD
n  Variedad de medios donde almacenar información:
n  Métodos de acceso discos magnéticos, cintas magnéticas, discos
ópticos, etc...
n  Directorios q  Ventaja
n  Permite elegir el medio más adecuado en función de las
n  Protección necesidades particulares: cantidad de información a almacenar,
velocidad de acceso, fiabilidad, etc...
q  Desventaja
n  Requiere conocer las particularidades de cada medio

3 4

Concepto de archivo Concepto de archivo


n  Solución:
q  Sistema Operativo abstraiga las propiedades físicas de sus n  En general un archivo es una secuencia de
dispositivos de almacenamiento
q  ¿Cómo?
bits cuyo significado el creador y usuario
n  Definiendo una unidad de almacenamiento lógica, el ARCHIVO define
n  Definiciones
q  Un almacén persistente de información accesible mediante
un nombre n  SISTEMA DE ARCHIVOS: conjunto de
q  Es una abstracción cómoda del almacenamiento secundario
(tipo abstracto de datos): módulos del SO que se encargan de la
n  Oculta la realidad física del almacenamiento (cintas, discos,
etc...)
gestión de la información (archivos)
n  Sirve para organizar la información como lo hacemos las
personas

5 6

1
Atributos de archivo Directorios

n  Aparte de su contenido, todo archivo tiene atributos que n  ¿ Qué estructura nos permite organizar y acceder a los
lo describen: archivos ?
q  Nombre (cadena de caracteres) n  Los atributos de los archivos deben guardarse en alguna
q  Tipo de archivo (necesario en sistemas que reconocen distintos estructura: DIRECTORIO O TABLA DE CONTENIDOS
tipos) n  Los directorios al igual que los archivos deben ser no
q  Ubicación en el dispositivo volátiles  se almacenan en disco
q  Tamaño n  Deben traerse a memoria cuando se necesitan
q  Información de protección
q  Fechas, horas e identificación del usuario

7 8

Operaciones sobre archivos Operaciones sobre archivos

n  ARCHIVO: TAD = ATRIBUTOS + OPERACIONES n  La mayor parte de las operaciones implican buscar la
entrada en el directorio asociada al archivo
n  OPERACIONES TIPICAS: n  Mejora: operaciones para abrir y cerrar archivos
q  Tabla de archivos abiertos
q  Creación / Destrucción
q  Indice, puntero o descriptor de fichero
q  Lectura / Escritura
n  Operación apertura de un fichero
q  Situarse dentro del archivo (por posición o por clave)
n  Entorno multiusuario ?
q  Cambiar atributos

9 10

Tipos y estructuras de archivos Métodos de acceso


n  Archivo: secuencia de registros lógicos de longitud fija
n  La información guardada puede ser de muchos n  ¿De qué manera se accede a la información almacenada en
tipos los archivos?
q  Técnica común para implementar los tipos de q  Algunos SO ofrecen un solo método de acceso mientras que otros
archivos es incluir el tipo como parte del nombre del ofrecen diferentes métodos de acceso
archivo (extensión) n  ACCESO SECUENCIAL
n  Según el tipo de archivo à estructura interna q  Se basa en un modelo de archivo de cinta

q  ¿ Debe el SO reconocer y manejar la estructura n  ACCESO DIRECTO o RELATIVO


interna de diferentes tipos de archivos que pueden q  Se basa en el modelo de archivo de disco
existir en un sistema? n  ACCESO INDEXADO
n  Todos los S.O. deben reconocer al menos una q  Requiere de estructuras adicionales: tablas de indices
estructura : la de un ARCHIVO EJECUTABLE

11 12

2
Directorios Operaciones sobre directorios
n  Sistema de Archivos à Miles de archivos
n  Buscar un archivo por nombre
n  ¿Cómo los organizamos?
n  Particiones/Minidiscos/Volúmenes n  Crear archivos
n  Directorio de dispositivo, Tabla de Contenido del Volumen o n  Borrar Archivos
simplemente Directorio
n  Renombrar archivos
n  Listar el directorio
n  Recorrer el sistema de ficheros

13 14

Organización de directorios Directorio de nivel único


n  Único nivel (espacio plano) n  Estructura de directorio más sencilla: todos los archivos
n  Dos niveles se guardan en el mismo directorio

n  Arbóreo
n  Grafo acíclico (enlaces)
n  Grafo general (enlaces sin restricciones)
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

15 16

Directorio de dos niveles Directorio de dos niveles


n  Desventaja principal de la estructura de nivel único à n  Se resuelve el problema de conflictos de nombres
confusión de nombres entre diferentes usuarios (entre diferentes usuarios)
n  Solución natural à un directorio por usuario 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

17 18

3
Directorio con estructura de árbol Directorio con estructura de árbol
n  Directorio de dos niveles à árbol de dos niveles n  Se reducen al mínimo los conflictos de nombres
n  Generalización à árbol de altura arbitraria
n  Directorio à archivo que se trata de manera especial
(subdirectorios)
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)

19 20

Directorios en grafo acíclico Directorios en grafo acíclico


n  La estructura de árbol dificulta compartir archivos o
directorios n  ¿Cómo se puede implementar?
Duplicar la información (complica la consistencia)
Se puede generalizar el esquema de directorio con
n 
n 

estructura de árbol permitiendo a los directorios tener n  Nueva entrada de directorio: ENLACE o LINK (es un puntero a
otro archivo o directorio)
subdirectorios y archivos compartidos, sin ciclos
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 ?

21 22

Directorios en grafo acíclico Organización de directorios:


resumen
Directorio doble nivel n  Caso particular
Usuarios pueden crear n  Directorio grafo acíclico
subdirectorios
n  Requieren el uso de
Directorio estructura árbol algoritmos que detecten
Links ciclos en grafos (problema:
costoso en tiempo)

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

23 24

4
Protección de archivos Protección

n  Necesidad de mantener la seguridad de la n  Muchos sistemas definen privilegios de uso: cada
información: usuario solo puede realizar ciertas operaciones sobre un
archivo (acceso controlado)
n  De daños físicos (integridad)
n  Copias de seguridad n  Tipo de operaciones
n  Accesos indebidos (privacidad) n  Leer, Escribir, Ejecutar, Anexar, Eliminar, Listar
n  Múltiples mecanismos según n  Diferentes mecanismos de protección
n  Tipo sistema
n  Listas y grupos de acceso
n  Seguridad requerida
n  Claves
n  Técnicas criptográficas

25 26

Implementación del sistema de Estructura del sistema de archivos


archivos
n  SISTEMA DE ARCHIVOS à reside de manera
n  Estructura del Sistema de Archivos permanente en almacenamiento secundario

n  Métodos de Asignación n  Con el objetivo de aumentar la eficiencia E/S à las
transferencias entre la memoria y el disco se efectúan
n  Administración del espacio libre en unidades de bloques (uno o más sectores)
n  Implementación de directorios 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

27 28

Organización del sistema de Métodos de asignación de espacio


archivos
n  OBJETIVO: asignar espacio a ficheros de modo que el
n  Un sistema de archivos presenta dos problemas de espacio en disco se aproveche de forma eficaz y se
diseño muy distintos: pueda acceder rápidamente a los archivos

n  Definir que aspecto debe presentar el sistema de archivos a n  Asignación Contigua
los usuarios (atributos, operaciones, estructura de directorios,
etc...) n  Asignación Enlazada
n  Asignación Indexada
n  Definir los algoritmos y estructuras de datos que permiten
mapear el sistema de ficheros lógico sobre los equipos físicos

29 30

5
Asignación contigua Asignación contigua

n  Cada fichero ocupa un n  Permite manejar acceso tanto secuencial como directo
conjunto de bloques
n  Dificultades
contiguos en el disco
(optimiza movimiento de n  Encontrar espacio para la creación de un fichero
las cabezas del disco) n  Algoritmos mas utilizados
n  Primer ajuste (First Fit)
n  Entrada de directorio para
n  Mejor ajuste (Best Fit)
cada fichero
n  Desde un punto de vista de aprovechamiento del espacio no existen
n  Dirección del bloque inicial diferencias pero el primero suele ser mas rápido

Problema ambos algoritmos: Fragmentación Externa


n  Longitud del área asignada n 

al archivo (nº bloques) n  Solución: Compactación (pero es una solución costosa)

31 32

Asignación contigua Asignación contigua con


extensiones (extents)
n  Otro problema importante:
n  Determinar cuanto espacio se necesita para un fichero n  Para evitar estas desventajas algunos SO utilizan un
n  En unas ocasiones es sencillo (cuando el archivo es copia de esquema de asignación contigua modificado
otro)
n  Inicialmente se asigna un trozo contiguo de espacio
n  Otras es muy complicado:
n  Cuando se requiere mas espacio, se añade otro trozo de
n  ¿Pecar por defecto? espacio contiguo à extensiones
n  ¿Pecar por exceso? n  Ubicación de los bloques de un archivo: bloque inicial, nº
n  Incluso cuando se conoce la cantidad total de espacio bloques, enlace al primer bloque de la siguiente extensión
requerido, la preasignación puede ser ineficiente n  Sigue existiendo fragmentación interna (si las extensiones son
n  Crecimiento lento (fragmentación interna) grandes) y externa (como consecuencia de la asignación y
liberación de extensiones de diferentes tamaños)

33 34

Asignación enlazada Asignación enlazada: pros y


contras
n  Cada fichero es una lista
enlazada de bloques de
disco n  Se solucionan los problemas de la asignación contigua
n  Entrada de directorio n  No se produce fragmentación externa
contiene: n  No es necesario declarar de antemano el tamaño del archivo
n  Puntero al primer y último n  Desventajas:
bloque del archivo
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)

35 36

6
Asignación enlazada por Asignación enlazada
clusters
n  Confiabilidad (¿Que sucedería si un puntero se perdiera o
n  Solución usual: deteriorara ?)
n  Agrupar los bloques en grupos o clusters n  Soluciones

n  Esto permite: n  Listas doblemente enlazadas


n  Almacenar el nombre del archivo y el numero de bloque relativo en
n  Correspondencia entre bloques lógicos y físicos siga siendo cada bloque
sencilla
n  Problema: gasta extra de espacio
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 38

Asignación enlazada con FAT Asignación Enlazada con FAT


n  Si no está en caché puede dar lugar a un número significativo de
n  Variación del método movimientos de la cabeza del disco
de asignación n  La cabeza debe moverse al principio de la partición para leer la FAT
enlazada y encontrar el bloque en cuestión y luego moverse a la posición del
n  FAT (Tabla de asignación bloque en sí.
de archivos, File n  En el peor caso ocurrirán ambos movimientos para cada uno de los
Allocation Table) bloques
n  Se aparta una sección del n  Beneficio: mejora el tiempo de acceso aleatorio ya que se puede
disco al principio de cada encontrar la posición de cualquier bloque leyendo la información en
partición para guardar en la FAT.
ella la tabla
n  Empleado en MS-DOS y las
tarjetas de memoria flash

39 40

Asignación indexada Asignación indexada (2)

n  La asignación enlazada resolvía los problemas de la n  SOLUCION: Reunir todos los punteros en el mismo
asignación contigua lugar à bloque de índices
n  fragmentación externa y declaración anticipada del tamaño de n  La i-ésima entrada del
los archivos bloque índice apunta al
i-ésimo bloque del
archivo
n  Problema: si no se usa FAT no se puede implementar
un acceso directo EFICIENTE (punteros dispersos junto
con los bloques)

41 42

7
Asignación indexada: pros y Asignación indexada: tamaño del
contras bloque de índices
n  Cada archivo debe tener un bloque índice à conviene
n  Soporta acceso directo sin sufrir fragmentación externa que el bloque sea lo mas pequeño posible
n  Desventaja: (normalmente ocupa un bloque de disco)
n  Desperdicia espacio (peor que en el caso de la asignación n  Pero, si es demasiado pequeño no podrá tener
encadenada, p. Ej. Fichero que ocupe 1 o 2 bloques) suficientes punteros para un archivo grande.
Soluciones:
n  Esquema Enlazado
n  ¿ Qué tamaño debería tener el bloque de índices?
n  Índice multinivel
n  Esquema combinado (BSD UNIX)

43 44

Asignación Indexada: esquema Administración del espacio libre


multinivel de Unix
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

45 46

Implementación de directorios Implementación de directorios

n  Tabla de Dispersión (o Tabla Hash)

n  Lista lineal


n  Las entradas de directorio se guardan también en una lista
n  Lista lineal de nombres de archivos con punteros a los bloques lineal
de datos
n  Sencillo de implementar (vector) pero costoso en tiempo
n  Nombre de archivo  puntero a la entrada de ese archivo en
n  Operaciones la lista lineal
n  Creación, eliminación

n  Búsqueda, Creación y Eliminación: operaciones rápidas y fáciles


de implementar

47 48

8
Implementación de directorios Ficheros: sumario (1)
n  Problema: Interfaz con el sistema de archivos
n  Colisiones
TAD
n  Tamaño de la tabla es fijo Datos
§  Ficheros Atributos
n  La Función de Dispersión depende del tamaño de la tabla OperacionesSecuencial
← mejora: tabla de archivos abiertos
Tipos de acceso Directo
n  Agrandar tabla implica reubicación total Indexado

n  Mejora: tratar las colisiones mediante listas enlazadas en cada


entrada Particiones
Operaciones
Protección
Único nivel
§  Directorios Dos niveles
Organización Árbol
Grafo sin ciclos
Grafo con ciclos

49 50

Ficheros: sumario (2)


Implementación del sistema de archivos
Simple
Contigua Con extensiones

§  Métodos de asignación Simple


Por clusters
Enlazada
FAT

Simple
Enlazado
Indexada Múltiples niveles
Combinado

Vector de bits
§  Administración del espacio libre Lista enlazada de bloques libres
Lista enlazada con info. de bloques libres
FAT

Tabla lineal
§  Implementación de directorios Tabla de dispersión (hash)

51

Você também pode gostar