18
INSTITUTO TECNOLÓGICO SUPERIOR DE CINTALAPA Ing. Informática Sistemas operativos II Catedrático: Reynol farrera roque 2.3. NOMINACION: CARACTERISTICAS Y ESTRUCTURAS TIPOS DE NOMBRES, RESOLUCION Y DISTRIBUCION SERVIDORES Y AGENTES DE NOMBRES 2.4. Comunicación DE PROCESOS ATRAVES DEL PASO DE MENSAJES Integrantes: Francisco Javier del porte Pérez Suni Alexis Zavala García Isidro medina Tamayo Williams García Nataren Jordán Emmanuel molina lázaro Geidy Merari Castellanos Romero

Comunicacion en Los Sistemas o

Embed Size (px)

DESCRIPTION

kjhjg

Citation preview

Page 1: Comunicacion en Los Sistemas o

INSTITUTO TECNOLÓGICO SUPERIOR DE CINTALAPA

Ing. Informática

Sistemas operativos II

Catedrático:

Reynol farrera roque

2.3. NOMINACION: CARACTERISTICAS Y ESTRUCTURAS TIPOS DE

NOMBRES, RESOLUCION Y DISTRIBUCION SERVIDORES Y

AGENTES DE NOMBRES

2.4. Comunicación DE PROCESOS ATRAVES DEL PASO DE

MENSAJES

Integrantes:

Francisco Javier del porte Pérez

Suni Alexis Zavala García

Isidro medina Tamayo

Williams García Nataren

Jordán Emmanuel molina lázaro

Geidy Merari Castellanos Romero

Page 2: Comunicacion en Los Sistemas o

5° semestre grupo “F”

27 de agosto del 2015

Page 3: Comunicacion en Los Sistemas o

2.3 Nominación: características y estructuras, tipos de

nombres, resolución y distribución, servidores y agentes de

nombres.

Una de las tareas más relevantes en la operación de S.O.D. es la

administración de recursos, que se presentan estructurados en plataformas o

catálogos de servicios y aplicaciones. Las fronteras entre plataformas de

trabajo son muy relativas, pero imponen restricciones porque las prestaciones

del sistema operativo operan siempre en el direccionamiento de bajo nivel, y al

trasladar su servicio a un ambiente distribuido tenemos que diferenciar cada

entidad para que puedan compartir los recursos, (por ejemplo en

procesamiento paralelo). Entonces el direccionamiento normal del S.O. puede

extenderse a un ambiente de red mediante una capa de software que etiqueta

los identificadores de recursos nombres que pueden ser o no simbólicamente

más significativos, pero que establecen un conjunto de elementos del sistema

con reglas particulares en una nomenclatura. Este conjunto y sus reglas

constituyen un pequeño universo llamado Dominio. El uso de etiquetas en un

dominio es un elemento creador de contexto, que nos ayudará a localizar y

transparentar el acceso a los recursos, logrando la conectividad de entidades y

la transparencia de localización.

Una de las soluciones más efectivas para el direccionamiento de conjuntos de

recursos en plataformas es el concepto del dominio, ya que permite establecer

un marco de conectividad entre entidades similares; visto así el dominio es una

región simbólica de prestación de servicios. El muy conocido DNS (Domain

Name System) de Internet es en esencia proveedor de un mecanismo de

enrutamiento IP para conexiones remotas, pero aplicado a los S.O.D.

constituye además un mecanismo de direccionamiento y enrutamiento para

recursos dispersos en una  topología. Visto desde un punto de vista muy

estricto el dominio se implementa con la agregación de un campo extra a las

tramas de los de un paquete o datagramas. La simplicidad de usar una cadena

Page 4: Comunicacion en Los Sistemas o

de caracteres para identificar un recurso, esta compensada por enorme

significado que tienen los nombres de dominio, porque los recursos a los que

apuntan son oficiales, únicos y están organizados en jerarquías que no

permiten ambigüedades o inconsistencias; por ejemplo el dominio:

Identifica de manera oficial un sitio web del gobierno del estado de Michoacán

en México, de tal suerte que ninguna otra entidad en el mundo puede reclamar

