IV Unidad Sistemas Operativos 2 Cliente-Servidor

Embed Size (px)

Citation preview

INSTITUTO TECNOLOGICO SUPERIOR DE PEROTE

Alumno: Samuel Cervantes Moreno

Matricula: 14050053

Profesor: Jos Manuel Daz Rivera

Materia: Sistemas Operativos II

Unidad: 2

ndice

ndice....2 Introduccin.....32 Procesos y Comunicacin.42.1 Nombre......42.1.2Comunicacion Cliente-Servidor......42.1.3 Comunicacin en grupo..52.1.4 Tolerancia a fallos....72.2 Sincronizacin..82.2.1 Relojes fsicos...82.2.2 Relojes Lgicos....92.2.3 Uso de la sincronizacin....102.3 Nominacin..112.3.1 Caractersticas y Estructura..122.3.2 Tipos de Nombres......13-142.3.3 Modelo de Terry.....15-16Conclusin..17

Introduccin Existen diferentes nombres denominados para la comunicacin 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 conexin fsica entre las distintas memorias de los equipos, la comunicacin se realiza mediante la transferencia de mensajes.Para que un sistema en red trabaje correctamente es necesario la sincronizacin ya que depende de las respuestas reciprocas entre cliente y servidor, mediante mensajes y protocolos que sin ello sera un caos pues no se comunicaran de manera correcta sino sera una larga espera. El modelo cliente-servidor basa la comunicacin en una simplificacin del modelo OSI. Las siete capas que proporciona producen un desaprovechamiento de la velocidad de transferencia de la red, con lo que slo se usarn tres capas: fsica , enlace de datos y solicitud/respuesta.Las transferencias se basan en el protocolo solicitud/respuesta y se elimina la necesidad de conexin.

Procesos y Comunicacin

2.1 NombreLa comunicacin 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 conexin fsica entre las distintas memorias de los equipos, la comunicacin se realiza mediante la transferencia de mensajes. 2.1.1 Comunicacin Cliente-ServidorSocketsEs un mecanismo de comunicacin, Permite a los sistemas cliente/servidor ser desarrollados Localmente en una sola mquina A travs de redes. Funciones tales como impresin, utileras de red, tales como rlogin y ftp, usualmente usan sockets para comunicarse.Socket 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.Un socket queda definido por una direccin IP, un protocolo y un nmero de puerto.Explicacin detalladaPara que dos programas puedan comunicarse entre s es necesario que se cumplan ciertos requisitos:

Que un programa sea capaz de localizar al otro. Que ambos programas sean capaces de intercambiarse cualquier secuencia de octetos, es decir, datos relevantes a su finalidad. Para ello son necesarios los tres recursos que originan el concepto de socket: Un protocolo de comunicaciones, que permite el intercambio de octetos. Una direccin del Protocolo de Red (Direccin IP, si se utiliza el Protocolo TCP/IP), que identifica una computadora.Un nmero de puerto, que identifica a un programa dentro de una computadora.Los sockets permiten implementar una arquitectura cliente-servidor. La comunicacin ha de ser iniciada por uno de los programas que se denomina programa cliente. El segundo programa espera a que otro inicie la comunicacin, por este motivo se denomina programa servidor.Un socket es un fichero existente en la mquina cliente y en la mquina servidora, que sirve en ltima instancia para que el programa servidor y el cliente lean y escriban la informacin. Esta informacin ser la transmitida por las diferentes capas de red. 2.1.2 Comunicacin RPCOtro paso en el diseo de un sistema operativo distribuido plantea las llamadas a procedimientos remotos o RPCs. Los RPC amplan la llamada local a procedimientos, y los generalizan a una llamada a un procedimiento localizado en cualquier lugar de todo el sistema distribuido. En un sistema distribuido no se debera distinguir entre llamadas locales y RPCs, lo que favorece en gran medida la transparencia del sistema.

