Documente Academic
Documente Profesional
Documente Cultură
ALUMNO
ING. DE SISTEMAS E
CICLO:
[SISTEMAS DISTRIBUIDOS]
Preguntas dejadas en clase
SISTEMAS DISTRIBUIDOS
sincronizacin, es necesaria la presencia de grupos de bits de comienzo y de final del bloque de datos, adems de ciertos bits de correccin de errores y de control. A todo el conjunto de bits y datos se le llama trama
4.- Defina la primitiva de sockets para TCP/IP y como funciona cada una de ellas
Llamada SOCKET - Primitiva que crea un socket con el fin de utilizar los servicios de un determinado protocolo de una familia de protocolos residente en el host. Caractersticas de la llamada SOCKET - La primitiva socket devuelve un entero positivo que corresponde al descriptor del socket creado. - En caso de error, devuelve -1 y en la variable global errno se describe el tipo de error (comn a todas las llamadas del interfaz). - El descriptor de socket que devuelve esta llamada, se utilizar cuando queramos hacer una operacin sobre l (enviar datos, establecer conexin TCP, etc.) distinguindolo de otros sockets. Llamada BIND - Asigna una direccin local (direccin IP y puerto local) a un socket recin creado (llamada SOCKET).
- Antes de utilizar un socket, SIEMPRE tendremos que asignarle una direccin que lo identifique. Caractersticas de la llamada BIND - La llamada BIND es utilizada principalmente por los servidores, los cuales necesitan especificar un puerto bien-conocido. - Los clientes pueden especificar uno, aunque normalmente relegan la eleccin del puerto al sistema (BIND, port=0). Llamada CONNECT - Permite a un cliente especificar la direccin de un punto extremo remoto de un servidor para un socket local previamente creado. - Los clientes la utilizan para establecer una conexin (asociacin) con un servidor. - Devuelve un entero indicando el resultado de la operacin: -1: Error en la conexin (errno).0: Conexin establecida Conexin o Asociacin {Protocolo, IP local, Puerto local, IP remota, Puerto remoto} Caractersticas de la llamada CONNECT - Realiza internamente un BIND del socket. - Obligatoria para clientes TCP. - Si el socket utiliza TCP, CONNECT utiliza el protocolo a tres bandas para establecer una conexin entre cliente y servidor. - Si el socket utiliza UDP, CONNECT establece una asociacin entre el cliente y el servidor: - Especifica la direccin del punto extremo remoto pero no transfiere ningn datagrama a l (de establecimiento de conexin). - Tras el CONNECT, se pueden enviar los datos sin identificar el destino (asociacin establecida). - Slo se aceptarn datagramas de la direccin indicada en la asociacin. Llamada LISTEN - Es utilizada por lo servidores. Pasa el socket a modo pasivo, dispuesto a encolar peticiones de conexin. - Se suele usar despues de SOCKET y BIND, y justo antes de ACCEPT (servidores). - Slo se aplica para sockets de tipo SOCK_STREAM (TCP). Llamada ACCEPT - Espera la llegada de una peticin de conexin sobre el socket pasivo previamente inicializado y acepta su conexin. - Slo para servidores TCP. - Se usa tras SOCKET, BIND y LISTEN. Caractersticas de la llamada ACCEPT - Cuando se invoca, bloquea el programa hasta que llegue una peticin de conexin sobre el socket. - Si se tienen peticiones encoladas (LISTEN) intenta establecer una conexin con la primera. - El socket que se pasa como argumento (socket maestro) no tiene definida una asociacin, mientras que el nuevo socket que devuelve ACCEPT si que tiene definida la asociacin entre ambos procesos: Llamadas RECVFROM y SENDTO - Se utilizan sobre sockets no conectados (UDP). Es necesario especificar la direccin del otro extremo. Llamada CLOSE - Elimina un socket.
- Si el socket es de tipo SOCK_STREAM, se insta a TCP para iniciar el cierre de conexin. Si todava quedan datos por enviar en los buffers, TCP trata de enviarlos antes de iniciar el cierre. - En cualquier caso, elimina el socket y todos los recursos asociados: buffers, puerto asignado, etc. Llamada SHUTDOWN - Slo para sockets de tipo SOCK_STREAM. - Realiza un cierre de conexin ms detallado: En un determinado sentido en ambos. - No elimina el socket
Los codificadores
Segn Lpez en [5] los cdigos intuitivamente indican el enmascaramiento de la informacin a travs de otras palabras que generalmente son ms cortas y que se corresponden unvocamente con la informacin que representan. El proceso a travs del cual se establece una relacin de uno a uno entre conjuntos de palabras de dos alfabetos se conoce como codificacin. La definicin de Mestre [6] es la siguiente: Operacin mediante la que datos expresados en un determinado sistema convencional de representacin son convertidos en otro sistema diferente de representacin, de tal forma que es posible volverlos a expresar en su primitivo sistema de representacin. Gravilov en [2] da una definicin algebraica de codificacin: Sean A y B dos alfabetos finitos y R algn conjunto de palabras finitas en el alfabeto A. La aplicacin unvoca del conjunto R en algn conjunto de palabras en el alfabeto B se llama codificacin del conjunto R. A la imagen C del conjunto R para la aplicacin , se le llama cdigo del conjunto R. A las palabras de C, se les llama palabra de cdigo. El motivo fundamental que dio origen a los dos codificadores lo constituye el ahorro de memoria en los ficheros de la Base de Datos y la homogeneidad de la informacin. El primer punto es hoy una anacrona, residuo de los tiempos en que la memoria operativa diseada de ferrita y los dispositivos de almacenamiento permanente eran muy caros y las CPU muy lentas. Los diseadores tenan que utilizar cdigos para todo con el objetivo de reducir al mximo los volmenes de almacenamiento y la informacin a procesar. La justificacin econmica de utilizar cdigos desapareci hace aos, pero los diseadores continan utilizando cdigos. Alternativa a los codificadores: la lista de valores. Una alternativa al uso de los codificadores es el empleo de listas de valores en lenguaje natural. Se almacena en la Base de Datos un conjunto de valores predeterminados, pero que no tienen asociado un segundo alfabeto o sistema de representacin.
Con esta variante se requieren acoples entre las tablas de codificadores que guardan las descripciones en lenguaje natural y las tablas de datos donde se guardan los cdigos.
tienen una lista de hebras que estn suspendidas a la espera de la llamada a notify() en ese objeto. El mtodo notify() solo despierta a una de las hebras suspendidas, y, como con los cerrojos, la mquina virtual no obliga a la existencia de una planificacin, por lo que cada implementacin tiene libertad para decidir a cual despertar. Si se llama a notify() y no hay ninguna hebra suspendida esperando, la llamada no hace nada. Mtodos de sealizacin En realidad, el mtodo wait() tiene varios hermanos, y el mtodo notify() tambin. Todos ellos son finales: wait(long milis): espera hasta una notificacin, o hasta que pasen <milis> milisegundos. Si el parmetro es 0, la espera es infinita. wait(long tiempo, int nanos): igual que la anterior, pero con precisin de nanosegundos. wait(): igual que wait(0). Es la explicada anteriormente. notify(): despierta a una hebra de las que estn esperando. notifyAll(): despierta a todas las hebras que estn esperando.
Los documentos XML deben ser fciles de crear. La brevedad en las marcas XML es de mnima importancia.