ese mismo dominio. Si se usan  otros prefijos como .com, .net.edu, la

identificación de los elementos previos es igualmente válida. La novedad del

sistema DNS es que tiene varias jerarquías que operan todas de manera

conjunta-excluyente, sin ninguna regla semántica que no sea el lenguaje

natural, cuya validez es interpretada solo por el usuario que lee el nombre de

dominio. Por ejemplo el nombre:

Es correcto sintácticamente y el sistema DNS lo puede usar sin ningún

problema, pero identifica un recurso imposible o inexistente; y usuario

competente se percataría inmediatamente de su invalidez. Lo curioso es que

en la www un nombre de dominio  DNS es un nombre de un servidor con ruta

de archivo en una cadena de caracteres y su procesamiento involucra sólo una

delgada capa de software de direccionamiento llamada ARP y RARP (Address

Resolution Protocolo y Reverse ARP). Esto nos muestra que DNS puede

direccionar recursos en archivos remotos y que su servicio es útil e interactúa

con muy diversas aplicaciones, lo cual es prueba de la relevancia del tema en

otros sistemas similares como los S.O.D.

Los servidores DNS permiten acceder a un dominio en Internet entre los

millones existentes al traducir fragmentos de texto a direcciones IP con

recursos por default según el servicio (directorio HTTPD, servicio SMTP/POP3,

login a FTP,  TELNET, etc.); de manera similar un S.O.D. convierte los

nombres en recursos de bajo nivel, pero su operación es distinta en esencia, ya

que DNS es un servicio con su propio protocolo, mientras que un sistema de

nominación para una S.O.D. es toda una nomenclatura de servicios que puede

abarcar desde la capa física hasta la capa de aplicación, no obstante que

puede implementarse mediante un servidor DNS. DNS es un modelo cliente-

servidor de dos capas, por eso cuando un servidor requiere una conversión de

otro dominio remoto, comienza la búsqueda a través de uno o varios

Page 5: Comunicacion en Los Sistemas o

Servidores DNS contiguos hasta encontrar una respuesta positiva o negativa.

Esto implica la existencia de un algoritmo con una política de enrutamiento de

solicitudes y por lo tanto un esquema simple de distribución de carga, algo que

también debe tomarse en cuenta si el S.O.D. maneja cierta complejidad en sus

recursos.

El sistema de nombres es entonces una tabla de recursos y su punto de

acceso hacia objetos. Los sistemas de nombres deben de almacenarse en un

repositorio de datos proveyendo interfaces de acceso, que implican estructuras

abstractas como los servicios de directorios, los cuales permiten compartir

información más allá de la frontera de las redes locales. Los nombres pueden

enfocarse a ser más compactos, más significativos (llave compuesta) y por lo

tanto más simples de localizar y administrar, o pueden diseñarse para ser más

entendibles a los humanos; sin importar lo anterior deben permitir localizar los

objetos desde cualquier punto y/o servicio de la red sin importar su ubicación

física o lógica.  

En términos simples, un nombre es equivalente a la noción de clases y

herencia múltiple en Programación Orientada  a Objetos, lo cual garantiza

consistencia, formalidad y completitud; La característica principal de un sistema

de nombres es que no debe presentar ambigüedades, cada nombre se refiere

a uno y sólo un recurso en el sistema. Existen tipos de nombres para tipos de

recursos, como vimos en DNS, por lo que es importante que éstos guarden una

jerarquía, que corresponde a la arquitectura de la red. Entonces un sistema de

nombres en un S.O.D. deberá crear etiquetas para: 

Identificadores de puertos y procesos.

Nombres textuales de servicios.

Identificadores de recursos.

Nombres de archivos.

Direcciones físicas y lógicas de redes.

Objetos y librerías de clase.

Especificaciones para acceder a un recurso que es solicitado por un

proceso.

Page 6: Comunicacion en Los Sistemas o

Rutas de archivos compartidos, variables de entorno global y funciones

remotas.

Conexiones y usuarios.

ESTRUCTURAS DE NOMBRES

La nominación 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.

Esta correspondencia multinivel ofrece a los usuarios la abstracción de un