Una de las dificultades ms evidentes a las que se enfrenta el RPC es el formato de los parmetros de los procedimientos. Un ejemplo es la posibilidad de que en un sistema distribuido formado por diferentes tipos de ordenadores, un ordenador con formato little endian llamara a un procedimiento de otro ordenador con formato big endian, etc. Este problema se podra solucionar si tenemos en cuenta que ambos programas conocen el tipo de datos de los parmetros, o estableciendo un estndar en el formato de los parmetros, de forma que sea usado de forma nica.Por ltimo queda por solucionar la tolerancia a fallos. Una llamada a un procedimiento remoto puede fallar por motivos que antes no existan, como la prdida de mensajes o el fallo del cliente o del servidor durante la ejecucin del procedimiento.La limitacin del RPC ms clara en los sistemas distribuidos es que no permite enviar una solicitud y recibir respuesta de varias fuentes a la vez, sino que la comunicacin se realiza nicamente entre dos procesos. Por motivos de tolerancia a fallos, bloqueos, u otros, sera interesante poder tratar la comunicacin en grupo. 2.1.3 Comunicacin en grupoLa comunicacin en grupo tiene que permitir la definicin de grupos, as como caractersticas propias de los grupos, como la distincin entre grupos abiertos o que permiten el acceso y cerrados que lo limitan, o como la distincin del tipo de jerarqua dentro del grupo. Igualmente, los grupos han de tener operaciones relacionadas con su manejo, como la creacin o modificacin.

2.1.4 Tolerancia a fallosQue el sistema de archivos sea tolerante a fallos implica que el sistema debe guardar varias copias del mismo archivo en distintos ordenadores para garantizar la disponibilidad en caso de fallo del servidor original. Adems, se ha de aplicar un algoritmo que nos permita mantener todas las copias actualizadas de forma consistente, o un mtodo alternativo que slo nos permita acceder al archivo actualizado, como invalidar el resto de copias cuando en cualquiera de ellas se vaya a realizar una operacin de escritura. El uso de memorias cache para agilizar el acceso a los archivos tambin es recomendable, pero este caso requiere analizar con especial atencin la consistencia del sistema.

2.2 SincronizacinEl modelo cliente-servidor basa la comunicacin en una simplificacin del modelo OSI. Las siete capas que proporciona producen un desaprovechamiento de la velocidad de transferencia de la red, con lo que slo se usarn tres capas: fsica (1), enlace de datos (2) y solicitud/respuesta (5). Las transferencias se basan en el protocolo solicitud/respuesta y se elimina la necesidad de conexin. 2.2.1 Relojes fsicosEl algoritmo de Lamport proporciona un orden de eventos sin ambigedades, pero:Los valores de tiempo asignados a los eventos no tienen porqu ser cercanos a los tiempos reales en los que ocurren.En ciertos sistemas (ej.: sistemas de tiempo real), es importante la hora real del reloj:Se precisan relojes fsicos externos (ms de uno).Se deben sincronizar:Con los relojes del mundo real.Entre s.La medicin del tiempo real con alta precisin no es sencilla.Desde antiguo el tiempo se ha medido astronmicamente.Se considera el da solar al intervalo entre dos trnsitos consecutivos del sol, donde el trnsito del sol es el evento en que el sol alcanza su punto aparentemente ms alto en el cielo.El segundo solar se define como 1 / 86.400 de un da solar.Como el perodo de rotacin de la tierra no es constante, se considera el segundo solar promedio de un gran nmero de das.Los fsicos definieron al segundo como el tiempo que tarda el tomo de cesio 133 para hacer 9.192.631.770 transiciones:Se tom este nmero para que el segundo atmico coincida con el segundo solar promedio de 1958. 2.2.2 Relojes LgicosLas computadoras poseen un circuito para el registro del tiempo conocido como dispositivo reloj. Es un cronmetro consistente en un cristal de cuarzo de precisin sometido a una tensin elctrica que: Oscila con una frecuencia bien definida que depende de: La forma en que se corte el cristal. El tipo de cristal. La magnitud de la tensin. A cada cristal se le asocian dos registros: Registro contador. Registro mantenedor. Cada oscilacin del cristal decrementa en 1 al contador. Cuando el contador llega a 0: Se genera una interrupcin. El contador se vuelve a cargar mediante el registro mantenedor. Se puede programar un cronmetro para que genere una interrupcin x veces por segundo. Cada interrupcin se denomina marca de reloj. Para una computadora y un reloj: No interesan pequeos desfasajes del reloj porque: Todos los procesos de la mquina usan el mismo reloj y tendrn consistencia interna. Importan los tiempos relativos. Para varias computadoras con sus respectivos relojes: Es imposible garantizar que los cristales de computadoras distintas oscilen con la misma frecuencia. Habr una prdida de sincrona en los relojes (de software), es decir que tendrn valores distintos al ser ledos. 2.2.3 Uso de la sincronizacinLa Oficina Internacional de la Hora en Pars (BIH) recibe las indicaciones de cerca de 50 relojes atmicos en el mundo y calcula el tiempo atmico internacional (TAI).Como consecuencia de que el da solar promedio (DSP) es cada vez mayor, un da TAI es 3 mseg menor que un DSP:La BIHintroduce segundos de salto para hacer las correcciones necesarias para que permanezcan en fase:El sistema de tiempo basado en los segundos TAI.El movimiento aparente del sol.Surge el tiempo coordenado universal (UTC).El Instituto Nacional del Tiempo Estndar (NIST) de EE. UU. y de otros pases:Operan estaciones de radio de onda corta o satlites de comunicaciones.Transmiten pulsos UTC con cierta regularidad establecida (cada segundo, cada 0,5 mseg, etc.).Se deben conocer con precisin la posicin relativa del emisor y del receptor:Se debe compensar el retraso de propagacin de la seal.Si la seal se recibe por mdem tambin se debe compensar por la ruta de la seal y la velocidad del mdem.Se dificulta la obtencin del tiempo con una precisin extremadamente alta.2.3 NominacinCorrespondencia entre objetos de datos lgicos y fsicos.Por ejemplo, los usuarios tratan con objetos de datos lgicos representados por nombre de archivos, mientras que el sistema manipula bloques de datos fsicos 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 numrico de bajo nivel, que a su vez se corresponde con bloques en disco. Esta correspondencia multinivel ofrece a los usuarios la abstraccin de un archivo, que oculta los detalles de cmo y donde se almacena el archivo en disco.Si se extiende un poco mas el tratamiento de los archivos como abstracciones, llegamos a la posibilidad de replicas de archivos. Dado un nombre de archivo, la correspondencia devuelve un conjunto de posiciones de las replicas de este archivo. En esta abstraccin se ocultan tanto la experiencia de copias como su ubicacin.

