Download - Explicacion i-nodos.ppt
Teoría de Sistemas Operativos
Administración de Archivos
2
Archivos
Archivos
NombreNombre
Sistemas de Archivos :: punto de vista del usuario
Consiste en una serie de símbolos (letras ynúmeros principalmente).
Sirven de referencia para el usuario y paraciertas aplicaciones.
3
EstructuraEstructura
Sistemas de Archivos :: punto de vista del usuario
Archivos
Archivos
4
Estructura :: Secuencia de bytesEstructura :: Secuencia de bytes
Sistemas de Archivos :: punto de vista del usuario
Archivos
Desde el punto del SO, el archivo es un conjunto de bytes.
Este modelo es flexible.
La estructura del archivo tiene sentido para el usuario o para los procesos que los crearon.
Archivos
5
Estructura :: Secuencia de RegistrosEstructura :: Secuencia de Registros
Sistemas de Archivos :: punto de vista del usuario
Archivos
Similar al anterior. El archivo está constituído por una serie de registros.
Cada registro tiene una estructura determinada y su tamaño no varía.
Las operaciones de lectura y escritura trabajan a nivel de registros (recuerdo de las tarjetas perforadas)
Archivos
6
Estructura :: ÁrbolEstructura :: Árbol
Sistemas de Archivos :: punto de vista del usuario
Archivos
•El archivo está constituido por un árbol de registros.
•Cada registro tiene una llave, y el tamaño de él tamaño puede variar.
•El árbol se ordena con respecto a la llave.
Archivos
7
TiposTipos
Sistemas de Archivos :: punto de vista del usuario
Archivos
•Archivos regulares–Aquellos que contiene información del usuario
•Archivos en ASCII: constan de líneas de texto•Binarios: ejecutables, imágenes, etc.., los ejecutables tienen cinco secciones: encabezado, texto, datos, bits de reasignación y tabla símbolos
Archivos
8
TiposTipos
Sistemas de Archivos :: punto de vista del usuario
Archivos
•Directorios
Archivos del sistema para el mantenimiento de una estructura del sistema de archivos
Archivos
9
TiposTipos
Sistemas de Archivos :: punto de vista del usuario
Archivos
•Archivos especiales de caracteres
Están relacionados con I/O y se utilizan para modelar dispositivos seriales de I/O tales como terminales, impresoras y acceso a redes.
Archivos
10
TiposTipos
Sistemas de Archivos :: punto de vista del usuario
Archivos
•Archivos especiales de bloques
–Son utilizados para modelar discos
Archivos
11
Tipos :: Archivos regularesTipos :: Archivos regulares
Sistemas de Archivos
Archivos
Número mágicoTamaño del texto
Tamaño delos datosTamaño de BBS
Tamaño tabla símbolos
Punto de entrada
Banderas
Texto
Datos
Bits dereasignación
Tabla de símbolos
Enc
abez
ado
16 bits
Número mágicoTamaño del texto
Tamaño delos datosTamaño de BBS
Tamaño tabla símbolos
Punto de entrada
Banderas
Texto
Datos
Bits dereasignación
Tabla de símbolos
Número mágicoTamaño del texto
Tamaño delos datosTamaño de BBS
Tamaño tabla símbolos
Punto de entrada
Banderas
Texto
Datos
Bits dereasignación
Tabla de símbolos
Enc
abez
ado
Enc
abez
ado
16 bits
Archivo ejecutable
Archivos
12
AccesoAcceso
Sistemas de Archivos :: punto de vista del usuario
Archivos
Secuencial
- Registros en orden físico
- Siguiente registro es el que sigue físicamente al anterior.
- Cinta magnética, disco (no todos)
Archivos
13
AccesoAcceso
Sistemas de Archivos :: punto de vista del usuario
Archivos
Directo
- Acceso directo (aleatorio) a los registros por su dirección física en un dispositivo de almacenamiento de acceso directo
- Los registros se graban en cualquier orden apropiado para una aplicación específica
- Hashing
Archivos
14
AccesoAcceso
Sistemas de Archivos :: punto de vista del usuario
Archivos
• Secuencial indexado
- Se acomodan de acuerdo a una clave contenida en cada registro
- Sistema mantiene un índice con las direcciones físicas de ciertos registros principales
- Acceso a registros por medio de clave o mediante una búsqueda dentro del índice creado por el sistema
- Bases de Datos
Archivos
15
AccesoAcceso
Sistemas de Archivos :: punto de vista del usuario
Archivos
Métodos por colas
-Se usa cuando es posible anticipar la secuencia en la que se procesarán los registros, (acceso secuencial y sec. indexado)
- Llevan a cabo una transferencia anticipada a través buffers.
- Procura tener el siguiente registro disponible para ser procesado tan pronto como se procesa el registro anterior.
Archivos
16
AccesoAcceso
Sistemas de Archivos :: punto de vista del usuario
Archivos
Métodos de acceso básico
- Utilizados cuando no es posible anticipar el orden en el que se van a procesar los registros, (acceso directo)
- Lee y escribe bloques físicos.
Archivos
17
AtributosAtributos
Sistemas de Archivos :: punto de vista del usuario
Archivos
Creador
Propietario
Fecha Creación
Fecha Modificación
Tamaño Actual
Tamaña Máximo
Archivos
18
OperacionesOperaciones
Sistemas de Archivos :: punto de vista del usuario
Archivos
• Manipulación a partir de operaciones:
- Abrir
- Cerrar
- Crear
- Eliminar
- Leer
- Escribir
- Agregar
- Buscar
Archivos
19
Sistemas de Archivos :: punto de vista del usuario
Sistemas jerárquicosSistemas jerárquicos
Directorios
Archivos
•Almacenar todos los datos por archivo en el mismo lugar, (por entrada en el directorio)
Directorio_1 Atributos
Directorio_2 Atributos
Directorio_3 atributos
20
Sistemas de Archivos :: punto de vista del usuario
Sistemas jerárquicosSistemas jerárquicos
Directorios
Archivos
•Almacenar un apuntador a otra estructura de datos
Directorio_1
Directorio_2
Directorio_3
Estructuras dedatos
21
Sistemas de Archivos :: punto de vista del usuario
Rutas de acceso (PATH)Rutas de acceso (PATH)
Directorios
Archivos
Ruta de acceso absoluta.
Ruta de acceso relativa.
Directorio de trabajo.
22
Sistemas de Archivos :: punto de vista del usuario
Rutas de acceso (PATH)Rutas de acceso (PATH)
Directorios
Archivos
Ruta de acceso absoluta.
/usr/local/bin/apache/bin/apachectl
Directorio Raíz
23
Sistemas de Archivos :: punto de vista del usuario
Rutas de acceso (PATH)Rutas de acceso (PATH)
Directorios
Archivos
Ruta de acceso relativa.
../apache/bin/apachectl
24
Sistemas de Archivos :: punto de vista del usuario
Rutas de acceso (PATH)Rutas de acceso (PATH)
Directorios
Archivos
Directorio de trabajo.
# cd /home/alm96/cbarkley# pwd# /home/alm96/cbarkley
25
Sistemas de Archivos :: punto de vista del usuario
Rutas de acceso (PATH)Rutas de acceso (PATH)
Directorios
Archivos
Directorio de trabajo.
# cd /home/alm96/cbarkley# pwd# /home/alm96/cbarkley
26
Sistemas de Archivos :: punto de vista del usuario
Operaciones con directoriosOperaciones con directorios
Directorios
Archivos
Crear y eliminarAbrir y cerrarLeerCambiar de nombreLigar y desligar
27
Sistemas de Archivos :: Implantación
IntroducciónIntroducción
Archivos
Cómo se realiza el registro de los bloques asociados a cada archivo.
El espacio en disco se divide en unidades de asignación, denominadas bloques
Cuando un proceso solicita espacio en disco se entregará una cantidad de bloques que satisfaga las necesidades.
28
Sistemas de Archivos :: Implantación de Archivos
Tipos de implantaciónTipos de implantación
•Asignación adyacente
•Asignación en forma de lista ligada.
•Asignación mediante lista ligada y un índice.
•Nodos índice
•Asignación adyacente
•Asignación en forma de lista ligada.
•Asignación mediante lista ligada y un índice.
•Nodos índice
Archivos
29
Tipos de implantación :: Asignación adyacenteTipos de implantación :: Asignación adyacente
Sistemas de Archivos :: Implantación de Archivos
Archivos
Los archivos se asignan a zonas contiguas de almacenamiento secundario.
Ventajas
- Fácil implantación ya que el registro de la localización de un archivo solo implica guardar la dirección donde este inicia y su longitud.
- El rendimiento es muy bueno puesto que el archivo se puede leer en una sola operación.
30
Tipos de implantación :: Asignación adyacenteTipos de implantación :: Asignación adyacente
Sistemas de Archivos :: Implantación de Archivos
Archivos
Desventajas
- Para su implementación se hace necesario conocer el tamaño del archivo al momento de su creación.
-Se puede presentar fragmentación externa del disco, lo que requeriría hacer compactaciones frecuentemente.
-Dificulta que los archivos puedan variar de tamaño con el tiempo
31
Tipos de implantación :: Lista ligadaTipos de implantación :: Lista ligada
Sistemas de Archivos :: Implantación de Archivos
Archivos
•Se mantiene a cada archivo como una lista ligada de bloques en disco
•La primera palabra de cada bloque se utiliza como apuntador a la siguiente. El resto del bloque contiene datos
•Se puede utilizar cada bloque del disco
•No se pierde espacio debido a la fragmentación
32
Tipos de implantación :: Lista ligadaTipos de implantación :: Lista ligada
Sistemas de Archivos :: Implantación de Archivos
Archivos
•Es suficiente que la entrada del directorio guarde sólo la dirección en disco del primer bloque.
•Lectura secuencial directa, pero acceso aleatorio lento.
•Cantidad espacio para almacenar datos en un bloque ya no es potencia de dos. (menos eficiente)
33
Tipos de implantación :: Lista ligadaTipos de implantación :: Lista ligada
Sistemas de Archivos :: Implantación de Archivos
Archivos
Bloquearchivo
0
Bloquearchivo
1
Bloquearchivo
2
Bloquearchivo
3
Bloquearchivo
4
Archivo A
4 7 2 10 12
Bloquearchivo
0
Bloquearchivo
1
Bloquearchivo
2
Bloquearchivo
3
Archivo B
6 3 11 14
BloqueFísico
34
Tipos de implantación :: Lista ligada con índiceTipos de implantación :: Lista ligada con índice
Sistemas de Archivos :: Implantación de Archivos
Archivos
•Elimina los problemas de la lista ligada.
•Toma la palabra del puntero de cada bloque del disco y lo coloca en una tabla o índice de la memoria.
35
Tipos de implantación :: Lista ligada con índiceTipos de implantación :: Lista ligada con índice
Sistemas de Archivos :: Implantación de Archivos
Archivos
•Acceso aleatorio más sencillo
•Toda la tabla de estar en la memoria todo el tiempo para que funcione.
•Es utilizado por MS-DOS y win9x (FAT)
36
Tipos de implantación :: Lista ligada con índiceTipos de implantación :: Lista ligada con índice
Sistemas de Archivos :: Implantación de Archivos
Archivos
0 1 2 10 3 11 4 7 5 6 3 7 2 8 910 1211 1412 01314 015
El archivo A comienza aquí
Bloquefísico
El archivo B comienza aquí
Bloque no utilizado
37
Tipos de implantación :: Nodos índiceTipos de implantación :: Nodos índice
Sistemas de Archivos :: Implantación de Archivos
Archivos
•Se asocia a cada archivo una pequeña tabla llamada nodo-i. (o nodo índice).
•La tabla contiene los atributos y direcciones en disco de los bloques del archivo.
•Primeras direcciones en disco se almacenan en el propio nodo-i.
38
Tipos de implantación :: Nodos índiceTipos de implantación :: Nodos índice
Sistemas de Archivos :: Implantación de Archivos
Archivos
•En Archivos pequeños toda la información está contenida en el nodo-i, el que se traslada del disco a memoria principal al abrir el archivo
•En Archivos grandes, una de las direcciones del nodo-i es la dirección de un bloque en el disco llamado bloque simplemente indirecto y contiene direcciones en discos adicionales.
•Unix utiliza “i-nodos”.
39
Tipos de implantación :: Nodos índiceTipos de implantación :: Nodos índice
Sistemas de Archivos :: Implantación de Archivos
ArchivosAtributos
Bloquesimplemente
indirecto Bloquedoblemente
indirecto
Bloquetriplemente
indirecto
Direccionesde los bloques
de datos
AtributosAtributos
Bloquesimplemente
indirecto Bloquedoblemente
indirecto
Bloquetriplemente
indirecto
Direccionesde los bloques
de datos
40
Descripción Descripción
Sistemas de Archivos :: Implantación de Directorios
Archivos
Antes de poder acceder a un archivo, este debe ser abierto.
Al abrirlo, el sistema operativo utiliza la ruta de acceso (path) dada por el usuario para localizar el nombre en el directorio.
Allí se encuentra la información necesaria para encontrar los bloques en el disco.
41
Descripción Descripción
Sistemas de Archivos :: Implantación de Directorios
Archivos
Según el tipo de Implementación del Sistema de Archivos, esta información puede ser:
•La dirección en disco de todo el archivo asignación adyacente),
•El número del primer bloque (listas ligadas y listas ligadas con índice)
•El número del nodo-i.
42
Directorios en DOSDirectorios en DOS
Sistemas de Archivos :: Implantación de Directorios
Archivos
La longitud de cada entrada en el directorio es de 32 bytes.
43
Directorios en UnixDirectorios en Unix
Sistemas de Archivos :: Implantación de Directorios
Archivos
Cada entrada contiene un nombre de archivo y sunodo-i.
44
Directorios en UnixDirectorios en Unix
Sistemas de Archivos :: Implantación de Directorios
Archivos
Toda la información relativa a tamaño, tipo, fecha, hora y bloques de disco está almacenada en el nodo-i
45
Directorios en Unix :: Ejemplo : abrir /usr/bin/lsDirectorios en Unix :: Ejemplo : abrir /usr/bin/ls
Sistemas de Archivos :: Implantación de Directorios
Archivos
1 .1 ..4 bin14 etc6 usr
/
Se busca el i-nodo del directorio usr enel directorio raíz (/)
46
Directorios en Unix :: Ejemplo : abrir /usr/bin/lsDirectorios en Unix :: Ejemplo : abrir /usr/bin/ls
Sistemas de Archivos :: Implantación de Directorios
Archivos
1 .1 ..4 bin14 etc6 usr
/
Head
132
i-nodo 6
==> /usr está asociado el i-nodo 6.==> Este i-nodo nos dice que el directorio se encuentra en el bloque 132 del disco
47
Directorios en Unix :: Ejemplo : abrir /usr/bin/lsDirectorios en Unix :: Ejemplo : abrir /usr/bin/ls
Sistemas de Archivos :: Implantación de Directorios
Archivos
1 .1 ..4 bin14 etc6 usr
/
Head
132
i-nodo 6
6 .1 ..41 sbin15 local61 bin
/usr
==> Dicha estructura (/usr) nos dice que el directorio bin tiene asociado el i-nodo 61.
48
Directorios en Unix :: Ejemplo : abrir /usr/bin/lsDirectorios en Unix :: Ejemplo : abrir /usr/bin/ls
Sistemas de Archivos :: Implantación de Directorios
Archivos
Head
132
i-nodo 6
6 .1 ..41 sbin15 local61 bin
/usr
Head
87
i-nodo 61
==> /usr/bin está asociado el i-nodo 61.==> Este i-nodo nos dice que el directorio bin se encuentra en el bloque 87 del disco
49
Directorios en Unix :: Ejemplo : abrir /usr/bin/lsDirectorios en Unix :: Ejemplo : abrir /usr/bin/ls
Sistemas de Archivos :: Implantación de Directorios
Archivos
6 .1 ..41 sbin15 local61 bin
/usr
Head
87
i-nodo 61
87 .6 ..78 cp83 rm91 ls
/usr/bin
==> La estructura de /usr/bin nos dice que el archivo ls tiene asociado el i-nodo 91.
50
Directorios en Unix :: Ejemplo : abrir /usr/bin/lsDirectorios en Unix :: Ejemplo : abrir /usr/bin/ls
Sistemas de Archivos :: Implantación de Directorios
Archivos
Head
87
i-nodo 61
87 .6 ..78 cp83 rm91 ls
/usr/bin
AtributosAtributosAtributos
i-nodo 91
==> Finalmente el i-nodo 91 se carga en memoria y se ejecuta el programa
51
Registro de bloques libres En forma de lista ligadaEn forma de Mapa de Bits
Registro de bloques libres En forma de lista ligadaEn forma de Mapa de Bits
Sistemas de Archivos :: Administración de Espacio en Disco
Archivos
52
Archivos
Bloque1
Bloque2
Bloque3
Bloque4
Bloque5
Bloque6
Bloque7
Bloque8
Bloque9
Bloque10
Bloque11
Bloque12
Sistemas de Archivos :: Administración de Espacio en Disco
Registro de bloques libres ::En forma de lista ligadaRegistro de bloques libres ::En forma de lista ligada
53
Archivos
Bloque1
Bloque2
Bloque3
Bloque4
Bloque5
Bloque6
Bloque7
Bloque8
Bloque9
Bloque10
Bloque11
Bloque12
0 1 1 01 1 0 00 1 0 0
Sistemas de Archivos :: Administración de Espacio en Disco
Registro de bloques libres ::En forma de mapa de bitsRegistro de bloques libres ::En forma de mapa de bits
54
ArchivosSistemas de Archivos :: Administración de Espacio en Disco
Restricción de espacio: Cuotas (Disk Quotas)Restricción de espacio: Cuotas (Disk Quotas)
Cuotas: Número máximo de recursos (Kbytes, archivos) del sistema de archivos de que puede disponer un usuario.
El i-nodo de cada archivo abierto contiene un puntero a una tabla de cuotas del usuario que abrió el fichero. La tabla contienen los límites flexibles y estrictos de número de bloques y archivos permitidos.
55
ArchivosSistemas de Archivos :: Confiabilidad
Los discos, como cualquier otro dispositivo hardware, pueden fallar. Pero los usuarios quieren seguir trabajando...
Los discos, como cualquier otro dispositivo hardware, pueden fallar. Pero los usuarios quieren seguir trabajando...
56
ArchivosSistemas de Archivos :: Confiabilidad
Bloques defectuososBloques defectuosos
Solución software
Se detectan los bloqueos defectuosos utilizando una función (format, chkdsk, fsck, etc).
El programa indica en la tabla correspondiente que el bloque es defectuoso, y por lo tanto no debe ser usado.
57
ArchivosSistemas de Archivos :: Confiabilidad
Bloques defectuososBloques defectuosos
Solución hardware
El fabricante proporciona una lista de sectores defectuosos tras realizar el formateo a bajo nivel.
Esta lista se almacena en un bloque o sector, junto a los sustitutos de los bloques defectuosos.
58
ArchivosSistemas de Archivos :: Respaldos
Cuando un bloque se corrompe durante el tiempo de funcionamiento, los datos normalmente se pierden, y deben ser restaurados desde un sistema de respaldo, que contenga copia en cinta, disco óptico, o en otro disco magnético del sistema de archivos.
59
ArchivosSistemas de Archivos :: Respaldos
Respaldos incrementales:
Sólo los cambios desde el último respaldo general.
Algunas técnicasAlgunas técnicas
60
ArchivosSistemas de Archivos :: Consistencia
Las faltas de consistencia se producen cuando:
Hay una fallo en sistema entre la modificación de un bloque (en memoria) y su copia en disco.
Lo anterior es especialmente grave si el bloque contiene i-nodos, directorios o listas de bloques libres
61
ArchivosSistemas de Archivos :: Consistencia
Surgen dos necesidades:
•Herramientas que comprueben la consistencia.
•Herramientas que restablezcan la consistencia.
62
ArchivosSistemas de Archivos :: Consistencia
El programa que analiza la consistencia:
•Crea una tabla de bloques ocupados .
•Crea una tabla de bloques libres, que actualiza leyendo los i-nodos y la lista de bloques libres del sistema.
1er tipo de análisis de consistencia1er tipo de análisis de consistencia
63
ArchivosSistemas de Archivos :: Consistencia
Inconsistencias posibles:
• Un bloque no está en ninguna de las dos tablas.
• Un bloque aparece en las dos tablas
• Un bloque aparece más de una vez en una de las tablas.
1er tipo de análisis de consistencia:1er tipo de análisis de consistencia:
64
ArchivosSistemas de Archivos :: Consistencia
1er tipo de análisis de consistencia: Posibles Incons.1er tipo de análisis de consistencia: Posibles Incons.
65
ArchivosSistemas de Archivos :: Consistencia
El programa que analiza la consistencia:
El programa recorre el árbol de directorios
Crea una tabla de i-nodos que contiene el número referencias hechas a un archivo.
El número de referencias se comparan con el número de enlaces que aparece en los propios i-nodos.
2do tipo de análisis de consistencia2do tipo de análisis de consistencia
66
ArchivosSistemas de Archivos :: Consistencia
2do tipo de análisis de consistencia2do tipo de análisis de consistencia
Inconsistencias posibles:
•El número enlaces es mayor que el número de referencias desde los directorios.
•El número de enlaces es menor que el número de referencias.
67
ArchivosSistemas de Archivos :: Consistencia
Otros tipo de análisis de consistenciaOtros tipo de análisis de consistencia
Otras comprobaciones:
•Número de i-nodo mayor que el máximo posible.
•Permisos “extraños'', directorios muy grandes, “setuid'' en sitios “raros''.
•Comprobación contra una lista de “firmas'', fechas y tamaños.
68