2.- Comunicacion En Los Sistemas Operativos Distribuidos
5 participantes
Página 2 de 2. • 1, 2
retroalimentacion
mi replica va dirigido para el equipo de Enrique Goicochea Pineda, Erik Lazaro Torres, Everardo Ríos Ibarra, Eric Hernández Moreno, Ranferi Guadalupe Ríos,Erick Rumualdo Bustos Ortega creo q lo hicieron muy bien. los felicito el tema lo entendi mejor, y ya se como puedo aplicarlos a mis progemas.
vigueras- Invitado
retroalimentacion
mi replica es para los compañeros anayeli torres jaramillo, reynaldo muñoz rafael, guadalupe castro vargas y luiz angel zapata perez me parecio una buena participacion, aunque creo que hubiera sido mejor que nos presentaran algunos ejemplos.pero estuvieron bien.
kasandra- Invitado
Replica
Me parece que la informacion del compañero Enrique Goicochea pineda esta muy completa, muy buen trabajo.
RicardoS- Invitado
Participación Reactivo #1
1- Investigar y redactar los conceptos de la lista de palabras clave que contienen los temas de la unidad 2 Comunicación en los sistemas operativos distribuidos.
Las palabras clave son: Sistemas Operativos Distribuidos, Nominación, Mapeo de Rutas y Direcciones, Sincronización, Modelo Cliente-Servidor, Llamadas a Procedimiento Remoto (RPC), Sockets, Paso de Mensajes, Relojes Físicos y Lógicos, Modelo de Terry.
SISTEMAS OPERATIVOS DISTRIBUIDOS
La comunicación entre procesos en sistemas con un único procesador se lleva a cabo mediante el uso de memoria compartida entre los procesos. En los sistemas distribuidos, al no haber conexión física entre las distintas memorias de los equipos, la comunicación se realiza mediante la transferencia de mensajes.
Permiten distribuir trabajos, tareas o procesos, entre un conjunto de procesadores. Puede ser que este conjunto de procesadores esté en un equipo o en diferentes, en este caso es trasparente para el usuario. Existen dos esquemas básicos de éstos. Un sistema fuertemente acoplado es aquel que comparte la memoria y un reloj global, cuyos tiempos de acceso son similares para todos los procesadores. En un sistema débilmente acoplado los procesadores no comparten ni memoria ni reloj, ya que cada uno cuenta con su memoria local.
NOMINACIÓN
La nominación es una correspondencia entre objetos de datos lógicos y físicos.
Características de la nominación
• Los sistemas de nombres deben de almacenarse en un repositorio de datos proveyendo interfaces de acceso.
• Otro nombre que reciben los servicios de nominación son los servicios de directorios. Los cuales permiten compartir información entre diferentes entidades en diferentes directorios (LDAP, X.500, Active Directory, etc.)
• Los nombres pueden enfocarse a ser más simples de localizar o a ser más entendibles por los humanos.
• Los sistemas de nombres deben de ser capaces de localizar al mismo objeto independiente de su ubicación.
• Los sistemas de nombres deben de proporcionar sistemas de comunicación accesibles para todos los procesos.
Estructuras de Nominación
Existen dos conceptos que hay que distinguir en relación con al correspondencia de nombres en un SAD.
Transparencia de Nominación, El nombre de archivo no revela ningún indicio sobre de la ubicación del almacenamiento físico del archivo.
Independencia de Ubicación, No es necesario modificar el nombre de un archivo cuando cambia su ubicación en el almacenamiento físico.
MAPEO DE RUTAS
El mapeo de rutas consiste en la relación de equivalencia entre un tipo de ruta u otro tipo.
Recordar que las rutas consisten en la serie de ubicaciones para poder acceder a un recurso.
Otro nombre que recibe el mapeo de rutas es el de encaminamiento.
Es un método específicamente desarrollado para la realización de estudios de Prospectiva Tecnológica. El modelo se basa en las directrices dictadas por las necesidades del mercado ayudando a identificar, seleccionar y desarrollar con posterioridad las alternativas de tecnología necesarias para satisfacer un conjunto de necesidades de un producto.
MAPEO DE DIRECCIONES
Para poder ejecutar instrucciones, si no sabemos en qué parte de la memoria estarán cargadas, debemos tener un mecanismo de traducción de direcciones virtuales a reales. Para ello, se necesitan dos cosas. Primero, el compilador manejará una dirección base más un desplazamiento al referirse a las instrucciones. Segundo, el sistema operativo asignará como dirección base el número de página, al paginar al proceso. De esta manera, puede buscarse el inicio de una página en memoria, sumarle el desplazamiento y así obtener la dirección real de una instrucción.
SINCRONIZACIÓN SISTEMAS DISTRIBUIDOS
La sincronización de relojes en un sistema distribuido consiste en garantizar que los procesos se ejecuten en forma cronológica y a la misma vez respetar el orden de los eventos dentro del sistema. Para lograr esto existen varios métodos o algoritmos que se programan dentro del sistema operativo, entre los cuales tenemos:
Este algoritmo está basado en el uso del tiempo coordenado universal (siglas en inglés, UTC), el cual es recibido por un equipo dentro del sistema distribuido. Este equipo, denominado receptor de UTC, recibe a su vez solicitudes periódicas del tiempo del resto de máquinas del sistema a cada uno de los cuales les envía una respuesta en el menor plazo posible informando el tiempo UTC solicitado, con lo cual todas las máquinas del sistema actualicen su hora y se mantenga así sincronizado todo el sistema. El receptor de UTC recibe el tiempo a través de diversos medios disponibles, entre los cuales se menciona las ondas de radio, Internet, entre otros.
COMUNICACIÓN CON CLIENTE SERVIDOR
El proceso para la creación de un servicio siempre comienza con la creación del Socket. Así como el cliente necesita llamadas específicas en determinados momentos, el servidor trabajo de modo similar pero añade unas pocas llamadas extras al sistema. El servidor utiliza la llamada del sistema Socket(), pero debe hacer un trabajo extra que era opcional para el cliente,
el cliente siempre realiza una conexión activa porque la persigue enérgicamente
los servidores por otro lado necesitan proporcionar un numero de puesto especifico y consiste a los programas clientes si les va a prestar servicio. El programa servido que escriba deberá utilizar las llamadas de sistema socket (), bind(), listen(), accept(). Y mientras el programa cliente es una conexión activa, el servidor es una conexión pasiva.
LLAMADA O PRECESAMIENTO REMOTO (RCP)
RPC es una tecnología, tradicionalmente empleada en ambiente UNIX, que permite el desarrollo de sistemas de procesamiento distribuido basados en el paradigma procedimental. Con el advenimiento de implementaciones para plataforma Windows, así como para Java, es posible pensar en RPC como un mecanismo de integración de software heterogéneo.
En una llamada a un procedimiento remoto (RPC, Remote Proceure Call) el sistema local invoca, a través de la red, a una función alojada en otro sistema. Lo que se pretende es hacerle parecer al programador que está ocurriendo una simple llamada local.
Se utiliza el término solicitud para referirse a la llamada que realiza el cliente al procedimiento remoto (servidor) y, el término respuesta, para describir el resultado devuelto por éste último.
SOCKETS
Sockets Son el mecanismo de sincronización distribuida más importante. Se les denomina conectores porque pueden unir un proceso cliente y un proceso servidor de manera semejante a como se puede unir un enchufe de un dispositivo eléctrico a su respectivo zócalo.
Para la comunicación de procesos remotos se necesita conocer la dirección dela maquina destino y el puerto. Para hacer uso de los sockets necesitamos dos cosas una familia de protocolos para comunicación y un tipo de conexión. Para establecer una comunicación a través de sockets se necesitan 5 requerimientos:
• Dirección del servidor
• Puerto del servidor
• Dirección del cliente
• Puerto del cliente
• Canal de comunicación abierto
Para leer datos de un socket se pueden utilizar las siguientes primitivas: read, readv,recv, recvfrom y recvmsg; siendo las más utilizadas read y recv(sfd, buf, len, flags).
PASO DE MENSAJES
Mecanismo de comunicación y sincronización de procesos que ejecutan en distintas máquinas.
En este tipo de comunicación, los procesos intercambian mensajes.
Entre los procesos que comunican debe existir un enlace de comunicación
Dos primitivas básicas:
• send(destino, mensaje)
• receive(origen, mensaje)
Lenguajes para paso de mensajes
Clasificación
Según las características de los canales de comunicación entre procesos:
• Por el comportamiento dinámico de los canales asíncrono o asíncrono)
• Por el nombrado de los canales (explícito o implícito)
• Por la cardinalidad de los esquemas de comunicación (1: 1, n: 1, n: m)
RELOJES FÍSICOS
La idea es proveer de un único bloque de tiempo para el sistema. Los procesos pueden usar la marca física del tiempo provista o leída de un reloj central para expresar algún orden en el conjunto de acciones que inician. La principal ventaja de este mecanismo es la simplicidad, aunque existen varios inconvenientes: el correcto registro del tiempo depende en la posibilidad de recibir correctamente y en todo momento, el tiempo actual desplegado por el reloj físico; los errores de transmisión se convierten en un impedimento para el orden deseado, el grado de exactitud depende de las constantes puestas en el sistema.
RELOJES LÓGICOS
Los relojes lógicos son aquellos por los cuales están ordenados a los sucesos de una forma única. Para poder usar en general el tiempo físico se debe sincronizar perfectamente bien los relojes a lo largo de un sistema distribuido para poder así obtener el orden de cualquier par arbitrario de sucesos que ocurran en él, pero es poco probable que esto ocurra por que no se puede sincronizar perfectamente los relojes a lo largo de un sistema distribuido.
Un reloj lógico es una convención utilizada para ponerse de acuerdo en cuestión del tiempo.
• Un ejemplo es el UTC (Universal Time Coordinated) que se basa en relojes atómicos coordinados con el astronómico.
EL MODELO DE TERRY
Estudio del rendimiento de la factibilidad de nombramiento, el modelo de Terry.
Los mensajes remitentes entre los procesos y objetos soportados por un sistema operativo precisa la presentación para el sistema operativo de los nombres de los objetos que los procesos quieren ganar acceso a. El problema es cómo localizar objetos nombrados. Esto está directamente conectado a la gerencia del espacio de nombre y las estructuras de la facilidad de nombramiento
Las siguientes estructuras básicas de facilidad de nombramiento para los sistemas operativos distribuidos han sido identificadas por Terry (1984) e Induska y Goscinski (1989):
1. Facilidad centralizada de nombramiento
2. Facilidad replegada de nombramiento
3. Facilidad descentralizada de nombramiento
4. Facilidad distribuida de nombramiento
5. Facilidad jerárquica de nombramiento.
Integrantes del equipo:
Alan Nataniel Gutierrez Pineda
Marco Antonio Ramirez Cabrera
Ricardo Suazo Buenas
Las palabras clave son: Sistemas Operativos Distribuidos, Nominación, Mapeo de Rutas y Direcciones, Sincronización, Modelo Cliente-Servidor, Llamadas a Procedimiento Remoto (RPC), Sockets, Paso de Mensajes, Relojes Físicos y Lógicos, Modelo de Terry.
SISTEMAS OPERATIVOS DISTRIBUIDOS
La comunicación entre procesos en sistemas con un único procesador se lleva a cabo mediante el uso de memoria compartida entre los procesos. En los sistemas distribuidos, al no haber conexión física entre las distintas memorias de los equipos, la comunicación se realiza mediante la transferencia de mensajes.
Permiten distribuir trabajos, tareas o procesos, entre un conjunto de procesadores. Puede ser que este conjunto de procesadores esté en un equipo o en diferentes, en este caso es trasparente para el usuario. Existen dos esquemas básicos de éstos. Un sistema fuertemente acoplado es aquel que comparte la memoria y un reloj global, cuyos tiempos de acceso son similares para todos los procesadores. En un sistema débilmente acoplado los procesadores no comparten ni memoria ni reloj, ya que cada uno cuenta con su memoria local.
NOMINACIÓN
La nominación es una correspondencia entre objetos de datos lógicos y físicos.
Características de la nominación
• Los sistemas de nombres deben de almacenarse en un repositorio de datos proveyendo interfaces de acceso.
• Otro nombre que reciben los servicios de nominación son los servicios de directorios. Los cuales permiten compartir información entre diferentes entidades en diferentes directorios (LDAP, X.500, Active Directory, etc.)
• Los nombres pueden enfocarse a ser más simples de localizar o a ser más entendibles por los humanos.
• Los sistemas de nombres deben de ser capaces de localizar al mismo objeto independiente de su ubicación.
• Los sistemas de nombres deben de proporcionar sistemas de comunicación accesibles para todos los procesos.
Estructuras de Nominación
Existen dos conceptos que hay que distinguir en relación con al correspondencia de nombres en un SAD.
Transparencia de Nominación, El nombre de archivo no revela ningún indicio sobre de la ubicación del almacenamiento físico del archivo.
Independencia de Ubicación, No es necesario modificar el nombre de un archivo cuando cambia su ubicación en el almacenamiento físico.
MAPEO DE RUTAS
El mapeo de rutas consiste en la relación de equivalencia entre un tipo de ruta u otro tipo.
Recordar que las rutas consisten en la serie de ubicaciones para poder acceder a un recurso.
Otro nombre que recibe el mapeo de rutas es el de encaminamiento.
Es un método específicamente desarrollado para la realización de estudios de Prospectiva Tecnológica. El modelo se basa en las directrices dictadas por las necesidades del mercado ayudando a identificar, seleccionar y desarrollar con posterioridad las alternativas de tecnología necesarias para satisfacer un conjunto de necesidades de un producto.
MAPEO DE DIRECCIONES
Para poder ejecutar instrucciones, si no sabemos en qué parte de la memoria estarán cargadas, debemos tener un mecanismo de traducción de direcciones virtuales a reales. Para ello, se necesitan dos cosas. Primero, el compilador manejará una dirección base más un desplazamiento al referirse a las instrucciones. Segundo, el sistema operativo asignará como dirección base el número de página, al paginar al proceso. De esta manera, puede buscarse el inicio de una página en memoria, sumarle el desplazamiento y así obtener la dirección real de una instrucción.
SINCRONIZACIÓN SISTEMAS DISTRIBUIDOS
La sincronización de relojes en un sistema distribuido consiste en garantizar que los procesos se ejecuten en forma cronológica y a la misma vez respetar el orden de los eventos dentro del sistema. Para lograr esto existen varios métodos o algoritmos que se programan dentro del sistema operativo, entre los cuales tenemos:
Este algoritmo está basado en el uso del tiempo coordenado universal (siglas en inglés, UTC), el cual es recibido por un equipo dentro del sistema distribuido. Este equipo, denominado receptor de UTC, recibe a su vez solicitudes periódicas del tiempo del resto de máquinas del sistema a cada uno de los cuales les envía una respuesta en el menor plazo posible informando el tiempo UTC solicitado, con lo cual todas las máquinas del sistema actualicen su hora y se mantenga así sincronizado todo el sistema. El receptor de UTC recibe el tiempo a través de diversos medios disponibles, entre los cuales se menciona las ondas de radio, Internet, entre otros.
COMUNICACIÓN CON CLIENTE SERVIDOR
El proceso para la creación de un servicio siempre comienza con la creación del Socket. Así como el cliente necesita llamadas específicas en determinados momentos, el servidor trabajo de modo similar pero añade unas pocas llamadas extras al sistema. El servidor utiliza la llamada del sistema Socket(), pero debe hacer un trabajo extra que era opcional para el cliente,
el cliente siempre realiza una conexión activa porque la persigue enérgicamente
los servidores por otro lado necesitan proporcionar un numero de puesto especifico y consiste a los programas clientes si les va a prestar servicio. El programa servido que escriba deberá utilizar las llamadas de sistema socket (), bind(), listen(), accept(). Y mientras el programa cliente es una conexión activa, el servidor es una conexión pasiva.
LLAMADA O PRECESAMIENTO REMOTO (RCP)
RPC es una tecnología, tradicionalmente empleada en ambiente UNIX, que permite el desarrollo de sistemas de procesamiento distribuido basados en el paradigma procedimental. Con el advenimiento de implementaciones para plataforma Windows, así como para Java, es posible pensar en RPC como un mecanismo de integración de software heterogéneo.
En una llamada a un procedimiento remoto (RPC, Remote Proceure Call) el sistema local invoca, a través de la red, a una función alojada en otro sistema. Lo que se pretende es hacerle parecer al programador que está ocurriendo una simple llamada local.
Se utiliza el término solicitud para referirse a la llamada que realiza el cliente al procedimiento remoto (servidor) y, el término respuesta, para describir el resultado devuelto por éste último.
SOCKETS
Sockets Son el mecanismo de sincronización distribuida más importante. Se les denomina conectores porque pueden unir un proceso cliente y un proceso servidor de manera semejante a como se puede unir un enchufe de un dispositivo eléctrico a su respectivo zócalo.
Para la comunicación de procesos remotos se necesita conocer la dirección dela maquina destino y el puerto. Para hacer uso de los sockets necesitamos dos cosas una familia de protocolos para comunicación y un tipo de conexión. Para establecer una comunicación a través de sockets se necesitan 5 requerimientos:
• Dirección del servidor
• Puerto del servidor
• Dirección del cliente
• Puerto del cliente
• Canal de comunicación abierto
Para leer datos de un socket se pueden utilizar las siguientes primitivas: read, readv,recv, recvfrom y recvmsg; siendo las más utilizadas read y recv(sfd, buf, len, flags).
PASO DE MENSAJES
Mecanismo de comunicación y sincronización de procesos que ejecutan en distintas máquinas.
En este tipo de comunicación, los procesos intercambian mensajes.
Entre los procesos que comunican debe existir un enlace de comunicación
Dos primitivas básicas:
• send(destino, mensaje)
• receive(origen, mensaje)
Lenguajes para paso de mensajes
Clasificación
Según las características de los canales de comunicación entre procesos:
• Por el comportamiento dinámico de los canales asíncrono o asíncrono)
• Por el nombrado de los canales (explícito o implícito)
• Por la cardinalidad de los esquemas de comunicación (1: 1, n: 1, n: m)
RELOJES FÍSICOS
La idea es proveer de un único bloque de tiempo para el sistema. Los procesos pueden usar la marca física del tiempo provista o leída de un reloj central para expresar algún orden en el conjunto de acciones que inician. La principal ventaja de este mecanismo es la simplicidad, aunque existen varios inconvenientes: el correcto registro del tiempo depende en la posibilidad de recibir correctamente y en todo momento, el tiempo actual desplegado por el reloj físico; los errores de transmisión se convierten en un impedimento para el orden deseado, el grado de exactitud depende de las constantes puestas en el sistema.
RELOJES LÓGICOS
Los relojes lógicos son aquellos por los cuales están ordenados a los sucesos de una forma única. Para poder usar en general el tiempo físico se debe sincronizar perfectamente bien los relojes a lo largo de un sistema distribuido para poder así obtener el orden de cualquier par arbitrario de sucesos que ocurran en él, pero es poco probable que esto ocurra por que no se puede sincronizar perfectamente los relojes a lo largo de un sistema distribuido.
Un reloj lógico es una convención utilizada para ponerse de acuerdo en cuestión del tiempo.
• Un ejemplo es el UTC (Universal Time Coordinated) que se basa en relojes atómicos coordinados con el astronómico.
EL MODELO DE TERRY
Estudio del rendimiento de la factibilidad de nombramiento, el modelo de Terry.
Los mensajes remitentes entre los procesos y objetos soportados por un sistema operativo precisa la presentación para el sistema operativo de los nombres de los objetos que los procesos quieren ganar acceso a. El problema es cómo localizar objetos nombrados. Esto está directamente conectado a la gerencia del espacio de nombre y las estructuras de la facilidad de nombramiento
Las siguientes estructuras básicas de facilidad de nombramiento para los sistemas operativos distribuidos han sido identificadas por Terry (1984) e Induska y Goscinski (1989):
1. Facilidad centralizada de nombramiento
2. Facilidad replegada de nombramiento
3. Facilidad descentralizada de nombramiento
4. Facilidad distribuida de nombramiento
5. Facilidad jerárquica de nombramiento.
Integrantes del equipo:
Alan Nataniel Gutierrez Pineda
Marco Antonio Ramirez Cabrera
Ricardo Suazo Buenas
Nataniel_7- Mensajes : 8
Fecha de inscripción : 05/09/2013
REPLICA
Mi replica es para felicitar al equipo del compañero Alberto por su participación, a mi parecer la información que presentan es entendible, breve y toca los puntos importantes sobre cada tema.
Att: Alan Nataniel Gutierrez Pineda
Att: Alan Nataniel Gutierrez Pineda
Nataniel_7- Mensajes : 8
Fecha de inscripción : 05/09/2013
replica
mi Replica es para el equipo de Enrique Goicochea por Su información sobre cada concepto me pareció clara, entendible y amplia, ademas se da una explicacion acertada sobre cada uno de los puntos que se desarrollaron quedando estos temas claramente entendidos de manera rapida y sencilla.
MarcoA- Invitado
Replica
Es para mis compañeros, Alan, Ricardo y Marco.Su información es entendible, breve y es enfocada a los puntos que pide dicha investigacion.
BrendaOl- Invitado
replica
sin mas nada que agregar, pero bueno los saludare sin hacer a un lado el gran esfuerzo que hacen al subir tan buenas investigaciones alan, esto quiere decir que mis felicitaciones es para el equipo de marc.
Andres O- Invitado
Reactivo
REACTIVO 1
SISTEMAS OPERATIVOS DISTRIBUIDOS
Es la unión lógica de un grupo de sistemas operativos sobre una colección de nodos computacionales independientes, conectados en red, comunicándose y físicamente separados. Cada nodo contiene de forma individual un subconjunto específico de los programas que componen el sistema operativo distribuido. Cada subconjunto es una combinación de dos proveedores de servicios distintos. La comunicación entre procesos en sistemas con un único procesador se lleva a cabo mediante el uso de memoria compartida entre los procesos. En los sistemas distribuidos, al no haber conexión física entre las distintas memorias de los equipos, la comunicación se realiza mediante la transferencia de mensajes.
Permiten distribuir trabajos, tareas o procesos, entre un conjunto de procesadores.
NOMINACIÓN
La nominación es una correspondencia entre objetos de datos lógicos y físicos.
Características de la nominación
• Los sistemas de nombres deben de almacenarse en un repositorio de datos proveyendo interfaces de acceso.
• Los nombres pueden enfocarse a ser más simples de localizar o a ser más entendibles por los humanos.
• Los sistemas de nombres deben de proporcionar sistemas de comunicación accesibles para todos los procesos.
Estructuras de Nominación
Existen dos conceptos que hay que distinguir en relación con al correspondencia de nombres en un SAD.
Transparencia de Nominación, El nombre de archivo no revela ningún indicio sobre de la ubicación del almacenamiento físico del archivo.
MAPEO DE RUTAS
El mapeo de rutas consiste en la relación de equivalencia entre un tipo de ruta u otro tipo.
Recordar que las rutas consisten en la serie de ubicaciones para poder acceder a un recurso.
Otro nombre que recibe el mapeo de rutas es el de encaminamiento.
Es un método específicamente desarrollado para la realización de estudios de Prospectiva Tecnológica. El modelo se basa en las directrices dictadas por las necesidades del mercado ayudando a identificar, seleccionar y desarrollar con posterioridad las alternativas de tecnología necesarias para satisfacer un conjunto de necesidades de un producto.
MAPEO DE DIRECCIONES
Para poder ejecutar instrucciones, si no sabemos en qué parte de la memoria estarán cargadas, debemos tener un mecanismo de traducción de direcciones virtuales a reales. Para ello, se necesitan dos cosas. Primero, el compilador manejará una dirección base más un desplazamiento al referirse a las instrucciones. Segundo, el sistema operativo asignará como dirección base el número de página, al paginar al proceso.
SINCRONIZACIÓN SISTEMAS DISTRIBUIDOS
La sincronización de relojes en un sistema distribuido consiste en garantizar que los procesos se ejecuten en forma cronológica y a la misma vez respetar el orden de los eventos dentro del sistema. Para lograr esto existen varios métodos o algoritmos que se programan dentro del sistema operativo, entre los cuales tenemos:
Este algoritmo está basado en el uso del tiempo coordenado universal (siglas en inglés, UTC), el cual es recibido por un equipo dentro del sistema distribuido. Este equipo, denominado receptor de UTC, recibe a su vez solicitudes periódicas del tiempo del resto de máquinas del sistema a cada uno de los cuales les envía una respuesta en el menor plazo posible informando el tiempo UTC solicitado, con lo cual todas las máquinas del sistema actualicen su hora y se mantenga así sincronizado todo el sistema. El receptor de UTC recibe el tiempo a través de diversos medios disponibles, entre los cuales se menciona las ondas de radio, Internet, entre otros.
Un gran problema en este algoritmo es que el tiempo no puede correr hacia atrás:
El tiempo del receptor UTC no puede ser menor que el tiempo de la máquina que le solicitó el tiempo.
El servidor de UTC debe procesar las solicitudes de tiempo con el concepto de interrupciones, lo cual incide en el tiempo de atención.
El intervalo de transmisión de la solicitud y su respuesta debe ser tomado en cuenta para la sincronización. El tiempo de propagación se suma al tiempo del servidor para sincronizar al emisor cuando éste recibe la respuesta.
EL MODELO CLIENTE – SERVIDOR
La arquitectura cliente-servidor es un modelo de aplicación distribuida en el que las tareas se reparten entre los proveedores de recursos o servicios, llamados servidores, y los demandantes, llamados clientes. Un cliente realiza peticiones a otro programa, el servidor, quien le da respuesta. Esta idea también se puede aplicar a programas que se ejecutan sobre una sola computadora, aunque es más ventajosa en un sistema operativo multiusuario distribuido a través de una red de computadoras.
En esta arquitectura la capacidad de proceso está repartida entre los clientes y los servidores, aunque son más importantes las ventajas de tipo organizativo debidas a la centralización de la gestión de la información y la separación de responsabilidades, lo que facilita y clarifica el diseño del sistema.
La separación entre cliente y servidor es una separación de tipo lógico, donde el servidor no se ejecuta necesariamente sobre una sola máquina ni es necesariamente un sólo programa. Los tipos específicos de servidores incluyen los servidores web, los servidores de archivo, los servidores del correo, etc. Mientras que sus propósitos varían de unos servicios a otros, la arquitectura básica seguirá siendo la misma.
TCP es un protocolo orientado a conexión. No hay relaciones maestro/esclavo. Las aplicaciones, sin embargo, utilizan un modelo cliente/servidor en las comunicaciones.
Un servidor es una aplicación que ofrece un servicio a usuarios de Internet; un cliente es el que pide ese servicio. Una aplicación consta de una parte de servidor y una de cliente, que se pueden ejecutar en el mismo o en diferentes sistemas.
Los usuarios invocan la parte cliente de la aplicación, que construye una solicitud para ese servicio y se la envía al servidor de la aplicación que usa TCP/IP como transporte.
El servidor es un programa que recibe una solicitud, realiza el servicio requerido y devuelve los resultados en forma de una respuesta. Generalmente un servidor puede tratar múltiples peticiones (múltiples clientes) al mismo tiempo.
SOCKETS
Sockets Son el mecanismo de sincronización distribuida más importante. Se les denomina conectores porque pueden unir un proceso cliente y un proceso servidor de manera semejante a como se puede unir un enchufe de un dispositivo eléctrico a su respectivo zócalo.
Para la comunicación de procesos remotos se necesita conocer la dirección dela maquina destino y el puerto. Para hacer uso de los sockets necesitamos dos cosas una familia de protocolos para comunicación y un tipo de conexión. Para establecer una comunicación a través de sockets se necesitan 5 requerimientos:
• Dirección del servidor
• Puerto del servidor
• Dirección del cliente
• Puerto del cliente
• Canal de comunicación abierto
Para leer datos de un socket se pueden utilizar las siguientes primitivas: read, readv,recv, recvfrom y recvmsg; siendo las más utilizadas read y recv(sfd, buf, len, flags).
PASO DE MENSAJES
Mecanismo de comunicación y sincronización de procesos que ejecutan en distintas máquinas.
En este tipo de comunicación, los procesos intercambian mensajes.
Entre los procesos que comunican debe existir un enlace de comunicación
Dos primitivas básicas:
• send(destino, mensaje)
• receive(origen, mensaje)
Lenguajes para paso de mensajes
Clasificación
Según las características de los canales de comunicación entre procesos:
• Por el comportamiento dinámico de los canales asíncrono o asíncrono)
• Por el nombrado de los canales (explícito o implícito)
• Por la cardinalidad de los esquemas de comunicación (1: 1, n: 1, n: m)
RELOJES FÍSICOS
La idea es proveer de un único bloque de tiempo para el sistema. Los procesos pueden usar la marca física del tiempo provista o leída de un reloj central para expresar algún orden en el conjunto de acciones que inician. La principal ventaja de este mecanismo es la simplicidad, aunque existen varios inconvenientes: el correcto registro del tiempo depende en la posibilidad de recibir correctamente y en todo momento, el tiempo actual desplegado por el reloj físico; los errores de transmisión se convierten en un impedimento para el orden deseado, el grado de exactitud depende de las constantes puestas en el sistema.
RELOJES LÓGICOS
Los relojes lógicos son aquellos por los cuales están ordenados a los sucesos de una forma única. Para poder usar en general el tiempo físico se debe sincronizar perfectamente bien los relojes a lo largo de un sistema distribuido para poder así obtener el orden de cualquier par arbitrario de sucesos que ocurran en él, pero es poco probable que esto ocurra por que no se puede sincronizar perfectamente los relojes a lo largo de un sistema distribuido.
Un reloj lógico es una convención utilizada para ponerse de acuerdo en cuestión del tiempo.
EL MODELO DE TERRY
Estudio del rendimiento de la factibilidad de nombramiento, el modelo de Terry.
Los mensajes remitentes entre los procesos y objetos soportados por un sistema operativo precisa la presentación para el sistema operativo de los nombres de los objetos que los procesos quieren ganar acceso a. El problema es cómo localizar objetos nombrados. Esto está directamente conectado a la gerencia del espacio de nombre y las estructuras de la facilidad de nombramiento.
INTEGRANTES
BRENDA OLMOS OLIVEROS
ANDRES ALBEERTO ALONSO OLIVARES
HUMBERTINA BLANCAS ANGON
SISTEMAS OPERATIVOS DISTRIBUIDOS
Es la unión lógica de un grupo de sistemas operativos sobre una colección de nodos computacionales independientes, conectados en red, comunicándose y físicamente separados. Cada nodo contiene de forma individual un subconjunto específico de los programas que componen el sistema operativo distribuido. Cada subconjunto es una combinación de dos proveedores de servicios distintos. La comunicación entre procesos en sistemas con un único procesador se lleva a cabo mediante el uso de memoria compartida entre los procesos. En los sistemas distribuidos, al no haber conexión física entre las distintas memorias de los equipos, la comunicación se realiza mediante la transferencia de mensajes.
Permiten distribuir trabajos, tareas o procesos, entre un conjunto de procesadores.
NOMINACIÓN
La nominación es una correspondencia entre objetos de datos lógicos y físicos.
Características de la nominación
• Los sistemas de nombres deben de almacenarse en un repositorio de datos proveyendo interfaces de acceso.
• Los nombres pueden enfocarse a ser más simples de localizar o a ser más entendibles por los humanos.
• Los sistemas de nombres deben de proporcionar sistemas de comunicación accesibles para todos los procesos.
Estructuras de Nominación
Existen dos conceptos que hay que distinguir en relación con al correspondencia de nombres en un SAD.
Transparencia de Nominación, El nombre de archivo no revela ningún indicio sobre de la ubicación del almacenamiento físico del archivo.
MAPEO DE RUTAS
El mapeo de rutas consiste en la relación de equivalencia entre un tipo de ruta u otro tipo.
Recordar que las rutas consisten en la serie de ubicaciones para poder acceder a un recurso.
Otro nombre que recibe el mapeo de rutas es el de encaminamiento.
Es un método específicamente desarrollado para la realización de estudios de Prospectiva Tecnológica. El modelo se basa en las directrices dictadas por las necesidades del mercado ayudando a identificar, seleccionar y desarrollar con posterioridad las alternativas de tecnología necesarias para satisfacer un conjunto de necesidades de un producto.
MAPEO DE DIRECCIONES
Para poder ejecutar instrucciones, si no sabemos en qué parte de la memoria estarán cargadas, debemos tener un mecanismo de traducción de direcciones virtuales a reales. Para ello, se necesitan dos cosas. Primero, el compilador manejará una dirección base más un desplazamiento al referirse a las instrucciones. Segundo, el sistema operativo asignará como dirección base el número de página, al paginar al proceso.
SINCRONIZACIÓN SISTEMAS DISTRIBUIDOS
La sincronización de relojes en un sistema distribuido consiste en garantizar que los procesos se ejecuten en forma cronológica y a la misma vez respetar el orden de los eventos dentro del sistema. Para lograr esto existen varios métodos o algoritmos que se programan dentro del sistema operativo, entre los cuales tenemos:
Este algoritmo está basado en el uso del tiempo coordenado universal (siglas en inglés, UTC), el cual es recibido por un equipo dentro del sistema distribuido. Este equipo, denominado receptor de UTC, recibe a su vez solicitudes periódicas del tiempo del resto de máquinas del sistema a cada uno de los cuales les envía una respuesta en el menor plazo posible informando el tiempo UTC solicitado, con lo cual todas las máquinas del sistema actualicen su hora y se mantenga así sincronizado todo el sistema. El receptor de UTC recibe el tiempo a través de diversos medios disponibles, entre los cuales se menciona las ondas de radio, Internet, entre otros.
Un gran problema en este algoritmo es que el tiempo no puede correr hacia atrás:
El tiempo del receptor UTC no puede ser menor que el tiempo de la máquina que le solicitó el tiempo.
El servidor de UTC debe procesar las solicitudes de tiempo con el concepto de interrupciones, lo cual incide en el tiempo de atención.
El intervalo de transmisión de la solicitud y su respuesta debe ser tomado en cuenta para la sincronización. El tiempo de propagación se suma al tiempo del servidor para sincronizar al emisor cuando éste recibe la respuesta.
EL MODELO CLIENTE – SERVIDOR
La arquitectura cliente-servidor es un modelo de aplicación distribuida en el que las tareas se reparten entre los proveedores de recursos o servicios, llamados servidores, y los demandantes, llamados clientes. Un cliente realiza peticiones a otro programa, el servidor, quien le da respuesta. Esta idea también se puede aplicar a programas que se ejecutan sobre una sola computadora, aunque es más ventajosa en un sistema operativo multiusuario distribuido a través de una red de computadoras.
En esta arquitectura la capacidad de proceso está repartida entre los clientes y los servidores, aunque son más importantes las ventajas de tipo organizativo debidas a la centralización de la gestión de la información y la separación de responsabilidades, lo que facilita y clarifica el diseño del sistema.
La separación entre cliente y servidor es una separación de tipo lógico, donde el servidor no se ejecuta necesariamente sobre una sola máquina ni es necesariamente un sólo programa. Los tipos específicos de servidores incluyen los servidores web, los servidores de archivo, los servidores del correo, etc. Mientras que sus propósitos varían de unos servicios a otros, la arquitectura básica seguirá siendo la misma.
TCP es un protocolo orientado a conexión. No hay relaciones maestro/esclavo. Las aplicaciones, sin embargo, utilizan un modelo cliente/servidor en las comunicaciones.
Un servidor es una aplicación que ofrece un servicio a usuarios de Internet; un cliente es el que pide ese servicio. Una aplicación consta de una parte de servidor y una de cliente, que se pueden ejecutar en el mismo o en diferentes sistemas.
Los usuarios invocan la parte cliente de la aplicación, que construye una solicitud para ese servicio y se la envía al servidor de la aplicación que usa TCP/IP como transporte.
El servidor es un programa que recibe una solicitud, realiza el servicio requerido y devuelve los resultados en forma de una respuesta. Generalmente un servidor puede tratar múltiples peticiones (múltiples clientes) al mismo tiempo.
SOCKETS
Sockets Son el mecanismo de sincronización distribuida más importante. Se les denomina conectores porque pueden unir un proceso cliente y un proceso servidor de manera semejante a como se puede unir un enchufe de un dispositivo eléctrico a su respectivo zócalo.
Para la comunicación de procesos remotos se necesita conocer la dirección dela maquina destino y el puerto. Para hacer uso de los sockets necesitamos dos cosas una familia de protocolos para comunicación y un tipo de conexión. Para establecer una comunicación a través de sockets se necesitan 5 requerimientos:
• Dirección del servidor
• Puerto del servidor
• Dirección del cliente
• Puerto del cliente
• Canal de comunicación abierto
Para leer datos de un socket se pueden utilizar las siguientes primitivas: read, readv,recv, recvfrom y recvmsg; siendo las más utilizadas read y recv(sfd, buf, len, flags).
PASO DE MENSAJES
Mecanismo de comunicación y sincronización de procesos que ejecutan en distintas máquinas.
En este tipo de comunicación, los procesos intercambian mensajes.
Entre los procesos que comunican debe existir un enlace de comunicación
Dos primitivas básicas:
• send(destino, mensaje)
• receive(origen, mensaje)
Lenguajes para paso de mensajes
Clasificación
Según las características de los canales de comunicación entre procesos:
• Por el comportamiento dinámico de los canales asíncrono o asíncrono)
• Por el nombrado de los canales (explícito o implícito)
• Por la cardinalidad de los esquemas de comunicación (1: 1, n: 1, n: m)
RELOJES FÍSICOS
La idea es proveer de un único bloque de tiempo para el sistema. Los procesos pueden usar la marca física del tiempo provista o leída de un reloj central para expresar algún orden en el conjunto de acciones que inician. La principal ventaja de este mecanismo es la simplicidad, aunque existen varios inconvenientes: el correcto registro del tiempo depende en la posibilidad de recibir correctamente y en todo momento, el tiempo actual desplegado por el reloj físico; los errores de transmisión se convierten en un impedimento para el orden deseado, el grado de exactitud depende de las constantes puestas en el sistema.
RELOJES LÓGICOS
Los relojes lógicos son aquellos por los cuales están ordenados a los sucesos de una forma única. Para poder usar en general el tiempo físico se debe sincronizar perfectamente bien los relojes a lo largo de un sistema distribuido para poder así obtener el orden de cualquier par arbitrario de sucesos que ocurran en él, pero es poco probable que esto ocurra por que no se puede sincronizar perfectamente los relojes a lo largo de un sistema distribuido.
Un reloj lógico es una convención utilizada para ponerse de acuerdo en cuestión del tiempo.
EL MODELO DE TERRY
Estudio del rendimiento de la factibilidad de nombramiento, el modelo de Terry.
Los mensajes remitentes entre los procesos y objetos soportados por un sistema operativo precisa la presentación para el sistema operativo de los nombres de los objetos que los procesos quieren ganar acceso a. El problema es cómo localizar objetos nombrados. Esto está directamente conectado a la gerencia del espacio de nombre y las estructuras de la facilidad de nombramiento.
INTEGRANTES
BRENDA OLMOS OLIVEROS
ANDRES ALBEERTO ALONSO OLIVARES
HUMBERTINA BLANCAS ANGON
BrendaOl- Invitado
replica
para mi las investigaciones que aportaron mis compañeros son de buena calidad ya que es entendible y de gran importancia...
Angon- Invitado
replica
con respecto a esta unidad me parece que es muy buena la informacion aportara en este foro ya que nos sirve para reforzar nuestro conocimiento
Gama- Invitado
reactivo 1
SISTEMAS OPERATIVOS DISTRIBUIDOS
En un sistema distribuido no existe la memoria compartida y por ello toda la naturaleza de la comunicación entre procesos debe replantearse. Los procesos, para comunicarse, deben apegarse a reglas conocidas como protocolos. Para los sistemas distribuidos en un área amplia, estos protocolos toman frecuentemente la forma de varias capas y cada capa tiene sus propias metas y reglas. Los mensajes se intercambian de diversas formas, existiendo muchas opciones de diseño al respecto; una importante opción es la <<llamada a un procedimiento remoto>>. También es importante considerar las posibilidades de comunicación entre grupos de procesos, no solo entre dos procesos.
CLIENTE-SERVIDOR
Es el modelo que actualmente domina el ámbito de comunicación, ya que descentraliza los procesos y los recursos. En el cual el cliente es una aplicación, en un equipo, que solicita un determinado servicio y existe un software, en otro equipo, que lo proporciona. Los servicios pueden ser: a) Ejecución de un programa. b) Acceso a una Base de Datos. c) Acceso a un dispositivo de hardware.
La arquitectura cliente-servidor es un modelo de aplicación distribuida en el que las tareas se reparten entre los proveedores de recursos o servicios, llamados servidores, y los demandantes, llamados clientes. Un cliente realiza peticiones a otro programa, elservidor, quien le da respuesta. Esta idea también se puede aplicar a programas que se ejecutan sobre una sola computadora, aunque es más ventajosa en un sistema operativo multiusuario distribuido a través de una red de computadoras.
En esta arquitectura la capacidad de proceso está repartida entre los clientes y los servidores, aunque son más importantes las ventajas de tipo organizativo debidas a la centralización de la gestión de la información y la separación de responsabilidades, lo que facilita y clarifica el diseño del sistema.
La separación entre cliente y servidor es una separación de tipo lógico, donde el servidor no se ejecuta necesariamente sobre una sola máquina ni es necesariamente un sólo programa. Los tipos específicos de servidores incluyen los servidores web, los servidores de archivo, los servidores del correo, etc. Mientras que sus propósitos varían de unos servicios a otros, la arquitectura básica seguirá siendo la misma.
Comunicación con Sockets
Designa un concepto abstracto por el cual dos programas (posiblemente situados en computadoras distintas) pueden intercambiarse cualquier flujo de datos, generalmente de manera fiable y ordenada. Los sockets proporcionan una comunicación de dos vías, punto a punto entre dos procesos. Los sockets son muy versátiles y son un componente básico de comunicación entre interprocesos e inter-sistemas.
Socket designa un concepto abstracto por el cual dos programas (posiblemente situados en computadoras distintas) pueden intercambiar cualquier flujo de datos, generalmente de manera fiable y ordenada.
El término socket es también usado como el nombre de una interfaz de programación de aplicaciones (API) para la familia de protocolos de Internet TCP/IP, provista usualmente por el sistema operativo.
Los sockets de Internet constituyen el mecanismo para la entrega de paquetes de datos provenientes de la tarjeta de red a losprocesos o hilos apropiados. Un socket queda definido por un par de direcciones IP local y remota, un protocolo de transporte y un par de números de puerto local y remoto.
llamada a procedimiento remoto(RCP)
Cuando un proceso en la máquina “A” llama a un procedimiento en la máquina “B”: – El proceso que realiza la llamada se suspende. -- La ejecución del procedimiento se realiza en “B”. -- La información se puede transportar de un lado al otro mediante los parámetros y puede regresar en el resultado del procedimiento.-- El programador no se preocupa de una transferencia de mensajes o de la E/S.
Sincronización de relojes físicos
La idea es proveer de un único bloque de tiempo para el sistema. Los procesos pueden usar la marca física del tiempo provista o leída de un reloj central para expresar algún orden en el conjunto de acciones que inician. La principal ventaja de este mecanismo es la simplicidad, aunque existen varios inconvenientes: el correcto registro del tiempo depende en la posibilidad de recibir correctamente y en todo momento, el tiempo actual desplegado por el reloj físico; los errores de transmisión se convierten en un impedimento para el.
Sincronización de relojes lógicos
Las computadoras poseen un circuito para el registro del tiempo conocido como dispositivo reloj. Es un cronómetro consistente en un cristal de cuarzo de precisión sometido a una tensión eléctrica que la cual oscila con una frecuencia bien definida. A cada cristal se le asocian dos registros: --Registro contador. -- Registro mantenedor. Cada oscilación del cristal decrementa en “1” al contador. Pero, cuando el contador llega a “0”: --Se genera una interrupción. --El contador se vuelve a cargar mediante el registro mantenedor. Se puede programar un cronómetro para que genere una interrupción “x” veces por segundo, a cada interrupción se denomina marca de reloj.
Usos de la sincronización
En los sistemas de archivos convencionales, el fundamento para la memoria caché es la reducción de la E/S de disco (lo que aumenta el rendimiento), en un SAD el objetivo es reducir el tráfico en la red, si los datos necesarios para satisfacer la solicitud de acceso no se encuentran en la memoria cache, se trae una copia de servicio al usuario y los accesos se llevan a cabo con la copia de memoria caché. La idea es conservar allí los bloques de disco de acceso más reciente, para así manejar localmente los accesos repetidos a la misma información y no aumentar el tráfico de la red. La memoria caché con escritura directa equivale a usar el servicio remoto para accesos de escritura y explotar la memoria cache únicamente para accesos de lectura.
Nominación (sus características y estructuras)
Es una correspondencia entre objetos de datos lógicos y físicos. Por ejemplo, los usuarios tratan con objetos de datos lógicos representados por nombre de archivos, mientras que el sistema manipula bloques de datos físicos almacenados en las pistas de los discos. Generalmente un usuario se refiere a un archivo utilizando un nombre, el cual se transforma en un identificador numérico de bajo nivel, que a su vez se corresponde con bloques en disco.
Tipos de nombres
Un nombre es más que una cadena de caracteres. Representa un punto de acceso hacia un objeto. La característica principal de un sistema de nombre es que no debe de presentar ambigüedades, para un momento dado, un nombre refiere a uno y sólo un recurso en el sistema:--Identificadores de puertos y procesos. --Nombres textuales de servicios. --Identificadores de recursos.--Nombres de archivos. --Direcciones físicas y lógicas de redes. --El nombre de un objeto, por ejemplo un recurso o servidor; especifica lo que busca un proceso. --Una dirección especifica dónde se encuentra el objeto.
Mapeo de direcciones
Existe una coherencia directa entre los accesos y el tráfico que va y viene del servidor. De notar que se presenta una analogía directa entre los métodos de acceso a disco en los sistemas de archivos convencionales y el método de servicio remoto en un SD. El método de servicio análogo efectúa un acceso al disco para cada solicitud de acceso. Una manera de lograr esta transferencia es a través del método de servicio remoto, con el cual se entregan al servidor las solicitudes de acceso, la maquina servidora lleva a cabo dichos accesos y los usuarios se devuelven al usuario.
Mapeo de rutas
En un sistema distribuido, el usar un nombre para los propósitos de la comunicación no es bastante. Porque los procesos en ejecución se comunican desde diferentes computadoras. El conocimiento de su localización actual es necesario. Esto conduce a los términos básicos en esta área: un nombre, una dirección, y una ruta.
Modelo de Terry
Los mensajes remitentes entre los procesos y objetos soportados por un sistema operativo precisa la presentación para el sistema operativo de los nombres de los objetos que los procesos quieren ganar acceso a. El problema es cómo localizar objetos nombrados. Esto está directamente conectado a la gerencia del espacio de nombre y las estructuras de la facilidad de nombramiento.
Comunicación de procesos a través del paso de mensajes en sistemas distribuidos.
consiste en un conjunto de mensajes que son direccionados “viajando de un proceso a otro con un propósito común” y haciendo uso de un protocolo común, lo cual ya ha sido discutido en secciones anteriores. Entonces, cuando se tiene un sistema distribuido, es indispensable administrar dichos procesos, así como los mensajes que se envían entre ellos, ya que pudiera darse el caso de que dos procesadores distintos atiendan varios procesos que se envían mensajes simultáneamente. Lo más común es controlar dicho evento, haciendo uso de semáforos o monitores; para controlar el flujo de mensajes entre procesos o hilos.
integrante del equipo
SAINA YATZIRI GAMA NUÑEZ
En un sistema distribuido no existe la memoria compartida y por ello toda la naturaleza de la comunicación entre procesos debe replantearse. Los procesos, para comunicarse, deben apegarse a reglas conocidas como protocolos. Para los sistemas distribuidos en un área amplia, estos protocolos toman frecuentemente la forma de varias capas y cada capa tiene sus propias metas y reglas. Los mensajes se intercambian de diversas formas, existiendo muchas opciones de diseño al respecto; una importante opción es la <<llamada a un procedimiento remoto>>. También es importante considerar las posibilidades de comunicación entre grupos de procesos, no solo entre dos procesos.
CLIENTE-SERVIDOR
Es el modelo que actualmente domina el ámbito de comunicación, ya que descentraliza los procesos y los recursos. En el cual el cliente es una aplicación, en un equipo, que solicita un determinado servicio y existe un software, en otro equipo, que lo proporciona. Los servicios pueden ser: a) Ejecución de un programa. b) Acceso a una Base de Datos. c) Acceso a un dispositivo de hardware.
La arquitectura cliente-servidor es un modelo de aplicación distribuida en el que las tareas se reparten entre los proveedores de recursos o servicios, llamados servidores, y los demandantes, llamados clientes. Un cliente realiza peticiones a otro programa, elservidor, quien le da respuesta. Esta idea también se puede aplicar a programas que se ejecutan sobre una sola computadora, aunque es más ventajosa en un sistema operativo multiusuario distribuido a través de una red de computadoras.
En esta arquitectura la capacidad de proceso está repartida entre los clientes y los servidores, aunque son más importantes las ventajas de tipo organizativo debidas a la centralización de la gestión de la información y la separación de responsabilidades, lo que facilita y clarifica el diseño del sistema.
La separación entre cliente y servidor es una separación de tipo lógico, donde el servidor no se ejecuta necesariamente sobre una sola máquina ni es necesariamente un sólo programa. Los tipos específicos de servidores incluyen los servidores web, los servidores de archivo, los servidores del correo, etc. Mientras que sus propósitos varían de unos servicios a otros, la arquitectura básica seguirá siendo la misma.
Comunicación con Sockets
Designa un concepto abstracto por el cual dos programas (posiblemente situados en computadoras distintas) pueden intercambiarse cualquier flujo de datos, generalmente de manera fiable y ordenada. Los sockets proporcionan una comunicación de dos vías, punto a punto entre dos procesos. Los sockets son muy versátiles y son un componente básico de comunicación entre interprocesos e inter-sistemas.
Socket designa un concepto abstracto por el cual dos programas (posiblemente situados en computadoras distintas) pueden intercambiar cualquier flujo de datos, generalmente de manera fiable y ordenada.
El término socket es también usado como el nombre de una interfaz de programación de aplicaciones (API) para la familia de protocolos de Internet TCP/IP, provista usualmente por el sistema operativo.
Los sockets de Internet constituyen el mecanismo para la entrega de paquetes de datos provenientes de la tarjeta de red a losprocesos o hilos apropiados. Un socket queda definido por un par de direcciones IP local y remota, un protocolo de transporte y un par de números de puerto local y remoto.
llamada a procedimiento remoto(RCP)
Cuando un proceso en la máquina “A” llama a un procedimiento en la máquina “B”: – El proceso que realiza la llamada se suspende. -- La ejecución del procedimiento se realiza en “B”. -- La información se puede transportar de un lado al otro mediante los parámetros y puede regresar en el resultado del procedimiento.-- El programador no se preocupa de una transferencia de mensajes o de la E/S.
Sincronización de relojes físicos
La idea es proveer de un único bloque de tiempo para el sistema. Los procesos pueden usar la marca física del tiempo provista o leída de un reloj central para expresar algún orden en el conjunto de acciones que inician. La principal ventaja de este mecanismo es la simplicidad, aunque existen varios inconvenientes: el correcto registro del tiempo depende en la posibilidad de recibir correctamente y en todo momento, el tiempo actual desplegado por el reloj físico; los errores de transmisión se convierten en un impedimento para el.
Sincronización de relojes lógicos
Las computadoras poseen un circuito para el registro del tiempo conocido como dispositivo reloj. Es un cronómetro consistente en un cristal de cuarzo de precisión sometido a una tensión eléctrica que la cual oscila con una frecuencia bien definida. A cada cristal se le asocian dos registros: --Registro contador. -- Registro mantenedor. Cada oscilación del cristal decrementa en “1” al contador. Pero, cuando el contador llega a “0”: --Se genera una interrupción. --El contador se vuelve a cargar mediante el registro mantenedor. Se puede programar un cronómetro para que genere una interrupción “x” veces por segundo, a cada interrupción se denomina marca de reloj.
Usos de la sincronización
En los sistemas de archivos convencionales, el fundamento para la memoria caché es la reducción de la E/S de disco (lo que aumenta el rendimiento), en un SAD el objetivo es reducir el tráfico en la red, si los datos necesarios para satisfacer la solicitud de acceso no se encuentran en la memoria cache, se trae una copia de servicio al usuario y los accesos se llevan a cabo con la copia de memoria caché. La idea es conservar allí los bloques de disco de acceso más reciente, para así manejar localmente los accesos repetidos a la misma información y no aumentar el tráfico de la red. La memoria caché con escritura directa equivale a usar el servicio remoto para accesos de escritura y explotar la memoria cache únicamente para accesos de lectura.
Nominación (sus características y estructuras)
Es una correspondencia entre objetos de datos lógicos y físicos. Por ejemplo, los usuarios tratan con objetos de datos lógicos representados por nombre de archivos, mientras que el sistema manipula bloques de datos físicos almacenados en las pistas de los discos. Generalmente un usuario se refiere a un archivo utilizando un nombre, el cual se transforma en un identificador numérico de bajo nivel, que a su vez se corresponde con bloques en disco.
Tipos de nombres
Un nombre es más que una cadena de caracteres. Representa un punto de acceso hacia un objeto. La característica principal de un sistema de nombre es que no debe de presentar ambigüedades, para un momento dado, un nombre refiere a uno y sólo un recurso en el sistema:--Identificadores de puertos y procesos. --Nombres textuales de servicios. --Identificadores de recursos.--Nombres de archivos. --Direcciones físicas y lógicas de redes. --El nombre de un objeto, por ejemplo un recurso o servidor; especifica lo que busca un proceso. --Una dirección especifica dónde se encuentra el objeto.
Mapeo de direcciones
Existe una coherencia directa entre los accesos y el tráfico que va y viene del servidor. De notar que se presenta una analogía directa entre los métodos de acceso a disco en los sistemas de archivos convencionales y el método de servicio remoto en un SD. El método de servicio análogo efectúa un acceso al disco para cada solicitud de acceso. Una manera de lograr esta transferencia es a través del método de servicio remoto, con el cual se entregan al servidor las solicitudes de acceso, la maquina servidora lleva a cabo dichos accesos y los usuarios se devuelven al usuario.
Mapeo de rutas
En un sistema distribuido, el usar un nombre para los propósitos de la comunicación no es bastante. Porque los procesos en ejecución se comunican desde diferentes computadoras. El conocimiento de su localización actual es necesario. Esto conduce a los términos básicos en esta área: un nombre, una dirección, y una ruta.
Modelo de Terry
Los mensajes remitentes entre los procesos y objetos soportados por un sistema operativo precisa la presentación para el sistema operativo de los nombres de los objetos que los procesos quieren ganar acceso a. El problema es cómo localizar objetos nombrados. Esto está directamente conectado a la gerencia del espacio de nombre y las estructuras de la facilidad de nombramiento.
Comunicación de procesos a través del paso de mensajes en sistemas distribuidos.
consiste en un conjunto de mensajes que son direccionados “viajando de un proceso a otro con un propósito común” y haciendo uso de un protocolo común, lo cual ya ha sido discutido en secciones anteriores. Entonces, cuando se tiene un sistema distribuido, es indispensable administrar dichos procesos, así como los mensajes que se envían entre ellos, ya que pudiera darse el caso de que dos procesadores distintos atiendan varios procesos que se envían mensajes simultáneamente. Lo más común es controlar dicho evento, haciendo uso de semáforos o monitores; para controlar el flujo de mensajes entre procesos o hilos.
integrante del equipo
SAINA YATZIRI GAMA NUÑEZ
Gama- Invitado
Revisión Del Grupo
Los felicito por sus participaciones y por su trabajo colaborativo. Me es grato apreciar que han podido orientarse entre ustedes mismos, con sus comentarios contundentes, y que además, hayan alcanzado las competencias específicas de la unidad.
ATTE:
M.C. EDGAR RANGEL LUGO.
ATTE:
M.C. EDGAR RANGEL LUGO.
COMUNICACIÓN EN LOS SISTEMAS OPERATIVOS ANGEL JOSUE PASTRANA PEDRO DIEGO ALVARADO SANTANA LUIS DAVID ARROYO MALDONADO
COMUNICACIÓN EN LOS SISTEMAS OPERATIVOS DISTRIBUIDOS
La diferencia más importante entre un sistema distribuido y un sistema de un único procesador es la comunicación entre procesos.
En un sistema de un solo procesador la comunicación supone implícitamente la existencia de la memoria compartida:
Ej.: problema de los productores y los consumidores, donde un proceso escribe en un buffer compartido y otro proceso lee de él.
En un sistema distribuido no existe la memoria compartida y por ello toda la naturaleza de la comunicación entre procesos debe replantearse.
Los procesos, para comunicarse, deben apegarse a reglas conocidas comoprotocolos.
Para los sistemas distribuidos en un área amplia, estos protocolos toman frecuentemente la forma de varias capas y cada capa tiene sus propias metas y reglas.
Los mensajes se intercambian de diversas formas, existiendo muchas opciones de diseño al respecto; una importante opción es la “llamada a un procedimiento remoto”.
También es importante considerar las posibilidades de comunicación entre grupos de procesos, no solo entre dos procesos
.
Protocolos con Capas
Protocolos con Capas
Debido a la ausencia de memoria compartida, toda la comunicación en los sistemas distribuidos se basa en la transferencia de mensajes
Cuando el proceso “A” quiere comunicarse con el proceso “B”:
Construye un mensaje en su propio espacio de direcciones.
Ejecuta una llamada al sistema para que el S. O. busque el mensaje y lo envíe a través de la red hacia “B”.
Para evitar el caos, “A” y “B” deben coincidir en el significado de los bits que se envíen.
REFERENCIAS HACIA EL MODELO OSI
Identifica en forma clara los distintos niveles.
Estandariza los nombres de los niveles.
Señala cuál nivel debe realizar cuál trabajo
El “modelo OSI” está diseñado para permitir la comunicación de los sistemas abiertos:
Son aquellos preparados para comunicarse con cualquier otro sistema abierto mediante reglas estándar:
Establecen el formato, contenido y significado de los mensajes recibidos y enviados.
Constituyen los protocolos, que son acuerdos en la forma en que debe desarrollarse la comunicación
El “modelo OSI” distingue entre dos tipos generales de protocolos:
Orientados hacia las conexiones:
Antes de intercambiar los datos, el emisor y el receptor:
Establecen en forma explícita una conexión.
Probablemente negocien el protocolo a utilizar.
Al finalizar, deben terminar la conexión.
El teléfono es un sistema de comunicación orientado hacia la conexión.
• Sin conexión:
No es necesaria una configuración de antemano.
El emisor transmite el primer mensaje cuando está listo.
El depósito de una carta en un buzón es una comunicación sin conexión.
Cada capa proporciona una interfaz con la otra capa por encima de ella; la interfaz consiste de un conjunto de operaciones para definir el servicio que la capa está preparada para ofrecer a sus usuarios.
El protocolo de la capa “n” utiliza la información de la capa “n”.
Cada protocolo de capa se puede cambiar independientemente de los demás:
Esto es de fundamental importancia.
Confiere gran flexibilidad.
La colección de protocolos utilizados en un sistema particular se llama una“suite de protocolo” o “pila de protocolo”.
-COMUNICACIÓN CLIENTE –SERVIDOR SOCKETS
El “modelo cliente - servidor” tiene como idea fundamental la estructuración del S. O. como:
Un grupo de procesos en cooperación, llamados servidores, que ofrecen servicios a los usuarios.
Un grupo de procesos usuarios llamados clientes.
El “modelo cliente - servidor” se basa en un “protocolo solicitud / respuesta”:
Es sencillo y sin conexión.
No es complejo y orientado a la conexión como OSI o TCP / IP.
El cliente envía un mensaje de solicitud al servidor pidiendo cierto servicio.
El servidor:
Ejecuta el requerimiento.
Regresa los datos solicitados o un código de error si no pudo ejecutarlo correctamente.
No se tiene que establecer una conexión sino hasta que ésta se utilice.
La pila del protocolo es más corta y por lo tanto más eficiente.
Si todas las máquinas fuesen idénticas solo se necesitarían tres niveles de protocolos
La diferencia más importante entre un sistema distribuido y un sistema de un único procesador es la comunicación entre procesos.
En un sistema de un solo procesador la comunicación supone implícitamente la existencia de la memoria compartida:
Ej.: problema de los productores y los consumidores, donde un proceso escribe en un buffer compartido y otro proceso lee de él.
En un sistema distribuido no existe la memoria compartida y por ello toda la naturaleza de la comunicación entre procesos debe replantearse.
Los procesos, para comunicarse, deben apegarse a reglas conocidas comoprotocolos.
Para los sistemas distribuidos en un área amplia, estos protocolos toman frecuentemente la forma de varias capas y cada capa tiene sus propias metas y reglas.
Los mensajes se intercambian de diversas formas, existiendo muchas opciones de diseño al respecto; una importante opción es la “llamada a un procedimiento remoto”.
También es importante considerar las posibilidades de comunicación entre grupos de procesos, no solo entre dos procesos
.
Protocolos con Capas
Protocolos con Capas
Debido a la ausencia de memoria compartida, toda la comunicación en los sistemas distribuidos se basa en la transferencia de mensajes
Cuando el proceso “A” quiere comunicarse con el proceso “B”:
Construye un mensaje en su propio espacio de direcciones.
Ejecuta una llamada al sistema para que el S. O. busque el mensaje y lo envíe a través de la red hacia “B”.
Para evitar el caos, “A” y “B” deben coincidir en el significado de los bits que se envíen.
REFERENCIAS HACIA EL MODELO OSI
Identifica en forma clara los distintos niveles.
Estandariza los nombres de los niveles.
Señala cuál nivel debe realizar cuál trabajo
El “modelo OSI” está diseñado para permitir la comunicación de los sistemas abiertos:
Son aquellos preparados para comunicarse con cualquier otro sistema abierto mediante reglas estándar:
Establecen el formato, contenido y significado de los mensajes recibidos y enviados.
Constituyen los protocolos, que son acuerdos en la forma en que debe desarrollarse la comunicación
El “modelo OSI” distingue entre dos tipos generales de protocolos:
Orientados hacia las conexiones:
Antes de intercambiar los datos, el emisor y el receptor:
Establecen en forma explícita una conexión.
Probablemente negocien el protocolo a utilizar.
Al finalizar, deben terminar la conexión.
El teléfono es un sistema de comunicación orientado hacia la conexión.
• Sin conexión:
No es necesaria una configuración de antemano.
El emisor transmite el primer mensaje cuando está listo.
El depósito de una carta en un buzón es una comunicación sin conexión.
Cada capa proporciona una interfaz con la otra capa por encima de ella; la interfaz consiste de un conjunto de operaciones para definir el servicio que la capa está preparada para ofrecer a sus usuarios.
El protocolo de la capa “n” utiliza la información de la capa “n”.
Cada protocolo de capa se puede cambiar independientemente de los demás:
Esto es de fundamental importancia.
Confiere gran flexibilidad.
La colección de protocolos utilizados en un sistema particular se llama una“suite de protocolo” o “pila de protocolo”.
-COMUNICACIÓN CLIENTE –SERVIDOR SOCKETS
El “modelo cliente - servidor” tiene como idea fundamental la estructuración del S. O. como:
Un grupo de procesos en cooperación, llamados servidores, que ofrecen servicios a los usuarios.
Un grupo de procesos usuarios llamados clientes.
El “modelo cliente - servidor” se basa en un “protocolo solicitud / respuesta”:
Es sencillo y sin conexión.
No es complejo y orientado a la conexión como OSI o TCP / IP.
El cliente envía un mensaje de solicitud al servidor pidiendo cierto servicio.
El servidor:
Ejecuta el requerimiento.
Regresa los datos solicitados o un código de error si no pudo ejecutarlo correctamente.
No se tiene que establecer una conexión sino hasta que ésta se utilice.
La pila del protocolo es más corta y por lo tanto más eficiente.
Si todas las máquinas fuesen idénticas solo se necesitarían tres niveles de protocolos
angelpastrana- Mensajes : 2
Fecha de inscripción : 08/09/2014
Sistemas Operativos
son una serie de comandos que sirven para realizar una indicación del usiario
Informatica 1- Invitado
Página 2 de 2. • 1, 2
Temas similares
» 1.- Sistemas Operativos En Ambientes Distribuidos
» 3.- Procesos y Procesadores En Los Sistemas Operativos Distribuidos
» 5.- Usos y Tendencias De Los Sistemas Operativos Distribuidos
» sistemas operativos y mencione dos ejemplos
» Unidad 2.- Sistema Operativo
» 3.- Procesos y Procesadores En Los Sistemas Operativos Distribuidos
» 5.- Usos y Tendencias De Los Sistemas Operativos Distribuidos
» sistemas operativos y mencione dos ejemplos
» Unidad 2.- Sistema Operativo
Permisos de este foro:
No puedes responder a temas en este foro.