14
1 Módulo 11 Departamento de Ciencias e Ingeniería de la Computación Universidad Nacional del Sur Sistemas de Archivos Implementación Sistemas Operativos Sistemas de Archivos: Implementación JRA © 2008 Objetivos Describir los detalles locales de la implementación del sistema de archivos y estructuras de directorios Describir la implementación de sistemas de archivos remotos Discutir algoritmos de alocación de bloques y bloques libres y compromisos

Módulo 11 - Universidad Nacional del Surldm/data/so/apuntes/11-sistemas_de_archivos... · Módulo 11 Departamento de Ciencias e Ingeniería de la Computación Universidad Nacional

  • Upload
    others

  • View
    0

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Módulo 11 - Universidad Nacional del Surldm/data/so/apuntes/11-sistemas_de_archivos... · Módulo 11 Departamento de Ciencias e Ingeniería de la Computación Universidad Nacional

1

Módulo 11

Departamento de Ciencias e Ingeniería de la Computación

Universidad Nacional del Sur

Sistemas de Archivos

Implementación

Sistemas Operativos – Sistemas de Archivos: ImplementaciónJRA © 2008

Objetivos

Describir los detalles locales de la implementación del

sistema de archivos y estructuras de directorios

Describir la implementación de sistemas de archivos

remotos

Discutir algoritmos de alocación de bloques y bloques

libres y compromisos

Page 2: Módulo 11 - Universidad Nacional del Surldm/data/so/apuntes/11-sistemas_de_archivos... · Módulo 11 Departamento de Ciencias e Ingeniería de la Computación Universidad Nacional

2

Sistemas Operativos – Sistemas de Archivos: ImplementaciónJRA © 2008

Estructura del Sistema de Archivos

Estructura de Archivo

Unidad Lógica de almacenamiento

Colección de información relacionada

El sistema de archivos reside en almacenamiento

secundario (discos).

El sistema de archivo está organizado en capas.

File control block – estructura de almacenaje consistente

de información sobre el archivo.

Sistemas Operativos – Sistemas de Archivos: ImplementaciónJRA © 2008

Sistema de Archivos en General

Sistema de Archivos

Estructura de

Archivos

Registros

Bloques Físicos en Memoria Principal, buffers

Bloques Físicos en

Almacenaje Secundario

Manejo Libre

Bloqueo

E/S

Alocación de

Archivos

Planificación de Disco

Métodos de

Acceso

Funciones de

manipulación de

archivos

Operación

Nombres

Control de

acceso

Manejo de

Directorios

Comandos de

Usuario y

Programas

Manejo de Archivos Sistema Operativos

Page 3: Módulo 11 - Universidad Nacional del Surldm/data/so/apuntes/11-sistemas_de_archivos... · Módulo 11 Departamento de Ciencias e Ingeniería de la Computación Universidad Nacional

3

Sistemas Operativos – Sistemas de Archivos: ImplementaciónJRA © 2008

Un Bloque de Control de Archivos Típico

FCB: File Control Block

Sistemas Operativos – Sistemas de Archivos: ImplementaciónJRA © 2008

Estructuras de Archivo

Bloques Físicos

Registros Lógicos

Fragmentación

Bloques

físicos

Registros lógicos

Page 4: Módulo 11 - Universidad Nacional del Surldm/data/so/apuntes/11-sistemas_de_archivos... · Módulo 11 Departamento de Ciencias e Ingeniería de la Computación Universidad Nacional

4

Sistemas Operativos – Sistemas de Archivos: ImplementaciónJRA © 2008

Estructuras del Sistema de Archivos en

Memoria

a) Apertura de un archivo b) Lectura de un archivo

Sistemas Operativos – Sistemas de Archivos: ImplementaciónJRA © 2008

Implementación de Directorio

Lista lineal de nombres de archivos con punteros a los

bloques de datos.

simple de programar

consume mucho tiempo en la ejecución

Tabla hash – Lista lineal con estructura de datos hash.

Decrece el tiempo de búsqueda en el directorio

colisiones – situaciones donde dos nombres de

archivos van a la misma locación

Tamaño fijo

