Conceptos Clave de Sistemas Operativos Distribuidos
RPC y Sincronización
- En el **RPC** (Remote Procedure Call), el cliente **no** es el que se comunica efectivamente con el resguardo del servidor.
- El **resguardo del cliente** es el que se comunica efectivamente con el resguardo del servidor. **Verdadero**.
- En un **SOD** (Sistema Operativo Distribuido), los mensajes entre cliente y servidor a través de RPC **no** siempre son codificados a EBCDIC como norma de estandarización. Lo correcto es **ASCII**.
- Un **servidor blade** permite ahorrar costos de administración. **Verdadero**.
- En los **relojes lógicos**, **no** es muy importante la coordinación con el tiempo real. Lo importante son los **relojes físicos**.
- El modelo de asignación de procesadores busca **maximizar el uso de las CPU** o disminuir su tiempo ocioso. **Verdadero**.
- En los **relojes lógicos** es muy importante el evento que ocurre primero y **no** el momento exacto en el que ocurre. **Verdadero**.
- En un modelo de asignación de procesos, la técnica migratoria **no** se refiere a que un proceso puede ser cambiado o migrado de una máquina siempre y cuando no se haya comenzado su ejecución. **Falso**.
- Los agentes de los sistemas de respaldo sirven para mejorar la compresión de los archivos de los SOD. **Verdadero**.
- En los sistemas por **reloj físico**, la coordinación **no** se establece justo al medio día. **Falso**.
- Para controlar la concurrencia de los procesos sobre un archivo se utiliza, entre otros, la **cerradura**. **Verdadero**.
Definiciones y Algoritmos
- La solución de Lamport para la sincronización trata de: adelantar el reloj para tener un tiempo más que el mensaje recibido.
- Un proceso atómico se refiere a: cada transacción se ejecuta en su totalidad o no se ejecuta.
- Semántica al menos una vez: esperar hasta que el servidor vuelva a arrancar e intentar realizar de nuevo la operación, se trata de insistir hasta obtener un resultado, se realiza 1 o más veces.
- Semántica a lo más una vez: consiste en darse por vencido de inmediato y anunciar la falla. (Lo ideal es una semántica de exactamente 1 pero es difícil de implementar).
- ¿Virtualización? Abstracción de recursos de un PC, trata de ocultar los detalles técnicos a través del encapsulamiento. Desventaja: presenta conflictos con el licenciamiento que aplican los fabricantes de software. Ventaja: genera dos o más ambientes de trabajo completamente independientes entre sí.
- ¿Algoritmo de Berkeley? El servidor de tiempo realiza un muestreo periódico de todas las máquinas para pedirles el tiempo, calcula el tiempo promedio e indica a todas las máquinas que avancen su reloj a la nueva hora o que disminuyan la velocidad.
- ¿Región crítica en SOD? Es un área que contiene recursos compartidos donde se puede acceder un solo proceso a la vez.
- ¿Algoritmos centralizados para la exclusión mutua? Las regiones críticas se protegen mediante semáforos, monitores u otra construcción similar. Si un proceso P1 desea entrar a una región crítica, envía un mensaje de solicitud a un proceso que cumpla la función de coordinador indicándole la región crítica a la que desea entrar. Si ningún proceso está en región crítica, el coordinador envía una respuesta con el permiso y el proceso entra a la región crítica.
- ¿Algoritmos distribuidos para la exclusión mutua? Cuando un proceso desea entrar a una región crítica, construye un mensaje con el nombre del proceso, su número y su hora actual. Luego envía el mensaje a todos los demás procesos.
- ¿Algoritmo de grandulón? Cuando un proceso P observa que el coordinador ya no responde a las solicitudes, inicia una elección. P envía un mensaje de elección a los demás procesos con un número mayor. Si nadie responde, P gana la elección y se convierte en el coordinador. Si uno de los procesos con un número mayor responde, toma el control, el trabajo de P termina.
Conceptos Adicionales
- Lamport: Cada mensaje incluye el tiempo de envío según el reloj del emisor. Cuando el mensaje llega, si el valor del receptor marca un valor menor o igual al tiempo de envío, el receptor adelanta su reloj para que marque una unidad más que el tiempo de envío.
- Atómicas: esta propiedad garantiza que cada transacción ocurre en su totalidad o simplemente no ocurre.
- Consistentes: si el sistema tiene ciertos invariantes que deben conservarse siempre, si éstos se conservan antes de la transacción, entonces también deben conservarse después.
- Aisladas o serializables: si dos o más transacciones se ejecutan al mismo tiempo, para cada una de ellas y para los demás procesos, el resultado final aparece como si todas las transacciones se ejecutasen de la manera secuencial en cierto orden.
- Durables: una vez comprometida una transacción, no importa lo que ocurra, la transacción sigue adelante y los resultados se vuelven permanentes. Ninguna falla después del compromiso puede deshacer los resultados o provocar la pérdida de los mismos.
Arquitecturas de Hardware: Blade y Cluster
Servidores Blade
Blade: es una arquitectura que ha conseguido integrar en tarjetas todos los elementos típicos de un servidor. Estas tarjetas (blades) se insertan en el backplane dentro de un chasis que a su vez integra y permite compartir los elementos comunes como son la ventilación, los switches de red, la alimentación, etc. Reduciendo el consumo eléctrico, cables, sistemas de enfriamiento, etc.
Ventajas:
- Más baratos.
- Ocupan menos espacio.
- Simples de operar.
- Menos propensos a fallos.
Desventaja: la temperatura que generan estas tarjetas en un espacio reducido puede interferir en su rendimiento.
Cluster
Cluster: El término cluster se aplica a los conjuntos o conglomerados de computadoras construidos mediante la utilización de componentes de hardware comunes y que se comportan como si fuesen una única computadora. Hoy en día juegan un papel importante en la solución de problemas de las ciencias, las ingenierías y del comercio moderno.
Ventajas:
- Un cluster de base de datos ofrece una capacidad de procesamiento mayor para cualquier aplicación que requiera la manipulación de una gran cantidad de datos o transacciones por segundo.
- Además ofrece redundancia, ya que, si uno de los nodos se «cae», los restantes continúan en funcionamiento y se reparten la carga de trabajo. Una vez restaurado el nodo con problemas es asignado nuevamente al grupo de procesamiento.
- Otra ventaja de un cluster de Base de Datos es la facilidad de crecer en capacidad de procesamiento. Basta agregar un nodo más y darlo de alta para incrementar el rendimiento total.
- También provee un mayor control sobre el almacenamiento físico de las tablas en la base de datos.
Desventajas:
- Software.
- Problemas de administración y gestión.
- Memoria físicamente distribuida (utilización menos eficiente).
- Varias copias del sistema operativo.
- La red es el cuello de botella del sistema.