PDF de programación - Tesis: Roberto Cardenas - IMPLEMENTACION DEL LENGUAJE POLUX PARA COMPUTACION DISTRIBUIDA

Imágen de pdf Tesis: Roberto Cardenas - IMPLEMENTACION DEL LENGUAJE POLUX PARA COMPUTACION DISTRIBUIDA

Tesis: Roberto Cardenas - IMPLEMENTACION DEL LENGUAJE POLUX PARA COMPUTACION DISTRIBUIDAgráfica de visualizaciones

Actualizado el 12 de Septiembre del 2020 (Publicado el 14 de Enero del 2017)
663 visualizaciones desde el 14 de Enero del 2017
1,2 MB
101 paginas
Creado hace 11a (25/04/2013)
CENTRO DE INVESTIGACION Y DE ESTUDIOS AVANZADOS

DEL

INSTITUTO POLITECNICO NACIONAL

DEPARTAMENTO DE INGENIERIA ELECTRICA

SECCION DE COMPUTACION

"IMPLEMENTACION DEL LENGUAJE POLUX PARA COMPUTACION DISTRIBUIDA"

Tesis que presenta el Ing. Roberto Félix Cárdenas para obtener el
grado de MAESTRO EN CIENCIAS en la especialidad de INGENIERIA
ELECTRICA con opción en COMPUTACION.

Director; DR. JAN JANECEK HYAN

Becario de CONACYT

Mexico, D. F. , Junio de 1990

Mis mas profundos agradecimientos a las siguientes
instituciones por su ayuda brindada:

A la Sección de Computación del Departamento de
Ingeniería Eléctrica del CENTRO DE INVESTIGACION Y DE
ESTUDIOS AVANZADOS DEL IPN y en forma particular al
Dr JAN JANECEK HYAN por su paciencia y consejos en la
dirección de este trabajo.

Al CONSEJO NACIONAL DE CIENCIA Y TECNOLOGIA por su
apoyo economico.

A la UNIVERSIDAD AUTONOMA DE SINALOA y en particular a
la Escuela de Ingeniería unidad Los Mochis, por su
apoyo.

C O N T E N I D O

RESUMEN

1

INTRODUCCION

1.1 PROGRAMACION Y SISTEMAS DISTRIBUIDOS
1.2 EL MODELO CLIENTE-SERVIDOR
1.3 EL MODELO LLAMADA A PROCEDIMIENTO REMOTO CRPO

2

EL LEN G U A JE POLUX

2.1 INTRODUCCION
2.2 ORIGENES Y BASES
2.3 CONSTRUCCIONES SINTACTICAS Y SEMANTICAS

PARA PROCESOS DISTRIBUIDOS

2.4 UN EJEMPLO

3

REMOTE PROCEDURE CALL (S T U B S )

3.1 INTRODUCCION
3.2 FUNCION DEL STUBS EN EL SISTEMA
3.3 ORGANIZACION DEL STUBS
3.4 PAQUETES CSERVICIOS}
3.5 IMPLEMENTACION

3.5.1 Tabla de procesos
3.5.2 Medios ambientes de los procesos
3.5.3 Variables compartidas
3.5.4 Variables globales
3.5.5 Constantes CSHARE CONST3
3.5.6 Procedimientos Remotos
3.6 TIEMPO DE EJECUCION CRUNTIME}

1

3

4
5
6

9

9
9

10
15

20

20
20
21
23
29
29
30
31
35
37
37
38

4-

EL COMPILADOR

4.1 INTRODUCCION
4.2 TABLAS

4.2.1 De idenlificadores
4.2.2 De bloques
4.2.3 De arreglos
4. 2. 4 De agentes

4.3 CODIGO INTERMEDIO CP-CODED

4.3.1 Descripción de los P-Code

4.4 CODIGO OBJETO

5

LA RED (N ETW OR K )

5.1 INTRODUCCION
5.2 CARACTERISTICAS FISICAS CPHISICAL LAYER3
5.3 ESTRUCTURA Y TOPOLOGIA
5.4 SERVICIOS CPAQUETES)
5. 5 PROTOCOLO

