Beruflich Dokumente
Kultur Dokumente
Software dbilmente acoplado en hardware dbilmente acoplado Ejemplo: estaciones de trabajo conectadas mediante una LAN Cada usuario tiene su propia estacin de trabajo Tiene su propio S.O.
con otra estacin Manera primitiva de hacerlo Solucin: proporcionar un sistema de archivos global, compartido, accesible desde todas las estaciones de trabajo. Servidores de archivos. acepta solicitudes de lectura y escritura de otras mquinas(clientes)
distinto del servidor de archivos El S.O. debe controlar las estaciones de trabajo en lo individual, a los servidores de archivo y encargarse de comunicacin entre ellos. No necesariamente tienen el mismo S.O.
S.O.D. Software fuertemente acoplado en hardware dbilmente acoplado (en multicomputadoras) Parecer que toda la red es un sistema de tiempo compartido (imagen de nico sistema). Es aquel que se ejecuta en una coleccin de mquinas enlazadas mediante una red actan como un uniprocesador virtual. Ninguno actualmente cumple con ese requisito
Cualquier proceso se puede comunicar con otros local o remoto. Esquema global de proteccin. Acceso a listas de control Misma administracin de procesos. (crean, destruyen, inician o detienen los procesos) La apariencia del sistema de archivos debe ser la misma en todas partes . (por ejemplo, si el nombre del archivo es limitado a 11 caracteres)
(sujeto a restricciones de proteccin y seguridad) Se necesita un sistema global de archivos. (todos los ncleos deben cooperar en la bsqueda del mejor lugar para ejecutar un proceso). Cada ncleo debe tener control sobre sus propios recursos. (memoria)
coleccin de mquinas es tan solo un sistema compartido de un procesador. DE LOCALIZACION.(no ubican recursos) DE MIGRACION. (r. se mueven sin cambiar su nombre) DE REPLICA. (no indican el numero de copias existentes) DE CONCURRENCIA. (varios usuarios comparten recursos) DE PARALELISMO. (las actividades en paralelo sin saberlo los usuarios)
Ncleo monoltico. Cada mquina debe ejecutar un ncleo que proporcione la mayora de los servicios. S.O. bsico centralizado, aumentado con capacidades de red y la integracin de servicios remotos. (UNIX). microncleo. Debe soportar lo menos posible y que el servicio de s.o. se obtenga a partir de los servidores . (solo proporciona cuatro servicios) 1. Mecanismo de comunicacin entre procesos 2. Administracin de la memoria 3. Cantidad limitada de planificacin y administracin de procesos de bajo nivel. 4. Entrada/salida de bajo nivel
(nmero de trabajos por hora), uso del sistema y cantidad consuma de la capacidad de la red. La comunicacin en un SOD es lenta (minimizar el nmero de mensajes) La mejora es tener muchas actividades en ejecucin paralela en distintos procesadores. Paralelismo de grano fino. Gran nmero de pequeos clculos. Comunicacin lenta. Paralelismo de grano grueso. grandes clculos y baja interaccin.
2.1. Comunicacin
Cuando un proceso A quiere comunicarse con el proceso B, construye primero un mensaje en su propio espacio de direcciones. Entonces ejecuta una llamada al sistema para que el sistema operativo busque el mensaje y lo enve a travs de la red hacia B. A y B deben coincidir en los significados de los bits que enven.
Modelo OSI
Desarrollado por la organizacin internacional de
estndares (ISO). OSI (modelo de referencia para interconexin de sistemas abiertos). Permite la comunicacin de los sistemas abiertos. Sistema abierto. Es aquel preparado para comunicarse con cualquier otro sistema abierto mediante estndares que gobiernan el formato, contenido y significado de los mensajes enviados y recibidos (protocolos).
protocolos
Orientados a hacia la conexin. Antes de intercambiar los datos el emisor y el receptor establecen primero en forma explicita una conexin y es probable que negocien el protocolo a utilizar (telfono).
Sin conexin. No es necesaria una conexin previa. Simplemente el emisor transmite el primer mensaje cuando este listo (buzn).
grupo de procesos en cooperacin, llamados servidores, que ofrezcan servicios a los usuarios, llamados clientes. Las mquinas de los clientes y servidores ejecutan por lo general el mismo micronucleo y ambos se ejecutan como procesos del usuario.
Para evitar
un gasto excesivo en los protocolos orientados a conexin, lo usual es que el modelo cliente-servidor se base en un protocolo solicitud/respuesta sencillo y sin conexin.
Solicitud
cliente respuesta
Ncleo RED
servidor
Ncleo
algunas complicaciones. Como los procedimientos se encuentran en maquinas diferentes, utilizan espacio de direcciones distintos. Se pueden complicar la transmisin de parmetros y resultados si las maquinas no son idnticas. Se pueden descomponer ambas maquinas y cada una de las posibles fallas puede ser la causa de diversos problemas.
El paso de parmetros
La funcin del cabo cliente es empaquetar los parmetros en un mensaje y enviarlo al cabo servidor. Este examina el cdigo del procedimiento en una sentencia tipo switch e invoca el procedimiento de forma local. El resultado es de nuevo empaquetado en un mensaje y enviado al cabo cliente. Esta interaccin, que parece directa, no es tan simple como aparenta ser. Mientras las arquitecturas del cliente y del servidor sean iguales no se presenta ningn problema especial
Una forma de solucionar todos estos problemas de representacin es convertir los datos a una forma cannica antes de ser enviados a la red. Cuando los parmetros llegan a su destino, por ejemplo, es preciso reconvertir el formato cannico al de la arquitectura del servidor. El problema de este mtodo es que es ineficiente en interacciones entre mquinas de igual arquitectura, de modo que otra aproximacin al problema es incorporar en el mensaje un primer byte que identifique la arquitectura del emisor. Si es la misma que la del receptor, no es necesaria conversin alguna.
El problema ms difcil de tratar en las llamadas a procedimiento remoto es el paso de punteros, ya que estos slo tienen sentido en un espacio de direccionamiento dado. Un entero pasado a una rutina de servicio tiene un significado pleno, pero un puntero es simplemente una referencia intil. No obstante, el paso de punteros en las aplicaciones de usuario es tan comn que el prescindir de ellos en las llamadas a rutinas remotas hara perder al concepto de RPC gran parte de su atractivo. Afortunadamente, el problema puede abordarse. En el lenguaje C, por ejemplo, estn disponibles dos formas de pasar parmetros.
Un mecanismo adicional de paso de parmetros es denominado de copia-restauracin. Consiste en realizar una copia del parmetro en la pila. Si esta copia parmetro es modificada en el procedimiento, se restaura su nuevo valor a la variable original.
Especificacin de interface
El servidor RPC puede ser considerado como un mdulo u objeto que implementa unas operaciones sobre datos ocultos. El servidor de a conocer estas operaciones a los clientes mediante lo que se denomina su interface, constituida por las declaraciones de los mtodos que soporta. El objetivo del mecanismo RPC es lograr que un programa tenga acceso a los servicios de uno de estos mdulos, aunque residan en otro espacio de direccionamiento, posiblemente remoto
Por brillante que sea la idea de la interaccin clienteservidor a travs de RPC, si el programador debe encarar la construccin de los cabos, el progreso de los sistemas distribuidos se ver comprometido por la falta de uso en la prctica. Es preciso que la generacin de cabos en el cliente y el servidor se realice de forma automtica. Pues bien, la interfaz del servidor se utiliza como la base de esta generacin automtica de cabos.
Enlace dinmico
No es conveniente que un servicio est ligado a una mquina. A veces las mquinas no estn operativas, de modo que los servicios se mueven a otra mquina. El cliente est interesado en el servicio, no en qu mquina ejecuta el servidor. Para solicitar un servicio, un cliente podra enviar un mensaje en una sentencia como la siguiente: send(33.33.33.33@20, &mens); En el cdigo fuente que implementa la llamada RPC. Esta solucin es inflexible, puesto que, si dentro de la mquina 33.33.33.33 el servidor pasa a escuchar en otro puerto distinto del 20, el cliente debe ser recompilado. Lo mismo ocurre si el servidor cambia de mquina.
En la especificacin formal del servidor intervienen el nombre del servidor y su nmero de versin. Ambos datos identifican un servidor. Un servidor con el mismo nombre y la misma versin, no obstante, pueden estar replicados en dos o ms mquinas a fin de mejorar el servicio o proporcionar tolerancia a fallos. El cliente debe solicitar un servicio invocando su nombre y versin, sin citar direccin alguna. El nmero de versin es conveniente a fin de que un servidor que evoluciona conserve su nombre. Un servidor puede evolucionar ofertando nuevos servicios, cancelando otros y modificando otros. A pesar de esta evolucin, es preciso que clientes antiguos, desconocedores de los cambios, sigan obteniendo el mismo tipo de servicio. Es preciso comprender, no obstante, que un servidor con el mismo nombre pero con nmero de versin distinto es un servidor diferente.
Las ventajas de identificar al servidor por su nombre son evidentes, pero, cmo el cliente localiza al servidor? Quin le proporciona su direccin? Este es un problema al que algunos sistemas RPC, entre ellos Sun RPC, dan respuesta mediante lo que se llama el enlace dinmico, que no es sino averiguar la direccin del servidor en tiempo de ejecucin. El enlace dinmico est basado en un tercer proceso denominado el enlazador. Cuando el servidor arranca, en su cdigo de inicializacin previo al bucle principal, enva un mensaje al enlazador a fin de registrarse como un proceso que presta un servicio. El enlazador es, al fin y al cabo, un registrador de servicios, un servidor de nombres. El servidor entrega su nombre, su nmero de versin y su direccin. Se dice que el servidor exporta su interfaz.
considerar varias cuestiones. Una de ellas es el un protocolo orientado a conexin es que la comunicacin es mucho ms fcil de implementar. Se enva un mensaje y tenemos la seguridad plena de que ha llegado a su destino. Una segunda cuestin a ponderar es el uso de un protocolo de comunicacin de propsito general o bien disear un protocolo especfico que se adapte mejor al paradigma RPC. Una tercera cuestin a considerar en el diseo del software RPC es la longitud permitida de los mensajes RPC.
Copias
La copia de datos entre espacios de direccionamiento es el cuello de botella en las prestaciones de un software RPC. En el mejor de los casos, cuando un mensaje llega al adaptador de red, este puede copiarlo a un buffer del driver del adaptador en el kernel. El kernel lo copia a continuacin al espacio del proceso de usuario en una estructura de datos del cabo.
Problemas abiertos
Una de las metas de una llamada RPC es que sea completamente transparente al programador. La total transparencia de RPC supone: La distribucin de la aplicacin o el sistema operativo no puede conllevar la prohibicin de ciertas construcciones en las llamadas a procedimiento remoto que son legales en las llamadas a procedimiento local. Tampoco debe requerir de construcciones que antes eran opcionales.
La implementacin de grupos depende mucho del hardware de comunicacin disponible. En algunas redes, como ethernet, existen unas direcciones especiales en las que pueden escuchar ms de una mquina. Para ello es necesario configurar el adaptador de red ethernet en cada mquina. Un nico marco o enviado a esta direccin es ledo por todas las mquinas que escuchan en ella. Estas direcciones se denominan multicasting.
Existen redes que si bien no admiten multicasting, s admiten difusin. Marcos ethernet con la direccin de destino 111...111 son recibidos por todas las mquinas de la red. La difusin puede ser utilizada para implementar grupos, pero es menos eficiente, porque el marco se enva a todas las mquinas, tanto las que pertenecen al grupo como las que no. De todas formas, el envo al grupo de procesos requiere de un solo paquete. Si el nivel de enlace no proporciona multicasting ni difusin, an es posible la implementacin de grupos. Para ello, el emisor debe enviar un paquete particular a cada miembro del grupo. Por supuesto, esta es la implementacin menos eficiente.
enviar hacia el grupo. Se utiliza en el procesamiento en paralelo. Grupo abierto. proceso que no pertenece a un grupo puede enviar mensajes a este grupo. son apropiados para problemas como el de los servidores replicados, donde un cliente enva una peticin al grupo.
grupos un proceso es el jefe o coordinador y el resto trabajan para l. En otros, todos los procesos tienen la misma categora y las decisiones se toman de forma colectiva. En el primer caso, cuando uno de los trabajadores o un cliente externo solicita una peticin, esta es enviada al coordinador, que decide cul de los trabajadores es el ms apropiado para servirla. Cada una de estas organizaciones tiene sus ventajas y sus inconvenientes. Los grupos pares no tienen un nico punto de fallo. Si un trabajador deja de existir, la carga se reparte en el resto. Sin embargo, incurren en el retraso que supone el ponerse de acuerdo para decidir quin sirve una peticin. Los grupos jerrquicos tienen las propiedades opuestas.
Pertenencia de grupos.
Se necesita un mtodo para crear, destruir y modificar los grupos. Una solucin es introducir un proceso denominado el servidor de grupos. El servidor de grupos mantiene tablas con los grupos existentes y sus integrantes. Esta solucin es eficiente y fcil de implementar. El problema es que el servidor de grupos es una tcnica centralizadora y, como tal, constituye un nico punto de fallo. La opcin opuesta es la gestin distribuida. Un nuevo proceso que se incorpora al grupo puede enviar un mensaje al grupo y todos los procesos toman nota de su existencia. Cuando un proceso del grupo termina, enva un mensaje de adis.
inesperadamente. El resto del grupo tiene que descubrirlo experimentalmente, ya que el proceso nunca responde a nada. Cuando todos los miembros lo han constatado, se le da de baja.
un grupo, el grupo debe tener una direccin. Si el nivel de enlace de la red -en adelante, la red- soporta multicasting, se puede implementar una direccin de grupo como una direccin multicasting. Si la red soporta difusin, pero no multicasting, el mensaje debe ser recibido por todos los ncleos y extraer de l la direccin del grupo. Si ninguno de los procesos de la mquina es miembro del grupo, el mensaje es descartado. En otro caso, es pasado a todos los procesos que pertenecen al grupo. Si la red no soporta ni difusin ni multicasting, el ncleo de la mquina emisora tendr que tener una lista de los procesos que pertenecen al grupo y enviar un mensaje a cada uno de los componentes del grupo.
utilizar las primitivas send y receive por separado. Segn Tanenbaum, send y receive se corresponden en programacin distribuida con la construccin "go to" en programacin convencional. Si se permite send y receive a los procesos de usuario, se pueden aprovechar estas primitivas para realizar la comunicacin de grupo. En el caso de la comunicacin convencional cliente servidor, el primer parmetro de send es un nmero de puerto en la red y el segundo parmetro es el mensaje.
Atomicidad de la difusin
Una de las caractersticas de la comunicacin de grupos es que un mensaje enviado a un grupo debe ser recibido por todos los miembros del grupo o por ninguno de ellos. A esta propiedad se la denomina la atomicidad de la difusin o simplemente la atomicidad. La atomicidad facilita en gran medida la programacin de sistemas distribuidos.
todo o nada
Ordenacin de mensajes
Para que la comunicacin en grupo sea fcil de usar y
comprender requiere de dos propiedades. La primera es la atomicidad, examinada ms arriba y la segunda es el orden de los mensajes. Un sistema debe tener una semntica bien definida con respecto al orden de entrega de los mensajes. La mejor garanta es la entrega inmediata de todos los mensajes, en el orden en que fueron enviados:
entregarse antes de comenzar a entregar la siguiente serie de mensajes. Todos los receptores reciben todos los mensajes en el mismo orden. Este esquema se denomina ordenamiento con respecto al tiempo global. La propiedad de orden temporal global exige que cada miembro del grupo reciba primero el mensaje del proceso 0 y despus el mensaje del proceso 4. Una red local que soporte difusin garantiza el orden temporal global.
Grupos solapados
En el apartado anterior vimos el problema de la
ordenacin temporal global aplicada a un grupo dado. Dos procesos del mismo grupo enviaban simultneamente un mensaje al grupo. Hemos mencionado previamente que un proceso puede pertenecer a ms de un grupo, de manera que los grupos pueden solaparse. Este solapamiento produce un nuevo tipo de inconsistencia temporal.
El problema es el siguiente: Existe un ordenamiento con respecto al tiempo global dentro de cada grupo. No existe coordinacin entre varios grupos. Resulta muy complicado implantar el orden con respecto al tiempo entre los distintos grupos, pero no siempre es necesario hacerlo. Una comunicacin de grupo que garantiza que esto no ocurre se dice que tiene la propiedad de orden temporal entre grupos solapados. La implementacin del orden temporal entre grupos solapados es costosa y difcil de implementar
Escalabilidad
Muchos algoritmos de comunicacin de grupos funcionan bien siempre que los grupos sean pequeos y haya pocos grupos, pero qu ocurre cuando cada grupo tiene muchos procesos y hay miles de grupos? Y qu ocurre cuando los grupos se extienden geogrficamente entre continentes? Para ellos es preciso sobrepasar los estrechos lmites de la red local e introducir encaminadores y muchas redes locales. La presencia de encaminadores afecta a las propiedades de la comunicacin del sistema operativo distribuido, ya que estn basadas en la suposicin de ausencia de encaminadores.
2.2. sincronizacin
La comunicacin no lo es todo. Una cuestin relacionada, pero distinta, es la sincronizacin. Cmo se implementa, por ejemplo una regin crtica en un entorno distribuido? En los sistemas centralizados los procesos comparten la memoria, de modo que es posible utilizar variables como el semforo para implementar regiones crticas. En un entorno distribuido la memoria comn no existe. Por otra parte, en los sistemas distribuidos, es difcil decidir qu evento ocurri antes que otro, debido a que cada mquina tiene su propio reloj y no existe, por tanto, una base de tiempos comn.
Sincronizacin de relojes
Los algoritmos distribuidos tienen las siguientes propiedades: La informacin relevante est repartida entre mltiples mquinas Los procesos toman decisiones basados nicamente en informacin local Es preciso evitar un nico punto de fallo No existe un reloj comn Los primeros tres aspectos dicen que es inaceptable recoger toda la informacin en un nico punto. El ltimo aspecto es que ahora nos interesa.
se pongan de acuerdo en el tiempo en que los eventos ocurren. As, para ciertas clases de algoritmos, lo que importa es la consistencia interna de los relojes, no la exactitud particular de cada uno de ellos. Para estos algoritmos, es conveniente hablar de relojes lgicos. Cuando el objetivo es mantener todos los relojes dentro de un margen error dado respecto al tiempo absoluto, es conveniente hablar de relojes fsicos. Permite capturar numricamente la relacin sucedi-antes Es un contador software que se incrementa montonamente y no tiene ninguna relacin con el reloj fsico
Para ciertos
algoritmos lo que importa es la consistencia interna de los relojes: No interesa su cercana particular al tiempo real (oficial). Los relojes se denominan relojes lgicos. Los relojes fsicos son relojes que: Deben ser iguales (estar sincronizados). No deben desviarse del tiempo real ms all de cierta magnitud. Para sincronizar los relojes lgicos, Lamport defini la relacin ocurre antes de (happens-before):
Si a y b son eventos en el mismo proceso y a ocurre
antes de b, entonces a > b es verdadero. Ocurre antes de es una relacin transitiva: Si a > b y b > c, entonces a > c.
intercambian mensajes, entonces x > y no es verdadero, pero tampoco lo es y > x: Se dice que son eventos concurrentes. Necesitamos una forma de medir el tiempo tal que a cada evento a, le podamos asociar un valor del tiempo C(a) en el que todos los procesos estn de acuerdo: Se debe cumplir que: Si a > b entonces C(a) < C(b). El tiempo del reloj, C, siempre debe ir hacia adelante (creciente), y nunca hacia atrs (decreciente). Consideramos tres procesos que se ejecutan en diferentes mquinas, cada una con su propio reloj y velocidad: El proceso 0 enva el mensaje a al proceso 1 cuando el reloj de 0 marca 6.
El proceso 1 recibe el mensaje a cuando su reloj marca 16. Si el mensaje acarrea el tiempo de inicio 6, el proceso 1
considerar que tard 10 marcas de reloj en viajar. El mensaje b de 1 a 2 tarda 16 marcas de reloj. El mensaje c de 2 a 1 sale en 60 y llega en 56, tardara un tiempo negativo, lo cual es imposible. El mensaje d de 1 a 0 sale en 64 y llega en 54. Lamport utiliza la relacin ocurre antes de:
Si c sale en 60 debe llegar en 61 o en un tiempo posterior. Cada mensaje acarrea el tiempo de envo, de acuerdo con el reloj del
emisor. Cuando un mensaje llega y el reloj del receptor muestra un valor anterior al tiempo en que se envi el mensaje: El receptor adelanta su reloj para que tenga una unidad ms que el tiempo de envo.
tiempo global, si se hace el siguiente agregado: Entre dos eventos cualesquiera, el reloj debe marcar al menos una vez. Dos eventos no deben ocurrir exactamente al mismo tiempo. Con este algoritmo se puede asignar un tiempo a todos los eventos en un sistema distribuido, con las siguientes condiciones: Si a ocurre antes de b en el mismo proceso, C(a) < C(b). Si a y b son el envo y recepcin de un mensaje, C(a) < C(b). Para todos los eventos a y b, C(a) es distinto de C(b).
El algoritmo de Lamport proporciona un orden de eventos sin ambigedades, pero [25, Tanenbaum]: 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:
podemos decir que el tiempo absoluto puede ser proporcionado al computador, pero a un precio alto y siempre con un margen de error no despreciable.
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. La 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 BIH introduce 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).
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.2.3. usos de la sincronizacin (manejo de cach, comunicacin en grupo, exclusin mutua, eleccin, transacciones atmicas e interbloqueo)
Exclusin mutua. Cuando dos o ms procesos comparten
una estructura de datos, su lectura o actualizacin no debe ser simultnea. Para evitar la simultaneidad de acceso, y con ello la inconsistencia de la estructura, el cdigo de acceso y actualizacin de la misma se denomina regin crtica y su ejecucin es protegida mediante construcciones como semforos, monitores, etc. Algoritmo centralizado. ( se elije un proceso coordinador, regin critica). Un Algoritmo Distribuido. (enva mensajes y a el mismo, el receptor no esta en la reg critica y no quiere entrar en el resp=ok, si ya esta no responde y encola la solicitud) Algoritmo token ring (fichas)
garantizar que iniciada una eleccin sta concluya con el acuerdo de todos los procesos con respecto a la identidad del nuevo coordinador. En general, los algoritmos de eleccin intentan localizar al proceso con el identificador ms alto para hacerlo coordinador. Para enviar los mensajes, los procesos necesitan conocer las direcciones de red de todo el grupo de procesos en busca de coordinador, de modo que la eleccin ya estara hecha de antemano. El problema es que los procesos desconocen cules de ellos estn an activos y cules no. El requisito que debe cumplir una eleccin de coordinador es que esta sea nica. Los algoritmos difieren unos de otros en el modo de conseguirlo
el coordinador ya no responde, si nadie responde gana, nmero mayor=nuevo coordinador) Un Algoritmo de Anillo. Se supone que los procesos tienen un orden
fsico o lgico, es decir que cada proceso conoce a su sucesor. Cuando algn proceso observa que el coordinador no funciona: Construye un mensaje eleccin con su propio nmero de proceso. Enva el mensaje a su sucesor. Si el sucesor est inactivo:
El emisor va hacia el siguiente nmero del anillo o al siguiente de ste. Contina hasta localizar un proceso en ejecucin. En cada paso, al emisor aade su propio nmero de proceso a la lista en el mensaje.
El proceso lo reconoce al recibir un mensaje con su propio nmero de proceso. Informa a los dems procesos: Quin es el coordinador, es decir, el miembro de la lista con el nmero mayor. Quines son los miembros del nuevo anillo.
Transacciones atmicas.
La principal propiedad de la transaccin atmica es el todo o nada:
O se hace todo lo que se tena que hacer como una unidad o no se hace
nada. Ejemplo:
Un cliente llama al Banco mediante una PC con un mdem para:
Retirar dinero de una cuenta. Depositar el dinero en otra cuenta. La operacin tiene dos etapas. Si la conexin telefnica falla luego de la primer etapa pero antes de la segunda: Habr un retiro pero no un depsito. La solucin consiste en agrupar las dos operaciones en una transaccin atmica: Las dos operaciones terminaran o no terminara ninguna. Se debe regresar al estado inicial si la transaccin no puede concluir.
transacciones se ejecutan al mismo tiempo: El resultado final aparece como si todas l as transacciones se ejecutasen de manera secuencial en cierto orden:
Para cada una de ellas y para los dems procesos.
ocurre o bien se realiza en su totalidad: Se presenta como una accin indivisible e instantnea. La permanencia se refiere a que una vez comprometida una transaccin: Sigue adelante y los resultados son permanentes.
En distintos procesadores.
Los principales algoritmos son: El de la cerradura. El del control optimista de la concurrencia. El de las marcas de tiempo.
2.3. nominacin
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.
tener un mecanismo de traduccin de direcciones virtuales a reales. Para ello, se necesitan dos cosas. Primero, el compilador manejar una direccin base ms un desplazamiento al referirse a las instrucciones. Segundo, el sistema operativo asignar como direccin base el nmero de pgina, al paginar al proceso. De esta manera, puede buscarse el inicio de una pgina en memoria, sumarle el desplazamiento y as obtener la direccin real de una instruccin
nombramiento para los sistemas operativos distribuidos han sido identificadas por Terry (1984) e Indulska y Goscinski (1989): (1) una facilidad centralizada de nombramiento (2) una facilidad replegada de nombramiento (3) una facilidad descentralizada de nombramiento (4) una facilidad distribuida de nombramiento (5) una facilidad jerrquica de nombramiento.
Fin de la presentacin