Page 5: Módulo 11 - Universidad Nacional del Surldm/data/so/apuntes/11-sistemas_de_archivos... · Módulo 11 Departamento de Ciencias e Ingeniería de la Computación Universidad Nacional

5

Sistemas Operativos – Sistemas de Archivos: ImplementaciónJRA © 2008

Métodos de Alocación

Un método de alocación se refiere a cómo los bloques de disco de un archivo son ubicados:

Alocación Contigua

Alocación Enlazada

Alocación Indexada

Sistemas Operativos – Sistemas de Archivos: ImplementaciónJRA © 2008

Alocación Contigua

Cada archivo ocupa un conjunto de bloques contiguos en el disco.

Simple – solo se necesita la locación de comienzo (block #) y la longitud (número del bloques).

Acceso aleatorio.

Desperdicio de espacio (problema de alocación dinámica).

Los archivos no pueden crecer.

Mapeo de lógico a físico.

Dirección Lógica/512

Q

R

Bloque a ser accedido = Q + dirección de comienzo

Desplazamiento dentro del bloque = R

Page 6: Módulo 11 - Universidad Nacional del Surldm/data/so/apuntes/11-sistemas_de_archivos... · Módulo 11 Departamento de Ciencias e Ingeniería de la Computación Universidad Nacional

6

Sistemas Operativos – Sistemas de Archivos: ImplementaciónJRA © 2008

Alocación Contigua

Sistemas Operativos – Sistemas de Archivos: ImplementaciónJRA © 2008

Alocación Enlazada

Cada archivo es una lista enlazada de bloques de

disco: los bloques pueden estar en cualquier lugar del

disco.

Page 7: Módulo 11 - Universidad Nacional del Surldm/data/so/apuntes/11-sistemas_de_archivos... · Módulo 11 Departamento de Ciencias e Ingeniería de la Computación Universidad Nacional

7

Sistemas Operativos – Sistemas de Archivos: ImplementaciónJRA © 2008

Alocación Enlazada

El archivo es definido por primero y último

Resuelve el problema de almacenaje - cualquier

bloque libre servirá

No soporta (eficientemente) el acceso directo

Simple – necesita solo la dirección inicial

Sistema de administración del espacio libre – no

malgasta espacio

No hay acceso aleatorio

Sistemas Operativos – Sistemas de Archivos: ImplementaciónJRA © 2008

Alocación Enlazada (Cont.)

File-Allocation Table (FAT) – alocación de espacio

de disco usado en MS-DOS y OS/2.

test 217......

bloque inicialnombre

entrada de directorio

eof

N° de bloques del disco - 1

339

339

618

618

217

0

Page 8: Módulo 11 - Universidad Nacional del Surldm/data/so/apuntes/11-sistemas_de_archivos... · Módulo 11 Departamento de Ciencias e Ingeniería de la Computación Universidad Nacional

8

Sistemas Operativos – Sistemas de Archivos: ImplementaciónJRA © 2008

Alocación Indexada

Pone todos los punteros juntos en bloque índice.

Vista lógica.

Tabla de índices

Sistemas Operativos – Sistemas de Archivos: ImplementaciónJRA © 2008

Ejemplo de Alocación Indexada

Page 9: Módulo 11 - Universidad Nacional del Surldm/data/so/apuntes/11-sistemas_de_archivos... · Módulo 11 Departamento de Ciencias e Ingeniería de la Computación Universidad Nacional

9

Sistemas Operativos – Sistemas de Archivos: ImplementaciónJRA © 2008

Alocación Indexada – Mapeo (Cont.)

índice externo

tabla de índices archivo

Sistemas Operativos – Sistemas de Archivos: ImplementaciónJRA © 2008

Esquema Combinado: UNIX (4K bytes por bloque)

Page 10: Módulo 11 - Universidad Nacional del Surldm/data/so/apuntes/11-sistemas_de_archivos... · Módulo 11 Departamento de Ciencias e Ingeniería de la Computación Universidad Nacional

10

Sistemas Operativos – Sistemas de Archivos: ImplementaciónJRA © 2008

Administración de Espacio Libre

Vector de Bits – bit map (n bloques)

0 1 2 n-1

bit[i] = 1 bloque[i] libre

0 bloque[i] ocupado

Cálculo del número de bloque

(número de bits por palabra) *

(número de palabras con valor 0) +

offset del primer bit 1

Sistemas Operativos – Sistemas de Archivos: ImplementaciónJRA © 2008

Administración de Espacio Libre (Cont.)

El bit map requiere espacio extra. Ejemplo:

tamaño bloque = 212 bytes

tamaño disco = 230 bytes (1 gigabyte)

n = 230/212 = 218 bits (o 32K bytes)

Fácil de obtener archivos contiguos

Lista enlazada (lista de libres)

No es fácil obtener espacio contiguo

No malgasta espacio

Agrupamiento

Cuenta

Page 11: Módulo 11 - Universidad Nacional del Surldm/data/so/apuntes/11-sistemas_de_archivos... · Módulo 11 Departamento de Ciencias e Ingeniería de la Computación Universidad Nacional

11

Sistemas Operativos – Sistemas de Archivos: ImplementaciónJRA © 2008

Administración de Espacio Libre (Cont.)

Necesidad de proteger:

Puntero a la lista de libres

Bit map

Debe mantenerse en disco

Copia en memoria y disco puede diferir.

No se puede permitir para bloque[i] tener una situación donde bit[i] = 1 en memoria y bit[i] = 0 en el disco.

Solución:

Poner bit[i] = 1 en el disco.

Alocar el bloque[i]

Poner bit[i] = 1 en memoria

Sistemas Operativos – Sistemas de Archivos: ImplementaciónJRA © 2008

Administración de Espacio Libre (Cont.)

Page 12: Módulo 11 - Universidad Nacional del Surldm/data/so/apuntes/11-sistemas_de_archivos... · Módulo 11 Departamento de Ciencias e Ingeniería de la Computación Universidad Nacional

12

Sistemas Operativos – Sistemas de Archivos: ImplementaciónJRA © 2008

Eficiencia y Desempeño

La eficiencia depende de:

alocacion en el disco y algoritmos de directorio

tipos de datos mantenidos en la entrada de directorio

del archivos

Desempeño

caché de disco – sección separada de memoria

principal para bloques frecuentemente usados

free-behind y read-ahead – técnicas para optimizar el

acceso secuencial

mejora del desempeño de la PC dedicando una

sección de la memoria como disco virtual, o disco

RAM.

Sistemas Operativos – Sistemas de Archivos: ImplementaciónJRA © 2008

Distintas Locaciones del Caché de Disco

Page 13: Módulo 11 - Universidad Nacional del Surldm/data/so/apuntes/11-sistemas_de_archivos... · Módulo 11 Departamento de Ciencias e Ingeniería de la Computación Universidad Nacional

13

Sistemas Operativos – Sistemas de Archivos: ImplementaciónJRA © 2008

Recuperación

Verificador de Consistencia – compara datos en la

estructura de directorio con bloques de datos en el

disco, y trata de reparar inconsistencias.

Uso de programas de sistema para respaldar (back up)

datos del disco a otro dispositivo de almacenaje (floppy

disk, cinta magnética, optical, etc).

Se recuperan archivos perdidos o disco por

restauración de datos del backup.

Sistemas Operativos – Sistemas de Archivos: ImplementaciónJRA © 2008

El Sistema de Archivos de Red de Sun (NFS)

Es una implementación y una especificación de un

sistema de software para acceder a archivos remotos a

través de LANs (o WANs).

La implementación es parte de los sistema operativos

Solaris y SunOS que corre sobre estaciones de trabajo

Sun usando un protocolo no confiable datagrama

(protocolo UDP/IP) y Ethernet.

Page 14: Módulo 11 - Universidad Nacional del Surldm/data/so/apuntes/11-sistemas_de_archivos... · Módulo 11 Departamento de Ciencias e Ingeniería de la Computación Universidad Nacional

14

Sistemas Operativos – Sistemas de Archivos: ImplementaciónJRA © 2008

Vista Esquemática de la Arquitectura NFS

Módulo 11

Departamento de Ciencias e Ingeniería de la Computación

Universidad Nacional del Sur

Fin