archivo, que oculta los detalles de cómo y dónde se almacena el archivo en

disco, pero implica el manejo de una estructura semántica que si bien no

requiere de ser perfecta, debe ser consistente y formal para permitir la

escalabilidad en el recurso.

Una noción importante es que el sistema de nombres debe tener una

estructura, generalmente una jerarquía, que representa las capas estratificadas

donde residen los recursos de la red. Puesto que tenemos que direccionar

objetos diversos, desde programas, máquinas, sesiones, procedimientos

remotos, procesos, servicios, los identificamos de manera jerárquica de

acuerdo a las capas de software que tenemos que atravesar para llegar a ese

recurso.

Hay por lo menos cuatro principios básicos que una convención de

nombramiento debe satisfacer:

1. Generalidad - Una convención de nombramiento debe poder nombrar una

variedad de entidades en diversas aplicaciones tanto como en diversos

ambientes.

2. Múltiples definiciones de la misma entidad (alias) - porque una entidad puede

Page 7: Comunicacion en Los Sistemas o

ser conocida por diversos nombres en diversos ambientes, la convención de

nombramiento debe permitir la característica de nombres múltiples y dejar el

problema de la resolución a algunos mecanismos de la conversión de

dirección.

3. Distribuible - Es probable que la convención de nombramiento se manifieste,

en una cierta forma, como directorio, ayudar a la validación y a la conversión de

direcciones conocidas. Los nombres de la base de datos se pueden fragmentar

entre los anfitriones de la red, basados posiblemente en la organización

geográfica o en los requerimientos de los usuarios.

4. Amigable al usuario - El usuario debe estar en una posición para deducir el

nombre de entradas del conocimiento que él posee. El convenio del

nombramiento no debe permitir ningún alcance para la interpretación incorrecta

de los nombres.

TIPOS DE NOMBRES

Hay tres enfoques principales para los esquemas de nominación, el enfoque

más sencillo consiste en que los archivos se nombran con una combinación del

nombre de su anfitrión 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 Microsystems, ofrece una

forma de unir directorios remotos a directorios locales, lo que da la apariencia a

un árbol de directorios monolítico. El tercer enfoque utiliza la noción de que

cualquier directorio se puede unir a cualquier árbol de direcciones locales con

la jerarquía resultante que puede estar poco estructurada.

Hay que tener presente que la complejidad semántica de la estructura puede

balancearse hacia sistemas de nombres menos compactos pero más largos. Al

final hay que gastar ese recurso informático en espacio de almacenamiento o

tiempo de procesamiento (un algoritmo). La elección de un enfoque u otro nos

llevará igual a un esquema conceptual de nominación, por ejemplo usar

nombres de animales para los servidores. Ya que se busca evitar en lo posible

la ambigüedad, es deseable que ningún objeto tenga el mismo nombre que otro

objeto, sin importar que sean idénticos, deben ser inconfundibles. Las

primitivas de acceso a los servicios no se compilan y por lo tanto queda a las

Page 8: Comunicacion en Los Sistemas o

capas de aplicación procesarlas (refinarlas o prepararlas) si esto es necesario,

por ejemplo para evitar fallas por errores.

Los nombres de ciertos recursos pueden ser absolutos o relativos dependiendo

de la importancia del domicilio de su ubicación, es una cuestión de rol, ya que

un nombré relativo cumple un rol definido en su contexto (root, anonymous,

invitado); mientras que un nombre absoluto no requiere necesariamente de

ello. Otro mecanismo de optimización es que los nombres pueden tener alias,

los cuales son otros nombres más compactos que se usan en contextos

específicos para hacer referencia al mismo objeto de forma más económica lo

que permite usar encabezados más pequeños en los mensajes relativos a los

recursos. 

Algunas consideraciones generales para el uso de nombres son las siguientes:

a) Los identificadores se utilizan para una variedad amplia de propósitos, tales

como: referencia, localización,  programación, manejo de recurso, control de

errores, sincronización, protección, y compartición de recursos.

b) Los identificadores (nombres; Nombres del usuario y de sistema, y puertos;

direcciones; y las rutas) existen en diversas formas en todos los niveles de la

