Académique Documents
Professionnel Documents
Culture Documents
I N S T I T U T O T E C N OL Ó G I C O D E C A N C Ú N
LICENCIATURA EN INFORMATICA
ALUMNO:
ASIGNATURA:
PROFESOR:
TRABAJO:
Unidad 2
1
Comunicación en los sistemas operativos distribuidos
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, en este caso es
trasparente para el usuario. Existen dos esquemas básicos de éstos. Un sistema fuertemente
acoplado esa es aquel que comparte la memoria y un reloj global, cuyos tiempos de acceso
son similares para todos los procesadores. En un sistema débilmente acoplado los
procesadores no comparten ni memoria ni reloj, ya que cada uno cuenta con su memoria
local.
Los sistemas distribuidos deben de ser muy confiables, ya que si un componente del sistema
se compone otro componente debe de ser capaz de reemplazarlo.
Entre los diferentes Sistemas Operativos distribuidos que existen tenemos los siguientes:
Sprite, Solaris-MC, Mach, Chorus, Spring, Amoeba, Taos, etc.
2
2.1 comunicación Sod
Los procesos, para comunicarse, deben apegarse a reglas conocidas como protocolos.
Para los sistemas distribuidos en un área amplia, estos protocolos toman frecuentemente la
forma de varias capas y cada capa tiene sus propias metas y reglas.
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.
1) Ejecución de un programa.
2) Acceso a una Base de Datos.
3
3) Acceso a un dispositivo de hardware.
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.
Por lo que son necesarios tres recursos que originan el concepto de socket
b) Una dirección del Protocolo de Red (Dirección IP, si se utiliza el Protocolo TCP/IP),
que identifica una computadora.
Si un socket es un punto final de un puente de comunicaron de dos vías entre dos programas
que se comunican a través de la red, ¿Cómo funciona? Normalmente, un servidor funciona
en una computadora específica usando un socket con un número de puerto específico. El
cliente conoce el nombre de la maquina (hostname) o el IP, en la cual el servidor está
funcionando y el número del puerto con el servidor está conectado.
Si el cliente lanza una demanda de conexión y el servidor acepta la conexión, este abre un
socket en un puerto diferente, para que pueda continuar escuchando en el puerto original
nuevas peticiones de conexión, mientras que atiende a las peticiones del cliente conectado.
El cliente y el servidor pu8eden ahora comunicarse escribiendo o leyendo en sus respectivos
sockets.
4
Los tipos de socket definen las propiedades de comunicación visibles para la aplicación. Los
procesos se comunican solamente entre los sockets del mismo tipo. Existen cinco tipos de
sockets.
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
pueda atender a varios clientes al mismo tiempo.
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.
II. Se garantiza que todo octeto llegará a su destino en el mismo orden en que se ha
transmitido.
Los tipos de socket definen las propiedades de comunicación visibles para la aplicación. Los
procesos se comunican solamente entre los sockets del mismo tipo. Existen tres tipos
básicos de sockets:
• Socket de flujo: da un flujo de datos de dos vías, confiable, y sin duplicados sin límites
de grabación. El flujo opera en forma parecida a una conversación telefónica. El tipo
5
del socket es SOCK_STREAM, el cual en el dominio de Internet usa TCP
(Transmission Control Protocol).
Programa cliente:
Programa servidor:
6
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.
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 estandard 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.
El stub cliente reúne luego los parámetros y los empaqueta en un mensaje. Esta operación
se conoce como reunión de argumentos (parameter marshalling). Después que se ha
construido el mensaje, se lo pasa a la capa de transporte para su transmisión
Cuando el mensaje llega al servidor, la entidad de transporte lo pasa al stub del servidor
Paso 4. Que desempaqueta los parámetros. El stub servidor llama luego al procedimiento
servidor.
Paso 7. Posiblemente mediante una llamada al sistema, al igual que en el paso 2. Después
que la respuesta retorna a la máquina cliente.
Paso 9. Que desempaqueta las respuestas. Finalmente, el stub cliente retorna a su llamador,
el procedimiento cliente y cualquier valor devuelto por el servidor en el paso 6, se entrega al
cliente.
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.
Broadcast o difusión forzada: un nodo emite todos los escuchan y solo contesta a
quien va dirigido el mensaje
Multicast: se entrega el mensaje a todos los anfitriones HOST que están compuestos
de ciertas características.
Unicast o pointcast: un nodo emite y otro recibe, solo escucha aquel a quien se dirigió
el mensaje.
Una clasificación adicional es la realizada en base a grupos:
Listas de destinarios: se tiene una lista de aquellos a los que se les enviara el
mensaje.
Identificador de grupo: se forman grupos y el mensaje es dirigido solo a los miembros
de ese grupo.
Predicador de pertenencia: se envía y otro recibe, solo escucha aquel a quien se
dirigió el mensaje.
8
2.1.4.- Tolerancia a fallos
Los sistemas tolerantes a fallos requerirán cada vez más una considerable redundancia en
hardware, comunicaciones, software, datos, etc.
También debería contemplarse la posibilidad de que los sistemas funcionen aún con la
carencia de parte de los datos.
Los tiempos de fallo aceptables por los usuarios serán cada vez menores.
En sistemas con una única CPU las regiones críticas, la exclusión mutua y otros problemas
de sincronización son resueltos generalmente utilizando métodos como semáforos y
monitores. Estos métodos no se ajustan para ser usados en sistemas distribuidos ya que
invariablemente se basan en la existencia de una memoria compartida.
No es posible reunir toda la información sobre el sistema en un punto y que luego algún
proceso la examine y tome las decisiones.
Si para asignar un recurso de E/S un proceso debe recolectar información de todos los
procesos para tomar la decisión esto implica una gran carga para este proceso y su caída
afectaría en mucho al sistema.
Idealmente, un sistema distribuido debería ser más confiable que las máquinas individuales.
Alcanzar la sincronización sin la centralización requiere hacer cosas en forma distinta a los
sistemas operativos tradicionales.
9
2.2.1.- Relojes físicos
Se deben sincronizar: Con los relojes del mundo real. Entre sí. La medición del tiempo real
con alta precisión no es sencilla. Desde antiguo el tiempo se ha medido astronómicamente.
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.
Los físicos definieron al segundo como el tiempo que tarda el átomo de cesio 133 para hacer
9.192.631.770 transiciones.
Se tomó este número para que el segundo atómico coincida con el segundo solar promedio
de 1958. La Oficina Internacional de la Hora en París (BIH) recibe las indicaciones de cerca
de 50 relojes atómicos en el mundo y calcula el tiempo atómico internacional (TAI). Como
consecuencia de que el día solar promedio (DSP) es cada vez mayor, un día 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). El Instituto Nacional del
Tiempo Estándar (NIST) de EE. UU. Y de otros países: Operan estaciones de radio de onda
corta o satélites de comunicaciones. Transmiten pulsos UTC con cierta regularidad
establecida (cada segundo, cada 0,5 mseg, etc.). Se deben conocer con precisión la posición
relativa del emisor y del receptor: Se debe compensar el retraso de propagación de la señal.
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. Se dificulta la obtención del tiempo con una precisión extremadamente
alta.
10
Las computadoras poseen un circuito para el registro del tiempo conocido como dispositivo
reloj. Es un cronómetro consistente en un cristal de cuarzo de precisión sometido a una
tensión eléctrica que:
• Registro contador.
• Registro mantenedor.
Cada oscilación del cristal decremento en “1” al contador. Cuando el contador llega a “0”: Se
genera una interrupción. El contador se vuelve a cargar mediante el registro mantenedor. Se
puede programar un cronómetro para que genere una interrupción “x” veces por segundo.
Cada interrupción se denomina marca de reloj. Para una computadora y un reloj:
• Todos los procesos de la máquina usan el mismo reloj y tendrán consistencia interna.
• Importan los tiempos relativos.
11
Los relojes físicos son relojes que:
Para sincronizar los relojes lógicos, Lamport definió la relación ocurre antes de (happens-
before):
• Sí “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 relación transitiva: Si “a –> b” y “b –> c”, entonces “a –> c”.
• Si dos eventos “x” e “y” están en procesos diferentes que no intercambian mensajes,
entonces “x –> y” no es verdadero, pero tampoco lo es “y –> x”:
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 estén de acuerdo:
El tiempo del reloj, “C”, siempre debe ir hacia adelante (creciente), y nunca hacia atrás
(decreciente).
Consideramos tres procesos que se ejecutan en diferentes máquinas, cada una con su
propio reloj y velocidad:
El proceso “0” envía el mensaje “a” al proceso “1” cuando el reloj de “0” marca “6”.
Si el mensaje acarrea el tiempo de inicio “6”, el proceso “1” considerará que tardó 10 marcas
de reloj en viajar.
El mensaje “c” de “2” a “1” sale en “60” y llega en “56”, tardaría un tiempo negativo, lo cual es
imposible.
12
El mensaje “d” de “1” a “0” sale en “64” y llega en “54”.
Cada mensaje acarrea el tiempo de envío, 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 más que el tiempo de envío.
Memoria Caché
La idea es conservar allí los bloques de disco de acceso más 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 del servidor tiene un efecto
decisivo sobre la confiabilidad y el rendimiento del sistema. La política más 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.
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
13
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é.
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.
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.
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:
Algoritmo de Cristian
• 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 segundos. El despachador del tiempo responde prontamente con unr / 2 d
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:
Algoritmo de Berkeley:
Indica a las demás máquinas que avancen su reloj o disminuyan la velocidad del mismo
hasta lograr la disminución requerida. Es adecuado cuando no se dispone de un receptor
UTC.
Los anteriores son algoritmos centralizados. Una clase de algoritmos descentralizados divide
el tiempo en intervalos de re sincronización de longitud fija, El iésimo intervalo:
Al inicio de cada intervalo cada máquina transmite el tiempo actual según su reloj. Debido a
la diferente velocidad de los relojes las transmisiones no serán simultáneas. Luego de que
una máquina transmite su hora, inicializa un cronómetro local para reunir las demás
transmisiones que lleguen en cierto intervalo “S”. Cuando recibe todas las transmisiones se
ejecuta un algoritmo para calcular una nueva hora para los relojes. Una variante es
promediar los valores de todas las demás máquinas. Otra variante es descartar los valores
extremos antes de promediar (los “m” mayores y los “m” menores). Una mejora al algoritmo
considera la corrección por tiempos de propagación.
15
Varias Fuentes Externas de Tiempo
Los sistemas que requieren una sincronización muy precisa con UTC se pueden equipar con
varios receptores de UTC. Las distintas fuentes de tiempo generaran distintos rangos
(intervalos de tiempo) donde “caerán” los respectivos UTC, por lo que es necesaria una
sincronización. Como la transmisión no es instantánea se genera una cierta incertidumbre en
el tiempo. Cuando un procesador obtiene todos los rangos de UTC. Verifica si alguno de
ellos es ajeno a los demás y de serlo lo descarta por ser un valor extremo.
• La intersección determina un intervalo cuyo punto medio será el UTC y la hora del reloj
interno. Se deben compensar los retrasos de transmisión y las diferencias de velocidades de
los relojes. Se debe asegurar que el tiempo no corra hacia atrás. Se debe re sincronizar
periódicamente desde las fuentes externas de UTC.
Exclusión Mutua:
• Primero ingresa a una región crítica para lograr la exclusión mutua y garantizar que ningún
otro proceso utilizará las estructuras de datos al mismo tiempo. En sistemas
monoprocesadores las regiones críticas se protegen con semáforos, monitores y similares.
En sistemas distribuidos la cuestión es más compleja.
Un Algoritmo Centralizado:
Un Algoritmo Distribuido:
El objetivo es no tener un único punto de fallo (el coordinador central). Un ej. Es el algoritmo
de Lamport mejorado por Ricart y Agrawala. Se requiere un orden total de todos los eventos
en el sistema para saber cuál ocurrió primero. Cuando un proceso desea entrar a una región
crítica: Construye un mensaje con el nombre de la región crítica, su número de proceso y la
hora actual. Envía el mensaje a todos los demás procesos y de manera conceptual a él
mismo. Se supone que cada mensaje tiene un reconocimiento. Si el receptor no está en la
región crítica y no desea entrar a ella, envía de regreso un mensaje o.k. al emisor. Si el
receptor ya está en la región crítica no responde y encola la solicitud. Si el receptor desea
entrar a la región crítica pero aún no lo logró, compara. La marca de tiempo del mensaje
recibido con, la marca contenida en el mensaje que envió a cada uno. La menor de las
marcas gana. Si el mensaje recibido es menor el receptor envía un o.k. Si su propio
mensaje tiene una marca menor el receptor no envía nada y encola el pedido. Luego de
enviar las solicitudes un proceso: Espera hasta que alguien más obtiene el permiso. Cuando
llegan todos los permisos puede entrar a la región crítica. Cuando un proceso sale de la
región crítica: Envía mensajes o.k. a todos los procesos en su cola. Elimina a todos los
elementos de la cola. La exclusión mutua queda garantizada sin bloqueo ni inanición. El
número de mensajes necesarios por entrada es “2(n - 1)”, siendo “n” el número total de
procesos en el sistema. No existe un único punto de fallo sino “n”. Si cualquier proceso falla
no responderá a las solicitudes. La falta de respuesta se interpretará como negación de
acceso: o Se bloquearán los siguientes intentos de los demás procesos por entrar a todas las
regiones críticas. Se incrementa la probabilidad de fallo en “n” veces y también el tráfico en la
red. Se puede solucionar el bloqueo sí. El emisor espera y sigue intentando hasta que
regresa una respuesta o el emisor concluye que el destinatario está fuera de servicio. Otro
problema es que se utilizará una primitiva de comunicación en grupo o, cada proceso debe
mantener la lista de miembros del grupo, incluyendo los procesos que ingresan, los que
salen y los que fallan. Se complica para gran número de procesos. Un importante problema
adicional es que todos los procesos participan en todas las decisiones referentes a las
entradas en las regiones críticas. Se sobrecarga el sistema. Una mejora consiste en permitir
que un proceso entre a una región crítica con el permiso de una mayoría simple de los
demás procesos (en vez de todos): Luego de que un proceso otorgó el permiso a otro para
entrar a una región crítica, no puede otorgar el mismo permiso a otro proceso hasta que el
primero libere su permiso.
Algoritmos de Elección:
Son los algoritmos para la elección de un proceso coordinador, iniciador, secuenciador, etc.
El objetivo de un algoritmo de elección es garantizar que iniciada una elección ésta concluya
con el acuerdo de todos los procesos con respecto a la identidad del nuevo coordinador.
17
Transacciones Atómicas: Las técnicas de sincronización ya vistas son de bajo nivel:
• La exclusión mutua.
• El manejo de las regiones críticas.
• La prevención de bloqueos.
• La recuperación de fallas.
Nominación:
La nominación es una correspondencia entre objetos de datos lógicos y físicos. Por ejemplo,
los usuarios tratan con objetos de datos lógicos representados por nombre de archivos,
mientras que el sistema manipula bloques de datos físicos almacenados en las pistas de los
discos. Generalmente un usuario se refiere a un archivo utilizando un nombre, el cual se
transforma en un identificador numérico de bajo nivel, que a su vez se corresponde con
bloques en disco. Esta correspondencia multinivel ofrece a los usuarios la abstracción de un
archivo, que oculta los detalles de cómo y dónde se almacena el archivo en disco.
Estructuras de Nominación:
Existen dos conceptos que hay que distinguir en relación con la correspondencia de nombres
en un SAD.
18
Transparencia de Nominación, El nombre de archivo no revela ningún indicio sobre de la
ubicación del almacenamiento físico del archivo.
Esquema de Nominación:
Hay tres enfoques principales para los esquemas de nominación en un SAD. En el enfoque
más 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.
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.
19
dirección de e-mail y espacio correspondiente). También puede dar acceso a ciertos
contenidos no accesibles al público en general, como por ejemplo un usuario
registrado en un periódico on-line con acceso por suscripción.
Usuario anónimo: Es usuario anónimo en informática aquel que navega en sitios web
(o usa cualquier servicio de la red) sin autenticarse como usuario registrado. En
algunos servicios en Internet se dispone de un modo de uso como usuario registrado y
otro como usuario anónimo; normalmente, el usuario registrado goza de mayores
privilegios.
El anonimato en Internet es uno de sus puntos fuertes, a la vez que motivo habitual de
discusión. A los usuarios les gusta sentirse libres para expresarse, mientras que
ciertos organismos quisieran un mayor control de todo el movimiento por la red para
actuar con más eficacia contra la delincuencia online.
Sistemas operativos por servicios (visión externa). Esta clasificación es la más comúnmente
usada y conocida desde el punto de vista del usuario final. Esta clasificación se comprende
fácilmente con el cuadro sinóptico que a continuación se muestra: Por Número de Usuarios
En otras palabras los sistemas monousuarios son aquellos que nada más puede
atender a un solo usuario, gracias a las limitaciones creadas por el hardware, los
programas o el tipo de aplicación que se esté ejecutando.
Sistema operativo mono tarea. Los sistemas mono tarea son aquellos que sólo
permiten una tarea a la vez por usuario. Puede darse el caso de un sistema
multiusuario y mono tarea, en el cual se admiten varios usuarios al mismo tiempo pero
cada uno de ellos puede estar haciendo solo una tarea a la vez.
Los sistemas operativos mono tareas son más primitivos y, solo pueden manejar un
proceso en cada momento o que solo puede ejecutar las tareas de una en una.
21
La multitarea suele asociarse con soporte hardware y software para protección de memoria
con el fin de evitar que procesos corrompan el espacio de direcciones y el comportamiento
de otros procesos residentes.
Se dice que un thread es la parte activa en memoria y corriendo de un proceso, lo cual puede
consistir de un área de memoria, un conjunto de registros con valores específicos, la pila y
otros valores de contexto.
22
2.3.3.- Resolución y Distribución
La resolución es aquella parte de la regla de actuación que nos indica qué es lo que el SI
debiera hacer en una determinada situación. Es uno o más conceptos cuya ejecución,
realizada por los elementos físicos del sistema, produce un cambio en el entorno.
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.
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.
23
2.3.5.- Mapeo de direcciones
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.
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.
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.
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ías en tecnología que deben llenarse para poder
desarrollar productos con desempeños específicos y analiza el proceso a través del tiempo.
¿Qué es el roadmap?
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.
¿Qué es el roadmapping?
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.
“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.
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).
25
2.3.7.- Modelo de Terry
Los mensajes remitentes entre los procesos y objetos soportados por un sistema operativo
precisa la presentación para el sistema operativo de los nombres de los objetos que los
procesos quieren ganar acceso a. El problema es cómo localizar objetos nombrados. Esto
está directamente conectado a la gerencia del espacio de nombre y las estructuras de la
facilidad de nombramiento.
Como ha visto, acto de servidores de nombre como agentes obligatorios distribuidos que
amarran el nombre de un objeto para una cierta cantidad de sus propiedades, incluyendo la
posición del objeto. Algunos servidores de nombre pueden almacenar información 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 cómo distribuir servidores
de nombre, esto es, que de las estructuras de una facilidad de nombramiento es el mejor.
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:
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
26
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.
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.
27
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.
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.
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, son evitados. Ésta es la ventaja principal de esta
estructura. El inconveniente de este sistema localiza los datos deseados, porque eso arruine
necesite interrogar cada servidor de nombre. Por término medio, la mitad de servidores de
nombre deben ser a los que se ganó acceso para recuperar información del objeto.
Dado que los saques de nombre son puestos en duda en la ordenación numérica, la
recuperación costada es como sigue:
28
Este sistema es valioso en términos de búsquedas del servidor de nombre.
Ninguno de los sistemas descritos anteriormente es muy práctico para sistemas distribuidos
grandes. La situación puede ser mejorada añadiendo estructura para el nombre de un objeto.
Esta estructura debería reflejar la autoridad de la gerencia para el nombre.
Si los servidores de nombre son sin ambigüedades nombrados luego el nombre completo _
servidor correcto de @ nombre de _ nombre es globalmente inequívoco. La gerencia efectiva
de tal espacio de nombre siguiendo esta convención de nombramiento requiere que cada
servidor de nombre sabe la posición de otros servidores de nombre.
Consideremos los costos de búsqueda. Suponga, por el momento, que los datos de cada
organización están bajo la dirección de un servidor solo de nombre al igual que con un
espacio de nombre físicamente subdividido, Sk = { NSJ. Para eficazmente ganar acceso a
información acerca de un objeto dado, cada servidor de nombre debería saber cuál servidor
de nombre tiene responsabilidad para cada organización. Basadas en esta estructura, las
averiguaciones del servidor de nombre pueden ser tramitadas en pasos dobles como en
sistemas de nombramiento físicamente subdivididos.
Dos recuperaciones de la base de datos son siempre precisadas desde que un servidor de
nombre no puede determinar de todos modos es la autoridad para los datos deseados sin
consultar la base de datos local. Si el servidor primario de nombre puede recuperar y puede
devolver la entrada del servidor de nombre directamente al descubrir que es el sitio de
almacenamiento para los datos deseados, entonces luego.
Esta fórmula fue desarrollada en la suposición que el servidor autoritario más cercano de
nombre puede ser determinado con costo insignificante. El costo para un sistema con datos
replegados debería estar menos del costo pues un sistema con espacio de nombre de
organizacional-Partición desde que el servidor de nombre ganó acceso a por clientes
30
diversos, N Smink puede diferir de cliente para el cliente, considerando en el caso previo
cada cliente se ve forzado a ganar acceso al mismo servidor de nombre.
La influencia de la copia de datos puede ser ilustrada por un ejemplo muy simple. Deje la R
ser número de materiales noticiosos, R~N, distribuido uniformemente, esto es, R servidores
autoritarios de nombre está seleccionado al azar para cada partición de la base de datos.
Doy por supuesto que los servidores de nombre son ordenados algo semejante que C<C
para yo < la j y NS. = NS.. Esta suposición no insinúa cualquier pérdida de generalidad.
Una facilidad jerárquica de nombramiento es una extensión del sistema previo por nombres
estructurados de dos partes extensibles para los nombres jerárquicos consistente en más
que dos partes. Hay dos avances básicos: El número fijo de estratos, o una jerarquía
arbitraria. Con gerencia jerárquica del espacio de nombre, los datos completos (Sk para toda
k) de configuración del servidor de nombre no necesitan guardarse en cada servidor de
nombre. Es suficiente que cada tienda del servidor de nombre lo suficientemente sólo
información localizar los servidores autoritarios de nombre para el nivel de la parte superior
de la jerarquía. Los servidores nivelados máximos de nombre deberían saber que los
servidores autoritarios de nombre para el nombre espacian subárboles directamente bajo su
control administrativo. Un análisis de estructuras jerárquicas de nombramiento puede ser
realizado por recursivamente aplicar las técnicas para los nombres de dos partes. Considere
un sistema usando los nombres de la forma _ nombre local: El dominio: La organización, esto
es, una jerarquía con tres niveles.
31