Sistemas operativos 2
Upcoming SlideShare
Loading in...5
×
 

Like this? Share it with your network

Share

Sistemas operativos 2

on

  • 4,541 views

Unidad uno y dos de la materia sistemas operativos 2

Unidad uno y dos de la materia sistemas operativos 2

Statistics

Views

Total Views
4,541
Views on SlideShare
4,541
Embed Views
0

Actions

Likes
4
Downloads
188
Comments
0

0 Embeds 0

No embeds

Accessibility

Categories

Upload Details

Uploaded via as Microsoft Word

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

Sistemas operativos 2 Document Transcript

  • 1. Unidad 1 Los sistemas operativos en ambientes distribuidos<br />Sistemas Distribuidos<br />Los sistemas distribuidos están basados en las ideas básicas de transparencia, eficiencia, flexibilidad, escalabilidad y fiabilidad. Sin embargo estos aspectos son en parte contrarios, y por lo tanto los sistemas distribuidos han de cumplir en su diseño el compromiso de que todos los puntos anteriores sean solucionados de manera aceptable.<br />Transparencia<br />El concepto de transparencia de un sistema distribuido va ligado a la idea de que todo el sistema funcione de forma similar en todos los puntos de la red, independientemente de la posición del usuario. Queda como labor del sistema operativo el establecer los mecanismos que oculten la naturaleza distribuida del sistema y que permitan trabajar a los usuarios como si de un único equipo se tratara. <br />Eficiencia<br />La idea base de los sistemas distribuidos es la de obtener sistemas mucho más rápidos que los ordenadores actuales. Es en este punto cuando nos encontramos de nuevo con el paralelismo.<br />Para lograr un sistema eficiente hay que descartar la idea de ejecutar un programa en un único procesador de todo el sistema, y pensar en distribuir las tareas a los procesadores libres más rápidos en cada momento.<br />Flexibilidad<br />Un proyecto en desarrollo como el diseño de un sistema operativo distribuido debe estar abierto a cambios y actualizaciones que mejoren el funcionamiento del sistema. Esta necesidad ha provocado una diferenciación entre las dos diferentes arquitecturas del núcleo del sistema operativo: el núcleo monolítico y el micro núcleo. <br />Núcleo monolítico<br />Como ejemplo de sistema operativo de núcleo monolítico está UNIX. Estos sistemas tienen un núcleo grande y complejo, que engloba todos los servicios del sistema. Está programado de forma no modular, y tiene un rendimiento mayor que un micro núcleo. Sin embargo, cualquier cambio a realizar en cualquier servicio requiere la parada de todo el sistema y la recopilación del núcleo.<br />Micro núcleo<br />La arquitectura de micro núcleo ofrece la alternativa al núcleo monolítico. Se basa en una programación altamente modular, y tiene un tamaño mucho menor que el núcleo monolítico. Como consecuencia, el refinamiento y el control de errores son más rápidos y sencillos. Además, la actualización de los servicios es más sencilla y ágil, ya que sólo es necesaria la recopilación del servicio y no de todo el núcleo. Como contraprestación, el rendimiento se ve afectado negativamente.<br />Escalabilidad<br />Un sistema operativo distribuido debería funcionar tanto para una docena de ordenadores como varios millares. Igualmente, debería no ser determinante el tipo de red utilizada (LAN o WAN) ni las distancias entre los equipos, etc.<br />Fiabilidad<br />Una de las ventajas claras que nos ofrece la idea de sistema distribuido es que el funcionamiento de todo el sistema no debe estar ligado a ciertas máquinas de la red, sino que cualquier equipo pueda suplir a otro en caso de que uno se estropee o falle.<br />Comunicación<br />La comunicación 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 conexión física entre las distintas memorias de los equipos, la comunicación se realiza mediante la transferencia de mensajes.<br />Ventajas Desventajas contra Sistemas Centralizados<br />VENTAJAS DE LOS SISTEMAS DISTRIBUIDOS<br />Con respecto a Sistemas Centralizados:<br />Una de las ventajas de los sistemas distribuidos es la economía, pues es mucho más barato, añadir servidores y clientes cuando se requiere aumentar la potencia de procesamiento. <br />El trabajo en conjunto. Por ejemplo: en una fábrica de ensamblado, los robots tienen sus CPUs diferentes y realizan acciones en conjunto, dirigidos por un sistema distribuido. <br />Tienen una mayor confiabilidad. Al estar distribuida la carga de trabajo en muchas máquinas la falla de una de ellas no afecta a las demás, el sistema sobrevive como un todo. <br />Capacidad de crecimiento incremental. Se puede añadir procesadores al sistema incrementando su potencia en forma gradual según sus necesidades. <br />DESVENTAJAS DE LOS SISTEMAS DISTRIBUIDOS<br />El principal problema es el software, es el diseño, implantación y uso del software distribuido, pues presenta numerosos inconvenientes. Los principales interrogantes son los siguientes: <br />¿Qué tipo de S. O., lenguaje de programación y aplicaciones son adecuados para estos sistemas?. <br />¿Cuánto deben saber los usuarios de la distribución?. <br />¿Qué tanto debe hacer el sistema y qué tanto deben hacer los usuarios?. <br />La respuesta a estos interrogantes no es uniforme entre los especialistas, pues existe una gran diversidad de criterios y de interpretaciones al respecto.<br />Otro problema tiene que ver con las redes de comunicación. Por ejemplo: -Perdida de mensajes, saturación en el tráfico, etc. <br />Un problema que puede surgir al compartir datos es la seguridad de los mismos. <br />En general se considera que las ventajas superan a las desventajas, si estas últimas se administran seriamente.<br />Modelo Cliente Servidor<br />En qué consiste el esquema cliente-servidor<br />El esquema cliente-servidor " es un modelo de computación en el que el procesamiento requerido para ejecutar una aplicación o conjunto de aplicaciones relacionadas se divide entre dos o más procesos que cooperan entre sí " [21]. Usualmente la mayoría del trabajo pesado se hace en el proceso llamado servidor y el (los) proceso(s) cliente(s) sólo se ocupa de la interacción con el usuario (aunque esto puede variar). Los principales componentes del esquema cliente-servidor son entonces los Clientes, los Servidores y la infraestructura de comunicaciones. Los Clientes interactúan con el usuario, usualmente en forma gráfica. Frecuentemente se comunican con procesos auxiliares que se encargan de establecer conexión con el servidor, enviar el pedido, recibir la respuesta, manejar las fallas y realizar actividades de sincronización y de seguridad. Los Servidores proporcionan un servicio al cliente y devuelven los resultados. En algunos casos existen procesos auxiliares que se encargan de recibir las solicitudes del cliente, verificar la protección, activar un proceso servidor para satisfacer el pedido, recibir su respuesta y enviarla al cliente. Además deben manejar los interbloqueos, la recuperación ante fallas, y otros aspectos afines. Por las razones anteriores la plataforma computacional asociada con los servidores es más poderosa que la de los clientes. Por esta razón se utilizan PCs poderosos, estaciones de trabajo, minicomputadores o sistemas grandes. Además deben manejar servicios como administración de la red, mensajes, control y administración de la entrada al sistema (" login" ), auditoría y recuperación y contabilidad. Usualmente en los servidores existe algún tipo de servicio de bases de datos. Para que los clientes y los servidores puedan comunicarse se requiere una infraestructura de comunicaciones, la cual proporciona los mecanismos básicos de direccionamiento y transporte. La mayoría de los sistemas Cliente/Servidor actuales se basan en redes locales y por lo tanto utilizan protocolos no orientados a conexión, lo cual implica que las aplicaciones deben hacer las verificaciones. La red debe tener características adecuadas de desempeño, confiabilidad, transparencia y administración<br />Características Hardware Sistemas Distribuidos<br />Conceptos de Hardware <br />Todos los sistemas distribuidos constan de varias CPU, organizadas de diversas formas, especialmente respecto de <br />La forma de interconectarlas entre sí. <br />Los esquemas de comunicación utilizados. <br />Existen diversos esquemas de clasificación para los sistemas de cómputos con varias CPU: <br />Uno de los mas conocidos es la “Taxonomía de Flynn”: <br />Considera como características esenciales el número de flujo de instrucciones y el número de flujos de datos. <br />La clasificación incluye equipos SISD, SIMD, MISD y MIMD. <br />SISD (Single Instruction Single Data: un flujo de instrucciones y un flujo de datos): <br />Poseen un único procesador. <br />SIMD (Single Instruction Multiple Data: un flujo de instrucciones y varios flujos de datos): <br />Se refiere a ordenar procesadores con una unidad de instrucción que: <br />Busca una instrucción. <br />Instruye a varias unidades de datos para que la lleven a cabo en paralelo, cada una con sus propios datos. <br />Son útiles para los cómputos que repiten los mismos cálculos en varios conjuntos de datos. <br />MISD (Multiple Instruction Single Data: un flujo de varias instrucciones y un solo flujo de datos): <br />No se presenta en la práctica. <br />MIMD (Multiple Instruction Multiple Data: un grupo de computadoras independientes, cada una con su propio contador del programa, programa y datos): <br />Todos los sistemas distribuidos son de este tipo. <br />Un avance sobre la clasificación de Flynn incluye la división de las computadoras MIMD en dos grupos: <br />Multiprocesadores: poseen memoria compartida: <br />Los distintos procesadores comparten el mismo espacio de direcciones virtuales. <br />Multicomputadoras: no poseen memoria compartida: <br />Ej.: grupo de PC conectadas mediante una red. <br />Cada una de las categorías indicadas se puede clasificar según la arquitectura de la red de interconexión en: <br />Esquema de bus: <br />Existe una sola red, bus, cable u otro medio que conecta todas las máquinas: <br />Ej.: la televisión por cable. <br />Esquema con conmutador: <br />No existe una sola columna vertebral de conexión: <br />Hay múltiples conexiones y varios patrones de conexionado. <br />Los mensajes de mueven a través de los medios de conexión. <br />Se decide explícitamente la conmutación en cada etapa para dirigir el mensaje a lo largo de uno de los cables de salida. <br />Ej.: el sistema mundial telefónico público. <br />Otro aspecto de la clasificación considera el acoplamiento entre los equipos: <br />Sistemas fuertemente acoplados: <br />El retraso al enviar un mensaje de una computadora a otra es corto y la tasa de transmisión es alta. <br />Generalmente se los utiliza como sistemas paralelos. <br />Sistemas débilmente acoplados: <br />El retraso de los mensajes entre las máquinas es grande y la tasa de transmisión es baja. <br />Generalmente se los utiliza como sistemas distribuidos. <br />Generalmente los multiprocesadores están más fuertemente acoplados que las multicomputadoras.<br />Características Software Sistemas Distribuidos<br />Aunque el hardware es importante, el software lo es más. La imagen que presenta y la forma de pensar de los usuarios de un sistema, queda determinada en gran medida por el software del sistema operativo, no por el hardware.<br />Se puede distinguir dos tipos de sistemas operativos para los de varios CPU: los débilmente acoplados y los fuertemente acoplados.<br />El software débilmente acoplado permite que las máquinas y los usuarios de un sistema distribuido sean independientes entre sí en lo fundamental, pero que interactúen en cierto grado cuando sea necesario.<br />En el software fuertemente acoplado el programa de aplicación y el sistema operativo necesario para soportarlo, están muy acoplados.<br />Direccionamiento Lógico Físico Sistemas Distribuidos<br />El proceso desde que los datos son incorporados al ordenados hasta que se transmiten al medio se llama encapsulación. Estos datos son formateados, segmentados, identificados con el direccionamiento lógico y físico para finalmente ser enviados al medio. Debido a que posiblemente la cantidad de los datos sean demasiados, la capa de transporte desde de origen, se encarga de segmentarlos para así ser empaquetados debidamente, esta misma capa en el destino se encargara de re ensamblar los datos y colocarlos en forma secuencial, ya que no siempre llegan a su destino en el orden en que han sido segmentados, así mismo acorde al protocolo que se este utilizando habrá corrección de errores. Estos segmentos son empaquetados (paquetes o datagramas) e identificados en la capa de red con la dirección lógica o IP correspondiente al origen y destino. Ocurre lo mismo con la dirección MAC en la capa de enlace de datos formándose las tramas o frames para ser transmitidos a través de alguna interfaz. <br />1.2 Concepto Características Sor <br />1.3 Concepto Características del Sod <br />Conceptos de los sistemas distribuidos <br />Los sistemas distribuidos están basados en las ideas básicas de transparencia, eficiencia, flexibilidad, escalabilidad y fiabilidad. Sin embargo estos aspectos son en parte contrarios, y por lo tanto los sistemas distribuidos han de cumplir en su diseño el compromiso de que todos los puntos anteriores sean solucionados de manera aceptable. <br />Transparencia <br />El concepto de transparencia de un sistema distribuido va ligado a la idea de que todo el sistema funcione de forma similar en todos los puntos de la red, independientemente de la posición del usuario. Queda como labor del sistema operativo el establecer los mecanismos que oculten la naturaleza distribuida del sistema y que permitan trabajar a los usuarios como si de un único equipo se tratara. <br />UNIDAD 2 Comunicación en los sistemas operativos distribuidos<br />2.1 Comunicación SOD<br />Sistemas Operativos Distribuidos<br />Los sistemas operativos distribuidos desempeñan las mismas funciones que un sistema operativo normal, pero con la diferencia de trabajar en un entorno distribuido. Su Misión principal consiste en facilitar el acceso y la gestión de los recursos distribuidos en la red.<br />En un sistema operativo distribuido los usuarios pueden acceder a recursos remotos de la misma manera en que lo hacen para los recursos locales. Permiten distribuir trabajos, tareas o procesos, entre un conjunto de procesadores. Puede ser que este conjunto de procesadores esté en un equipo o en diferentes, lo cual es transparente para el usuario. <br />Los sistemas distribuidos deben de ser muy confiables y estables ya que si un componente del sistema se descompone otro componente debe de ser capaz de reemplazarlo inmediatamente y no afectar los procesos del sistema.<br />Entre los diferentes Sistemas Operativos distribuidos que existen tenemos los siguientes: Sprite, Solaris-MC, Mach, Chorus, Spring, Amoeba, Taos, etc. <br />Características básicas<br />Los sistemas operativos distribuidos están basados en las ideas básicas: <br />• Transparencia<br />• Eficiencia<br />• Flexibilidad<br />• Escalabilidad <br />2.1.1 Comunicación Cliente/Servidor sockets<br />Origen de los socket tuvo lugar en una variante del sistema operativo Unix conocida como BSD Unix. En la universidad de Berkeley, en los inicios del Internet, pronto se hizo evidente que los programadores necesitarían un medio sencillo y eficaz para escribir programas capaces de intercomunicarse entre sí. Esta necesidad dio origen a la primera especificación e implementación de sockets. <br />Cliente-Servidor es el modelo que actualmente domina el ámbito de comunicación, ya que descentraliza los procesos y los recursos. Es un Sistema donde el cliente es una aplicación, en un equipo, que solicita un determinado servicio y existe un software, en otro equipo, que lo proporciona. <br />Los servicios pueden ser; <br />a) Ejecución de un programa. <br />b) Acceso a una Base de Datos. <br />c) Acceso a un dispositivo de hardware. <br />Solo se requiere un medio físico de comunicación entre las maquinas y dependerá de ala naturaleza de este medio la vialidad del sistema. <br />Definición de 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. <br />Los sockets proporcionan una comunicación de dos vías, punto a punto entre dos procesos. Los sockets son muy versátiles y son un componente básico de comunicación entre interprocesos e intersistemas. Un socket es un punto final de comunicación al cual se puede asociar un nombre. <br />Para lograr tener un socket es necesario que se cumplan ciertos requisitos <br />1. Que un programa sea capaz de localizar al otro. <br />2. Que ambos programas sean capaces de intercambiarse información. <br />El Cliente actúa de la siguiente forma. <br />1) Establece una conexión con el servidor (Crea un socket con el servidor). <br />2) Mandar mensajes al servidor o Esperar un mensaje de él. (Consultas) <br />3) Esperar su respuesta o contestarle (existen casos en que este paso no es necesario). <br />4) Repetir los pasos 2 y 3 mientras sea necesario. <br />5) Cerrar la conexión con el servidor. <br />El servidor actúa así. <br />1) Inicializa un puerto de comunicación, en espera de clientes que intenten conectarse a él (Crea un serverSocket). <br />2) Una vez que se conecta alguien, crea un hilo de ejecución para este usuario mientras que el thread principal vuelve al paso 1. Esto comúnmente se hace para que el servidor puede atender a varios clientes al mismo tiempo. <br />3) Se comunica con el cliente mediante el socket creado entre el cliente y él. <br />4) Espera que el cliente se vaya o lo bota el mismo servidor (Cierra el socket entre ellos) y elimina el thread de comunicación entre ellos. <br />Las propiedades de un socket dependen de las características del protocolo en el que se implementan. El protocolo más utilizado es TCP, aunque también es posible utilizar UDP o IPX. <br />2.1.2 Comunicación con RPC<br />RCP (REMOTE PROCEDURE CALL) <br />El mecanismo general para las aplicaciones cliente-servidor se proporciona por el paquete Remote Procedure Call (RPC). RPC fue desarrollado por Sun Microsystems y es una colección de herramientas y funciones de biblioteca. Aplicaciones importantes construidas sobre RPC son NIS, Sistema de Información de Red y NFS, Sistema de Ficheros de Red. <br />Un servidor RPC consiste en una colección de procedimientos que un cliente puede solicitar por el envío de una petición RPC al servidor junto con los parámetros del procedimiento. El servidor invocará el procedimiento indicado en nombre del cliente, entregando el valor de retorno, si hay alguno. Para ser independiente de la máquina, todos los datos intercambiados entre el cliente y el servidor se convierten al formato External Data Representation (XDR) por el emisor, y son reconvertidos a la representación local por el receptor. RPC confía en sockets estándar UDP y TCP para transportar los datos en formato XDR hacia el host remoto. Sun amablemente ha puesto RPC en el dominio público; se describe en una serie de RFCs. <br />La comunicación entre servidores RPC y clientes es un tanto peculiar. Un servidor RPC ofrece una o más colecciones de procedimientos; cada conjunto se llama un programa y es identificado de forma única por un número de programa. Una lista que relaciona nombres de servicio con números de programa se mantiene usualmente en /etc/rpc. <br />2.1.3 Comunicación en grupo<br />La comunicación en grupo tiene que permitir la definición de grupos, así como características propias de los grupos, como la distinción entre grupos abiertos o que permiten el acceso y cerrados que lo limitan, o como la distinción del tipo de jerarquía dentro del grupo. Igualmente, los grupos han de tener operaciones relacionadas con su manejo, como la creación o modificación.<br />2.1.4 Tolerancia a fallos<br />Dado que las fallas no se pueden evitar por completo, existe una solución que consiste en configurar mecanismos de redundancia duplicando los recursos críticos. <br />La capacidad de un sistema para funcionar a pesar de que alguno de sus componentes falle se conoce como tolerancia a errores. <br />Cuando uno de los recursos falla, los otros recursos siguen funcionando mientras los administradores del sistema procuran encontrar una solución al problema. Esto se llama " Servicio de protección contra fallas" (FOS). <br />Idealmente, si se produce una falla material, los elementos del material defectuoso deben ser intercambiables en caliente, es decir que deben ser capaces de ser extraídos y reemplazados sin que se interrumpa el servicio. <br />2.2 Sincronización Sistemas Distribuidos<br />Un sistema distribuido debe permitir el apropiado uso de los recursos, debe encargarse de un buen desempeño y de la consistencia de los datos, además de mantener seguras todas estas operaciones <br />La sincronización de procesos en los sistemas distribuidos resulta más compleja que en los centralizados, debido a que la información y el procesamiento se mantienen en diferentes nodos. Un sistema distribuido debe mantener vistas parciales y consistentes de todos los procesos cooperativos y de cómputo. Tales vistas pueden ser provistas por los mecanismos de sincronización.<br />El término sincronización se define como la forma de forzar un orden parcial o total en cualquier conjunto de eventos, y es usado para hacer referencia a tres problemas distintos pero relacionados entre sí:<br />La sincronización entre el emisor y el receptor.<br />La especificación y control de la actividad común entre procesos cooperativos.<br />La serialización de accesos concurrentes a objetos compartidos por múltiples procesos.<br />Haciendo referencia a los métodos utilizados en un sistema centralizado, el cual hace uso de semáforos y monitores; en un sistema distribuido se utilizan algoritmos distribuidos para sincronizar el trabajo común entre los procesos y estos algoritmos<br />Algoritmos para la Sincronización de Relojes<br />La sincronización de relojes en un sistema distribuido consiste en garantizar que los procesos se ejecuten en forma cronológica y a la misma vez respetar el orden de los eventos dentro del sistema. Para lograr esto existen varios métodos o algoritmos que se programan dentro del sistema operativo, entre los cuales tenemos:<br />Algoritmo de Cristian <br />Algoritmo de Berkeley <br />Sincronización en sistemas distribuidos<br />El problema que existe en un sistema distribuido, es determinar el orden particular sobre cualquier conjunto de eventos en un sistema distribuido. Existen dos grupos de mecanismos de sincronización: centralizados y distribuidos.<br />Mecanismos de sincronización centralizada<br />Estos son los mecanismos que se basan en la existencia de una unidad de sincronización centralizada, la cual debe tener un nombre único conocido para todos los procesos que requieren ser sincronizados.<br />Se designa un nodo como nodo de control y su tarea es administrar el acceso a los recursos compartidos. Este nodo también almacena información relevante sobre todos los procesos que realizan alguna petición.<br />2.2.1 Relojes Físicos<br />La idea es proveer de un único bloque de tiempo para el sistema. Los procesos pueden usar la marca física del tiempo provista o leída de un reloj central para expresar algún orden en el conjunto de acciones que inician. La principal ventaja de este mecanismo es la simplicidad, aunque existen varios inconvenientes: el correcto registro del tiempo depende en la posibilidad de recibir correctamente y en todo momento, el tiempo actual desplegado por el reloj físico; los errores de transmisión se convierten en un impedimento para el orden deseado, el grado de exactitud depende de las constantes puestas en el sistema.<br />Los valores de tiempo asignados a los eventos no tienen porqué ser cercanos a los tiempos reales en los que ocurren. <br />En ciertos sistemas es importante la hora real del reloj: <br />Se precisan relojes físicos externos (más de uno). <br />Se deben sincronizar: <br />Con los relojes del mundo real. <br />Entre sí. <br />Desde antiguo el tiempo se ha medido astronómicamente. <br />Se considera el día solar al intervalo entre dos tránsitos consecutivos del sol, donde el tránsito del sol es el evento en que el sol alcanza su punto aparentemente más alto en el cielo. <br />El segundo solar se define como 1 / 86.400 de un día solar. <br />Como el período de rotación de la tierra no es constante, se considera el segundo solar promedio de un gran número de días. <br />Los físicos definieron al segundo como el tiempo que tarda el átomo de cesio 133 para hacer 9.192.631.770 transiciones: <br />Se tomó este número para que el segundo atómico coincida con el segundo solar promedio de 1958. : <br />Operan estaciones de radio de onda corta o satélites de comunicaciones. <br />Transmiten pulsos UTC con cierta regularidad establecida (cada segundo, cada 0,5 mseg, etc.). <br />Se deben conocer con precisión la posición relativa del emisor y del receptor: <br />Se debe compensar el retraso de propagación de la señal. <br />Si la señal se recibe por módem también se debe compensar por la ruta de la señal y la velocidad del módem. <br />Se dificulta la obtención del tiempo con una precisión extremadamente alta. <br />2.2.2 Relojes Lógicos<br />Los relojes lógicos son aquellos por los cuales están ordenados los sucesos de una forma única. Para poder usar en general el tiempo físico se debe sincronizar perfectamente bien los relojes a lo largo de un sistema distribuido para poder así obtener el orden de cualquier par arbitrario de sucesos que ocurran en el, pero es poco probable que esto ocurra por que no se puede sincronizar perfectamente los relojes a lo largo de un sistema distribuido. <br />Se puede utilizar un esquema que similar a la casualidad física, que se aplica en los sistemas distribuidos, para controlar el orden de algunos sucesos que ocurren en diversos procesos. La cual esta basada en dos puntos sencillos y obvios.<br />Cuando se envía un mensaje entre procesos, el suceso de enviar el mensaje ocurrió antes del de recepción del mismo.<br />Lamport llamo a la ordenación obtenida al generalizar estas dos relaciones la realización suceder antes. También se le conoce como la relación de orden casual u ordenación casual del mismo.<br />La relación captura un flujo de información entre dos eventos.<br />La información puede fluir de formas distintas de la de paso de mensajes. <br />Por ejemplo: Si Pérez presenta un mandato a su proceso para que envíe un mensaje, acto seguido telefonea a Gómez, quien ordena a su proceso que envíe otro mensaje, luego el envío del primer mensaje claramente sucedió antes que el segundo. Desafortunadamente, como no se ha enviado mensajes de red entre los procesos que los emitieron, no podemos modelar este tipo de relaciones en nuestro sistema. <br />Otro punto a señalar es que aun produciéndose la relación sucedió antes entre dos sucesos, el primero podría o no haber causado realmente el segundo. Un proceso podría recibir un mensaje y consecuentemente enviar otro mensaje, pero no que él emite cada cinco minutos en cualquier caso y no tiene ninguna relación específica con el primer mensaje. No se ha supuesto ninguna causalidad real, pero la relación debe ordenar estos sucesos.<br /> Lamport invento un mecanismo simple con el cual la relación sucedió antes pueda capturarse numéricamente, denominado reloj lógico. Un reloj es un contador software que se incrementa monótonamente, y sus valores no necesitan tener relación alguna con el reloj físico.<br />2.2.3.- Uso de la sincronización manejo de cache, comunicación en grupo exclusivo mutua elección transacciones atomicas e interbloqueo.<br /> Memoria Caché <br />En los sistemas de archivos convencionales, el fundamento para la memoria caché es la reducción de la E/S de disco (lo que aumenta el rendimiento), en un SAD el objetivo es reducir el tráfico en la red. Esquema Básico, el concepto de memoria caché es sencillo, si los datos necesarios para satisfacer la solicitud de acceso no se encuentran en la memoria cache, se trae una copia de servicio al usuario y los accesos se llevan a cabo con la copia de memoria caché. <br />La idea es conservar allí los bloques de disco de acceso mas reciente, para así manejar localmente los accesos repetidos a la misma información y no aumentar el tráfico de la red. Se utiliza una política de reemplazo (por ejemplo, la de utilización menos reciente) para limitar el tamaño de la memoria caché. Políticas de Actualización, la política empleada para escribir los bloques de datos modificados en la copia maestra<br />del servidor tiene un efecto decisivo sobre la confiabilidad y el rendimiento del sistema. La política mas sencilla consiste en escribir los datos directamente en el disco tan pronto se coloquen en una memoria caché. La ventaja de la escritura directa es su confiabilidad, ya que se pierde poca información si un sistema cliente falla. Sin embargo, esta política requiere que cada acceso de escritura espere hasta que se envíe la información al servidor, por lo que representa una escritura de escaso rendimiento. La memoria caché con escritura directa equivale a usar el servicio remoto para accesos de escritura y explotar la memoria cache únicamente para accesos de lectura. NFS proporciona el acceso de escritura directa. <br />Consistencia, una maquina cliente se enfrenta al problema de decidir si una copia de datos en memoria caché local es consistente con la copia maestra ( y por tanto, puede usarse). Si la maquina cliente determina que sus datos en memoria caché están desfasados, ya no pueden servir para los accesos y hay que colocar en la memoria caché una copia actualizada de los datos. Existen dos enfoques para verificar la validez de los datos en memoria caché ..: <br />Enfoque iniciado por el cliente, el cliente inicia una comprobación de validez, en la cual se pone en contacto con el servidor y comprueban si los datos locales son consistentes con la copia maestra.<br />Enfoque iniciado por el servidor, el servidor anota, para cada cliente, las partes de los archivos que coloca en memoria cache, y cuando detecta una inconsistencia, debe reaccionar. Una posible fuente inconsistencia ocurre cuando dos clientes, que trabajan en modos conflictivos, colocan en memoria caché un archivo.<br />Comunicación en grupos (Algoritmos Para la Sincronización de Relojes) <br />Si una máquina tiene un receptor de UTC, todas las máquinas deben sincronizarse con ella. Si ninguna máquina tiene un receptor de UTC: • Cada máquina lleva el registro de su propio tiempo. • Se debe mantener el tiempo de todas las máquinas tan cercano como sea posible. Se supone que cada máquina tiene un cronómetro que provoca una interrupción “h” veces por segundo. Cuando el cronómetro se detiene, el manejador de interrupciones añade “1” a un reloj en software. El reloj en software mantiene un registro del número de marcas (interrupciones) a partir de cierta fecha acordada antes; al valor de este reloj se lo llama “C”. <br />Algoritmo de Cristian <br />Es adecuado para sistemas en los que: • Una máquina tiene un receptor UTC, por lo que se la llama despachador del tiempo. • El objetivo es sincronizar todas las máquinas con ella. Cada máquina envía un mensaje al servidor para solicitar el tiempo actual, periódicamente, en un tiempo no mayor que / 2 segundos. El despachador del tiempo responde prontamente con un mensaje que contiene el tiempo actual “CUTC”. Cuando el emisor obtiene la respuesta puede hacer que su tiempo sea “CUTC”. Un gran problema es que el tiempo no puede correr hacia atrás: • “CUTC” no puede ser menor que el tiempo actual “C” del emisor. • La atención del requerimiento en el servidor de tiempos requiere un tiempo del manejador de interrupciones. • También se debe considerar el tiempo de transmisión. El cambio del reloj se debe introducir de manera global: • Si el cronómetro genera 100 interrupciones por segundo: <br />Cada interrupción añade 10 mseg al tiempo. <br />Para atrasar solo agregaría 9 mseg. <br />Para adelantar agregaría 11 mseg. <br />La corrección por el tiempo del servidor y el tiempo de transmisión se hace midiendo en el emisor: • El tiempo inicial (envío) “T0”. • El tiempo final (recepción) “T1”. • Ambos tiempos se miden con el mismo reloj. El tiempo de propagación del mensaje será (T1 - T0) / 2. Si el tiempo del servidor para manejar la interrupción y procesar el mensaje es “I”: • El tiempo de propagación será (T1 - T0 - I) / 2. Para mejorar la precisión: • Se toman varias mediciones. • Se descartan los valores extremos. • Se promedia el resto. El tiempo de propagación se suma al tiempo del servidor para sincronizar al emisor cuando éste recibe la respuesta. <br />2.3 Nominacion caracteristicas y Estructuras<br />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 bloquesen disco. Esta correspondencia multinivel ofrece a los usuarios la abstracción de un archivo, que oculta los detalles de cómo y donde se almacena el archivo en disco. <br />En un SAD transparente se agrega una nueva dimensión de abstracción ..: la ocultación de la ubicación de los archivos de la red. En un sistema de archivos convencionales la función de nominación produce como resultado un intervalo de direcciones en disco, en un SAD este intervalo crece para incluir la máquina especifica en cuyo disco se almacena el archivo. 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 abstracción se ocultan tanto la experiencia de copias como su ubicación. <br />Estructuras de Nominación ..: <br />Existen dos conceptos que hay que distinguir en relación con al correspondencia de nombres en un SAD. <br />Transparencia de Nominación, El nombre de archivo no revela ningún indicio sobre de la ubicación del almacenamiento físico del archivo. <br />Independencia de Ubicación, No es necesario modificar el nombre de un archivo cuando cambia su ubicación en el almacenamiento físico. <br />Esquema de Nominación ..: <br />Hay tres enfoques principales para los esquemas de nominación en un SAD. En el enfoque mas sencillo, 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. Por ejemplo, en Ibis, un archivo se identifica de manera única con el Nombre Anfitrión Local, donde nombre local es una ruta semejante a las de UNIX. <br />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. <br />El tercer enfoque es la estructura mas compleja y difícil de mantener en la NFS, ya que cualquier directorio se puede unir a cualquier árbol de direcciones locales y la jerarquía resultante puede estar poco estructurada. <br />2.3.2 Tipos de nombres usuario y de sistema<br />Descripción del sistema operativo<br />Para que un ordenador pueda hacer funcionar un programa informático (a veces conocido como aplicación o software), debe contar con la capacidad necesaria para realizar cierta cantidad de operaciones preparatorias que puedan garantizar el intercambio entre el procesador, la memoria y los recursos físicos (periféricos). <br />El sistema operativo (a veces también citado mediante su forma abreviada OS en inglés) se encarga de crear el vínculo entre los recursos materiales, el usuario y las aplicaciones (procesador de texto, videojuegos, etcétera). Cuando un programa desea acceder a un recurso material, no necesita enviar información específica a los dispositivos periféricos; simplemente envía la información al sistema operativo, el cual la transmite a los periféricos correspondientes a través de su driver (controlador). Si no existe ningún driver, cada programa debe reconocer y tener presente la comunicación con cada tipo de periférico. <br />Funciones del sistema operativo<br />El sistema operativo cumple varias funciones: <br />Administración del procesador: el sistema operativo administra la distribución del procesador entre los distintos programas por medio de un algoritmo de programación. El tipo de programador depende completamente del sistema operativo, según el objetivo deseado. <br />Gestión de la memoria de acceso aleatorio: el sistema operativo se encarga de gestionar el espacio de memoria asignado para cada aplicación y para cada usuario, si resulta pertinente. Cuando la memoria física es insuficiente, el sistema operativo puede crear una zona de memoria en el disco duro, denominada " memoria virtual" . La memoria virtual permite ejecutar aplicaciones que requieren una memoria superior a la memoria RAM disponible en el sistema. Sin embargo, esta memoria es mucho más lenta. <br />Gestión de entradas/salidas: el sistema operativo permite unificar y controlar el acceso de los programas a los recursos materiales a través de los drivers (también conocidos como administradores periféricos o de entrada/salida). <br />Gestión de ejecución de aplicaciones: el sistema operativo se encarga de que las aplicaciones se ejecuten sin problemas asignándoles los recursos que éstas necesitan para funcionar. Esto significa que si una aplicación no responde correctamente puede " sucumbir" . <br />Administración de autorizaciones: el sistema operativo se encarga de la seguridad en relación con la ejecución de programas garantizando que los recursos sean utilizados sólo por programas y usuarios que posean las autorizaciones correspondientes. <br />Gestión de archivos: el sistema operativo gestiona la lectura y escritura en el sistema de archivos, y las autorizaciones de acceso a archivos de aplicaciones y usuarios. <br />Gestión de la información: el sistema operativo proporciona cierta cantidad de indicadores que pueden utilizarse para diagnosticar el funcionamiento correcto del equipo<br />2.3.3 Resolucion y Distribucion<br />En general, los sistemas distribuidos (no solamente los sistemas operativos) exhiben algunas ventajas sobre los sistemas centralizados que se describen enseguida.<br />Economía: El cociente precio/desempeño de la suma del poder de los procesadores separados contra el poder de uno solo centralizado es mejor cuando están distribuídos.<br />Velocidad: Relacionado con el punto anterior, la velocidad sumada es muy superior.<br />Confiabilidad: Si una sola máquina falla, el sistema total sigue funcionando.<br />Crecimiento: El poder total del sistema puede irse incrementando al añadir pequeños sistemas, lo cual es mucho más difícil en un sistema centralizado y caro.<br />Distribución: Algunas aplicaciones requieren de por sí una distribución física.<br />Por otro lado, los sistemas distribuídos también exhiben algunas ventajas sobre sistemas aislados. Estas ventajas son:<br />Compartir datos: Un sistema distribuído permite compartir datos más fácilmente que los sistemas aislados, que tendrian que duplicarlos en cada nodo para lograrlo.<br />Compartir dispositivos: Un sistema distribuído permite accesar dispositivos desde cualquier nodo en forma transparente, lo cual es imposible con los sistemas aislados. El sistema distribuído logra un efecto sinergético.<br />Comunicaciones: La comunicación persona a persona es factible en los sistemas distribuídos, en los sistemas aislados no. _ Flexibilidad: La distribución de las cargas de trabajo es factible en el sistema distribuídos, se puede incrementar el poder de cómputo.<br />2.3.4 Servidores y agentes de nombres<br />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 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. <br />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. <br />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. <br />2.3.5 Mapeo de Direcciones<br />Para poder ejecutar instrucciones, si no sabemos en qué parte de la memoria estarán cargadas, debemos tener un mecanismo de traducción de direcciones virtuales a reales. Para ello, se necesitan dos cosas. Primero, el compilador manejará una dirección base más un desplazamiento al referirse a las instrucciones. Segundo, el sistema operativo asignará como dirección base el número de página, al paginar al proceso. De esta manera, puede buscarse el inicio de una página en memoria, sumarle el desplazamiento y así obtener la dirección real de una instrucción. Nótese que en el diagrama se tiene una tabla de proceso y ahí mismo se maneja la dirección inicial de la tabla de páginas. En algunos sistemas operativos, estas dos tablas se manejan por separado. <br />La traducción de direcciones virtuales para segmentos se maneja de manera similar. <br />Existe un esquema adicional, paginación/segmentación, que es la combinación de ambos. La memoria se divide en marcos de página, idealmente más pequeños que el tamaño del marco de página en un sistema de paginación tradicional. Cada segmento está compuesto por cierto número de páginas. Es decir, el tamaño del segmento es un múltiplo del tamaño de página. Este esquema pretende sacar ventaja de los beneficios de los otros dos. Este mismo mecanismo de traducción de direcciones virtuales puede aplicarse en paginación/segmentación. <br />Recordemos que este mapeo debe efectuarse siempre, instrucción por instrucción ejecutada. Por ello, entre más rápido sea el mecanismo, mejor. Existe una manera de mejorar dicho mecanismo mediante hardware. <br />Una memoria asociativa es muy cara, pero permite buscar en toda la memoria en un mismo pulso de reloj. Implementando memoria asociativa, podemos traducir direcciones para páginas o segmentos. <br />Sin embargo, el utilizar memoria asociativa implica que el número de marcos de página y/o el número de segmentos, se ve limitado por el tamaño de la memoria asociativa. Es decir, no puede haber más marcos de página que número de celdas en la memoria asociativa. Por ello, hay sistemas operativos que manejan una combinación de ambos. Se cargan a memoria las páginas/segmentos más utilizados, y la traducción se utiliza de manera normal. Solamente en aquellos casos en los que no encontrara la página/segmento en la memoria asociativa, efectuaría la traducción directa. Para esa instrucción, haría un doble mapeo. Sin embargo, el principio de localidad nos asegura que esto no sucederá con frecuencia. <br />2.3.6 Mapeo de Rutas<br />ROADMAPPING (Mapeo de rutas) <br />El “Technology Roadmapping” o mapeo de rutas tecnológicas, es un método específicamente desarrollado para la realización de estudios de Prospectiva Tecnológica. El modelo se basa en las directrices dictadas por las necesidades del mercado ayudando a identificar, seleccionar y desarrollar con posterioridad las alternativas de tecnología necesarias para satisfacer un conjunto de necesidades de un producto. <br />Se trata de una prospectiva por objetivos que, entre otras funciones, ayuda a identificar necesidades y tecnologías, proporciona información necesaria en la toma de decisiones, identifica tecnologías críticas o vacíos en tecnología que deben llenarse para poder desarrollar productos con desempeños específicos y analiza el proceso a través del tiempo. <br />5.1. QUE ES EL ROADMAP? <br />El Roadmap o “Mapeo de rutas” describe un ambiente futuro, los objetivos que pueden llegar a obtenerse con ese ambiente y los planes para lograr los objetivos planteados a través del tiempo. Explicita una estructura, o arquitectura, como una vía para el entendimiento de cómo las partes de un complejo sistema tecnológico encajan, interactúan y evolucionan. Así mismo, articula aplicaciones, desafíos tecnológicos y soluciones tecnológicas en forma conjunta y ayuda a establecer las prioridades para la consecución de los objetivos. <br />QUE ES EL ROADMAPPING? <br />La mejor hoja de ruta es creada a partir de un trabajo en equipo, recibiendo las visiones y el conocimiento de un grupo de personas que llevan a cabo el plan de mapeo de rutas. El proceso de Roadmapping ayuda al equipo a reunir diversas perspectivas sobre todos los aspectos del ambiente y del plan. Así mismo ayuda al equipo a construir un consenso para llevar a cabo el plan de acción. El mapeo de rutas también es la base para la descripción de los objetivos. <br />ESTRUCTURA DEL ROADMAPPING <br />El mapeo de rutas explicita campos de acción y permite trazar directrices para el planteamiento de acciones orientadas a responder o desarrollar completamente un conjunto de preguntas: <br />“Por qué – Qué – Cómo - Cuándo” elementos importantes para poder desarrollar planes y proyectos de acción en la dirección de los objetivos planteados y alcanzar las metas buscadas. La siguiente figura describe las cuatro partes de la arquitectura con base en un mapeo de rutas. <br />El mapeo de rutas puede ser construido comenzando con la definición de las principales necesidades del mercado para luego definir las tecnologías necesarias. (Prospectiva por entradas del mercado). Recíprocamente, al mapeo también puede comenzar con la definición de tecnologías claves y proseguir con los requerimientos del mercado que pueden ser satisfechos con esas tecnologías. (Prospectiva por entradas de tecnologías) <br />2.3.7 Modelo de Terry<br />El modelo de Terry Tales servidores de nombre se llaman las autoridades que nombra o servidores autoritarios de nombre para eso objetan. El problema es cómo distribuir servidores de nombre, esto es, que de las estructuras de una facilidad de nombramiento es el mejor. <br />Los criterios diferentes pueden ser tomados en cuenta al desarrollar la facilidad de nombramiento para sistemas de cómputo distribuidos. En la etapa de análisis de la estructura de facilidad de nombramiento, usaremos la mayor parte de importante de esos criterios, a saber actuación. Este criterio es importante para un ambiente distribuido porque que hay usualmente un número de redes interconectadas (lo mismo es cierto en caso de una red de área local conectando un número grande de computadoras personales y / o los puestos de trabajo, y los servidores diferentes), lo cual insinúa que el costo de comunicación entre clientes y servidores de nombre es el cuello de botella principal en localizar recursos remotos. En este caso, la actuación de averiguaciones del servidor de nombre es dominada por el número 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. <br />Los factores que afectan la eficiencia con la cual el espacio de nombre puede ser manejado y el costo de recuperar información del servidor de nombre son: <br />+ El di denota el costo de ejecutar una averiguación en NS, éste costado depende de tales factores como el tamaño global de la base de datos mantenida por NSi, y la clase de instalaciones de la base de datos utilizaron. Se asume que se compone con el paso del tiempo. + El cui es el costo de comunicar con NSi de cliente u, depende del sitio en el cual el cliente ejecuta, Este costo depende de tales factores como el número de portales de acceso atravesados, y la velocidad de líneas de transmisión. + El CUi especifica el costo completo de ganar acceso al servidor de nombre, NSi, remotamente de cliente u, y sea expresada por la siguiente fórmula: <br />El costo de recuperar la información del servidor de nombre acerca de un set de denominado así es que urce s depende de posición del cliente relativo a servidores diversos de nombre y la mezcla remisiva del cliente y puede ser expresado por la fórmula: <br />Donde Luk representa el coste total de poner en duda la información en partición de la base de datos dk, incluir el costo de localizar los datos deseados. Porque estamos interesados en el costo de recuperar la entrada del servidor de nombre de un objeto individual, ignoraremos los patrones de acceso del cliente en E (Lu) ‘ concentrándose sólo en Luk ‘ <br />4.8.2 Structures de la facilidad de nombramiento <br />Las siguientes estructuras básicas de facilidad de nombramiento para los sistemas operativos distribuidos han sido identificadas por Terry (1984) e Indulska y Goscinski (1989): <br />(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 jerárquica de nombramiento. <br />Una cierta cantidad de estas estructuras y sus modificaciones son ilustradas en Fig.7.29. <br />Las estructuras de facilidad Fig. 7.29 Nombre. El sistema (5) centralizado, – (6) - el sistema replegado, (7) el sistema descentralizado con división en los tipos del objeto, (1) completamente distribuyó sistema (2) recursos locales conocidos en cada nodo y el mensaje emitido por radio pasando para servidores del recurso en cada nodo, (3) distribuyó sistema (4) recursos locales conocidos en cada nodo, sistema con creces distribuido dirección del recurso determinó por una función de hashing que se definió sobre el set de identificadores del recurso, jerárquico -. <br />Ahora, describiremos estas estructuras de facilidad de nombramiento enfatizando evaluación de rendimiento. La presentación de estos temas se basa en la actuación que el modelo desarrolló por Terry, y también por Indulska y Goscinski. <br />Las instalaciones centralizadas de nombramiento <br />Una facilidad centralizada de nombramiento es implementada usando un servidor solo de nombre, lo cual mantiene una mesa o base de datos con tal que el nombre necesario para ocuparse de mapeos. Este sistema maneja un espacio plano de nombre donde los nombres son cadenas de caracteres no exhibiendo estructura. La base de datos del servidor de nombre es aumentada registrando servicios, va en procesión, pone a babor (los buzones) y otros detalles pertinentes que quieren ser públicamente sabidos. Los directorios del archivo pueden ser considerados como una causa especial de servicio de nombre. En este caso, Sk = NS. El servidor de nombre contiene que la colección completa de información aproximadamente toda nombró objetos en el ambiente distribuido. El costo de recuperación es simplemente Lk = C, dónde la C especifica el coste máximo de ganar acceso a servidor de nombre NS remotamente por la u más lejana del cliente. <br />La ventaja de esta estructura de nombramiento es su simplicidad, y la evitación de cualquier problemas de incongruencia que se identificó en algunos sistemas con más que un servidor. Las desventajas son fiabilidad de punto bajo del sistema enteramente distribuido, y el tráfico grande los retrasos aéreos y largos en ganar acceso al servidor y antes de iniciar una transmisión orientada en servicio requerida. <br />Los sistemas replegados de nombramiento <br />Una facilidad replegada de nombramiento maneja un espacio plano de nombre también. Cada nodo de la computadora (el sitio) del sistema distribuido mantiene una copia de la base de datos con tal que los mapeos del nombre a la dirección necesarios para el sistema entero. En este caso, Sk = { NS1. . . , NSN } ‘ Porque cada servidor de nombre contiene una” colección completa ‘ De información aproximadamente toda nombró objetos (los recursos) del sistema distribuido, cualquier cliente puede interrogar el servidor de nombre físicamente más cercano, implícito aquí N Smain” que éste significa que el costo de recuperación es simplemente cañería maestra Lk = C. <br />Este sistema tiene las siguientes ventajas: Es muy rápido, que no tiene retrasos de levantes obligatorios de operación, el número de mensajes de orientes obligatorio es cero, y tiene fiabilidad alta. El problema mantienen consistencia entre copias, nombran problemas de materialización (si un proceso muere, entonces o un servicio se vuelve agotado) y requisitos grandes de memoria de cada nodo. <br />La entrada de la base de datos de nombre orientó descentralizó sistemas <br />Una entrada de la base de datos de nombre orientó descentralizó sistema también maneja un espacio plano de nombre, pero cada entrada del servidor de nombre es almacenada en algún sitio arbitrario. En este caso, Sk = { NS ¡ }. Tal solución para una estructura de facilidad de nombramiento insinúa que el almacenamiento y los problemas de consistencia, mencionadas en el acercamiento previo, es evitado. Ésta es la ventaja principal de esta estructura. <br />