arquitectura de un SD.

c) Los identificadores aparecen en diversas formas (convenientes para la gente

o las computadoras). Algunos son únicos dentro de un contexto global para el

sistema entero (Internet), otros son únicos solamente dentro de un contexto

local (red sencilla).

d) Los nombres pueden referir el objeto directa o indirectamente: 

 por un nombre o una dirección explícita

 por la fuente

 por el identificador del grupo

 por la ruta de acceso

RESOLUCIÓN Y DISTRIBUCIÓN.

Page 9: Comunicacion en Los Sistemas o

La resolución es el proceso de convertir un nombre hacia la ubicación real del

recurso, como mencionamos antes, esto nos obliga crear una tabla  de

asociaciones de nombres lógicos con los recursos físicos. Aunque es un

trabajo simple, vale la pena considerarlo seriamente desde un punto de vista de

la cardinalidad; la cual surge de la necesidad de comunicar a cualquier recurso

con todos los demás. 

Aunque el mecanismo es bastante sencillo, los S.O.D. requieren que en todo

momento el acceso a un recurso se controle y/o documente; por lo que en toda

transacción se registra el objeto y/o el usuario que accede al recurso

transparente. Esto funciona de manera natural en los servidores HTTP o en

sistemas UINIX, pero en un ambiente distribuido no existe de manera explícita

un control de transacciones ya que éstas están dispersas. 

La distribución es el procedimiento por el cual un nombre puede difundirse a

través de todo el sistema y ser reconocido por cualquier entidad en cualquier

momento. El Sistema DNS hay una formación de servidores que corresponden

en jerarquía a los prefijos (.net, .org, .com, etc.) y que tienen como maestros a

los servidores del último prefijo (el que determina el país), son estos servidores

maestros los encargados de la distribución de nombres, pues cuando un

recurso no existe en un dominio menor, ellos se encargan de buscarlo. La

distribución puede ser es un proceso dinámico en aquellas aplicaciones cuyo

número de recursos sea tan grande que requiera parametrizarlos, o puede ser

necesaria si la aplicación distribuida contiene un catálogo de recursos

aplicaciones sujetos a disponibilidad.

AGENTES Y SERVIDORES DE NOMBRES.

En la actualidad, la ICANN está formalmente organizada como una corporación

sin fines de lucro y de utilidad pública. Está administrada por una Junta de

Directores, que está compuesta por seis representantes de las organizaciones

de apoyo, sub-grupos que se ocupan de las secciones específicas de las

políticas de ICANN en virtud de la competencia, ocho representantes

independientes del interés público general, seleccionados a través de un

Page 10: Comunicacion en Los Sistemas o

Comité de Nominaciones que representa a todas las circunscripciones de la

ICANN, y el Presidente y Director Ejecutivo, nombrado por el resto de la Junta.

En la actualidad hay tres organizaciones de apoyo: la GNSO (Generic Names

Supporting Organization) se ocupa de la formulación de políticas sobre

dominios genéricos de nivel superior, ccNSO (Country Code Names Supporting

Organization) se ocupa de la elaboración de políticas relativas a códigos de

países en dominios de nivel superior, la ASO (Address Supporting

Organization) se ocupa de la formulación de políticas en direcciones IP.

ICANN también se basa en algunos comités consultivos para recibir

asesoramiento sobre los intereses y necesidades de los interesados que no

participen directamente en las organizaciones de apoyo. Entre ellos figuran el

Comité Asesor Gubernamental (GAC), que está integrado por representantes

de un gran número de gobiernos nacionales de todo el mundo; el ALAC (At-

Large Advisory Comité), que está integrado por representantes de

organizaciones de los distintos usuarios de Internet de todo el mundo; el

sistema DNS y TLG (Technical Liaison Group) compuesto por representantes

de otras organizaciones técnicas internacionales de Internet.

2.4. Comunicación de procesos a través del paso de mensajes.

Los procesos de un S.O. pueden comunicarse entre sí al compartir espacios de

memoria, ya sean variables compartidas o buffers, o a través de las

