Date post: | 28-Jan-2016 |
Category: |
Documents |
Upload: | adoracion-daniel |
View: | 221 times |
Download: | 0 times |
Sistema de archivos
Sistemas operativos
Organizaciones comunes de un archivo
1 byte
1 registroZorra CerdoPerro
Vaca PatoGato León BúhoCabra Rata GansoPony
Ibis SapoGallo
Tres tipos de archivos. (a) Secuencia de bytes. (b) Secuencia de registros. (c) Árbol
Tipos de archivos
La mayoría de los sistemas operativos tienen muchos tipos distintos de archivos, UNIX, por ejemplo, tiene archivos regulares, directorios y archivos especiales (de bloques y caracteres). Los archivos regulares contienen la información que se necesita para dar a los archivos nombres simbólicos (es decir, cadenas ASCII). Los archivos especiales de bloques y de caracteres se utilizan para modelar dispositivos de disco y otros como terminales, respectivamente.
Directorios
Para llevar el control de los archivos se utilizan directorios, es muchos sistemas, éstos, son archivos. En la figura se muestra un directorio, en él, se tiene una captación por cada archivo.
Entrada
Directorio Información acerca de cada archivo
Entrada
Entrada
Entrada
Nombre del archivoTipo de archivoTamaño del archivoPropietarioInformación de protecciónConteo de usoTiempo de creaciónTiempo de la última modificaciónLista de bloques del disco que se usen
Configuraciones de directorios
AA
Directorio Archivo
Directorio raízDirectorio raíz
Directorio raíz
CBCB
A A B C CCA CB
B B C C
CC
CC CC
B
B
A
Subdirectorios del usuario
Directorios del usuario
Archivos
(a)
(b)
(c)
Acceso a directorios
Para el caso árbol se emplean dos métodos de acceso, el nombre de ruta absoluto y el nombre de ruta relativa. Para este último se requiere la definición de el directorio de trabajo.
Nombre absoluto: incluyendo todos los directorios, ej.: /usr/lupe/agenda.c
Nombre relativo: referente al directorio de trabajo, ej.: notas/c/tar1.txt
Diseño del sistema de archivo
Se utilizan dos métodos para controlar el espacio libre en el disco, uno es la lista enlazada y el otro el mapa de bits.
Para bloques de 1K y un disco de 20MB se necesitan 40 bloques máximo para contener los 20000 número de bloques del disco en una lista enlazada.
Usando mapas de bits solo se necesitarán 3 bloques (20000 bits / (8 bits/bytes) = 2500 bytes = 3 bloques de 1K).
421362109741632148262
310516
230162612342214160664216320
180482
86234897422140223223160126
142141
Bloques libres del disco: 16,17,18
Un bloque del disco de 1K puede contener 512 númerosde bloques de disco de 16 bits
100110110110110001101101111101111010110110110110011011011011101111101110111011111101101010001111000011101101011110111011011011111100100011101111
01110111011101111101111101110111
Un mapa de bits
(a) (b)
Almacenamiento de los archivos Esquema de asignación de bloques de ms-dos
Las entradas 0 y 1 se utilizan para especificar el tamaño del disco. Los código EOF y FREE se utilizan para las captaciones fin de
archivo y libre, respectivamente.
XX
EOF13298
FREE4123
FREEEOFEOFFREEBAD
01234
67
5
89101112131415
FATTamaño deldisco
Archivo A:
Archivo B:
Archivo C:
6 8 4 2
5 9 12
10 3 13
Este bloque se marca como bloque erróneo
continuación
Este esquema se diseño para discos de 320K con un bloque de 1K. Los números de los bloques son de 12 bits, de modo que la FAT de 320 captaciones requiere 480 bytes (1 bloque). Con discos de 360K se requieren 540 bytes (2 bloque). Con más de 4096 bloques, se reqiere un número mayor de 12 bits para representarlos.
Esquema de UNIX
El esquema de UNIX es diferente, en éste se tiene con cada archivo una tabla pequeña llamada nodo i como se muestra en la figura siguiente. Esta contiene la información contable y de protección. En el nodo i se conservar apuntadores a 10 bloques del disco, cuando un archivo tiene más de 10 bloques, se adquiere un bloque del disco libre y se coloca un apuntador hacia él. Este bloque se usa para contener apuntadores a los bloques del disco. Con bloques de 1K y direcciones del disco de 32 bits, el bloque indirecto puede contener 256 direcciones del disco. Este esquema basta para archivos de 266 bloques.
Estructura de un nodo i
Nodo del archivoNúmero de enlaces del archivo
Uid del propietarioGid del propietarioTamaño del archivoTiempo de creación
Tiempo del último accesoTiempo de la última modificación
10 números de bloque del disco
Indirecto individualIndirecto dobleIndirecto triple
Apuntadores aa bloques de datos
Apuntadores aa bloques de datos
.
Apuntadores aa bloques de datos
Nodo i
continuación
Después de 266 bloques, el apuntador doble indirecto se utiliza para apuntar a un bloque de disco de hasta 256 apuntadores. Estos apuntadores no apuntan a bloques de datos sino que a 256 bloques indirectos individuales. El bloque indirecto doble basta para archivos hasta de 266 + 2562 = 65802. Para archivos de más de 64 MB, se utiliza el apuntador triple indirecto para apuntar a un bloque que contiene apuntadores a 256 bloques indirectos dobles. Archivos de más de 16 GB no se pueden manejar.
Estructura del directorio
Cuando un archivo se abre, el sistema operativo utiliza el nombre de ruta proporcionado por el usuario para localizar los bloques del disco, de manera que se puedan leer y escribir más adelante.
Esquema de CP/M
Nombre del archivo
Códigodel usuario
Tipo del archivo(extensión)
Grado
Conteodel bloque
Números de bloque del disco
1 8 3 1 2 16Bytes
Directorio en MS-DOS
Nombre
Extensión
Atributos
1 8 3 1 10Bytes
Tamaño
Reservado TiempoFecha
Primer númerode bloque
2 2 2 4
El directorio raíz puede tener 112 entradas en un disco de 360K.
Directorio en UNIX
Cada entrada contiene un nombre de archivo y su número de nodo i. Los directorios de unix son archivos y pueden contener muchas de estas entradas.
Nombre del archivo
2Bytes 14
Número del nodo i
Localización en UNIX
Para localizar un archivo se sigue el siguiente algoritmo. Por ejemplo para localizar /usr/mbox, unix localiza el nodo i, el cual está en un lugar fijo del disco. Después busca la primera componente de la ruta, usr, en el diretorio raíz con objeto de hallar el nodo i del archivo /usr. A partir de este nodo i, el sistema localiza el directorio de /usr y busca la siguiente componente, ast, en él. Cuando ha encontrado la entrada de ast, éste tiene el nodo i del directorio /usr/ast. A paritir de este nodo i, puede hallar el directorio mismo y buscar mbox. El nodo i de este archivo se lee después en la memoria y se guarda ahí hasta que el archivo se cierra.
continuación
1
Directorio raíz
.1 ..4 bin7 dev14 lib9 etc6 usr8 tmp
La búsqueda deusr produce elnodo i 6
El nodo i 6
132
modotamañotiempos
es de /usr
El nodo i 6indica que/usr está enel bloque 132
6
es el directorio
.1 ..19 dick30 erik51 jim26 ast45 bal
/usr/astes el nodo i26
El nodo i 26
406
modotamañotiempos
es de /usr/ast
El nodo i 26indica que/usr/ast esel bloque 406
El bloque 132
de /usr
26
es el directorio
.6 ..64 grants92 books60 mbox81 minix17 src
/usr/ast/mboxes el nodo i60
El bloque 406
de /usr/ast
Archivos compartidos
Se utilizan dos enfoques para el manejo de archivos compartidos. El primero consiste en generar una nueva ruta al nodo i, en este caso se lleva en el nodo la contabilidad de las rutas hacia ese nodo i. Cuando se elimina un enlace, simplemente se decrementa este contador, si el resultado es cero, el archivo es eliminado del disco.
La otra forma es crear un enlace símbolico, el nuevo archivo simplemente contiene la ruta hacia el archivo al cual se enlazará.
continuación
Directorio raíz
A CB
B B C C
CC
CC CC
B
B
A
Archivos compartidos
Confiabilidad del sistema de archivos
Respaldos
Para respaldar la información puede usarse un disco imagen. Este contiene la misma información que el original, si se pierde el original, se puede recuperar la información a partir de la imagen. Otras formas de respaldo son: los disquettes de respaldo, cinta magnética, etc.
Consistencia del sistema de archivo
Cuando ocurre una falla de energía, puede darse el caso que la información del disco pierda consistencia. En la figura se muestran las posibles inconsistencias.
continuación
1 1 0 1 0 1 1 1 1 0 0 1 1 1 0 0
0 0 1 0 1 0 0 0 0 1 1 0 0 0 1 1
0 1 2 3 4 5 6 7 8 10 11 129 14 1513
Bloques en uso
Bloques libres
Número del bloque
(a)
1 1 0 1 0 1 1 1 1 0 0 1 1 1 0 0
0 0 0 0 1 0 0 0 0 1 1 0 0 0 1 1
0 1 2 3 4 5 6 7 8 10 11 129 14 1513
Bloques en uso
Bloques libres
(b)
1 1 0 1 0 1 1 1 1 0 0 1 1 1 0 0
0 0 1 0 2 0 0 0 0 1 1 0 0 0 1 1
0 1 2 3 4 5 6 7 8 10 11 129 14 1513
Bloques en uso
Bloques libres
(c)
1 1 0 1 0 2 1 1 1 0 0 1 1 1 0 0
0 0 1 0 1 0 0 0 0 1 1 0 0 0 1 1
0 1 2 3 4 5 6 7 8 10 11 129 14 1513
Bloques en uso
Bloques libres
(d)
Estados de un sistema de archivo.
(a) Consistente.
(b) Bloque faltante.
(c) Bloque duplicado en la lista libre.
(d) Bloque de datos duplicado.
Panorama general del sistema de archivos en MINIX
Bloque de carga
Super bloque Nodos i
Nodos i
Mapa de bits del nodo i
Mapa de bits de la zona
Datos
Un bloque del disco
...
Esquema de un disco flexible de 360K, con 127 nodos i y un tamaño de boque de 1k.
Superbloque de MINIX
Número de nodos
Número de zonas
Número de bloques del mapa de bits del nodo i
Número de bloques del mapa de bits de la zona
Primera zona de datos
Log 2 (tamaño de la zona/tamaño del bloque)
Tamaño máximo del archivo
Número mágico
Apuntador al bloque del mapa de bits del nodo i
.
Apuntador al bloque del mapa de bits de la zona
.
Número del dispositivo del superbloque
Nodo i del sistema de archivos montado
Nodo i montado
Tiempo de la última actualización
Señal sólo de lectura/Señal de sucio
01011011101101110011011011101110....
1011011111111011101101110101011111111011....
Mapa de bits del nodo i
Mapa de bits de la zona
Presente en la memoria pero no en el disco
Presente en el disco y la memoria
Nodo iModo
Uid
Tamaño del archivo
Tiempo de la última modofocación
Enlaces Gid
Número 0 de la zona
Número 1 de la zona
Número 2 de la zona
Número 3 de la zona
Número 4 de la zona
Número 5 de la zona
Número 6 de la zona
Indirecto
Indirecto doble
32 bytes
16 bitsTipo de archivo y bits RWX
Identifica al usuario que posee el archivo
Número de bytes en el archivo
En segundos, desde el 1 de enero de 1970
Directorios que listan este grupo del nodo i/Propietario
Números de zona de las primeras 7 zonas de datos del archivo
Solo se utiliza para archivos mayores que 7 zonas