Conceptos Avanzados de Sistemas Operativos y Gestión de Almacenamiento
Enviado por Chuletator online y clasificado en Informática y Telecomunicaciones
Escrito el en
español con un tamaño de 9,87 KB
Gestión de Almacenamiento y RAID
Cálculo de Paridad en RAID 4
Un sistema usa RAID 4 con cuatro discos de datos y uno de paridad. El disco tercero se estropea. Las bandas de los discos primero, segundo y cuarto contienen los datos 10010, 10011 y 00011, respectivamente. El disco de paridad tiene: 01111. ¿Qué contenía el disco tercero?
Respuesta: a) 01101
Unidad Mínima de Lectura
TEST: ¿Cuál es la unidad mínima de información que puede leer un disco?
Respuesta: Un sector.
Concurrencia y Sincronización de Procesos
Algoritmos de Exclusión Mutua
¿Qué problema NO tiene el siguiente algoritmo de exclusión mutua?
while (Turno != 0) /* esperar */;
INICIO:
while (Turno != 1) /* esperar */;
sección_critica();
Turno = 1;
sección_critica();
Turno = 0;
fuera_de_la_sección_critica();
fuera_de_la_sección_critica();
goto INICIO;
goto INICIO;Respuesta: d) No se respeta la exclusión mutua.
El Problema del Productor-Consumidor
En el problema del productor-consumidor, ¿qué cuestión relacionada con la concurrencia aparece cuando hay varios consumidores en lugar de uno solo?
Respuesta: Cuando hay varios consumidores aparece un nuevo problema de concurrencia: dos consumidores pueden leer el mismo dato del buffer. Por eso, los punteros o variables que indican la posición de lectura deben ser variables compartidas protegidas mediante una sección crítica.
Simulación de Sección Crítica
Podríamos simular una sección crítica con paso de mensajes de la siguiente manera:
Respuesta: a) receive bloqueante y send no bloqueante.
Semáforos y Monitores
¿Qué solucionan los semáforos y los monitores que no soluciona otra cosa?
Respuesta: La exclusión mutua y la sincronización entre procesos.
TEST: ¿Cuál es la afirmación falsa sobre los monitores de Java?
Respuesta: Condicional no bloqueante.
TEST: ¿Qué es lo que falla en la sincronización mediante semáforos para que no se produzca interbloqueo?
Respuesta: Espera y retención.
Atocimidad en Wait y Signal
Las operaciones Wait y Signal deben ser atómicas para evitar que varios procesos modifiquen simultáneamente el semáforo y se violen las secciones críticas, ya que un proceso podría ser expulsado de la CPU antes de completar la operación.
Naturaleza de los Semáforos
Si los semáforos son variables enteras, ¿por qué es necesario crear otras variables? ¿No bastaría con solo incrementar el valor del semáforo?
Respuesta: Los semáforos y monitores usan instrucciones atómicas de sincronización (wait y signal) y no variables normales. Las variables normales habría que leerlas y escribirlas, y en ese proceso se podrían "colar" procesos, generando resultados no deseados.
Gestión de Procesos y Memoria
Memoria Compartida y Fork
¿La memoria compartida y hacer un fork tienen el mismo valor? ¿El puntero apunta a la misma variable? Si el padre escribe en el código, ¿el hijo lo puede ver?
Respuesta: Sí. Si tenemos memoria compartida y hacemos un fork, los dos procesos tendrán dos punteros distintos que apunten a la misma zona de memoria. Por lo tanto, si el padre o el hijo escriben en esa zona, cualquiera de los dos puede ver el valor actualizado.
Problemas de Sincronización: El Problema de Cortesía
Si tenemos dos procesos que van por la misma calle en dos aceras diferentes y, al tratar de cruzar, se chocan por falta de sincronización, ¿frente a qué problema nos estamos enfrentando?
Respuesta: Nos encontramos frente al problema de cortesía (livelock). Este problema ocurre cuando ambos procesos quieren dejar pasar al otro constantemente. No hay un interbloqueo (deadlock); en algún momento alguno de los dos podría pasar, pero no sabemos cuándo, ya que dependerá de la CPU.
Interbloqueo y Secuencias Seguras
- Secuencia segura: Orden en el que se pueden satisfacer los procesos de forma que todos terminen su ejecución sin producir interbloqueo.
- Estado seguro: Estado en el que, incluso en el peor caso, si los procesos solicitan todos los recursos que podrían llegar a necesitar, el sistema aún puede evitar el interbloqueo.
- TEST: Condiciones necesarias para que falle el interbloqueo en semáforos: Retener y esperar.
Sistemas de Ficheros
Enlaces Duros y Simbólicos
¿Se puede hacer un enlace blando (simbólico) de un fichero a otra partición del disco?
Respuesta: Sí. El enlace simbólico, al ser un puntero a una ruta del sistema de archivos, sí permite apuntar a otra partición. En cambio, un enlace duro no puede realizarse entre diferentes particiones.
¿Se puede hacer un enlace duro a otra partición del disco? Justifica la respuesta.
Respuesta: No se puede, ya que ambos ficheros, aunque tengan diferentes nombres, deben apuntar al mismo inodo de la tabla de inodos, y cada partición tiene su propia tabla de inodos independiente.
Búsqueda de Ficheros: FAT vs. EXT2
¿Cómo encontrar un fichero en el sistema FAT?
Se comienza en el directorio raíz buscando la entrada del fichero. En esa entrada aparece el primer cluster del fichero. Después, mediante la FAT (File Allocation Table), se van siguiendo los clusters enlazados hasta llegar al final del fichero.
¿Cómo encontrar un fichero en EXT2?
En EXT2 se busca la entrada del fichero en el directorio correspondiente. Esa entrada contiene el número de inodo. Después se accede al inodo, donde está almacenada la información del fichero y los punteros a sus bloques de datos.
Sistema de Ficheros Virtual (VFS)
¿Por qué se dice que el sistema de ficheros virtual es muy similar al de Unix?
Respuesta: Se dice que son similares porque es posible leer diferentes sistemas de ficheros montados sobre el mismo árbol de directorios, accediendo a todos ellos de forma transparente para el usuario.
Permisos y Comandos
¿Verdadera o Falsa? La orden mknod no está a disposición de usuarios normales.
Respuesta: Verdadero. Esta orden está solo a disposición de SuperUsuarios (root) o en Modo Supervisor, debido a su importancia crítica para el sistema.
Rendimiento y Planificación
Costes de Entrada/Salida (E/S)
Dos ejemplos de E/S con costes altos en rendimiento, tratando la seguridad:
- Llamadas al sistema (system calls).
- Múltiples copias de datos entre la memoria de usuario y la memoria del sistema.
Planificación de Disco: SCAN vs. FCFS
TEST: ¿Qué planificación requiere un mayor desplazamiento de la cabeza?
Respuesta: FCFS (First-Come, First-Served).
Caso práctico: Un profesor vende un ordenador que funciona con el sistema SCAN. Tamara lo compra y, al ejecutar un algoritmo que elige al azar 1000 bloques, se da cuenta de que el sistema tiene el mismo rendimiento que el sistema FCFS. ¿Cómo es esto posible?
Respuesta: Es posible porque Tamara realiza accesos aleatorios a 1000 bloques. En esas condiciones, SCAN pierde su ventaja de planificación, ya que la cabeza del disco acaba recorriendo prácticamente todo el disco de forma errática, igual que en FCFS, obteniéndose rendimientos similares.
Memoria Caché y Escritura Retardada
¿Por qué no es aconsejable poner bloques de escritura retardada en el primer bloque de la memoria caché?
Respuesta: Porque si el bloque contiene escritura retardada (bit sucio), antes de reemplazarlo es necesario escribir sus datos en el disco, lo que ralentiza el proceso de reemplazo y el acceso general a la caché.
Intercambio (Swap) vs. Memoria Caché
- Similitud: Ambos usan memoria secundaria para apoyar a la memoria principal y mejorar el funcionamiento global del sistema.
- Diferencia: La memoria caché guarda copias de datos usados frecuentemente para acelerar los accesos, mientras que el intercambio (swap) mueve páginas completas de la memoria principal al disco para liberar RAM cuando esta se agota.