Conceptos Clave de Sistemas Operativos Distribuidos: Sincronización, Virtualización y Arquitecturas

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.

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.