Download archivo

Document related concepts

Sistema de archivos wikipedia , lookup

Hierarchical File System wikipedia , lookup

Desfragmentación wikipedia , lookup

Tabla de asignación de archivos wikipedia , lookup

Archivo (informática) wikipedia , lookup

Transcript
Unidad IV Manejo de archivos
M.C. Juan Carlos Olivares Rojas
Temario
4.1 Introducción
4.2 Notación de archivo real y virtual
4.3 Componentes de un sistema de archivos
4.4 Organización lógica y física
4.5 Mecanismos de acceso a los archivos
4.6 Manejo del espacio de memoria secundaria
Temario
4.7 Modelo jerárquico
4.8 Mecanismos de recuperación en caso de fallas
4.9 Estructura del sistema operativo
4.9.1 BIOS
4.9.2 Kernel o núcleo
4.9.3 Procesador de comandos
4.10 Manejadores de interrupción
4.10.1 Interrupción del BIOS
4.10.2 Interrupción del MS-DOS
4.10.3 Interrupción del hardware
4.1 Introducción
• Un archivo es un conjunto de elementos de
información relacionados entre si y que
fueron definidos por su creador.
• Por lo general, los archivos representan
datos y programas.
• Un archivo de datos puede ser texto
(alfanumérico) o binario (secuencia de
bytes).
Introducción
• Los archivos pueden ser de formato libre,
como los archivos de texto, o pueden estar
rigurosamente formateados (en general los
archivos binarios).
• En general, un archivo es una secuencia de
bits, bytes, líneas o registros cuyo significado
es definido por el creador del archivo y por el
usuario.
Introducción
• Un archivo se puede manipular como una
unidad mediante operaciones tales como:
– Abrir (open()),
– Cerrar (close()),
– Crear (create()),
– Destruir (destroy()),
– Copiar (copy()),
– Renombrar (rename()) y
– Listar (list()).
Introducción
• Los elementos de información individuales
que conforman un archivo se pueden
manipular con acciones tales como leer
(read()), escribir(write()), modificar(modify())
y eliminar(remove()).
• De acuerdo a las características y tipo de
trabajo que se realicen sobre los archivos,
estos pueden caracterizarse por su:
Volatilidad, Actividad y Tamaño.
Introducción
• Volatilidad: se refiere a la frecuencia con la
que se inserta o elimina información.
• Actividad: se refiere al porcentaje de los
elementos de información de un archivo al
que se tuvo acceso en un periodo de tiempo
dado.
• Tamaño: se refiere a la cantidad
información que conforma el archivo.
de
Introducción
• Archivo físico: es la información vista desde
la perspectiva de hardware.
• Por ejemplo, el archivo 1 está formado por
los sectores 3, 10 y 15 del archivo.
• Otro ejemplo: el archivo X es la secuencia de
bytes localizados en la RAM en el bloque
0A703h:03000h al 0A703h:04200h.
Introducción
• Archivo lógico: son datos cuyo significado
esta definido por el usuario.
• Ejemplo, el archivo Y es la información de
1000 artículos, cada uno con su código,
descripción y precio. Generalmente, un
archivo lógico se representa de manera
tabular.
Introducción
• El sistema de archivos (File System) de un
sistema operativo, está conformado por
todas aquellas rutinas encargadas de
administrar todos los aspectos relacionados
con el manejo de Archivos.
• En general, un Sistema de Archivos está
compuesto por: Métodos de Acceso,
Administración de Archivos, Administración
de
Almacenamiento
Secundario,
y
Mecanismos de Integridad.
Introducción
• Los Métodos de Acceso se ocupan de la
manera en que se tendrá acceso a la
información almacenada en el archivo.
Ejemplo: Secuencial, Directo, indexado, etc.
• El Administración de Archivos se ocupa de
ofrecer los mecanismos para almacenar,
compartir y asegurar archivos, así como para
hacer referencia a ellos.
Introducción
• La Administración de Almacenamiento
Secundario se ocupa de asignar espacio
para los archivos en los dispositivos de
almacenamiento secundario.
• Los Mecanismos de Integridad se ocupan de
garantizar que no se corrompa la información
de un archivo, de tal manera que solo la
información que deba estar en él, se
encuentre ahí.
Introducción
• La Organización de archivos se refiere a las
diferentes maneras en las que puede ser
organizada la información de los archivos,
así como las diferentes maneras en que ésta
puede ser accedida.
• Dado que hay 2 niveles de visión de los
archivos (físico y lógico), se puede hablar
también de 2 aspectos de organización de
archivos: organización de archivos lógicos y
de archivos físicos.
Introducción
• La organización de archivos lógicos
contempla la organización desde el punto de
vista lógico. Por ejemplo, secuencial, directo,
etc.
• La organización de archivos físicos
contempla la administración de archivos
desde la perspectiva física, particularmente
la organización del almacenamiento en disco
a nivel de pistas y sectores.
Introducción
• Este tipo de organización muestra a su vez,
dos aspectos importantes: Métodos de
Asignación de Espacio Libre y Asignación De
Espacio de Almacenamiento del Archivo.
• Un método de asignación de espacio libre
determina la manera en que un Sistema
Operativo controla los lugares del disco que
no están siendo ocupados.
Introducción
• Para el control del espacio libre se puede
utilizar como base alguno de los métodos
teóricos: Vector de Bits, Lista Ligada, por
Agrupacion y por Contador.
• En un Vector de Bits, el número de bits que
se tiene, representa cada sector del disco, es
decir, que si los sectores 10 y 11 están
ocupados su representación será:
Introducción
• Lista Ligada: existe una cabecera en la que
se tiene la dirección del primer sector vacío,
ese sector a su vez, tiene un apuntador al
siguiente bloque, y así sucesivamente hasta
que se encuentre una marca indicando que
ya no hay espacio libre.
• Sistemas de archivos como FAT y EXT2
funcionan con características de este
esquema.
Introducción
• Por agrupación: es similar a la lista ligada,
solo que en este se tiene por cada sector, un
grupo de apuntadores a varios espacios
vacios, al final de cada bloque se tiene un
apuntador a otro grupo de apuntadores.
• Por contador: aquí, por cada conjunto de
bloques contiguos que estén vacios, se tiene
por cada apuntador, un número de inicio y el
tamaño del grupo de sectores vacios.
Introducción
• Métodos de asignación de espacio en disco:
un método de asignación de espacio en
disco determina la manera en que un
Sistema Operativo controla los lugares del
disco ocupados por cada archivo de datos.
• Se
debe
controlar
básicamente
la
identificación del archivo, sector de inicio y
sector final.
Introducción
• Para el control del espacio ocupado en disco
se puede utilizar como base alguno de los
métodos teóricos: Asignación Contigua,
Asignación Ligada, Asignación Indexada.
• Asignación continua: este método consiste
en asignar el espacio en disco de tal manera
que las direcciones de todos los bloques
correspondientes a un archivo definen un
orden lineal.
Introducción
• Las ventajas y desventajas que presenta
este método de asignación son las
siguientes:
• La cabeza de lectura no se mueve
demasiado en la lectura de un archivo
(ventaja)
• Produce fragmentación externa.
Introducción
• Asignación Ligada: en este método, cada
archivo es una lista ligada de bloques de
disco.
• En el directorio hay un apuntador al bloque
de inicio y un apuntador al bloque final para
cada archivo.
• En cada uno de los bloques donde se
encuentra un archivo hay un apuntador al
siguiente bloque de la lista.
Introducción
• Las ventajas y desventajas que produce este
método son las siguientes:
– No produce fragmentación externa (ventaja).
– La cabeza de lectura se puede mover
demasiado en la lectura de un archivo
(desventaja).
– Si una liga se pierde, se perderá el archivo
completo (desventaja).
– Es ineficiente para la implementación de
archivos directos (desventaja).
– Se necesita un campo extra para el apuntador
(desventaja).
Introducción
• Asignación Indexada: resuelve el problema
de la fragmentación externa poniendo todos
los apuntadores en una sola localidad: El
bloque índice.
• Cada archivo tiene su bloque índice, El cual
es un arreglo de direcciones de bloques de
disco.
• La i-ésima entrada en el bloque índice
apunta al i-ésimo bloque que conforma el
archivo. En el directorio se controla la
dirección del bloque índice de cada archivo.
Introducción
• Las ventajas y desventajas que presenta
este método son las siguientes:
– No produce fragmentación externa (ventaja).
– Eficiente para la implementación de archivos
directos (desventaja).
– Existe desperdicio cuando hay archivos muy
chicos (desventaja).
– Desbordamiento de bloque índice (solución:
creación de un esquema ligado; el ultimo bloque
índice apunta a otro índice).
Introducción
• Método FAT (MS-DOS): un aspecto
importante de cualquier Sistema Operativo
es la manera de gestionar los archivos.
• En el antiguo MS-DOS, la gestión de los
archivos era casi todo lo que hacía el
Sistema Operativo, esencialmente cuando se
ejecutaba Windows de 16 bits sobre él.
• Windows de 16 bits se ocupaba de todo a
excepción de la manipulación de los discos
fijos y flexibles, que los dejaba para MSDOS.
Introducción
• El objetivo de la FAT es el de asignar
espacio en disco para archivos.
• La tabla FAT contiene una entrada para cada
grupo que está en el disco. Cada grupo es
un conjunto de sectores.
• Al querer crear un archivo o revisar uno
existente, el sistema operativo revisa las
entradas que están asociadas a la FAT de
acuerdo con la ubicación del archivo.
Introducción
• El área de sistema tiene 3 componentes:
Registro de arranque, FAT y directorio. La
tabla tiene una captación por bloque, ésta
define cuantos bloques tiene el primer
archivo. Esta ranura de la FAT contiene el
número de bloque del siguiente bloque.
Introducción
• Método VFAT: la VFAT emplea la misma
técnica que la FAT, a diferencia de que la
VFAT la implementa Windows '95 con
direccionamiento a 32 bits. En sí éste módulo
de 32 bits está escrito en código reentrante,
lo que permite que múltiples hilos
concurrentes ejecuten el código del sistema
de archivos.
Introducción
• Parte esencial de cualquier sistema
corresponde con el almacenamiento de la
información, esto se logra a través de un
sistema de archivos.
• Los archivos son las unidades lógicas para
representar la información, y en un sistema
distribuido los archivos pueden estar en
prácticamente cualquier parte.
Archivos
• Algunas características que comparten los
sistemas de archivos son:
• En general son pequeños (<10 KB)
• La lectura es más común que la escritura
• La lectura y escritura son secuenciales, es
raro el acceso aleatorio
• La mayoría de los archivos tiene una vida
corta.
Archivos
• Es poco usual compartir archivos
• Los procesos
archivos
promedio
utilizan
pocos
• Se recomienda el uso de cachés para evitar
problemas de escritura simultánea.
4.2. Duplicidad de datos
• Se utiliza la duplicidad de los datos para
tener sistemas tolerantes a fallos, de más
fácil acceso, entre otras ventajas.
• El principal problema que presenta la
duplicación de los datos tiene que ver con la
transparencia de almacenamiento.
• Otro problema importante consiste en la
consistencia de la información.
Duplicidad de datos
• Se manejan esquemas de actualización de
réplicas primarias y secundarias, basado en
quorum, entre otros mecanismo.
• La duplicidad de los datos se puede hacer a
nivel físico como los sistemas RAID.
• Las cachés son un ejemplo de duplicidad de
datos que traen grandes beneficios.
Referencias
• Tanebaum, A., Woodhull, A. (1997) Sistemas
Operativos. Diseño e Implementación.
México, Prentice Hall. ISBN: 970-17-0165-8.
• Tutorial de Sistemas Operativos 2. Instituto
Tecnológico
de
la
Paz.
http://sistemas.itlp.edu.mx/tutoriales/sistemas
operativos2/ [octubre 2007]
Referencias
• Tanenbaum, Andrew (1996). Sistemas
Operativos Distribuidos. México, Prentice
Hall.
• Shah,
Steve
(2001).
Manual
de
administración de Linux. Capítulo 18:
Sistema de archivos de red (NFS), pp 375386. España, Osborne McGraw-Hill.
Referencias
• Silberschatz, Abraham, Galvin, Peter,
Sistemas Operativos, Quinta edición (1999).
México, Pearson.
¿Preguntas?