Adminstración de la Memoria y Sistema de Archivosalram/SO/clase19.pdf · Acceso a archivos Aceso...

25
Adminstración de la Memoria y Sistema de Archivos Dr. Alonso Ramírez Manzanares 18-Nov-2009

Transcript of Adminstración de la Memoria y Sistema de Archivosalram/SO/clase19.pdf · Acceso a archivos Aceso...

Page 1: Adminstración de la Memoria y Sistema de Archivosalram/SO/clase19.pdf · Acceso a archivos Aceso secuencial: Bytes se deben leer en orden secuencial (asociados a la forma de trabajo

Adminstración de la Memoria y Sistema de Archivos

Dr. Alonso Ramírez Manzanares18-Nov-2009

Page 2: Adminstración de la Memoria y Sistema de Archivosalram/SO/clase19.pdf · Acceso a archivos Aceso secuencial: Bytes se deben leer en orden secuencial (asociados a la forma de trabajo

El uso de la memoria crece muy rápido.

Ley de Parkinson: “Los programas se expanden hasta llenar la memoria disponible para contenerlos”, aproximadamente se duplica el uso cada 18 meses.

Page 3: Adminstración de la Memoria y Sistema de Archivosalram/SO/clase19.pdf · Acceso a archivos Aceso secuencial: Bytes se deben leer en orden secuencial (asociados a la forma de trabajo

Sistema de Archivos

No se puede tener toda la información de un proceso en memoria, ejemplo, bases de datos.

La informacion se debe de almacenar a veces de manera indefinida (no importando que el proceso que la creó se termine) y se debe de compartir entre varios procesos de manera concurrente.

Page 4: Adminstración de la Memoria y Sistema de Archivosalram/SO/clase19.pdf · Acceso a archivos Aceso secuencial: Bytes se deben leer en orden secuencial (asociados a la forma de trabajo

Archivos desde el punto de vista de usuario

Nombres de archivo: asignado al crearse. Se separan a veces en partes nombre y extensión.

Page 5: Adminstración de la Memoria y Sistema de Archivosalram/SO/clase19.pdf · Acceso a archivos Aceso secuencial: Bytes se deben leer en orden secuencial (asociados a la forma de trabajo

Tipos de ArchivosEl uso del archivo no es importante para el SO, los programas a nivel de usuario establecen el significado.

Tenemos:

Archivos regulares (de usuario)

directorios (mantienen estructura)

especiales por caracteres (de entrada salida)

especiales por bloques (para modelar discos).

Page 6: Adminstración de la Memoria y Sistema de Archivosalram/SO/clase19.pdf · Acceso a archivos Aceso secuencial: Bytes se deben leer en orden secuencial (asociados a la forma de trabajo

Archivos Ejecutables, ASCII y Binarios

Page 7: Adminstración de la Memoria y Sistema de Archivosalram/SO/clase19.pdf · Acceso a archivos Aceso secuencial: Bytes se deben leer en orden secuencial (asociados a la forma de trabajo

Seguridad en tipos de archivo

Windows selecciona la aplicación a lanzar en base a la extensión, esto ayuda puedes ser engorrosa para usuarios avanzados que hacen cosas poco comunes.

Page 8: Adminstración de la Memoria y Sistema de Archivosalram/SO/clase19.pdf · Acceso a archivos Aceso secuencial: Bytes se deben leer en orden secuencial (asociados a la forma de trabajo

Acceso a archivos

Aceso secuencial: Bytes se deben leer en orden secuencial (asociados a la forma de trabajo de una cinta). También se pueden re-enbobinar para empezar desde el principio.

Aceso aleatorio: Bytes o registros se pueden leer en cualquier orden (asociados a la forma de trabajo de un disco duro). Se usa metodo seek de posicionamiento.

Page 9: Adminstración de la Memoria y Sistema de Archivosalram/SO/clase19.pdf · Acceso a archivos Aceso secuencial: Bytes se deben leer en orden secuencial (asociados a la forma de trabajo

Posibles atributos de Archivos

Page 10: Adminstración de la Memoria y Sistema de Archivosalram/SO/clase19.pdf · Acceso a archivos Aceso secuencial: Bytes se deben leer en orden secuencial (asociados a la forma de trabajo

Estructura de directorios

Este esquema es por supuesto más versatil

Page 11: Adminstración de la Memoria y Sistema de Archivosalram/SO/clase19.pdf · Acceso a archivos Aceso secuencial: Bytes se deben leer en orden secuencial (asociados a la forma de trabajo

Nombres de Ruta

/, \ o > denota la raíz del los directorios

Ejemplo: /Users/alram/Documents

Cuando se crea un directorio por default tenemos 2 entradas: “.” que es el directorio actual y “..” que es el directorio padre. Ejemplo cd ../../datos.

Cada proceso tiene un directorio de trabajo,

Page 12: Adminstración de la Memoria y Sistema de Archivosalram/SO/clase19.pdf · Acceso a archivos Aceso secuencial: Bytes se deben leer en orden secuencial (asociados a la forma de trabajo

Operaciones con directorioscreate

delete

opendir

closedir

readdir

rename

link

unlink

Page 13: Adminstración de la Memoria y Sistema de Archivosalram/SO/clase19.pdf · Acceso a archivos Aceso secuencial: Bytes se deben leer en orden secuencial (asociados a la forma de trabajo

Implementación de sistema de archivos.

Hay que relacionar los bloques de disco con los archivos.

Asignación por lista enlazada:Desventajas:

- El acceso aleatorio es extremadamente

lento.-Las lecturas ya nos

son bloques completos (potencias

de 2), porque el apuntador ocupa

espacio.

Page 14: Adminstración de la Memoria y Sistema de Archivosalram/SO/clase19.pdf · Acceso a archivos Aceso secuencial: Bytes se deben leer en orden secuencial (asociados a la forma de trabajo

Implementación de sistema de archivos.

Hay que relacionar los bloques de disco con los archivos.

Asignación por lista enlazada empleando un índice

- Esta tabla se guarda en memoria (acceso rápido).

- Todo el bloque de disco está disponible para datos.

- La desventaja primordial es que si el archivo es muy grande, hay que

guardar mucha información en memoria.

Page 15: Adminstración de la Memoria y Sistema de Archivosalram/SO/clase19.pdf · Acceso a archivos Aceso secuencial: Bytes se deben leer en orden secuencial (asociados a la forma de trabajo

Implementación de sistema de archivos.

Hay que relacionar los bloques de disco con los archivos.

Asociar archivos a tabla llamada Nodo-i

Los archivospequeños solo

usan los bloques de indireccion

sencilla.El esquema crece hasta donde se

necesita.

Page 16: Adminstración de la Memoria y Sistema de Archivosalram/SO/clase19.pdf · Acceso a archivos Aceso secuencial: Bytes se deben leer en orden secuencial (asociados a la forma de trabajo

Implementación de directorios.

La función principal del sistema de directorios es transformar el nombre ASCII del archivo en la información necesaria para encontrar los datos.

Los atributos de los archivos se pueden guardar en la entrada del directorio o bien en el nodo i.

Para sistemas con un solo directorio, solo hay que buscar el archivo secuencialmente o de alguna manera dependiendo del ordenamiento.

Page 17: Adminstración de la Memoria y Sistema de Archivosalram/SO/clase19.pdf · Acceso a archivos Aceso secuencial: Bytes se deben leer en orden secuencial (asociados a la forma de trabajo

Directorios en MS-DOS

Usa 32 bytes para guardar la información de archivo

Page 18: Adminstración de la Memoria y Sistema de Archivosalram/SO/clase19.pdf · Acceso a archivos Aceso secuencial: Bytes se deben leer en orden secuencial (asociados a la forma de trabajo

Directorios en UNIXEs muy sencilla, dado que tenemos la tabla nodo-i:

Ejemplo de búsquedadel archivo

/usr/ast/mbox

La entrada “.” tiene el número del i-nodo

actual y la entrada “..” tiene el i-node del directorio padre.

Page 19: Adminstración de la Memoria y Sistema de Archivosalram/SO/clase19.pdf · Acceso a archivos Aceso secuencial: Bytes se deben leer en orden secuencial (asociados a la forma de trabajo

Administración de espacio en disco.

Por razones de rapidez, la mayoría de los SO dividen los archivos en bloques de tamaño fijo que no necesitan estar adyacentes (de esa manera cuando un archivo crece no necesita ser relocalizado en un “hueco” donde quepa).

¿Como seleccionar el tamaño de bloque?

Si se escoje algo grande (como un cilindro), archivos pequeños de 1 byte ocuparan un todo el bloque y se desperdicia espacio.

Si se escoje un tamaño pequeño hay que hacer muchas lecturas y se desperdicia tiempo ¿Como analizamos esto?

Page 20: Adminstración de la Memoria y Sistema de Archivosalram/SO/clase19.pdf · Acceso a archivos Aceso secuencial: Bytes se deben leer en orden secuencial (asociados a la forma de trabajo

Administración de espacio en disco, compromiso entre velocidad y

aprovechamiento del espacio en del disco

Se hace un analisis empírico donde se supone que los bloques son de 1 KByte. Nos muestra que es un problema multi-objetivo.

Page 21: Adminstración de la Memoria y Sistema de Archivosalram/SO/clase19.pdf · Acceso a archivos Aceso secuencial: Bytes se deben leer en orden secuencial (asociados a la forma de trabajo

Administración de bloques libres.1) Usar una lista enlazada de bloques de disco.

Page 22: Adminstración de la Memoria y Sistema de Archivosalram/SO/clase19.pdf · Acceso a archivos Aceso secuencial: Bytes se deben leer en orden secuencial (asociados a la forma de trabajo

Administración de bloques libres.1) Usar un mapa de bits

Usa menos espacio que la lista ligada anterior,

a menos que el disco duro estécasi lleno.

Si se sube un bloque a memoria pueden ser que no se pueda

localizar ni un solo bloque libre, en cambio con la lista tenemos seguros 255 bloques libres.

Page 23: Adminstración de la Memoria y Sistema de Archivosalram/SO/clase19.pdf · Acceso a archivos Aceso secuencial: Bytes se deben leer en orden secuencial (asociados a la forma de trabajo

Confiabilidad de los sitemas de archivos

Es fundametal, los datos son mas valiosos que el hardware en muchos casos.

¡Algunos discos duros, se entregaban nuevos con una lista de bloques defectuosos detectados por el fabricante!

El dispositivo mantiene dinámicamente una lista de bloques defectuosos.

Es importante hacer respaldos, automáticos (SO, ejemplo OsX time Machine) o manuales. Se puede usar Control Version System (CVS). Se puden usar cintas de respaldo de alta capacidad o DVD, Blue-Ray. Se puede tener arreglos de discos duros “espejo” donde se guarda un respaldo de cada escritura.

Page 24: Adminstración de la Memoria y Sistema de Archivosalram/SO/clase19.pdf · Acceso a archivos Aceso secuencial: Bytes se deben leer en orden secuencial (asociados a la forma de trabajo

Consistencia del sistema de archivosSe utiliza una utilería de verificación al arranque del sistema, sobre todo si el sistema se cayó, posiblemente quedando en un estado inconsistente.

Consistencia de bloques:

Se construyen 2 tablas de contadores para cada bloque: 1) cuantas veces esta presente un bloque en un archivo y b) cuantas veces está presente un bloque en la lista de bloques libres. Si el sistema es consistente cada entrada por bloque tiene un 1 en una tabla o un 1 en la otra.

Page 25: Adminstración de la Memoria y Sistema de Archivosalram/SO/clase19.pdf · Acceso a archivos Aceso secuencial: Bytes se deben leer en orden secuencial (asociados a la forma de trabajo

Consistencia del sistema de archivos

Para verificar la consistencia de directorios, ahora se usan contadores de archivos y se sigue la misma idea.