• Barajar
    Activar
    Desactivar
  • Alphabetizar
    Activar
    Desactivar
  • Frente Primero
    Activar
    Desactivar
  • Ambos lados
    Activar
    Desactivar
  • Leer
    Activar
    Desactivar
Leyendo...
Frente

Cómo estudiar sus tarjetas

Teclas de Derecha/Izquierda: Navegar entre tarjetas.tecla derechatecla izquierda

Teclas Arriba/Abajo: Colvea la carta entre frente y dorso.tecla abajotecla arriba

Tecla H: Muestra pista (3er lado).tecla h

Tecla N: Lea el texto en voz.tecla n

image

Boton play

image

Boton play

image

Progreso

1/54

Click para voltear

54 Cartas en este set

  • Frente
  • Atrás
Un servidor es un proceso que implementa un servicio específico en representación de un conjunto de clientes.
Contexto de hilo consta solamente del contexto de la CPU, junto con alguna otra información para el manejo
de los hilos.
Otra ventaja de la tecnología multihilos es que hace posible explotar el paralelismo cuando ejecutamos el programa dentro de un sistema multiprocesador.
Implementación de hilos
El primer método es la construcción de una biblioteca de hilos que se ejecutan por completo en el modo de usuario; el segundo es que el kernel esté al tanto de los hilos y los pueda calendarizar.
Ventajas hilos
 Una biblioteca de hilos a nivel de usuario tiene algunas ventajas. Primero, es barato crearla y destruirla.
 Otra ventaja de los hilos a nivel de usuario es que con frecuencia el intercambio de un contexto de hilo puede realizarse mediante unas cuantas instrucciones
desventajas hilos
de los hilos a nivel de usuario es que, al invocar una llamada de bloqueo de sistema, ésta bloqueará todo el proceso al cual pertenece el hilo, y entonces bloqueará todos los hilos presentes en dicho proceso.
Una forma híbrida entre hilos de nivel usuario y nivel kernel, es procesos de peso ligero (LWP). Un LWP se ejecuta en el contexto de un solo proceso y puede haber distintos LWP por proceso.
Ventajas LWP
 En primer lugar, el crear, destruir, y sincronizar hilos es relativamente más barato y no requiere intervención alguna del kernel.
 En el supuesto de que un proceso no cuente con LWP suficientes, una llamada de sistema no suspenderá todo el proceso.
 No hay necesidad de que una aplicación sepa algo acerca de los LWP
Las activaciones del calendario es que cuando un hilo bloquea una llamada de sistema, el kernel hace una llamada hacia el paquete de hilos, llamando efectivamente a la rutina de calendarización para seleccionar el siguiente hilo ejecutable
Los hilos en sistemas distribuidos se presentan ya que una propiedad importante de los hilos es que pueden proporcionar un medio conveniente para permitir llamadas de bloqueo de sistema sin bloquear todo el proceso en que se ejecuta el hilo.
Un hilo servidor, lee las peticiones de entrada para una operación con archivos.
Después de examinar la petición, el hilo servidor elije un hilo trabajador sin utilizar (es decir, bloqueado) y le agrega la petición.
La separación entre tener una sola CPU y ser capaz de pretender que existen más unidades de procesamiento se puede extender también a otros recursos, ello origina lo que conocemos como virtualización de recursos
Arquitecturas Maquinas Virtuales
 Una interfaz entre el hardware y el software, constituida por instrucciones máquina que se pueden invocar desde cualquier programa
 Una interfaz entre el hardware y el software, constituida por instrucciones máquina que se pueden invocar solamente desde programas privilegiados, tales como los sistemas operativos.
 Una interfaz que consta de llamadas de sistema como las que ofrece un sistema operativo
 Una interfaz que consta de llamadas a bibliotecas, las cuales forman, por lo general, lo que conocemos como interfaz de programación de aplicaciones
