•
Permitan a los programadores concentrarse en los algoritmos y la forma en que los procesos traba!an !untos en paralelo.
2al abstraccin la llamaremos transacción atómica, transacción o acción atómica. %a principal propiedad de la transacción atómica es el todo o nada/: •
•
se (ace todo lo que se tenía que (acer como una unidad o no se (ace nada. E!emplo% o
o
o
)n cliente llama al :anco mediante una PC con un mdem para%
3etirar 0&1E3 de una cuenta.
0epositar el dinero en otra cuenta.
"a operacin tiene dos etapas. $i la cone'in telefnica falla luego de la primer etapa pero antes de la segunda%
o
;abrá un retiro pero no un depsito.
"a solucin consiste en agrupar las dos operaciones en una transacción atómica:
"as dos operaciones terminarían o no terminaría ninguna. 4e debe regresar al estado inicial si la transacción no puede concluir.
2.$. 8lo=ueos en sistemas distribuidos
4on peores *ue los blo*ueos en sistemas monoprocesador [25, Tanenbaum]: • •
$on más difíciles de e#itar, pre#enir, detectar y solucionar. 2oda la informacin rele#ante está dispersa en muc(as máquinas.
$on especialmente críticos en sistemas de bases de datos distribuidos. "as estrategias usuales para el mane!o de los bloqueos son%
•
'lgoritmo del aestru+: &gnorar el problema. o
•
8etección: o
•
6reención: o
•
Permitir que ocurran los bloqueos, detectarlos e intentar recuperarse de ellos.
;acer que los bloqueos sean imposibles desde el punto de #ista estructural.
Eitarlos: o
E#itar los bloqueos mediante la asignacin cuidadosa de los recursos.
El algoritmo del aestru+ merece las mismas consideraciones que en el caso de mono
•
$e requiere saber de antemano la proporcin de cada recurso que necesitará cada proceso. Es muy difícil disponer de esta informacin en forma práctica.
"as t*cnicas más aplicables para el an)lisis de los blo*ueos en sistemas distribuidos son% 0eteccin. Pre#encin. • •
3. ROC)O) > ROC+II9TO) 9 )I)T') +I)TRI84I+O) $rocesos 9n proceso es un programa en ejecución. 'odos los procesos tienen asociados un espacio de direcciones en memoria! registros y el contador de programas. 9n programa para poderse ejecutar necesita estar en memoria principal. Los procesos son dependientes del sistema operativo. Leer más: http:00.monografias.com0trabajos1>50procesos%y%procesadores%sistemas%distribuidos0procesos% y%procesadores%sistemas%distribuidos.shtml3i4##5a)/?aa4@
$rocesador 9n procesador o mejor conocido como microprocesador es la unidad de hardare que se encarga de procesar los datos que están almacenados en una computadora para producir cualquier tipo de información de inter8s para los usuarios. 9n microprocesador se compone de una 9nidad Lógica%Aritm8tica *AL9+ que se encarga de las operaciones básicas dadas a trav8s de microprogramación. Leer más: http:00.monografias.com0trabajos1>50procesos%y%procesadores%sistemas%distribuidos0procesos% y%procesadores%sistemas%distribuidos.shtml3i4##5a)/
3.1. Hilos En los sistemas operativos tradicionales cada proceso tiene un espacio de direcciones y un hilo de control. 9n hilo es una secuencia de código en ejecución dentro del conte4to de un proceso no pueden ejecutarse ellos solos! requieren la supervisión de un proceso padre para correr. =entro de cada proceso hay varios hilos ejecutándose. 3.2. odelos de sistemas
=efinición de modelo! es la representación mental o formal de un sistema! cuyo objetivo es anticipar conductas futuras! beneficiado de la información almacenada del pasado! para pronosticar comportamientos del futuro que estamos modelando.
3.3. 'sinaci*n de procesadores
$or definición! un sistema distribuido consta de varios procesadores. Estos se pueden organi#ar como colección de estaciones de trabajo personales! una pila p,blica de procesadores o alguna forma h"brida. En todos los casos! se necesita cierto algoritmo para decidir cuál proceso hay que ejecutar y en qu8 máquina. $ara el modelo de estaciones de trabajo! hay que decidir cuándo ejecutar el proceso de manera local y cuándo buscar una estación inactiva. $ara el modelo de la pila reprocesadores! hay que tomar una decisión por cada nuevo proceso.
so de estaciones de traa!o inactivas $lantea el problema de encontrar estaciones de trabajo inactivas en la red que puedan ejecutar procesos. $or lo cual las estaciones de trabajo deben de anunciar cuando no cuentan con una carga de trabajo asignada! as" todas las demás estaciones toman nota de esto y lo registran.
/odelos de asignación )eneralmente se utili#an las siguientes hipótesis: 'odas las máquinas son id8nticas o al menos compatibles en el código! difieren a lo sumo en la velocidad. -ada procesador se puede comunicar con los demás. Las estrategias de asignación de procesadores se pueden dividir en categor"as amplias:
)o "igratorias: Al crearse un proceso! se toma una decisión de donde colocarlo. 9na ve# colocado en la máquina! el proceso permanece ah" hasta que termina. /o se puede mover! no importa lo sobrecargada que est8 la máquina.
/igratorias: 9n proceso se puede trasladar aunque haya iniciado su ejecución. $ermiten un mejor balance de la carga pero son más complejas y tienen un efecto fundamental en el diseBo del sistema. Los algoritmos de asignación intentan optimi#ar:
so de las C#:
(a4imi#ar el n,mero de ciclos de -$9 que se ejecutan para trabajos de los usuarios. (inimi#ar el tiempo de inactividad de las -$9.
*ie"po pro"edio de respuesta (inimi#ar no los tiempos individuales de respuesta sino los tiempos promedio de respuesta.
*asa de respuesta: (inimi#ar la tasa de respuesta! que es el tiempo necesario para ejecutar un proceso en cierta máquina dividido por el tiempo que tardar"a en cierto procesador de referencia.
3.<. lani%icaci*n en sistemas distribuidos
-ada procesador se multiprograma con CnD espacios para los procesos *multiprogramación de nivel CnD+. El algoritmo de uster hout utili#a el concepto de coplanificación: F 'oma en cuenta los patrones de comunicación entre los procesos durante la planificación. F
=ebe garanti#ar que todos los miembros del grupo se ejecuten al mismo tiempo.
F
Se emplea una matri# conceptual donde: G Las filas son espacios de tiempo.G H las columnas son las tablas de procesos de los procesadores.
F -ada procesador debe utili#ar un algoritmo de planificación Iound Iobin. =onde: 1% 'odos los procesadores ejecutan el proceso en el espacio C>D durante un cierto per"odo fijo. % 'odos los procesadores ejecutan el proceso en el espacio C1D durante un cierto per"odo fijo! etc. 5% Se deben mantener sincroni#ados los intervalos de tiempo. J% 'odos los miembros de un grupo se deben colocar en el mismo n,mero de espacio de tiempo pero en procesadores distintos.
3.$. Tolerancia de %allas
La tolerancia a fallos es un aspecto cr"tico para aplicaciones a gran escala! ya que aquellas simulaciones que pueden tardar del orden de varios d"as o semanas para ofrecer resultados deben tener la posibilidad de manejar cierto tipo de fallos del sistema o de alguna tarea de la aplicación. Sin la capacidad de detectar fallos y recuperarse de estos! dichas simulaciones pueden no llegar a completarse. Es más! algunos tipos de aplicaciones requieren ser ejecutadas en un entorno tolerante a fallos debido al nivel de seguridad requeridos.
=e cualquier forma! en ciertos casos deber"a haber alg,n modo de detectar y responder automáticamente a ciertos fallos del sistema o al menos ofrecer cierta información al usuario en el caso de producirse un fallo. En $6( hay un mecanismo de notificación de fallos! de forma que una tarea puede manejar notificaciones sobre ciertas tareas de las que espera recibir un mensaje. $or ejemplo! si una tarea muere! otra que estuviese esperando un mensaje de la primera recibirá una notificación en lugar del mensaje que esperaba. =e esta forma! la notificación le da la oportunidad de responder al fallo sin tener que fallar for#osamente.
3.&. )istemas distribuidos de tiempo real Los sistemas de tiempo real son aquellos que interactuan con el mundo e4terior donde el tiempo es un factor importante.
C%+%C*E+0S*(C%S. Se activan por evento o por tiempo. Su comportamiento debe ser predecible. =eben ser tolerantes a fallas. La comunicación en los sistemas distribuidos de tiempo real debe de alto desempeBo.
C$%S(1(C%C(2).
F F
Los sistemas de tiempo real se clasifican en general en dos tipos dependiendo de lo serio de sus tiempos l"mite 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 e4iste problema si se rebasa un tiempo l"mite. 9n sistema de tiempo real duro es aquel en el que un tiempo l"mite no cumplido puede resultar catastrófico. Ejemplo de sistema de tiempo real sua ve. -onmutador telefónico. Ejemplo de sistema de tiempo real d uro. Alarma s"smica.
%C*(,%C(2) DE S(S*E/%S DE *(E/# +E%$. Los sistemas de tiempo real pueden ser activados por evento o por tiempo. Se dice que un sistema es activado por evento cuando! al ocurrir un evento e4terno! este es detectado por alg,n sensor! lo que entonces provoca que el -$9 conectado tenga una interrupción. Los sistemas activados por eventos están controlados entonces por las interrupciones. $or otro lado! en los sistemas de tiempo real activados por el tiempo! se verifican los sensores cada cierto tiempo! para verificar si está ocurriendo alg,n evento e4terno. La desventaja es que se pierde mucho tiempo de -$9 si los eventos ocurren con poca frecuencia.
<. )I)T') + 'RCHI?O) 9n siste"a de archivos distriuido o siste"a 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 d8cada de 1K?>! y en 1K;Sun (icrosystems creó el sistema de archivos de red /MS el cual fue ampliamente utili#ado como sistema de archivos distribuido. tros sistemas notables utili#ados fueron el sistema de archivos Andre * AMS+ y e l sistema Server essa"e *loc$ S*! tambi8n conocido como -MS.
<.1. +ise(o sistemas arc"ivos
•
)eneralmente! un sistema de archivos distribuidos consta de dos componentes muy distintos entre s": el servicio de archivos y el servicio de directorios. La nterfa# del Servicio de Archivos 9n archivo es una secuencia de bytes sin interpretación alguna. Esto quiere decir que el contenido y estructura de un archivos es interpretado por el softare de aplicación mas no por el sistema operativo sobre el que se está trabajando. 9n archivo se caracteri#a por tener atributos! tales como: el propietario! el tamaBo! la fecha de creación y el permiso de acceso. La utilidad del servicio de archivos consiste en proporcionar una adecuada administración de los atributos! definidos por el usuario! que estas poseen. Lo más com,n es encontrar algunos sistemas avan#ados que permitan modificarlos despu8s de sus creación! pero en algunos sistemas distribuidos las ,nicas operaciones que pueden reali#arse sobre un archivo es -IEA'E y IEA= *-rear y Leer+. Es decir! una ve# creado el archivo no puede modificarse. A este tipo de archivos se les denomina archivos inmutables. E4isten dos tipos de servicios de archivos distribuidos: modelo carga0descarga y modelo de acceso remoto. (odelo -arga0=escarga: -onsiste básicamente en dos operaciones: lectura y escritura. -omo se muestra en la Migura 1.1! la primera operación consiste en la transferencia de un archivo completo desde el servidor hacia el cliente solicitante la segunda operación consiste en el env"o de un archivo del cliente al servidor! es decir! en sentido contrario. (ientras tanto los archivos pueden ser almacenados en memoriao en un disco local! seg,n sea el caso. El modelo carga0descarga (odelo de Acceso Iemoto: Este tipo de modelo consiste en que todas las operaciones *abrir y cerrar! leer y escribir! etc.+ se reali#an en el servidor mas no en los clientes. Esto se muestra claramente en la Migura 1.. Migura 1.. 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. =ebemos tener en cuenta que el solo hecho de compartir archivos puede traer dos problemas principales por resolver: el permiso de acceso y la gestión de los accesos simultáneos. $ermisos de Accesos: 9n sistema de archivos distribuidos provee al usuario de una herramienta f le4ible que permite compartir archivos e4tensos entre ellos. Esta herramienta actualmente utili#ada con mucho 84ito *pero con algunas deficiencias+ no es más 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: =erecho de Acceso
=escripción
/inguno
En el que el usuario no puede determinar la e4istencia del archivo y mucho menos acceder a 8ste y sus directorios. 'ampoco puede conocer la ruta que especifica su ubicación actual.
-onocimiento
El usuario conoce sobre la e4istencia del archivo y qui8n es su dueBo. $uede solicitar tener algunos derechos de acceso a este archivo.
Ejecución
El usuario puede ejecutar y cargar el programa pero no copiarlo.
Lectura
El usuario puede leer el archivo! tambi8n copiarlo y ejecutarlo.
Adición
El usuario puede agregar datos al archivo *generalmente al final+! pero no puede modificar o borrar su contenido.
Actuali#ación
El usuario puede modificar! borrar y agregar datos al archivo.
-ambio de protección
El usuario puede cambiar los derechos de acceso que han sido otorgados
a los usuarios. @orrado
El usuario puede borrar el archivo de su ubicación actual.
•
$uede brindarse acceso a las siguientes clases de usuario: 9suario espec"fico: 9suarios individuales quienes son designados por su = de usuario.
•
)rupos de usuario: -onjunto de usuarios no definidos individualmente.
•
'odos: Es decir! todos los usuarios que tengan acceso al sistema. Los archivos son p,blicos.
•
)estión de Accesos Simultáneos:
•
El sistema operativo o el sistema de gestión de archivos permite al usuario *que previamente ha tenido acceso a determinado archivo+ que 8l mismo pueda bloquear el archivo cuando vaya a utili#arlo ! o en todo caso! bloquear los registros individuales durante la actuali#ación. Si no se considera ninguna de estas dos opciones! entonces se anali#ará aspectos de e4clusión mutua e interbloqueo. La nterfa# del Servidor de =irectorios El propósito general del servidor de directorios es poder crear y eliminar directorios! nombrar o cambiar el nombre de archivos y mover 8stos de un directorio a otro. El sistema distribuido es el encargado de definir el alfabeto y la sinta4is para formar los nombres de los archivos y directorios. $or ejemplo! 7indos divide los nombres de lo archivos en dos partes: nombre y e4tensión *tipo de archivo+! los cuales se denotan separados por un punto: nombreNarchivo.e4tensión as" tenemos que libro.t4t es un archivo cuyo nombre es libro y es de tipo te4to. En otros sistemas! como e l9/O! clasifican a los archivos seg,n sus atributos *en 9/O un archivo ejecutable se pinta de otro color +. 'odo sistema distribuido permite la e4istencia de subdirectorios *directorios dentro de otro directorio+! permiti8ndose a los usuarios clasificar sus archivos a sus gusto. Estos subdirectorios! a su ve#! pueden contener otros subdirectorios lo que se conoce como sistema jerárquico de archivos. Algunos sistemas distribuidos permiten crear apuntadores o enlaces a un directorio determinado! construyendo! de esta manera! no solamente árboles sino tambi8n gráficas de directorios los cuales son más consistentes. 9n árbol de directorios contenido en una máquina Esta diferencia entre árboles y gráficas es de gran importancia en un sistema distribuido y radica en la eliminación 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 vac"o! mientras que en una gráfica solo puede eliminarse enlaces mientras e4ista al menos otro enlace. 9na gráfica de directorios en dos máquinas Semántica de los Archivos =istribuidos E4isten hasta cuatro m8todos para utili#ar los archivos compartidos en un sistema distribuido: Semántica de 9/O: En la que cada operación en un archivo es visible a todos los procesos de
•
manera simultánea. Esto implica que cada operación cumpla un estricto orden con respecto al tiempo! puesto que el archivo es actuali#ado inmediatamente despu8s de reali#ada cada operación. Semántica de Sesión: En la que ning,n cambio es visible a otros procesos hasta que l archivo que
•
está siendo utili#ado se cierra. Esto produce un desfasamiento en la actuali#ación del archivo! puesto que un archivo puede estar siendo utili#ado por dos o más clientes en forma simultánea y se tendrá como resultado el archivo cuyo cliente lo cierra despu8s que todos los demás. Archivos inmutables: En la que no e4isten actuali#aciones! puesto que una ve# creado el archivo no
•
puede modificarse. As" es más fácil compartir y replicar archivos. 'ransacciones: En la que todos los cambios tienen la propiedad del todo o nada. Es decir! cada operación que es llamada al sistema no se detiene hasta que finali#a propiamente. =e esta manera! si una operación es requerida mientras está siendo utili#ada por otra! esta ,ltima no se ejecutará hasta que finalice la ejecución de la primera.
Leer más: http:00.monografias.com0trabajos110archi0archi.shtml3i4##5a)PS4fn6
<.2. Implantaci*n de un sistema distribuido
•
9so de Archivos E4isten diferentes formas de utili#ar los archivos! pero tambi8n e4isten dos formas de medir el grado de utili#ación de cada uso que se le puede dar a un archivo. Estas formas son: mediciones estáticas y mediciones dinámicas. (ediciones Estáticas: 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 estáticas podemos encontrar: la distribución de tamaBos de los archivos! la distribución de tipos de archivos y la cantidad de espacio que ocupan los archivos de varios tamaBos y tipos. (ediciones =inámicas: Este tipo de mediciones se encarga de registrar todas las operaciones en una bitácora para un análisis posterior. =e esta manera se tiene información respecto a la frecuencia con que se reali#an ciertas operaciones.
•
Seg,n Satyanarayanan *1K1+! las propiedades más comunes de los sistemas de archivos son las siguientes: La mayor"a de los archivos son pequeBos *menos de 1> Q+.
•
La lectura es más com,n que la escritura.
•
La lectura y escritura son secuenciales: es raro el acceso aleatorio.
•
La mayor"a de los archivos tienen una vida corta.
•
Es poco usual compartir archivos.
•
Los procesos promedio utili#an sólo unos cuantos archivos.
•
E4isten 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 qui8nes son los clientes y qui8nes 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 alg,n momento el servidor falla! entonces todo el sistema se parali#ar"a. 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 softare de cliente o servidor en la misma máquina! como se desee. $ero 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! e4isten dos tipos de pensamiento con respecto a este tema: los servidores sin estado y los servidores con estado. Servidores sin Estado: -onsiste en que cuando un cliente env"a una solicitud a un servidor! 8ste la lleva a cabo! env"a la respuesta y elimina de sus tablas internas toda la información correspondiente a dicha solicitud. El servidor no guarda la información relativa a los clientes entre las solicitudes.
•
6entajas: 'olerancia de fallas
•
/o necesita llamadas $E/0-LSE
•
/o se desperdicia el espacio del servidor en tablas
•
/o e4iste l"mite para el n,mero de archivos abiertos
•
/o hay problemas si un cliente falla
•
Servidores con Estado: -onservan la información de estado de los clientes entre las solicitudes. Esto es lo que ocurre en los sistemas centrali#ados. 6entajas:
•
(ensajes de solicitud más cortos
•
(ejor desempeBo
•
Es posible la lectura adelantada
•
Es más fácil la idempotencia
•
Es posible la cerradura de archivos
•
cultamiento En un sistema cliente R servidor! en el que cada uno cuenta con su memoria principal y un disco! pueden almacenarse los archivos o partes de ellos en cuatro lugares diferentes: el disco del servidor! la memoria principal del servidor! el disco del clientes o la memoria principal del cliente. Esto se puede observarse en la Migura 1.;. -uatro lugares para guardar archivos o partes de ellos -ada lugar en donde se guarde los archivos presenta ventajas y desventajas respecto a la velocidad de transferencia. Aun as"! se puede lograr un mejor desempeBo ocultando *conservando+ los archivos en la memoria principal del servidor. -omo la memoria principal siempre es de menor capacidad que el disco! entonces debe implementarse un algoritmo para decidir qu8 archivos o partes de ellos permanecerán en el cach8 del servidor. Este algoritmo deberá resolver dos problemas que se presentarán: 9no de los problemas es el tamaBo de la unidad que administra el cach8! ya que puede administrar archivos completos o bloques del disco. Si se ocultan los archivos completos! 8stos se pueden almacenar en forma adyacente en el disco *o al menos peda#os muy grandes+! lo cual permite transferencias a alta velocidad entre la memoria y el disco! as" como un buen desempeBo en general. Sin embargo! el ocultamiento de bloques de disco utili#a el cach8 y el espacio en disco en forma más eficiente. El segundo problema es que el algoritmo debe decidir qu8 hacer si se utili#a toda la capacidad del cach8 y hay que eliminar a alguien. En este caso podr"a utili#arse cualquiera de los dos algoritmos de ocultamiento! pero como las referencias al cach8 son poco frecuentes comparadas con las referencias a memoria! por lo general es factible una implantación e4acta de LI9 mediante punteros *listas enla#adas+. I8plica En general! los sistemas de archivos distribuidos proporcionan la r8plica de archivos como servicio a sus clientes. Es decir! se dispone de varias copias de algunos archivos! donde cada copia está en un servidor de archivos independiente. Este servicio de r8plica se brinda por diversa ra#ones! a continuación presentamos las principales ra#ones: Aumentar la confiabilidad al disponer de respaldos independientes de cada archivo. Es decir! si un
•
servidor falla o se pierde permanentemente! no se pierden los datos. $ermitir el acceso al archivo aunque falle un servidor de archivos. Si un servidor falla esto no debe
•
ocasionar que el sistema se detenga. Iepartir la carga de trabajo entre varios servidores. -on varios archivos duplicados en dos o más servidores! se puede utili#ar el que tenga menor carga.
•
E4isten tres formas de reali#ar la r 8plica: r8plica e4pl"cita! r8plica retrasada y r8plica de archivos mediante un grupo. I8plica e4pl"cita: -onsiste en que el programador controle todo el proceso. -uando un proceso crea
•
un archivo! lo hace en un servidor espec"fico. Entonces se puede crear copias adicionales en otros servidores. I8plica retrasada: -onsiste en crear un sola copia de cada archivo en el servidor. Luego! el propio
•
servidor crea r8plicas de este archivo en otros servidores automáticamente. I8plica de archivos mediante un grupo: En este caso! todas las llamadas 7I'E al sistema se transmiten en forma simultánea a todos los servidores a la ve#! por lo que todas las copias adicionales se hacen al mismo tiempo que el original.
Leer más: http:00.monografias.com0trabajos110archi0archi.shtml3i4##5a)Pc(db9
<.3. Tendencias en los sistemas distribuidos de arc"ivos
• • •
Los cambios tecnológicos de los ,ltimos aBos pueden traer tambi8n cambios muy importantes en los sistemas de archivos distribuidos. Además con el rápido avance que se da en las redes de comunicaciones y su incremento en el ancho de banda la creación de paquetes que ofrecen la compartición de archivos es com,n de encontrarse en el mercado. En la industria! el esquema más solicitado es aquel que permite acceder a los grandes vol,menes de información de los grandes servidores desde las computadores personales o convencionales y desde otros servidores. Es por eso que la principal solución que adoptada por las pequeBas empresas es contar con /ovell /etare en un servidor J2 o superior y acceder a los archivos desde máquinas similares. Entre los sistemas de archivos distribuidos más populares que e4isten en la actualidad! tenemos los que nos proporciona /etare! tales como: Iemote Mile Sharing *IMS en 9/O+ /etor Mile System *de Sun (icrosystems+ Andre Mile System *AMS+ 6eremos a continuación algunos aspectos en los que podr"an presentarse cambios en un futuro no muy lejano! teniendo en cuenta que los cambios tecnológicos se producen d"a a d"a y en desmesurado avance. &ardare reciente E4isten muchos dispositivos hardare que en los ,ltimos aBos están abaratando sus costos! tales como las memorias. Esto mejorar"a circunstancialmente los actuales servidores de archivos puesto que se podrá adquirir gran cantidad de gigabytes de memoria! aunque todav"a se presente el problema de que la memoria sea volátil! es decir! que cuando se apaga el sistema se borran los archivos. 9na nueva innovación en hardare son los discos ópticos que ahora pueden ser utili#ados más de una ve#. Aunque son un poco más caros que las cintas de video siempre han sido un aporte importante para los sistemas de archivos! principalmente en el soporte de bacups. tro desarrollo importante en hardare son las redes de fibra óptica de alta velocidad que agili#ar"an la transferencia de archivos y se podr"a prescindir de la memoria cach8. Esto tambi8n simplificar"a en mucho el softare a utili#arse en los sistemas de archivos distribuidos. E4isten muchas más innovaciones tecnológicas que poco a poco harán más eficiente el manejo y administración de los sistemas de archivos! por lo que en el futuro se podr"a aun encontrar diversos tipos de soluciones espec"ficas para un sistema determinado por sus propias caracter"sticas y requerimientos. Escalabilidad El concepto de escalabilidad propone que cualquier computador individual ha de ser capa# de trabajar independientemente como un sistema de archivos distribuido! pero tambi8n debe poder hacerlo conectado a muchas otras máquinas. 9n sistema de archivos deber"a funcionar tanto para una docena de equipos como para varios millares. gualmente no deber"a ser determinante el tipo de red utili#ada *LA/ o 7A/+ ni las distancias entre los equipos. Aunque este punto ser"a muy necesario! puede que las soluciones impuestas para unos cuantos equipos no sean aplicables para varios otros. =e igual manera! el tipo de red utili#ada condiciona el rendimiento del sistema! y podr"a ser que lo que funcione para un tipo de red! para otro necesitar"a un diseBo diferente. Iedes de área amplia La mayor parte del trabajo que se reali#a actualmente en los sistemas distribuidos se basa en los sistemas alojados en redes LA/. La tendencia en el futuro es que veremos conectados entres s" muchos sistemas distribuidos LA/ con el fin de formar sistemas distribuidos transparentes a trav8s de todo el mundo. $ero para esto tendr"a que tomarse como punto de importancia el hecho de que no todos los pa"ses utili#an un mismo tipo caracteres para sus archivos! es decir! si en latinoam8rica utili#amos los códigos AS-! puede ser que en otras partes del mundo no se utilice este mismo concepto! lo que producir"a una incompatibilidad de datos. $or otro lado! tambi8n es importante el cambio que se producirá en las aplicaciones! puesto que la mayor"a de e4perimentos que actualmente se reali#an en las universidades están basados en sistemas parecidos a 9/O.
9n problema que se presentará aun mucho más tiempo es que la cone4ión de fibra óptica tardará muchos aBos en instalarse en todos los rincones del planeta y tambi8n la e4istencia de una red de mayor ancho de banda será dif"cil y costosa de implementar pues no se cuenta! todav"a! con una mayor aceptación del potencial p,blico usuario. 9suarios móviles A medida que la tecnolog"a de las comunicaciones se digitali#a! se encuentra sujeta a las mismas mejoras e4ponenciales que han hecho que una computadora portátil de >>> dólares actual tenga más capacidad que una computadora @( de 1> millones de dólares de hace veinte aBos. $or esta ra#ón las computadoras portátiles presenta un mayor crecimiento en la tecnolog"a informática. $ero este hecho presenta la inconveniencia de que estos usuarios no estarán conectados todo el tiempo al sistema! es decir! solo lo estarán alg,n tiempo y luego no aparecerán. Esto es debido a que todav"a no se cuenta con una adecuada red instalada en diversos lugares para que el usuario pueda conectar su laptop! noteboo y su $- de bolsillo a su respectivo sistema o al sistema al cual desea conectarse. Además! como todav"a no se cuenta con un ancho de banda mayor! la transferencia de archivos se hace aun mucho más lenta. Se espera que en el futuro e4istan mejores ventajas para que sobresalga este de desarrollo tecnológico que los ,ltimos ha demostrado tener una verdadera tendencia a seguir creciendo. 'olerancia de fallas En la actualidad! la mayor parte de los sistemas de cómputo no presentan tolerancia a fallas. Es com,n escuchar en las agencias bancarias la frase: T/o hay sistemaT! por lo que tomamos este hecho como algo absolutamente normal. Salvo algunos sistemas especiali#ados como los que se utili#an para el control de tráfico a8reo! otros sistemas no presentan este comportamiento que deber"a ser el óptimo. $ara que los sistemas de archivos cumplan con este requisito! deberá e4istir o implementarse una consistente infraestructura de hardare lo cual permita a los sistemas ser realmente confiables y seguros en cuanto a tiempo de funcionamiento efectivo se refiere.
Leer más: http:00.monografias.com0trabajos110archi0archi.shtml3i4##5a)PnO'5&
3. /E/+(% D(S*+(B(D%
$.1. Que es la memoria compartida Los sistemas de memoria compartida distribuida *=S(+ representan la creación hibrida de dos tipos de computación paralelos: la memoria distribuida en sistemas multiprocesador y los sistemas distribuidos. Ellos proveen la abstracción de memoria compartida en sistemas con memorias distribuidas f"sicamente y consecuentemente combinan las mejores caracter"sticas de ambos enfoques. $.2. odelos de consistencia
La cuestión de la consistencia adquiere importancia en los sistemas =S( que replican el contenido de la memoria compartida mediante su almacenamiento en las cach8s de computadores separados. -ada proceso tiene un gestor de r8plicas local! el cual está encargado de mantener copias en cach8 para los objetos. En la mayor parte de las implementaciones! los datos se leen desde las r8plicas locales por cuestiones de eficiencia! pero las actuali#aciones deben propagarse al resto de gestores de r8plica.
El gestor de r8plica local se implementa mediante una combinación del middleare *el nivel =S( en tiempo de ejecución en cada proceso+ y del n,cleo. Es normal que el middleare realice la mayor parte del procesamiento =S(. ncluso en las implementaciones de =S( basadas en páginas! el n,cleo normalmente proporciona ,nicamente una correspondencia de páginas básica! el manejo de fallos de página y los mecanismos de comunicación! mientras que el middleare es responsable de implementar las pol"ticas de compartición de páginas. Si los segmentos =S( son persistentes! entonces uno o más servidores de almacenamiento *por ejemplo! servidores de archivos+ actuarán tambi8n como gestores de r8plicas. Además de la gestión de la cach8! una implementación =S( puede almacenar las actuali#aciones y reducir los costes de comunicación mediante la propagación de m,ltiples actuali#aciones a la ve#. 9n modelo de consistencia de memoria *(osberger 1KK5+ especifica las garant"as de consistencia que un sistema =S( reali#a sobre los valores que los procesos leen desde los objetos! dado que en realidad acceden sobre una r8plica de cada objeto y que m,ltiples procesos pueden actuali#ar los objetos. '8ngase en cuenta que esto es diferente de la noción de consistencia de alto nivel y dependiente de aplicación. Sin embargo! la mayor parte de las aplicaciones tienen requisitos de consistencia muy estrictos. Es preciso proporcionar a los programadores un modelo que se ajuste ra#onablemente al comportamiento que la memoria deber"a tener. (osberger *1KK5+ reali#a un bosquejo de un conjunto de modelos que han sido pensados para multiprocesadores de memoria compartida y sistemas =S( softare. Los principales modelos de consistencia que se pueden implementar en la práctica en sistemas =S( son la consistencia secuencial y los modelos basados en consistencia d8bil. $.3. emoria compartida distribuida con base a painas
El esquema de =S( propone un espacio de direcciones de memoria virtual que integra la memoria de todas las computadoras del sistema! y su uso se reali#a mediante paginación. Las páginas quedan restringidas a estar necesariamente en un ,nico nodo. -uando un programa intenta acceder a una posición virtual de memoria! se comprueba si esa página se encuentra de forma local. Si no se
encuentra! se provoca un fallo de página! y el sistema operativo solicita la página al resto de nodos. El sistema funciona de forma análoga al sistema de memoria virtual tradicional! pero en este caso los fallos de página se propagan al resto de ordenadores! hasta que la petición llega al nodo que tiene la página virtual solicitada en su memoria local. A primera vista este sistema parece más eficiente que el acceso a la memoria virtual en disco! pero en la realidad ha mostrado ser un sistema demasiado lento en ciertas aplicaciones! ya que provoca un tráfico de páginas e4cesivo. $.<. emoria compartida distribuida con variables compartidas
9n m8todo más estructurado que la =S( con base a páginas consiste en compartir sólo ciertas variables y estructuras de datos necesarias para más de un proceso. Ahora el problema pasa a ser la forma de mantener una base de datos distribuida! en potencia duplicada! consistente en las variables compartidas.
9no de los aspectos más importantes a tratar de estos sistemas es el de si las variables compartidas deben o no duplicarse! y de qu8 manera! parcial o total. Si se duplicasen e4istir"a más potencial que en un sistema =S( basado en páginas! en t8rminos de actuali#ación! dado que las escrituras en las variables compartidas individuales se pueden aislar. =os de los ejemplos más interesantes de este tipo de sistemas son el (unin y el (iday el primero se basa en una implantación softare de la consistencia de liberación! y el segundo consiste en compartir las estructuras de datos individuales! permitiendo que los programas multiprocesador e4istentes y los nuevos se ejecuten de manera eficiente en las multicomputadores! con ligeros cambios de código. $.$. emoria compartida distribuida basada en objetos 9na alternativa al uso de páginas es tomar el objeto como base de la transferencia de memoria. Aunque el control de la memoria resulta más complejo! el resultado es al mismo tiempo modular y fle4ible! y la sincroni#ación y el acceso se pueden integrar limpiamente. tra de las restricciones de este modelo es que todos los accesos a los objetos compartidos han de reali#arse mediante llamadas a los m8todos de los objetos! con lo que no se admiten programas no modulares y se consideran incompatibles.