A

DIAGRAMAS SINTACTICOS

B

EJEM PLOS

BIBLIOGRAFIA

41

41
42
42
44
45
46
46
47
56

62

62
62
63
64
66

68

76

88

Resuman

R E S U M E N

El presente trabajo describe la implementación de primitivas
de llamadas a procedimientos remotos CRPCD para POLUX, lenguaje
orientado hacia la computación distribuida. Asi mismo una
descripción de un compilador para dicho lenguaje.

El primer capítulo contiene una breve introducción a la
programación distribuida, asi mismo habla un poco sobre el modelo
cliente-servidor, pasando a continuación a un mecanismo de
llamadas a procedimientos remotos. En este mismo capítulo se
introducen algunos términos usados en el desarrollo del trabajo.

El segundo capítulo contiene principalmente una descripción
de aquellas construcciones sintácticas orientadas a los procesos
distribuidos del lenguaje Polux, Junto con los cuales se enumeran
algunas acciones semánticas de cada construcción. También se hace
el estudios de un ejemplo típico de un productor y varios
consumí dores.

El Capítulo tres trata sobre los mecanismos de llamadas a
procedimientos remotos Cen ingles conocidos como remóte procecfrure
cctlL ó RPC5. describiendo cada uno de los mensajes utilizados por
este nivel, asi mismo lo referente a la función y organización
del controlador de comunicación de procesos. De la misma forma se
decriben los detalles de implementación del sistema.

A continuación en el capítulo cuatro, se mensionan algunos
aspectos del compilador, como son, la descripción de las
principales tablas usadas, una definición de los codigos
intermedios generados por la parte frontal del compilador
CP-Code}. asi mismo se describen algnos detalles de la generación
del codigo objeto Cpara el 8086 de Intel}.

1

Resumen

En el capítulo cinco se decribe en forma breve la estructura
y funcionamiento de la red usada para la comunicación entre
maqui ñas.

El apendice A contiene las cartas sintácticas de lenguaje

Polux.

Se tiene también un apendice B, el cual incluye algunos
ejemplos usando el lenjuage Polux, Junto con los cuales para
varios de ellos, se tienen algunos comentarios útiles para su
comprensión, asi mismo se muestran las tablas genaradas por el
compilador.

Finalmente se tiene una lista de bibliografía que pueden

servir de referencia al presente trabajo.

2

Introducción1

INTRODUCCION

Antes de entrar en detalles del presente trabajo, definamos

algunos términos usados en los diferentes capítulos:

PROCESO - usado para describir un programa en ejecución, al cual
están asociados: un código ejecutable que puede accesar, una
pila donde opera sus datos, un descriptor de procesos, etc.

PILA - conocida también como medio ambiente de ejecución, que
define básicamente una área de memoria donde se ejecuta un
proceso, en la cual residen sus parámetros y variables
locales, y donde se almacenan resultados parciales que el
programa genera.

DESCRIPTOR DE PROCESOS - contiene toda la información relativa a
un proceso, como son apuntadores a su código y su pila,
áreas para almecenar los registros del procesador, etc.

AGENTE - termino usado para identificar un bloque agent definido
en el lenguaje Polux, el cual contiene un código, una
interface que lo relaciona con otros agentes, en cuanto a
sus variables y procedimientos. De un agente pueden ser

3

Introducción

creados varios procesos.

TRAMA - denominado al conjunto de información que viaja por la

red, y que son dirigidos de estaciones a estaciones.

MENSAJE - usado por el stubs del sistema, los cuales son
generados por los procesos y van dirigidos a otros procesos,
estos mensajes generados por un proceso, pasan al stubs,
para que éste los transforme en tramas que se pondrán en la
red. Asi mismo el stubs recibe tramas de la red y forma los
mensajes dirigidos a alguno de sus procesos.

STUBS - conjunto de procedimientos que controla la comunicación
de mensajes entre procesos, asi como el control de la
ejecución de los procesos. Sirbe como mediador entre el
programa
transporte,
recibiendo y mandando mensajes del primero y tramas del
segundo.