Esquema de nominacinHay tres enfoques principales para los esquemas de nominacin.En el enfoque ms sencillo, los archivos se nombran con una combinacin del nombre de su anfitrin y su nombre local, lo que garantiza un nombre nico dentro de todo el sistema.El segundo enfoque popularizado por el sistema de archivos de red (NFS, Network File System) de sun, ofrece una forma de unir directorios remotos a directorios locales, lo que da la apariencia a un rbol de directorios coherentes.El tercer enfoque es la estructura mas compleja y difcil de mantener enla NFS, ya que cualquier directorio se puede unir a cualquier rbol de direcciones locales y la jerarqua resultante puede estar poco estructurada.Nominacin y TransparenciaExisten dos conceptos que hay que distinguir en relacin con la correspondencia de nombres en un SD:Transparencia de Nominacin: El nombre de archivo no revela ningn indicio sobre de la ubicacin del almacenamiento fsico del archivo.Independencia de Ubicacin: No es necesario modificar el nombre de un archivo cuando cambia su ubicacin en el almacenamiento fsico.2.3.1 Caractersticas y su estructuralos usuarios tratan con objetos de datos lgicos representados por nombre de archivos, mientras que el sistema manipula bloques de datos fsicos 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 numrico de bajo nivel, que a su vez se corresponde con bloques en disco. Esta correspondencia multinivel ofrece a los usuarios la abstraccin de un archivo, que oculta los detalles de cmo y donde se almacena el archivo en disco.} Si se extiende un poco mas el tratamiento de los archivos como abstracciones, llegamos a la posibilidad de replicas de archivos. Dado un nombre de archivo, la correspondencia devuelve un conjunto de posiciones de las replicas de este archivo. En esta abstraccin se ocultan tanto la experiencia de copias como su ubicacin. 2.3.2 Tipos de Nombres} Hay tres enfoques principales para los esquemas de nominacin.} En el enfoque ms sencillo, los archivos se nombran con una combinacin del nombre de su anfitrin y su nombre local, lo que garantiza un nombre nico dentro de todo el sistema.} El segundo enfoque popularizado por el sistema de archivos de red (NFS, Network File System) de sun, ofrece una forma de unir directorios remotos a directorios locales, lo que da la apariencia a un rbol de directorios coherentes.} El tercer enfoque es la estructura mas compleja y difcil de mantener en la NFS, ya que cualquier directorio se puede unir a cualquier rbol de direcciones locales y la jerarqua resultante puede estar poco estructurada.2.3.3 Resolucin y distribucin} Existen dos conceptos que hay que distinguir en relacin con al correspondencia de nombres en un SD:} Transparencia de Nominacin: El nombre de archivo no revela ningn indicio sobre de la ubicacin del almacenamiento fsico del archivo.} Independencia de Ubicacin: No es necesario modificar el nombre de un archivo cuando cambia su ubicacin en el almacenamiento fsico. 2.3.4 Servidores y agentes de nombrePara implantar una nominacin transparente se requiere un mecanismo para correspondencia entre un nombre de archivo y la ubicacin asociada. Para que esta correspondencia sea manejable, hay que agrupar conjuntos de archivos en unidades componentes y proporcionar la correspondencia segn las unidades componentes, no por archivos. 2.3.5 Mapas de direcciones} Existe una coherencia directa entre los accesos y el trfico que va y viene del servidor. De notar que se presenta una analoga directa entre los mtodos de acceso a disco en los sistemas de archivos convencionales y el mtodo de servicio remoto en un SD. El mtodo de servicio anlogo efecta un acceso al disco para cada solicitud de acceso.} Una manera de lograr esta transferencia es a travs del mtodo 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 2.3.6 Mapas de rutasEn un sistema distribuido, el usar un nombre para los propsitos de la comunicacin no es bastante. Porque los procesos en ejecucin se comunican desde diferentes computadoras. El conocimiento de su localizacin actual es necesario. Esto conduce a los trminos bsicos en esta rea: un nombre, una direccin, y una ruta. El significado de estos trminos se puede explicar usando las definiciones intuitivas siguientes (Shoch 1978):1. El nombre de un objeto (por ejemplo, recursos, servidor) especfico que el proceso busca (al qu desea tener acceso)2. Una direccin especifica donde sta3. Una ruta especifica cmo esta ahCada uno de estos identificadores representa un atascamiento ms apretado de la informacin:1. Los nombres son mapeados en direcciones. Este mapeo es necesario para la aplicacin en ejecucin, puesto que la sintaxis y la semntica de nombres dependen enteramente de qu tipos de entidades se estn nombrando y tambin qu uso se est haciendo de ellas; y 2. Las direcciones son mapeadas en los routeadores. 2.3.7 Modelo de TerryLos mensajes remitentes entre los procesos y objetos soportados por un sistema operativo precisa la presentacin para el sistema operativo de los nombres de los objetos que los procesos quieren ganar acceso a. El problema es cmo localizar objetos nombrados. Esto est directamente conectado a la gerencia del espacio de nombre y las estructuras de la facilidad de nombramiento.Como ha visto, acto de servidores de nombre como agentes obligatorios distribuidos que amarran el nombre de un objeto para una cierta cantidad de sus propiedades, incluyendo la posicin del objeto. Algunos servidores de nombre pueden almacenar informacin acerca de los objetos particulares. Tales servidores de nombre se llaman las autoridades que nombra o servidores autoritarios de nombre para eso objetan. El problema es cmo distribuir servidores de nombre, esto es, que de las estructuras de una facilidad de nombramiento es el mejor.Los criterios diferentes pueden ser tomados en cuenta al desarrollar la facilidad de nombramiento para sistemas de cmputo distribuidos. En la etapa de anlisis de la estructura de facilidad de nombramiento, usaremos la mayor parte de importante de esos criterios, a saber actuacin. Este criterio es importante para un ambiente distribuido porque que hay usualmente un nmero de redes interconectadas (lo mismo es cierto en caso de una red de rea local conectando un nmero grande de computadoras personales y / o los puestos de trabajo, y los servidores diferentes), lo cual insina que el costo de comunicacin entre clientes y servidores de nombre es el cuello de botella principal en localizar recursos remotos. En este caso, la actuacin de averiguaciones del servidor de nombre es dominada por el nmero de servidores de nombre que deben ser a los que se gan acceso y el costo de ganar acceso a esos los servidores de nombre.

Conclusin

Existen diferentes nombres denominados para la comunicacin 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 conexin fsica entre las distintas memorias de los equipos, la comunicacin se realiza mediante la transferencia de mensajes.Para que un sistema en red trabaje correctamente es necesario la sincronizacin ya que depende de las respuestas reciprocas entre cliente y servidor, mediante mensajes y protocolos que sin ello sera un caos pues no se comunicaran de manera correcta sino sera una larga espera. El modelo cliente-servidor basa la comunicacin en una simplificacin del modelo OSI. Las siete capas que proporciona producen un desaprovechamiento de la velocidad de transferencia de la red, con lo que slo se usarn tres capas: fsica , enlace de datos y solicitud/respuesta.Las transferencias se basan en el protocolo solicitud/respuesta y se elimina la necesidad de conexin.

2