herramientas provistas por las rutinas de Comunicación Interprocesos. 

Para comunicar procesos en un ambiente distribuido, además del uso de un

sistema de nombres de recursos, se necesita un esquema de comunicación

lógico que dé sentido a estas transacciones. El sistema operativo provee

mínimamente dos primitivas, enviar y recibir, normalmente

llamadas send y receive, pero tendrá que implementar un enlace de

comunicación entre los procesos. Este enlace puede ser unidireccional o

multidireccional según permita la comunicación en solo uno o en varios

sentidos, y dependiendo de la forma en que se dispara la comunicación.

Page 11: Comunicacion en Los Sistemas o

Comunicación Síncrona.

Quien envía permanece bloqueado esperando a que llegue una respuesta del

receptor antes de realizar cualquier otro ejercicio.

Comunicación Asíncrona.

Quien envía continúa con su ejecución inmediatamente después de enviar el

mensaje al receptor.

Comunicación Persistente.

El receptor no tiene que estar operativo al mismo tiempo que se realiza la

comunicación, el mensaje se almacena tanto tiempo como sea necesario para

poder ser entregado.

Comunicación Transitoria.

El mensaje se descarta si el receptor no está operativo al tiempo que se realiza

la comunicación. Por lo tanto no será entregado.

Comunicación Directa.

 Los primitivos enviar y recibir  usan directamente el nombre del proceso con el

que se comunican. Por ejemplo:

enviar (mensaje, A) envía un mensaje al proceso A. Obsérvese que la primitiva

sólo debe especificar cuál va a ser ser el proceso Destino, ya que el proceso

fuente viene direccionado en la comunicación.

Las operaciones básicas Send y Receive se definen de la siguiente manera:

Send (P, mensaje); envía un mensaje al proceso P. Receive (Q, mensaje);

espera la recepción de un mensaje por parte del proceso Q.

Comunicación Indirecta.

Es aquella donde la comunicación está basada en un Gateway, enrutador,

puente o switch, ya que el emisor y el receptor están a distancia.

Comunicación Simétrica. 

Page 12: Comunicacion en Los Sistemas o

Todos los procesos pueden enviar o recibir. También establece una llamada

bidireccional para el caso de dos procesos.

Comunicación Asimétrica.

Un proceso puede enviar, los demás procesos solo reciben. También llamada

unidireccional o no interactiva. Es el esquema típico de algunos servidores de

Internet.

Comunicación con uso de buffers automático.

El transmisor se bloquea hasta que el receptor recibe el mensaje completo,

pero éste tiene capacidad para recibirlo aunque no esté listo para procesarlo.

La comunicación y sincronización en S.O.D. es más compleja y se establece en

canales lentos y menos confiables que los buses internos de una computadora,

lo que incorpora problemas como la pérdida de mensajes, la llegada de

datagramas desordenados, la heterogeneidad de los nodos  y su diferente

rendimiento, etc.

La forma natural de comunicar y sincronizar procesos en los sistemas

distribuidos es mediante paso de

mensajes; los procesos intercambian mensajes mediante las primitivas que

además establecen una extensión de los semáforos en la que se transmite más

información en un contexto sincronizado. 

Una de las ventajas de emplear mecanismos de comunicación y sincronización

basados en paso de mensaje 

es la portabilidad de las soluciones programadas para diferentes arquitecturas

de computadoras, incluidos los sistemas con memoria compartida, otra ventaja

es que no existe el problema del acceso en exclusión mutua a datos

compartidos, ya que no hay contienda por el acceso al recurso, sino un fila en

espera. 

Un sistema operativo o lenguaje de programación podría ofrecer herramientas,

algunas basadas en memoria compartida y otras basadas en la comunicación

mediante pasó de mensajes, por lo que podríamos llegar a tener un mismo

proceso o hilo que empleara las dos posibilidades. Los siguientes son aspectos

Page 13: Comunicacion en Los Sistemas o

relevantes en el diseño de los sistemas de paso de mensajes:

1. Identificación en el proceso de comunicación. 

2. Sincronización.

3. Características del canal (capacidad, flujo de datos, etc.).