Historia y características de sistemas distribuidos
Historia y características de sistemas distribuidos
El tamao de un sistema distribuido puede ser muy variado, ya sean decenas de hosts (red de rea
local), centenas de hosts (red de rea metropolitana), o miles, o millones de hosts (Internet); esto se
denomina escalabilidad. 1
Un sistema distribuido es una coleccin de computadoras
aparecen
ante
los
usuarios
del
sistema
como
una
independientes que
nica
computadora
El acceso a un recurso remoto deber de ser igual que si se accediera a un recurso local.
Se deber de poder acceder a los distintos recursos sin conocer la localizacin de los mismos,
es decir, para acceder a un recurso remoto no habr que conocer de que nodo depende.
Los diferentes recursos (p.e. ficheros) podrn migrar de localizacin sin afectar a los usuarios.
El acceso concurrente a un mismo recurso no afectar a los usuarios.
La existencia de rplicas de los recursos no afectar a los usuarios.
La ocurrencia de fallos en alguno de los nodos no afectar a los usuarios.
El crecimiento del sistema no afectar a los usuarios.
El posible carcter heterogneo de los nodos del sistema no afectar a los usuarios.
Fiabilidad
La fiabilidad en los sistemas distribuidos se tiene que buscar desde dos puntos de vista distintos:
Fiabilidad como disponibilidad: es decir, se busca un sistema de alta disponibilidad mediante la
redundancia de nodos y recursos.
Fiabilidad como coherencia: se tiene que buscar que la informacin que procesa el sistema
siempre sea coherente, aspecto que en sistemas en los que se utiliza la redundancia se dificulta
bastante.
Rendimiento
El rendimiento que se persigue no debe de ser peor que en un sistema centralizado y debe de ser
proporcional al nmero de procesadores empleado. Para conseguirlo se deben de tener unas buenas
polticas de equilibrado de carga. En este aspecto el principal problema es que a ms nmero de
procesadores ms elementos crticos corren el riesgo de convertirse en cuellos de botella, por
ejemplo la red de comunicaciones.
Escalabilidad
El diseo del sistema tiene que tratar de evitar, principalmente en sistemas que vayan a contar con
un gran nmero de elementos de proceso, los cuellos de botella (p.e.: componentes centralizados,
tablas
centralizadas,
algoritmos
centralizados).
Si se disea de forma cuidadosa y planificada, el que el sistema crezca mediante la adicin de
nuevos nodos al sistema nos proporcionar un aumento del rendimiento proporcional con el nmero
de procesadores que aadamos.
Flexibilidad
La flexibilidad se entiende como la capacidad de ampliar o extender el sistema con nuevas
funcionalidades de forma sencilla. Un ejemplo claro de la flexibilidad es la que se consigue con el uso
de soluciones de sistemas abiertos, ya que al estar basados en estndares y en interfaces y
protocolos pblicos no se depende de ningn fabricante a la hora de extender las funcionalidades del
mismo.
4. Conceptos de hardware
Concepto de Hardware: Son todos los dispositivos y componentes fsicos que realizan las tareas de
entrada y salida, tambin se conoce al hardware como la parte dura o fsica del computador. La
mayora de las computadoras estn organizadas de la siguiente forma:
Los dispositivos de entrada (Teclados, Lectores de Tarjetas, Lpices pticos, Lectores de Cdigos
de Barra, Escner, Mouse, etc.) y salida (Monitor, Impresoras, Plotters, Parlantes, etc.) y permiten la
comunicacin entre el computador y el usuario.
5. Conceptos de software
Concepto de Software: El software es un ingrediente indispensable para el funcionamiento del
computador. Est formado por una serie de instrucciones y datos, que permiten aprovechar todos los
recursos que el computador tiene, de manera que pueda resolver gran cantidad de problemas. Un
computador en si, es slo un conglomerado de componentes electrnicos; el software le da vida al
computador, haciendo que sus componentes funcionen de forma ordenada.
El software es un conjunto de instrucciones detalladas que controlan la operacin de un sistema
computacional.
6. Aspectos de diseo
1.
2.
3.
4.
Accesibilidad
Transparencia
Apertura
Escalabilidad
Accesibilidad
Un sistema distribuido debe garantizar que los recursos puedan ser accedidos de forma rpida y
eficiente por usuarios y programas.
Con recursos nos referimos a cualquier recurso como almacenamiento, dispositivos de entrada y
salida respectivamente, en resumen cualquier recurso.
Un ejemplo claro es un sistema de correo electrnico como Hotmail, Gmail o cualquiera. Estos se
encuentran disponibles casi un 100% del tiempo lo que permite una accesibilidad idnea.
Transparencia
La transparencia se refiere al ocultamiento de recursos y procesos para el usuario. El usuario sabe
que existen, logran ser transparentes si el usuario no nota la diferencia entre un proceso que se
ejecuta localmente y uno que se ejecuta en un equipo remoto. Existen diferentes tipos de
transparencia.
Como ejemplo una aplicacin como Dropbox, este te brinda un servicio de archivos pero siempre se
desconoce que equipo de computo o servidor recibe y sincroniza tus archivos.
Apertura
Cuando se disea un sistema distribuido, es difcil garantizar que los recursos se recursos se
encuentren disponibles de forma eficiente y a la vez sean transparentes, sin tomar en cuenta la
seguridad de los mismos.
Qu tantas validaciones hay que hacer para que el recurso sea seguro y a la vez eficiente?
Cuantas ms precauciones se tome ms trafico en la red se genera y ms difcil ser garantizar la
eficiencia de los recursos.
Escalabilidad
Modelos de interaccin:
Cliente/servidor: (2-niveles, 3-niveles o n-niveles)
Peer-to-peer: Equilibrio de roles.
Intermediarios: Proxy, Dispacher, Caches, ...
Unicast vs Multicast
Fiabilidad.
Sncronos vs Asncronos
Tecnologas de comunicacin:
Tecnologas de comunicacin:
Paso de mensajes: Berkeley sockets.
Llamada a procedimientos remotos: RPC.
Tecnologas de objetos distribuidos: CORBA, DCOM, EJB
Cdigo mvil: Entornos de agentes.
Sistemas de Ficheros Distribuidos
Identificacin, localizacin y acceso a elementos del entorno distribuido.
Comprende:
Cuestiones:
Nombrado e identificacin.
Seguridad y fiabilidad.
Comunicaciones.
...
Modelos de consistencia
Gestin de Procesos
Planificacin de procesos:
Planificacin interna: Procesos y threads.
Planificacin global.
Migracin y equilibrado de carga.
Aprovechamiento de mquinas inactivas.
Servicio de Seguridad
Tipologa de los ataques:
Privacidad y confidencialidad.
Autenticacin (spoofing).
Denegacin de servicio.
Modelos y herramientas de seguridad:
Cifrado: clave pblica (RSA) y privada (DES).
Protocolos de seguridad: IPsec, SSL.
Certificados y firmas digitales: X.509.
Elementos de seguridad: Firewalls.
Entornos seguros: e.g. Kerberos.
CAPITULO II
1. COMUNICACIN EN LOS SISTEMAS DISTRIBUIDOS
1.1. Protocolo con capas
Debido a la ausencia de memoria compartida, toda la comunicacin en los sistemas distribuidos se basa en
la transferencia de mensajes[25, Tanenbaum].
Cuando el proceso A quiere comunicarse con el proceso B:
Construye un mensaje en su propio espacio de direcciones.
Ejecuta una llamada al sistema para que el S. O. busque el mensaje y lo enve a travs de la red
hacia B.
Para evitar el caos, A y B deben coincidir en el significado de los bits que se enven.
Los puntos de acuerdo necesarios incluyen lo siguiente:
Cuntos voltios hay que utilizar para un bit 0 y cuntos para un bit 1?.
Cmo sabe el receptor cul es el ltimo bit del mensaje?.
Cmo puede detectar si un mensaje ha sido daado o perdido, y qu debe hacer si lo descubre?.
Qu longitud tienen los nmeros, cadenas y otros elementos de datos y cul es la forma en que
estn representados?.
La ISO (Organizacin Internacional de Estndares) desarroll un modelo de referencia que (ver Figura
8.1 [25, Tanenbaum]):
Identifica en forma clara los distintos niveles.
Estandariza los nombres de los niveles.
Seala cul nivel debe realizar cul trabajo.
modelo OSI. El modelo OSI est diseado para permitir la comunicacin de los
sistemas abiertos. Un 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. Un
protocolo es un acuerdo entre las partes acerca de cmo debe desarrollarse la
comunicacin. El modelo OSI maneja dos tipos generales de protocolos
(conexiones). 1. Protocolos orientados a la conexin. Antes de intercambiar
datos, el emisor y el receptor deben establecer en forma explcita una conexin
y tal vez el protocolo. 2. Protocolos con conexin. No es necesaria una
negociacin previa. 4.1.1 Modelo OSI En el modelo OSI, la comunicacin se
divide en 7 niveles o capas. Cada capa se maneja de forma independiente y se
encarga de un aspecto especfico. Cada capa proporciona una interfaz con la
capa por encima de ella. La interfaz es un conjunto de operaciones que juntas
definen el servicio que la capa est preparada para ofrecer a sus usuarios. La
ventaja de un protocolo por capaz es su independencia, ya que una capa
puede modificarse o mejorarse sin afectar a las dems. En el modelo OSI
cuando se va a enviar un mensaje, este pasa por todas las capas comenzando
en la de Aplicacin. Cada capa le coloca un encabezado al frente o al final, al
llegar el mensaje al otro lado, cada capa lo va desmenuzando, quitndole el
encabezado que le corresponde; la capa que recibe el mensaje es la capa
fsica. Capas Fisica, Enlace de Datos, Red, Transporte, Sesin, Presentacin,
Aplicacin Capa fsica Su propsito es transportar el flujo de bits de una
computadora a otra. El protocolo de la capa fsica se encarga de la
estandarizacin de las interfaces elctricas, mecnicas y de sealizacin.
Maneja elementos como la intensidad de la seal de red, cables, enchufes,
voltajes, distancias entre cables. Capa de enlace de datos La tarea principal de
esta capa es agrupar a los bits en unidades llamadas marcos o tramas, y
detectar y corregir errores. Uno de los mecanismos en la deteccin de errores
es asignar nmeros secuenciales a las tramas y a cada trama colocarle una
suma de verificacin, sino esta correcta la suma de verificacin a la hora de
recibir el marco, entonces el receptor le pide al transmisor que vuelva a
transmitir el marco x. Capa de red La tarea principal de la capa de red es elegir
la mejor ruta (a esta actividad se le llama ruteo), la ruta ms corta no siempre
es la mejor, lo importante es la cantidad de retraso, y esto complica los
algoritmos de ruteo. La capa de red maneja dos protocolos: X.25 (orientado a la
conexin) y el IP (sin conexin). Capa de transporte La tarea de la capa de
transporte es proporcionar conexiones confiables y econmicas. Las
conexiones confiables (orientadas a la conexin) se pueden construir por arriba
de X.25 o IP. En X.25 los paquetes llegan en orden, en IP no, entonces la capa
de transporte es la encargada de ponerlos en orden. El protocolo de transporte
oficial ISO tiene cinco variantes, TP0, TP1, , TP4. Los protocolos ms
utilizados en esta capa son: TCP (transmisin control protocolprotocolo para el
control de transmisiones), orientado a la conexin y UDP (universal datagrama
protocol- protocolo datagrama universal) que es un protocolo sin conexin.
Capa de sesin Esta es en esencia una versin mejorada de la capa de
transporte. Proporciona el control del dilogo, facilidades en la sincronizacin,
la posibilidad de establecer conexiones llamadas sesiones y la posibilidad de
transferir datos sobre las sesiones en forma ordenada. En la prctica rara vez
las aplicaciones soportan esta capa. Capa de presentacin Esta capa trata los
problemas relacionados con la representacin y el significado de los datos.
Cliente-Servidor
Definicin:
Sistema donde el cliente es una mquina que solicita un determinado servicio y se denomina servidor a la
mquina que lo proporciona. Los servicios pueden ser:
Ejecucin de un determinado programa.
Acceso a un determinado banco de informacin.
Servidores de correo.- Gestiona el envo y recepcin de correo de un grupo de usuarios (el servidor
no necesita ser muy potente). El servidor solo debe utilizar un protocolo de correo.
Servidor de objetos.- Permite almacenar objetos que pueden ser activados a distancia. Los clientes
pueden ser capaces de activar los objetos que se encuentran en el servidor.
Servidores de impresin.- Gestionan las solicitudes de impresin de los clientes. El cliente enva la
solicitud de impresin, el servidor recibe la solicitud y la ubica en la cola de impresin, ordena a
la impresora que lleve a cabo las operaciones y luego avisa a la computadora cliente que ya acabo su
respectiva impresin.
o
o
o
o
o
o
o
o
o
o
2.
1.
Representacin distribuida.- La interaccin con el usuario se realiza en el servidor, el cliente hace
de pasarela entre el usuario y el servidor.
3.
4.
5.
Gestin Remota de Datos.- El cliente realiza la interaccin con el usuario y ejecuta la aplicacin y el
servidor es quien maneja los datos.
6.
Base de Datos Distribuidas.- El cliente realiza la interaccin con el usuario, ejecuta la aplicacin,
debe conocer la topologa de la red, as como la disposicin y ubicacin de los datos. Se delega parte de
la gestin de la base de datos al cliente.
Cliente servidor a tres niveles.- El cliente se encarga de la interaccin con el usuario, el servidor de
la lgica de aplicacin y la base de datos puede estar en otro servidor.
7.
Leer
ms: http://www.monografias.com/trabajos16/sistemas-distribuidos/sistemasdistribuidos.shtml#ixzz3aGEVWmeW
El modelo cliente - servidor es una forma conveniente de estructurar un S. O. distribuido, pero posee una
falencia [25, Tanenbaum]:
La informacin se puede transportar de un lado al otro mediante los parmetros y puede regresar en
el resultado del procedimiento.
El procedimiento que hace la llamada y el que la recibe se ejecutan en mquinas diferentes, es decir
que utilizan espacios de direcciones distintos.
La sincronizacin de relojes en un sistema distribuido consiste en garantizar que los procesos se ejecuten en
forma cronolgica y a la misma vez respetar el orden de los eventos dentro del sistema. Para lograr esto
existen varios mtodos o algoritmos que se programan dentro del sistema operativo, entre los cuales
tenemos:
i.
Este algoritmo est basado en el uso del tiempo coordenado universal (siglas en ingls, UTC), el cual
es recibido por un equipo dentro del sistema distribuido. Este equipo, denominado receptor de UTC,
recibe a su vez solicitudes peridicas del tiempo del resto de mquinas del sistema a cada uno de los
cuales les enva una respuesta en el menor plazo posible informando el tiempo UTC solicitado, con lo
cual todas las mquinas del sistema actualicen su hora y se mantenga as sincronizado todo el sistema.
El receptor de UTC recibe el tiempo a travs de diversos medios disponibles, entre los cuales se
menciona las ondas de radio, Internet, entre otros.
Un gran problema en este algoritmo es que el tiempo no puede correr hacia atrs:
o
El tiempo del receptor UTC no puede ser menor que el tiempo de la mquina que le solicit
el tiempo.
o
El servidor de UTC debe procesar las solicitudes de tiempo con el concepto de
interrupciones, lo cual incide en el tiempo de atencin.
o
El intervalo de transmisin de la solicitud y su respuesta debe ser tomado en cuenta para la
sincronizacin. El tiempo de propagacin se suma al tiempo del servidor para sincronizar al
emisor cuando ste recibe la respuesta.
Leer
ms: http://www.monografias.com/trabajos55/sincronizacion-sistemasdistribuidos/sincronizacion-sistemas-distribuidos.shtml#ixzz3aGJrxDp3
Fin:
Un Algoritmo Centralizado
La forma ms directa de lograr la exclusin mutua en un sistema distribuido es
simular a la forma en que se lleva a cabo en un sistema monoprocesador.
Se elige un proceso coordinador.
Si un proceso pide permiso para entrar a una regin crtica ya asignada a otro
proceso:
El coordinador no otorga el permiso y encola el pedido.
Cuando un proceso sale de la regin crtica enva un mensaje al coordinador para
liberar su acceso exclusivo:
El coordinador extrae el primer elemento de la cola de solicitudes diferidas
y enva a ese proceso un mensaje otorgando el permiso, con lo cual el
proceso queda habilitado para acceder a la regin crtica solicitada.
Es un esquema sencillo, justo y con pocos mensajes de control.
La limitante es que el coordinador puede ser un cuello de botella y puede fallar y
bloquear a los procesos que esperan una respuesta de habilitacin de acceso.
Inicio:
Fin:
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 cul
ocurri primero.
Cuando un proceso desea entrar a una regin crtica:
Inicio:
Fin:
En caso positivo:
En caso negativo:
o
La vuelve a pasar.
Fin:
Inicio:
Fin:
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:
La prevencin de bloqueos.
La recuperacin de fallas.
O se hace todo lo que se tena que hacer como una unidad o no se hace
nada.
Ejemplo:
o
Deteccin:
o
Prevencin:
o
Evitarlos:
o
Procesador Un procesador o mejor conocido como microprocesador es la unidad de hardware que se encarga
de procesar los datos que estn almacenados en una computadora para producir cualquier tipo de
informacin de inters para los usuarios. Un microprocesador se compone de una Unidad Lgica-Aritmtica
(ALU) que se encarga de las operaciones bsicas dadas a travs de microprogramacin.
Leer ms: http://www.monografias.com/trabajos103/procesos-y-procesadores-sistemas-distribuidos/procesosy-procesadores-sistemas-distribuidos.shtml#ixzz3aGNJha6t
3.1. Hilos
En los sistemas operativos tradicionales cada proceso tiene un espacio de
direcciones y un hilo de control. Un hilo es una secuencia de cdigo en
ejecucin dentro del contexto de un proceso no pueden ejecutarse ellos
solos, requieren la supervisin de un proceso padre para correr. Dentro de
cada proceso hay varios hilos ejecutndose.
3.2. Modelos de sistemas
Por definicin, un sistema distribuido consta de varios procesadores. Estos se pueden organizar
como coleccin de estaciones de trabajo personales, una pila pblica de procesadores o alguna
forma hbrida. En todos los casos, se necesita cierto algoritmo para decidir cul proceso hay que
ejecutar y en qu mquina. Para el modelo de estaciones de trabajo, hay que decidir cundo
ejecutar el proceso de manera local y cundo buscar una estacin inactiva. Para el modelo de la
pila reprocesadores, hay que tomar una decisin por cada nuevo proceso.
Uso de estaciones de trabajo inactivas
Plantea el problema de encontrar estaciones de trabajo inactivas en la red que puedan ejecutar
procesos. Por lo cual las estaciones de trabajo deben de anunciar cuando no cuentan con una carga de
trabajo asignada, as todas las dems estaciones toman nota de esto y lo registran.
Modelos de asignacin
Generalmente se utilizan las siguientes hiptesis:
Todas las mquinas son idnticas o al menos compatibles en el cdigo, difieren a lo sumo en la
velocidad.
Cada procesador se puede comunicar con los dems. Las estrategias de asignacin de
procesadores se pueden dividir en 2 categoras amplias:
No migratorias:
Al crearse un proceso, se toma una decisin de donde colocarlo. Una vez colocado en la mquina, el
proceso permanece ah hasta que termina. No se puede mover, no importa lo sobrecargada que est la mquina.
Migratorias:
Un proceso se puede trasladar aunque haya iniciado su ejecucin. Permiten un mejor balance de la
carga pero son ms complejas y tienen un efecto fundamental en el diseo del sistema.
Los algoritmos de asignacin intentan optimizar:
Uso de las CPU:
Maximizar el nmero de ciclos de CPU que se ejecutan para trabajos de los usuarios. Minimizar el
tiempo de inactividad de las CPU.
Tasa de respuesta:
Minimizar la tasa de respuesta, que es el tiempo necesario para ejecutar un proceso en cierta
mquina dividido por el tiempo que tardara en cierto procesador de referencia.
Cada procesador se multiprograma con n espacios para los procesos (multiprogramacin de nivel
n). El algoritmo de Ouster hout utiliza el concepto de coplanificacin:
Toma en cuenta los patrones de comunicacin entre los procesos durante la planificacin.
Debe garantizar que todos los miembros del grupo se ejecuten al mismo tiempo.
Se emplea una matriz conceptual donde: = Las filas son espacios de tiempo.= Y las columnas son
las tablas de procesos de los procesadores.
La tolerancia a fallos es un aspecto crtico para aplicaciones a gran escala, ya que aquellas
simulaciones que pueden tardar del orden de varios das o semanas para ofrecer resultados deben
tener la posibilidad de manejar cierto tipo de fallos del sistema o de alguna tarea de la aplicacin.
Sin la capacidad de detectar fallos y recuperarse de estos, dichas simulaciones pueden no llegar a
completarse. Es ms, algunos tipos de aplicaciones requieren ser ejecutadas en un entorno
tolerante a fallos debido al nivel de seguridad requeridos.
De cualquier forma, en ciertos casos debera haber algn modo de detectar y responder
automticamente a ciertos fallos del sistema o al menos ofrecer cierta informacin al usuario en el
caso de producirse un fallo.
En PVM hay un mecanismo de notificacin de fallos, de forma que una tarea puede manejar
notificaciones sobre ciertas tareas de las que espera recibir un mensaje. Por ejemplo, si una tarea
muere, otra que estuviese esperando un mensaje de la primera recibir una notificacin en lugar
del mensaje que esperaba. De esta forma, la notificacin le da la oportunidad de responder al fallo
sin tener que fallar forzosamente.
CARACTERSTICAS.
Se activan por evento o por tiempo.
Su comportamiento debe ser predecible.
Deben ser tolerantes a fallas.
La comunicacin en los sistemas distribuidos de tiempo real debe de alto desempeo.
CLASIFICACIN.
Los sistemas de tiempo real se clasifican en general en dos tipos dependiendo de lo serio de sus
tiempos lmite y de las consecuencias de omitir uno de ellos. Estos son:
Sistema de tiempo real suave.
Sistema de tiempo real duro.
El tiempo real suave significa que no existe problema si se rebasa un tiempo lmite. Un sistema de
tiempo real duro es aquel en el que un tiempo lmite no cumplido puede resultar catastrfico.
Ejemplo de sistema de tiempo real suave.
Conmutador telefnico.
Ejemplo de sistema de tiempo real duro.
Alarma ssmica.
4. SISTEMAS DE ARCHIVOS
Un sistema de archivos distribuido o sistema de archivos de red es un sistema de
archivos de computadoras que sirve para compartir archivos, impresoras y otros recursos
como un almacenamiento persistente en una red de computadoras. El primer sistema de este
tipo fue desarrollado en la dcada de 1970, y en 1985Sun Microsystems cre el sistema de
archivos de red NFS el cual fue ampliamente utilizado como sistema de archivos distribuido.
Otros sistemas notables utilizados fueron el sistema de archivos Andrew (AFS) y el
sistema Server Message Block SMB, tambin conocido como CIFS.
Generalmente, un sistema de archivos distribuidos consta de dos componentes muy distintos entre s:
el servicio de archivos y el servicio de directorios.
La Interfaz del Servicio de Archivos
Un archivo es una secuencia de bytes sin interpretacin alguna. Esto quiere decir que el contenido
y estructura de un archivos es interpretado por el software de aplicacin mas no por el sistema
operativo sobre el que se est trabajando.
Un archivo se caracteriza por tener atributos, tales como: el propietario, el tamao, la fecha de creacin y el
permiso de acceso.
La utilidad del servicio de archivos consiste en proporcionar una adecuada administracin de los atributos,
definidos por el usuario, que estas poseen. Lo ms comn es encontrar algunos sistemas avanzados que
permitan modificarlos despus de sus creacin, pero en algunos sistemas distribuidos las
nicas operaciones que pueden realizarse sobre un archivo es CREATE y READ (Crear y Leer). Es decir, una
vez creado el archivo no puede modificarse. A este tipo de archivos se les denomina archivos inmutables.
Existen dos tipos de servicios de archivos distribuidos: modelo carga/descarga y modelo de acceso remoto.
Modelo Carga/Descarga: Consiste bsicamente en dos operaciones: lectura y escritura. Como se muestra en
la Figura 1.1, la primera operacin consiste en la transferencia de un archivo completo desde el servidor hacia
el cliente solicitante; la segunda operacin consiste en el envo de un archivo del cliente al servidor, es decir,
en sentido contrario. Mientras tanto los archivos pueden ser almacenados en memoriao en un disco local,
segn sea el caso.
El modelo carga/descarga
Modelo de Acceso Remoto: Este tipo de modelo consiste en que todas las operaciones (abrir y cerrar, leer y
escribir, etc.) se realizan en el servidor mas no en los clientes. Esto se muestra claramente en la Figura 1.2.
Figura 1.2. El modelo de acceso remoto
Estos dos modelos se diferencian en que en el primero se debe transferir el archivo completo del servidor al
cliente y viceversa, lo que no es necesario en el modelo de acceso remoto.
Debemos tener en cuenta que el solo hecho de compartir archivos puede traer dos problemas principales por
resolver: el permiso de acceso y la gestin de los accesos simultneos.
Permisos de Accesos:
Un sistema de archivos distribuidos provee al usuario de una herramienta flexible que permite compartir
archivos extensos entre ellos. Esta herramienta actualmente utilizada con mucho xito (pero con algunas
deficiencias) no es ms que una lista de derechos de acceso los cuales pueden ser asignados a un usuario en
particular para un archivo en particular. Estos derechos de acceso se muestran en la siguiente tabla:
Derecho de Acceso
Descripcin
Ninguno
Conocimiento
Ejecucin
Lectura
Adicin
Actualizacin
Cambio de proteccin
El usuario puede cambiar los derechos de acceso que han sido otorgados
a los usuarios.
Borrado
El sistema operativo o el sistema de gestin de archivos permite al usuario (que previamente ha tenido acceso
a determinado archivo) que l mismo pueda bloquear el archivo cuando vaya a utilizarlo , o en todo caso,
bloquear los registros individuales durante la actualizacin. Si no se considera ninguna de estas dos opciones,
entonces se analizar aspectos de exclusin mutua e interbloqueo.
La Interfaz del Servidor de Directorios
El propsito general del servidor de directorios es poder crear y eliminar directorios, nombrar o cambiar el
nombre de archivos y mover stos de un directorio a otro.
El sistema distribuido es el encargado de definir el alfabeto y la sintaxis para formar los nombres de los
archivos y directorios. Por ejemplo, Windows divide los nombres de lo archivos en dos partes: nombre y
extensin (tipo de archivo), los cuales se denotan separados por un punto: nombre_archivo.extensin; as
tenemos que libro.txt es un archivo cuyo nombre es libro y es de tipo texto. En otros sistemas, como elUNIX,
clasifican a los archivos segn sus atributos (en UNIX un archivo ejecutable se pinta de otro color).
Todo sistema distribuido permite la existencia de subdirectorios (directorios dentro de otro directorio),
permitindose a los usuarios clasificar sus archivos a sus gusto. Estos subdirectorios, a su vez, pueden
contener otros subdirectorios lo que se conoce como sistema jerrquico de archivos.
Algunos sistemas distribuidos permiten crear apuntadores o enlaces a un directorio determinado,
construyendo, de esta manera, no solamente rboles sino tambin grficas de directorios los cuales son ms
consistentes.
Un rbol de directorios contenido en una mquina
Esta diferencia entre rboles y grficas es de gran importancia en un sistema distribuido y radica en la
eliminacin de enlaces entre un directorio y otro. Es decir, en un rbol se puede eliminar un enlace con un
directorio si el directorio al cual se apunta es vaco, mientras que en una grfica solo puede eliminarse
enlaces mientras exista al menos otro enlace.
Una grfica de directorios en dos mquinas
Semntica de los Archivos Distribuidos
Existen hasta cuatro mtodos para utilizar los archivos compartidos en un sistema distribuido:
Semntica de UNIX: En la que cada operacin en un archivo es visible a todos los procesos de
manera simultnea. Esto implica que cada operacin cumpla un estricto orden con respecto al tiempo, puesto
que el archivo es actualizado inmediatamente despus de realizada cada operacin.
Semntica de Sesin: En la que ningn cambio es visible a otros procesos hasta que l archivo que
est siendo utilizado se cierra. Esto produce un desfasamiento en la actualizacin del archivo, puesto que un
archivo puede estar siendo utilizado por dos o ms clientes en forma simultnea y se tendr como resultado el
archivo cuyo cliente lo cierra despus que todos los dems.
Archivos inmutables: En la que no existen actualizaciones, puesto que una vez creado el archivo no
puede modificarse. As es ms fcil compartir y replicar archivos.
Transacciones: En la que todos los cambios tienen la propiedad del todo o nada. Es decir, cada
operacin que es llamada al sistema no se detiene hasta que finaliza propiamente. De esta manera, si una
operacin es requerida mientras est siendo utilizada por otra, esta ltima no se ejecutar hasta que finalice la
ejecucin de la primera.
Uso de Archivos
Existen diferentes formas de utilizar los archivos, pero tambin existen dos formas de medir el grado de
utilizacin de cada uso que se le puede dar a un archivo. Estas formas son: mediciones estticas y
mediciones dinmicas.
Mediciones Estticas: En este tipo de mediciones se observa el sistema en un determinado
momento, esto quiere decir que se verifica su estado en un instante de tiempo. Entre algunas de estas
mediciones estticas podemos encontrar: la distribucin de tamaos de los archivos, la distribucin de tipos
de archivos y la cantidad de espacio que ocupan los archivos de varios tamaos y tipos.
Mediciones Dinmicas: Este tipo de mediciones se encarga de registrar todas las operaciones en
una bitcora para un anlisis posterior. De esta manera se tiene informacin respecto a la frecuencia con que
se realizan ciertas operaciones.
Segn Satyanarayanan (1981), las propiedades ms comunes de los sistemas de archivos son las siguientes:
La mayora de los archivos son pequeos (menos de 10 K).
La lectura es ms comn que la escritura.
La lectura y escritura son secuenciales: es raro el acceso aleatorio.
La mayora de los archivos tienen una vida corta.
Es poco usual compartir archivos.
Los procesos promedio utilizan slo unos cuantos archivos.
Existen distintas clases de archivos con propiedades diferentes.
Estructura del Sistema
La estructura de un sistema es determinante para el servicio de archivos y directorios, para eso se debe
diferenciar entre quines son los clientes y quines son los servidores.
En algunos sistemas el servidor solamente puede actuar como servidor y el cliente solamente como cliente.
Esto puede tener sus ventajas y desventajas puesto si en algn momento el servidor falla, entonces todo el
sistema se paralizara. En otros sistemas, sin embargo, el servidor de archivos y el de directorios son
solamente programas del usuario, de esta manera se puede configurar el sistema para que ejecute o no el
software de cliente o servidor en la misma mquina, como se desee.
Pero se ha de considerar el aspecto estructural de los servidores de archivos y directorios, en cuanto a que
deben o no contener los estados de los clientes. Es decir, existen dos tipos de pensamiento con respecto a
este tema: los servidores sin estado y los servidores con estado.
Servidores sin Estado: Consiste en que cuando un cliente enva una solicitud a un servidor, ste la
lleva a cabo, enva la respuesta y elimina de sus tablas internas toda la informacin correspondiente a dicha
solicitud. El servidor no guarda la informacin relativa a los clientes entre las solicitudes.
Ventajas:
Tolerancia de fallas
No necesita llamadas OPEN/CLOSE
No se desperdicia el espacio del servidor en tablas
No existe lmite para el nmero de archivos abiertos
No hay problemas si un cliente falla
Servidores con Estado: Conservan la informacin de estado de los clientes entre las solicitudes. Esto
es lo que ocurre en los sistemas centralizados.
Ventajas:
Los cambios tecnolgicos de los ltimos aos pueden traer tambin cambios muy importantes en los sistemas
de archivos distribuidos. Adems con el rpido avance que se da en las redes de comunicaciones y su
incremento en el ancho de banda la creacin de paquetes que ofrecen la comparticin de archivos es comn
de encontrarse en el mercado. En la industria, el esquema ms solicitado es aquel que permite acceder a los
grandes volmenes de informacin de los grandes servidores desde las computadores personales o
convencionales y desde otros servidores. Es por eso que la principal solucin que adoptada por las
pequeas empresas es contar con Novell Netware en un servidor 486 o superior y acceder a los archivos
desde mquinas similares.
Entre los sistemas de archivos distribuidos ms populares que existen en la actualidad, tenemos los que nos
proporciona Netware, tales como:
Remote Filke Sharing (RFS en UNIX)
Network File System (de Sun Microsystems)
Andrew File System (AFS)
Veremos a continuacin algunos aspectos en los que podran presentarse cambios en un futuro no muy
lejano, teniendo en cuenta que los cambios tecnolgicos se producen da a da y en desmesurado avance.
Hardware reciente
Existen muchos dispositivos hardware que en los ltimos aos estn abaratando sus costos, tales como
las memorias. Esto mejorara circunstancialmente los actuales servidores de archivos puesto que se podr
adquirir gran cantidad de gigabytes de memoria, aunque todava se presente el problema de que la memoria
sea voltil, es decir, que cuando se apaga el sistema se borran los archivos.
Una nueva innovacin en hardware son los discos pticos que ahora pueden ser utilizados ms de una vez.
Aunque son un poco ms caros que las cintas de video siempre han sido un aporte importante para los
sistemas de archivos, principalmente en el soporte de backups.
Otro desarrollo importante en hardware son las redes de fibra ptica de alta velocidad que agilizaran la
transferencia de archivos y se podra prescindir de la memoria cach. Esto tambin simplificara en mucho el
software a utilizarse en los sistemas de archivos distribuidos.
Existen muchas ms innovaciones tecnolgicas que poco a poco harn ms eficiente el manejo
y administracin de los sistemas de archivos, por lo que en el futuro se podra aun encontrar diversos tipos
de soluciones especficas para un sistema determinado por sus propias caractersticas y requerimientos.
Escalabilidad
El concepto de escalabilidad propone que cualquier computador individual ha de ser capaz de trabajar
independientemente como un sistema de archivos distribuido, pero tambin debe poder hacerlo conectado a
muchas otras mquinas.
Un sistema de archivos debera funcionar tanto para una docena de equipos como para varios millares.
Igualmente no debera ser determinante el tipo de red utilizada (LAN o WAN) ni las distancias entre los
equipos.
Aunque este punto sera muy necesario, puede que las soluciones impuestas para unos cuantos equipos no
sean aplicables para varios otros. De igual manera, el tipo de red utilizada condiciona el rendimiento del
sistema, y podra ser que lo que funcione para un tipo de red, para otro necesitara un diseo diferente.
Redes de rea amplia
La mayor parte del trabajo que se realiza actualmente en los sistemas distribuidos se basa en los sistemas
alojados en redes LAN. La tendencia en el futuro es que veremos conectados entres s muchos sistemas
distribuidos LAN con el fin de formar sistemas distribuidos transparentes a travs de todo el mundo. Pero para
esto tendra que tomarse como punto de importancia el hecho de que no todos los pases utilizan un mismo
tipo caracteres para sus archivos, es decir, si en latinoamrica utilizamos los cdigos ASCII, puede ser que en
otras partes del mundo no se utilice este mismo concepto, lo que producira una incompatibilidad de datos.
Por otro lado, tambin es importante el cambio que se producir en las aplicaciones, puesto que la mayora
de experimentos que actualmente se realizan en las universidades estn basados en sistemas parecidos a
UNIX.
Un problema que se presentar aun mucho ms tiempo es que la conexin de fibra ptica tardar muchos
aos en instalarse en todos los rincones del planeta y tambin la existencia de una red de mayor ancho de
banda ser difcil y costosa de implementar pues no se cuenta, todava, con una mayor aceptacin del
potencial pblico usuario.
Usuarios mviles
A medida que la tecnologa de las comunicaciones se digitaliza, se encuentra sujeta a las mismas mejoras
exponenciales que han hecho que una computadora porttil de 2000 dlares actual tenga ms capacidad que
una computadora IBM de 10 millones de dlares de hace veinte aos. Por esta razn
las computadoras porttiles presenta un mayor crecimiento en la tecnologa informtica.
Pero este hecho presenta la inconveniencia de que estos usuarios no estarn conectados todo el tiempo al
sistema, es decir, solo lo estarn algn tiempo y luego no aparecern. Esto es debido a que todava no se
cuenta con una adecuada red instalada en diversos lugares para que el usuario pueda conectar su laptop,
notebook y su PC de bolsillo a su respectivo sistema o al sistema al cual desea conectarse.
Adems, como todava no se cuenta con un ancho de banda mayor, la transferencia de archivos se hace aun
mucho ms lenta. Se espera que en el futuro existan mejores ventajas para que sobresalga este de desarrollo
tecnolgico que los ltimos ha demostrado tener una verdadera tendencia a seguir creciendo.
Tolerancia de fallas
En la actualidad, la mayor parte de los sistemas de cmputo no presentan tolerancia a fallas. Es comn
escuchar en las agencias bancarias la frase: "No hay sistema", por lo que tomamos este hecho como algo
absolutamente normal. Salvo algunos sistemas especializados como los que se utilizan para el control de
trfico areo, otros sistemas no presentan este comportamiento que debera ser el ptimo.
Para que los sistemas de archivos cumplan con este requisito, deber existir o implementarse una consistente
infraestructura de hardware lo cual permita a los sistemas ser realmente confiables y seguros en cuanto a
tiempo de funcionamiento efectivo se refiere.
Leer ms: http://www.monografias.com/trabajos11/archi/archi.shtml#ixzz3aGQnXT3H
5.
MEMORIA DISTRIBUIDA