Una máquina virtual de proceso, enfatiza que la virtualización se implementa esencialmente solamente para un proceso
aqui no es nada pero me pedia llenarlo si no, no se guardaba
monitor de la máquina virtual. Es posible tener múltiples y diferentes sistemas operativos que se ejecutan de distinto modo y concurrentemente sobre la misma plataforma
Dos maneras soportadas para la interacción en los clientes:
Primero, para cada servicio remoto, la máquina cliente tendrá una contraparte por separado que puede contactar el servicio sobre una red.
Una segunda solución es proporcionar acceso directo a servicios remotos solamente con la oferta de una interfaz de usuario adecuada.
El núcleo del sistema está formado por lo que debiéramos llamar kernel X. Contiene los controladores
de dispositivos específicos de la terminal, y como tales, por lo general son altamente independientes del hardware.
Muchas aplicaciones se pueden comunicar al mismo tiempo con el kernel X. conocida como administrador de ventanas.
documento compuesto, el cual se puede definir como una colección de documentos, posiblemente de muy diferentes tipos (como texto, imágenes, hojas de cálculo, etc.),
• Un servidor es un proceso que implementa un servicio específico en representación de un conjunto de clientes. En esencia, cada servidor está organizado en la misma forma: espera una petición entrante de un cliente y se asegura de que se haga algo con dicha petición, después de lo cual espera por la siguiente petición entrante.
• Un servidor iterativo, el propio servidor manipula la petición y, si es necesario, devuelve una respuesta a la petición del cliente.
• Un servidor concurrente no manipula por sí mismo la petición, pero la pasa a un hilo separado a otro proceso, después de lo cual de inmediato queda en espera de la siguiente petición entrante.
• Los clientes hacen contacto con el servidor, los clientes envían las peticiones a un punto final, también llamado puerto, localizado en la máquina donde está corriendo el servidor.
• Datos fuera-de-banda, los cuales son datos a procesar por el servidor antes que cualquier otro dato del cliente
• Un servidor sin estado no mantiene información con respecto al estado de sus clientes, y puede modificar su propio estado sin necesidad de dar información a cliente alguno.
• Una forma especial de diseño sin estado es cuando el servidor da mantenimiento a lo que conocemos como estado suave
• un servidor con estados por lo general mantiene información persistente acerca de sus clientes. Esto significa que el servidor necesita eliminar la información de manera explícita.
• La información con frecuencia es almacenada de manera transparente por el navegador del cliente en lo que conocemos como una cookie.
• Un servidor de cluster no es otra cosa que una colección de máquinas conectadas a través de una red, donde cada máquina ejecuta uno o más servidores./ aquellos en los cuales las máquinas están conectadas mediante una red de área local, con frecuencia ofreciendo un gran ancho de banda y latencia muy pequeña.
• Tres niveles
o El primer nivel consta de un interruptor (switch) lógico a través del cual se rutean las peticiones del cliente. Tal interruptor puede variar ampliamente
o En el segundo muchos servidores de clústeres también contienen servidores dedicados al proceso de las aplicaciones son servidores que ejecutan hardware de alto rendimiento dedicado a entregar poder de cómputo
o El tercer nivel, el cual consiste en servidores de procesamiento de datos, archivos notables, y servidores de bases de datos.
• Una meta importante en el diseño de servidores de clústeres es ocultar el hecho de que existen múltiples servidores. En otras palabras, las aplicaciones cliente que corren en máquinas remotas no deben tener necesidad de saber cosa alguna acerca de la organización interna de un cluster.
• Servicio de Nombres de Dominio (DNS, por sus siglas en inglés) puede devolver diversas direcciones, todas pertenecientes al mismo nombre del servidor. Este método también requiere que los clientes realicen varios intentos si uno de los servidores falla
• Un servidor distribuido el cual, en efecto, posiblemente no es nada más que un conjunto de máquinas que cambian de manera dinámica, y posiblemente también con más de un punto de acceso, pero que sin embargo, aparecen ante el mundo como una sola y poderosa máquina
Mantenimiento al cluster, la situación cambia de manera dramática
o En el método más común para administrar un servidor de cluster es extender las funciones tradicionales de administración de una sola computadora al cluster.
La migración de código la razón siempre ha sido el rendimiento. La idea básica es que se puede mejorar el rendimiento general del sistema si los procesos se trasladan desde una máquina muy saturada hacia máquinas ligeramente saturadas
Migración de código
Un proceso consta de tres segmentos.
o El segmento de código es la parte que contiene el conjunto de instrucciones constitutivas del programa en ejecución.
o El segmento de recurso contiene referencias a recursos externos necesarios para el proceso, tales como archivos, impresoras, dispositivos, otros procesos, entre otros factores.
o El segmento de ejecución para almacenar el estado actual de la ejecución de un proceso, el cual consta de datos privados, la pila, y por supuesto, el contador de programa.
• El mínimo necesario para una migración de código es proporcionar solamente movilidad débil. En este modelo, es posible transferir solamente el segmento de código, junto con quizás algunos datos de inicialización.
• La movilidad fuerte el segmento de ejecución también se puede transferir. Esta característica clásica de la movilidad fuerte es que un proceso se puede detener, y posteriormente trasladarse hacia otra máquina, y luego continuar su ejecución a partir del punto en donde se quedó
• clonar significa producir una copia exacta del proceso original, pero ahora ejecutado en una máquina diferente
tipos de enlaces de proceso a recurso.
Migración el proceso requiere precisamente del recurso al que se hace referencia, y nada más. Enlace de identificador
la ejecución del proceso no se verá afectada si otro recurso pudiera proporcionar ese mismo valor. Enlace por valor
La forma más débil de enlace es cuando un proceso indica que requiere solamente un recurso de un tipo específico. Enlace por tipo
• Los recursos no adjuntos se pueden trasladar fácilmente entre diversas máquinas, y por lo general los archivos (de datos) asociados sólo con el programa a migrar.
trasladar o copiar un recurso adjunto puede ser posible, pero sólo a un costo relativamente alto.
• los recursos fijos están ligados de manera íntima a una máquina específica o a un ambiente y no se pueden trasladar.
• Migración de sistemas heterogéneos para migrar ambientes de programación completos. La idea básica es dividir en compartimentos (fragmentos) todo el ambiente y los procesos para su migración como si se tratase de parte de su ambiente de cómputo.
Tres maneras de manipular la migración:
1. Empujar las páginas de memoria hacia la nueva máquina y reenviar las que se modificaron
posteriormente durante el proceso de migración.
2. Detener la máquina virtual actual; migrar la memoria, y comenzar una nueva máquina
virtual.
3. Dejar que la nueva máquina virtual atraiga las nuevas páginas cuando sea necesario,
esto es, permitir que los procesos comiencen dentro de una nueva máquina virtual de
inmediato y copiar las páginas de memoria según la demanda.
Comunicacion
Un sistema abierto, es aquel que está preparado para comunicarse con cualquier otro sistema abierto mediante reglas estándar que regulen formato, contenido, y significado de los mensajes enviados y recibidos.
• La capa de transporte implementa todos aquellos servicios no proporcionados en la interfaz de la capa de red, pero que son razonablemente necesarios para construir aplicaciones de red es decir transforma la red subyacente en algo que un desarrollador de aplicaciones puede utilizar.
• El protocolo de transporte de internet es conocido como TCP.
• La combinación TCP-IP se utiliza ahora como un estándar predeterminado para comunicación en red.
• La suite de protocolos de internet también da soporte a un protocolo de transporte orientado a no conexión, llamado UDP (Protocolo Universal Datagram), el cual esencialmente es el IP con algunas adiciones menores.
• El Protocolo de Transferencia de Archivos de internet (FTP) define un protocolo para transferencia de archivos entre una máquina cliente y un servidor.
• El Protocolo de Transferencia de Hipertexto (HTTP el cual está diseñado para administrar y manejar remotamente la transferencia de páginas web.
El middleware es una aplicación que reside en la capa de aplicación, pero que contiene muchos protocolos de propósito general que garantizan sus propias capas, independientemente de otras aplicaciones más específicas.
• Los protocolos de autenticación pueden estar integrados en un sistema middleware como un servicio general.
• Los protocolos de autorización mediante los cuales se garantiza el acceso a usuarios y procesos autenticados, a los recursos para los que tienen autorización, tienden a ser de naturaleza general e independientes de aplicaciones.
• Los protocolos de confirmación establecen que, en un grupo de procesos, o todos los procesos realizan una operación en particular o la operación no se realiza en absoluto. Este fenómeno, también se conoce como atomicidad, y se aplica ampliamente en transacciones
• Comunicación persistente, el middleware de comunicación almacena el mensaje que ha sido presentado para transmitirse el tiempo que tome entregarlo al destinatario
• Comunicación transitoria, el sistema de comunicación almacena un mensaje sólo mientras las aplicaciones remitente y destinataria se ejecutan
• Comunicación asíncrona es que el remitente continúa inmediatamente después de que ha pasado su mensaje para transmisión. Esto significa que el mensaje es almacenado (de modo temporal) inmediatamente bajo la supervisión del middleware.
• Comunicación sincrónica, el remitente es bloqueado hasta que se sabe que su petición es aceptada.
La información puede transportarse en los parámetros desde quien llama hasta el que es llamado, y puede regresar en el procedimiento resultante. Ningún mensaje de paso es visible para el programador. Este método se conoce como llamada a procedimiento remoto, o simplemente RPC.
• Llamadas por valor o llamadas por referencia. Para el procedimiento llamado, un parámetro por valor es sólo una variable local inicializada. El procedimiento llamado puede modificarla, pero tales cambios no afectan el valor original del lado del que llama
• Llamada por copia-restauración. Este mecanismo, consiste en hacer que el procedimiento que llama copie la variable en la pila, como en la llamada por valor, y posteriormente la vuelva a copiar después de la llamada, sobreescribiendo su valor original
• Una llamada a un procedimiento remoto ocurre en los siguientes pasos:
1. El procedimiento cliente llama al resguardo del cliente de manera normal.
2. El resguardo del cliente construye un mensaje y llama al sistema operativo local.
3. El sistema operativo del cliente envía el mensaje al sistema operativo remoto.
4. El sistema operativo remoto da el mensaje al resguardo del servidor.
5. El resguardo del servidor desempaca los parámetros y llama al servidor.
6. El servidor realiza el trabajo y devuelve el resultado al resguardo.
7. El resguardo del servidor empaca el resultado en un mensaje y llama a su sistema operativo local.
8. El sistema operativo del servidor envía el mensaje al sistema operativo del cliente.
9. El sistema operativo del cliente da el mensaje al resguardo del cliente.
10. El resguardo desempaca el resultado y lo regresa al cliente.
• RPC asíncronas, al momento en que recibe la petición de RPC, el servidor envía inmediatamente una respuesta hacia el cliente y después llama al procedimiento solicitado.
• Combinar dos RPC asíncronas algunas veces se conoce como RPC síncrona diferida.
• DCE es un verdadero sistema middleware porque está diseñado para ejecutarse como una capa de abstracción entre sistemas operativos existentes (redes) y aplicaciones distribuidas
• El servicio de archivos distribuidos es un sistema mundial de archivos que proporciona una manera transparente de acceder a cualquier archivo del sistema en la misma forma.
• El servicio de directorio se utiliza para rastrear la ubicación de todos los recursos del sistema.
• El servicio de seguridad permite que todos los recursos estén protegidos, de tal modo que el acceso pueda restringirse a personas sin autorización.
• El servicio de tiempo distribuido es un servicio que intenta mantener los relojes de las diferentes máquinas globalmente sincronizados.
En un sistema cliente-servidor, el pegamento que mantiene todo unido es la definición de interfaz, tal como se especifica en el Lenguaje de Definición de Interfaces, o IDL.
Un socket es un punto final de comunicación en el que una aplicación puede escribir información destinada a enviarse fuera de la red subyacente, y desde el cual puede leerse información entrante.
• Bind: asocia una dirección local con el socket creado recientemente.
• Listen: es llamada sólo en el caso de la comunicación orientada a conexión.
• Accept: bloquea a quien llama hasta que llega una petición de conexión
• Connect: requiere que quien llama especifique la dirección al nivel de transporte a la que se enviará la petición de conexión.
• Send: Envía algunos datos a través de la conexión.
• Receive: Recibe algunos datos a través de la conexión
• Close: Libera la conexión.
Conocidos como sistemas de colas de mensajes, o simplemente Middleware Orientado a Mensajes (MOM, por sus siglas en inglés).
• Los mensajes sólo pueden colocarse en colas que sean locales para el remitente, es decir, colas en la misma máquina, o en una máquina cercana tal como en la misma LAN. A tal cola se le conoce como cola fuente.
• Un mensaje colocado en una cola contendrá la especificación de una cola de destino a la que debe ser transferido
• Hay administradores especiales de colas que operan como ruteadores, o retransmisores
• En un sistemas de colas de mensajes, las conversiones son manejadas por nodos especiales de una red de colas conocidos como agentes de mensajes.
• Todas las colas son manejadas por administradores de colas. Un administrador de colas es responsable de eliminar mensajes de sus colas de envío, de reenviarlos a otros administradores de colas y de manejar mensajes de entrada
• Canales de mensajes, los cuales son una abstracción de las conexiones al nivel de transporte.
• Transferencia de mensaje desde un administrador de cola hacia otro (probablemente remoto), es necesario que cada mensaje lleve su dirección de destino, para lo cual se utiliza un encabezado de transmisión
• la función de control de canales. este componente permite que un operador dé un seguimiento exacto a lo que sucede en dos puntos finales de un canal.
Un medio se refiere al recurso mediante el cual se transmite la información.
• Medios continuos, las relaciones temporales entre diferentes elementos de datos resultan fundamentales para interpretar correctamente lo que significan en realidad los datos.
• Medios discretos se caracterizan por el hecho de que las relaciones temporales entre elementos de datos no son fundamentales para interpretar correctamente los datos.
 Un flujo de datos no es otra cosa más que una secuencia de unidades de datos los cuales pueden aplicarse tanto a medios discretos como a medios continuos.
• Modo de transmisión asíncrona, los elementos de datos de un flujo se transmiten uno después de otro, pero no hay más restricciones de sincronización en cuanto a cuándo debe ocurrir la transmisión de elementos.
• Modo de transmisión síncrono, es importante garantizar que el tiempo de propagación fin a fin a través de la red sea menor que el intervalo de tiempo transcurrido entre la toma de muestras
• Modo de transmisión isócrono la transferencia de datos está sujeta a un retraso máximo y mínimo fin a fin, también conocido como inestabilidad limitada (retraso).
 Un flujo simple consiste únicamente en una sola secuencia de datos
 Flujo complejo consta de varios flujos simples relacionados, llamados subflujos.
 Requerimientos de Calidad del Servicio(QoS, por sus siglas en ingles). Estos requerimientos describen los que se necesita del sistema distribuido subyacente y de la red para garantizar que, las relaciones temporales de flujos puedan preservarse
 La clase de reenvío expedito que esencialmente especifica que un paquete debe reenviarse mediante el ruteador actual con absoluta prioridad.
 La clase de reenvío garantizado, por el cual el tráfico se divide en cuatro subclases, junto con tres formas para eliminar paquetes si la red se congestiona.
 La corrección de errores de reenvío (FEC, por sus siglas en inglés), cuando un solo paquete tiene diversas tramas de audio y video, por lo cual es posible que se pierdan paquetes entonces el destinatario puede percibir un gran vacío cuando reproduzca las tramas
 Un flujo discreto de datos es una presentación de diapositivas con audio y videos en un servidor, donde el cliente debe reproducir una parte específica de un flujo de audio que coincida con la diapositiva en curso y también sea traído desde el servidor
 Un flujo continuo de datos es la reproducción de una película en la que el flujo de video necesita sincronizarse con el de audio.
Dentro de un sistema distribuido el soporte para enviar datos a varios destinatarios es un tema importante de su comunicación. A esto lo conocemos como Multitransmision.
El objetivo principal de estos protocolos epidémicos es propagar rápidamente información entre una gran colección de nodos utilizando sólo información local
 Un nodo que aún no ha visto esta información se conoce como susceptible.
 Un nodo actualizado que no esté dispuesto o no sea capaz de propagar su información será eliminado.
 Una ronda se define como un periodo en el que todos los nodos han tomado, al menos una vez, la iniciativa de intercambiar actualizaciones con algún otro nodo elegido al azar.
 La propagación de rumores, o simplemente gossiping se da cuando un nodo se acaba de actualizar con algun elemento de datos x y contacta a cualquier otro nodo Q e intenta empujar la actualización en Q.
 La suposición subyacente es que tales nodos forman un puente hacia otras partes remotas de la red; es conocido como gossiping direccional
El registro de una eliminación se lleva a cabo gracias a la propagación de certificados de defunción