de aplicación y la entidad de

ENTIDAD DE TRANSPORTE - es la encargada de recibir tramas del
stubs y ponerlas en la red para la estación destino, y de
manera inversa recoger las tramas destinadas a su estación y
darselas al stubs.

1.1. PROGRAMACION V SISTEMAS DISTRIBUIDOS

En un sistema distribuido se considera que se tiene mas de
un proceso corriendo de manera simultanea, los cuales pueden
encontrarse en máquinas distintas. El conjunto de estos procesos
forman un sistema distribuido, por lo que posiblemente todos
tengan algo en común, como pueden ser áreas de variables
compartidas, recursos periféricos únicos que todos y cada uno
usan en su momento, un mismo código, etc.

Para obtener una cooperación entre todos los procesos
existentes, es necesario la conctrucción de mecanismos de

Iniroducción

coordinación, los cuales permitan que por ejemplo, un proceso
haga uso de una variable de algún otro proceso, o bién que
cualquier proceso pueda ejecutar algún procedimiento contenido en
un proceso distinto.

En tal sistema distribuido se debe pensar una justa
distribución de recursos, para que todos los procesos puedan
correr adecuadamente, y entre los recursos mas importantes
podemos encontrar el tiempo de procesador asignado a cada proceso
Csobre todo si estos procesos corren en la misma máquina}, por lo
cual es de suma importancia contar con construcciones sintácticas
y/o semánticas en el lenguaje de programación para que todos los
procesos puedan correr el tiempo requerido por cada uno de ellos.

Un lenguaje orientado a los procesos distribuidos debe
contener construcciones sintácticas, tales que hagan transparente
al usuario todo el control distribuido, esto es, que el usuario
solo se preocupe por la designación de la estación en la que
deberá correr cada proceso, o bien decidir cuales serán los
procedimiento que serán usados por otros procesos en sus llamadas
remotas.

1.2. EL MODELO CLIENTE-SERVIDOR

En un modelo cliente-servidor se tienen dos procesos
Cposiblemente en diferentes máquinas}, uno conocido como cliente
y el otro denominado servidor. El servidor contiene una serie de
servicios y/o tareas, las cuales puede ofrecer al proceso
cliente. Para que éste pueda hacer uso de dichos servicios, la
cooperación entre un par cliente-servidor se puede describir asi.
El cliente hace una solicitud al servidor de alguno de los
servicios que éste ofrece, y el cliente se dedica a cumplir esta
solicitud recibida, mientras tanto el cliente espera bloqueado, y
una vez que termina el proceso de dicha solicitud, el servidor
envia de regreso la respuesta para que el cliente pueda continuar
con su proceso normal, como puede apreciarse en la siguiente
figura.

Introducción

Fig donde el cliente envia una solicitud y espera por la
respuesta del servidor.

Es importante aclarar que cuando el cliente envia la
solicitud de servicio, éste detiene su ejecución hasta que recibe
la respuesta por parte del ser
  • Links de descarga
http://lwp-l.com/pdf1177

Comentarios de: Tesis: Roberto Cardenas - IMPLEMENTACION DEL LENGUAJE POLUX PARA COMPUTACION DISTRIBUIDA (0)


No hay comentarios
 

Comentar...

Nombre
Correo (no se visualiza en la web)
Valoración
Comentarios...
CerrarCerrar
CerrarCerrar
Cerrar

Tienes que ser un usuario registrado para poder insertar imágenes, archivos y/o videos.

Puedes registrarte o validarte desde aquí.

Codigo
Negrita
Subrayado
Tachado
Cursiva
Insertar enlace
Imagen externa
Emoticon
Tabular
Centrar
Titulo
Linea
Disminuir
Aumentar
Vista preliminar
sonreir
dientes
lengua
guiño
enfadado
confundido
llorar
avergonzado
sorprendido
triste
sol
estrella
jarra
camara
taza de cafe
email
beso
bombilla
amor
mal
bien
Es necesario revisar y aceptar las políticas de privacidad