Consistencia después
de una interrupción abrupta en el sistema operativo
Fecha:
24/05/2019
Nombres
y apellidos:
FRANCO
A. UBALDE ARENAS
ID
Integrante:
Franco.ubalde921
Módulo:
Sistemas
operativos
Unidad:
Administración
de información
Actividad:
Reconociendo
lo aprendido unidad 3
Tarea:
Informe
-Estructura en el
dispositivo
-Asignación de
espacios
-Recuperación y fallos
1. Realice un esquema, de
cómo se estructura cada bloque de información sobre varios discos
bajo RAID niveles 0,1 y 5. Para cada uno de estos niveles, indique el efecto
que su empleo tendría en cuanto a espacio total, velocidad de acceso,
confiabilidad (tenga en cuenta leer el apéndice C del documento (“Fundamentos
sistema operativo”).
ESQUEMAS
RAID 0
DISCO 0
|
DISCO 1
|
A1
|
A2
|
A3
|
A4
|
A5
|
A6
|
A7
|
A8
|
Reparte los datos igualitariamente entre dos o más
discos. se usa normalmente para aportar un alto rendimiento de escritura ya que
los datos se escriben en dos o más discos.
Puede crearse en discos de diferentes tamaños, pero el
espacio de almacenamiento añadido al conjunto estará limitado por el tamaño del
disco más reducido.
Una buena implementación de un RAID 0 dividirá las
operaciones de lectura y escritura en
bloques de igual tamaño, por lo que distribuirá
la información equitativamente entre los dos
discos.
Puede usarse como forma de crear un pequeño número de
grandes discos virtuales a partir de un gran número de pequeños discos físicos
Se necesita tener 2 discos duros como mínimo para aumentar
la capacidad de almacenamiento.
Ejemplo: Un disco duro UDMA/100, tiene una velocidad
de alrededor 20 Mo/s en promedio y puede alcanzar difícilmente los 100 Mo/s. Si
instalamos los dos discos duros UDMA/100 al conector RAID. RAID 0 aumenta la
velocidad al doble a40 Mo/s (2*20 Mo/s) en promedio.
RAID 1
DISCO 0
|
DISCO 1
|
A1
|
A1
|
A2
|
A2
|
A3
|
A3
|
A4
|
A4
|
Sólo puede ser tan grande como el más
pequeño de sus discos.
Crea una copia exacta de un conjunto de
datos en dos o más discos. Esto resulta
útil cuando queremos tener más seguridad
desaprovechando capacidad, ya que si
perdemos un disco, tenemos el otro con
la misma información.
También puede estar leyendo
simultáneamente dos datos diferentes en dos discos diferentes, por lo que su rendimiento
se duplica y tiene muchas ventajas de administración.
En caso de fallar un disco duro, es
posible continuar las operaciones en el otro disco duro.
No se mejora el rendimiento y los otros
discos duros son ocultos. Es indispensable tener al menos dos discos duros.
RAID 5
DISCO 0
|
DISCO 1
|
DISCO 2
|
DISCO 3
|
A1
|
A2
|
A3
|
Ap
|
B1
|
B2
|
Bp
|
B4
|
C1
|
Cp
|
C3
|
C4
|
Dp
|
D2
|
D3
|
D4
|
Necesitará un mínimo de 3 discos para
ser implementado.
Se genera un bloque de paridad dentro de
la misma división. Un bloque se
compone a menudo de muchos sectores
consecutivos de disco.
Es una división de datos a nivel de
bloques que distribuye la información deparidad entre todos los discos miembros
del conjunto.
Las escrituras en un RAID 5 son costosas
en términos de operaciones de disco y tráfico entre los discos y la
controladora.
El disco utilizado por el bloque de
paridad está escalonado de una división a la siguiente, de ahí el término
«bloques de paridad distribuidos.
Respalda los datos ante posibles
pérdidas, ya sea por anomalía en una unidad de disco o por daños causados en un
disco.
Los bloques de paridad no se leen en las
operaciones de lectura de datos, ya que esto sería una sobrecarga innecesaria y
disminuiría el rendimiento.
Si falla más de un disco, los datos se
tienen que restaurar a partir del medio de copia de seguridad. Lógicamente, la
capacidad de una unidad de disco está dedicada a almacenar datos de paridad en
un conjunto de paridad.
2. Desarrolle la
siguiente pregunta: *¿Cuál es el tamaño máximo de archivo que podrá manejar
este sistema de archivos? *Partiendo del siguiente sistema de archivos basado
en asignación indexada; cada clúster mide 4.096 bytes, y el apuntador a un
bloque requiere 32 bits (4 bytes). Dados los metadatos que van a almacenarse en
el i-nodo del archivo, dentro del i-nodo principal puede guardar 24 apuntadores
directos, y está considerando permitir indirección sencilla y doble.
Suponiendo magnitudes típicas hoy en día (clusters de
4 KB direcciones de 32 bits), en un clúster vacío caben 128 apuntadores (4
096 /32) si los metadatos ocupan 224 bytes en el i-nodo, dejando espacio
para 100 apuntadores: Un archivo de hasta (100−3) ×4 KB = 388 KB puede
ser referido por completo directamente en el i-nodo, y es necesario un
solo acceso a disco para obtener su lista de clusters. Un archivo de hasta
(100−3+128) ×4 KB =900 KB puede representarse con el bloque de indirección
sencilla, y obtener su lista de clusters significa dos accesos a disco
adicionales. Con el bloque de doble indirección, puede hacerse
referencia a archivos mucho más grandes: (100−3+128+ (128×128)) ×4 KB= 66
436 KB ≈65 MB
Sin embargo, a estas alturas comienza a llamar la
atención otro importante punto: para acceder a estos 65MB es necesario realizar
hasta 131 accesos a disco. A partir de este punto, resulta importante que el
sistema operativo asigne clusters cercanos para los metadatos (y, de ser
posible, para los datos), pues la diferencia en tiempo de acceso puede ser
muy grande.
Un clúster es el tamaño mínimo de almacenamiento del
disco duro, es decir, si lo almacenamos en un fichero, este se aloja
en un clúster para él solo, pero, si el archivo ocupa más, este utilizará más clústers,
pero no compartirá un clúster con ningún otro fichero del sistema.
El tamaño de clúster delimita el tamaño mínimo que un
fichero ocupará en nuestro disco duro. Si el tamaño de clúster (o de asignación
de archivos) es de 4096 bytes y guardamos un fichero de 1758 bytes
realmente estamos ocupando en el disco un total de 4096 bytes, ya que este es
el tamaño de asignación de nuestro disco duro o partición, en este caso
desperdiciamos 4096 – 1758 = 2338 bytes. Cuanto más pequeño es el clúster menos
espacio desaprovechamos.
Solución: si tenemos un tamaño de clúster de 512 bytes
el archivo del ejemplo anterior ocupará 4 clúster y esto nos dará una pérdida
de, 512 * 4 = 2048 bytes – 1758 = 290 bytes, como vemos la pérdida es mucho
menor.
Cuanto más pequeño es el clúster mayor es la
fragmentación del disco.
Solución: si tenemos el disco dividido en partes más
pequeñas, la fragmentación es mayor y la mayor pérdida de rendimiento, de
otro modo, al elegir un mayor tamaño de clúster, si la fragmentación se reduce,
pero también desaprovechamos un mayor espacio en disco.
3. Describa el
funcionamiento de un sistema de archivos con bitácora (journaling file system).
y responda la siguiente pregunta. ¿Cómo nos asegura que el sistema se mantendrá
consistente después de una interrupción abrupta del suministro eléctrico?
Consiste en separar un área del volumen y dedicarla a
llevar una bitácora con todas las transacciones de metadatos. Una transacción
es un conjunto de operaciones que deben aparecer como atómicas. La bitácora se
implementa generalmente como una lista ligada circular, con un apuntador que
indica cuál fue la última operación realizada exitosamente.
Periódicamente, o cuando la carga de transferencia de
datos disminuye, el sistema verifica qué operaciones quedaron pendientes, y
avanza sobre la bitácora, marcando cada una de las transacciones conforme
las realiza. En caso de tener que recuperarse de una condición de fallo, el
sistema operativo sólo tiene que leer la bitácora, encontrar cuál fue la última
operación efectuada, y aplicar las restantes.
Con un sistema con bitácora no hace falta verificar el
sistema de archivos completo tras una detención abrupta, esta no exime de que,
de tiempo en tiempo, el sistema de archivos sea verificado, es altamente
recomendado hacer una
verificación periódica en caso de presentarse alguna
corrupción, sea por algún bug en la implementación, fallos en el medio físico,
o factores similarmente poco frecuentes.
No hay comentarios:
Publicar un comentario