Вы находитесь на странице: 1из 39

SISTEMAS OPERATIVOS DE REDES Y DISTRIBUIDOS

SISTEMAS DISTRIBUIDOS

SISTEMAS OPERATIVOS DE REDES


Es posible que un usuario se conecte de manera remota con otra estacin de trabajo:
Mediante un comando de login remoto. Se convierte la propia estacin de trabajo del usuario en una terminal remota enlazada con la mquina remota. Los comandos se envan a la mquina remota. La salida de la mquina remota se exhibe en la pantalla local.

Para alternar con otra mquina remota, primero hay que desconectarse de la primera:
En cualquier instante solo se puede utilizar una mquina.

SISTEMAS OPERATIVOS DE REDES


Las redes tambin disponen de un comando de copiado remoto de archivos de una mquina a otra:
Requiere que el usuario conozca:
La posicin de todos los archivos. El sitio donde se ejecutan todos los comandos.

Una mejor solucin consiste en Un sistema de archivos global compartido accesible desde todas las estaciones de trabajo Una o varias mquinas soportan al sistema de archivos:
Son los servidores de archivos.

SISTEMAS OPERATIVOS DE REDES


Los servidores de archivos: Los programas se ejecutan en las mquinas no servidoras, llamadas clientes. Las solicitudes se examinan, se ejecutan y la respuesta se enva de regreso. Generalmente tienen un sistema jerrquico de archivos. Las estaciones de trabajo pueden importar o montar estos sistemas de archivos: Se incrementan sus sistemas de archivos locales. Se pueden montar los servidores en lugares diferentes de sus respectivos sistemas de archivos: Las rutas de acceso a un determinado archivo pueden ser diferentes para las distintas estaciones. Los distintos clientes tienen un punto de vista distinto del sistema de archivos. El nombre de un archivo depende: Del lugar desde el cual se tiene acceso a l. De la configuracin del sistema de archivos.
Aceptan solicitudes de los programas de usuarios

SISTEMAS OPERATIVOS DE REDES


El S. O. de este tipo de ambiente debe: Controlar las estaciones de trabajo en lo individual. Controlar a los servidores de archivo. Encargarse de la comunicacin entre los servidores. Todas las mquinas pueden ejecutar el mismo S. O., pero esto no es necesario. Si los clientes y los servidores ejecutan diversos S. O., como mnimo deben coincidir en el formato y significado de todos los mensajes que podran intercambiar. Esquemas como este se denominan sistema operativo de red: Cada mquina tiene un alto grado de autonoma. Existen pocos requisitos a lo largo de todo el sistema.

SISTEMAS OPERATIVOS DISTRIBUIDOS


Sistemas Operativos Monoprocesador
Mltiples procesos compartiendo recursos sobre una mquina, gracias a un microkernel que implemente una mquina virtual.

SISTEMAS OPERATIVOS DISTRIBUIDOS


Sistemas Operativos Multiprocesador
Mltiples procesadores compartiendo datos a travs de memoria compartida. Datos deben ser protegidos para garantizar consistencia. Mltiples procesadores deben ser transparentes para la aplicacin. Primitivas de sincronizacin: semforos, locks, monitores.

SISTEMAS OPERATIVOS DISTRIBUIDOS


Sistemas Operativos Multicomputador
Mltiples computadores conectados por red. Cada procesador tiene su propia memoria. Comunicacin nicamente a travs de paso de mensajes. Sincronizacin basada en semnticas particulares de paso de mensajes

SISTEMAS OPERATIVOS DISTRIBUIDOS


Sistemas de Memoria Compartida Distribuida
Mltiples procesadores, cada uno con su memoria. Memoria compartida virtual sobre multicomputadores. Problema de false sharing (memoria de dos procesos en la misma pgina).

FALSE SHARING

CONCEPTOS DE HARDWARE Y SOFTWARE


SISTEMAS DISTRIBUIDOS

CONCEPTOS DE HARDWARE
Todos los sistemas distribuidos constan de varias cpu, organizadas de diversas formas, especialmente respecto de:
La forma de interconectarlas entre s. Los esquemas de comunicacin utilizados.

Existen diversos esquemas de clasificacin para los sistemas de cmputos con varias cpu: Uno de los mas conocidos es la Taxonoma de Flynn:
Considera como caractersticas esenciales el nmero de flujo de instrucciones y el nmero de flujos de datos. La clasificacin incluye equipos SISD, SIMD, MISD y MIMD.

CONCEPTOS DE HARDWARE
SISD (Single Instruction Single Data: un flujo de instrucciones y un flujo de datos):Poseen un nico procesador. SIMD (Single Instruction Multiple Data: un flujo de instrucciones y varios flujos de datos):Se refiere a ordenar procesadores con una unidad de instruccin que:
Busca una instruccin. Instruye a varias unidades de datos para que la lleven a cabo en paralelo, cada una con sus propios datos.

Son tiles para los cmputos que repiten los mismos clculos en varios conjuntos de datos. MISD (Multiple Instruction Single Data: un flujo de varias instrucciones y un solo flujo de datos):No se presenta en la prctica. MIMD (Multiple Instruction Multiple Data: un grupo de computadoras independientes, cada una con su propio contador del programa, programa y datos):

CONCEPTOS DE HARDWARE
Todos los sistemas distribuidos son de este tipo. Un avance sobre la clasificacin de Flynn incluye la divisin de las computadoras MIMD en dos grupos: Multiprocesadores: poseen memoria compartida:
Los distintos procesadores comparten el mismo espacio de direcciones virtuales.

Multicomputadoras: no poseen memoria compartida:


Ej.: grupo de PC conectadas mediante una red.

CONCEPTOS DE HARDWARE
Cada una de las categoras indicadas se puede clasificar segn la arquitectura de la red de interconexin en: Esquema de bus:
Existe una sola red, bus, cable u otro medio que conecta todas las mquinas: Ej.: la televisin por cable.

Esquema con conmutador:


No existe una sola columna vertebral de conexin:
Hay mltiples conexiones y varios patrones de conexionado. Los mensajes de mueven a travs de los medios de conexin. Se decide explcitamente la conmutacin en cada etapa para dirigir el mensaje a lo largo de uno de los cables de salida. Ej.: el sistema mundial telefnico pblico.

CONCEPTOS DE HARDWARE
Otro aspecto de la clasificacin considera el acoplamiento entre los equipos: Sistemas fuertemente acoplados:
El retraso al enviar un mensaje de una computadora a otra es corto y la tasa de transmisin es alta. Generalmente se los utiliza como sistemas paralelos.

Sistemas dbilmente acoplados:


El retraso de los mensajes entre las mquinas es grande y la tasa de transmisin es baja. Generalmente se los utiliza como sistemas distribuidos.

Generalmente los multiprocesadores estn ms fuertemente acoplados que las multicomputadoras.

MULTIPROCESADORES CON BASE EN BUSES


Constan de cierto nmero de cpu conectadas a un bus comn, junto con un mdulo de memoria

Un bus tpico posee al menos : 32 lneas de direcciones. 32 lneas de datos. 30 lneas de control.

MULTIPROCESADORES CON BASE EN BUSES


Todos los elementos precedentes operan en paralelo. Para leer una palabra de memoria, una cpu:
Coloca la direccin de la palabra deseada en las lneas de direcciones del bus. Coloca una seal en las lneas de control adecuadas para indicar que desea leer. La memoria responde y coloca el valor de la palabra en las lneas de datos para permitir la lectura de esta por parte de la cpu solicitante.

Para grabar el procedimiento es similar.

MULTIPROCESADORES CON BASE EN BUSES


Solo existe una memoria, la cual presenta la propiedad de la coherencia:
Las modificaciones hechas por una cpu se reflejan de inmediato en las subsiguientes lecturas de la misma o de otra cpu.

El problema de este esquema es que el bus tiende a sobrecargarse y el rendimiento a disminuir drsticamente; la solucin es aadir una memoria cach de alta velocidad entre la cpu y el bus:
El cach guarda las palabras de acceso reciente. Todas las solicitudes de la memoria pasan a travs del cach. Si la palabra solicitada se encuentra en el cach:
El cach responde a la cpu. No se hace solicitud alguna al bus.

MULTIPROCESADORES CON BASE EN BUSES


Si el cach es lo bastante grande:
La tasa de encuentros ser alta y la cantidad de trfico en el bus por cada cpu disminuir drsticamente. Permite incrementar el nmero de cpu.

Un importante problema debido al uso de cachs es el de la incoherencia de la memoria:


Supongamos que las cpu A y B leen la misma palabra de memoria en sus respectivos cachs. A escribe sobre la palabra. Cuando B lee esa palabra, obtiene un valor anterior y no el valor recin actualizado por A.

MULTIPROCESADORES CON BASE EN BUSES


Una solucin consiste en lo siguiente: Disear las cach de tal forma que cuando una palabra sea escrita al cach, tambin sea escrita a la memoria. A esto se denomina cach de escritura. No causa trfico en el bus el uso de cach para la lectura. S causa trfico en el bus: Si todos los cachs realizan un monitoreo constante del bus: Cada vez que un cach observa una escritura a una direccin de memoria presente en l, puede eliminar ese dato o actualizarlo en el cach con el nuevo valor. Estos cachs se denominan cachs monitores. Un diseo con cachs monitores y de escritura es coherente e invisible para el programador, por lo que es muy utilizado en multiprocesadores basados en buses.
El no uso de cach para la lectura. Toda la escritura.

MULTIPROCESADORES CON CONMUTADOR


El esquema de multiprocesadores con base en buses resulta apropiado para hasta aproximadamente 64 procesadores Para superar esta cifra es necesario un mtodo distinto de conexin entre procesadores (cpu) y memoria. Una posibilidad es dividir la memoria en mdulos y conectarlos a las cpu con un conmutador de cruceta (cross-bar switch): Cada cpu y cada memoria tiene una conexin que sale de l. En cada interseccin est un conmutador del punto de cruce (crosspoint switch) electrnico que el hardware puede abrir y cerrar:

La virtud del conmutador de cruceta es que muchas cpu pueden tener acceso a la memoria al mismo tiempo:

Cuando una cpu desea tener acceso a una memoria particular, el conmutador del punto de cruce que los conecta se cierra momentneamente.

Lo negativo de este esquema es el alto nmero de conmutadores:


Para n cpu y n memorias se necesitan n x n conmutadores

Aunque no a la misma memoria simultneamente.

MULTIPROCESADORES CON CONMUTADOR

MULTIPROCESADORES CON CONMUTADOR


El nmero de conmutadores del esquema anterior puede resultar prohibitivo:
Otros esquemas precisan menos conmutadores, por ej., la red omega :
Posee conmutadores 2 x 2:
Cada uno tiene 2 entradas y 2 salidas. Cada conmutador puede dirigir cualquiera de las entradas en cualquiera de las salidas. Eligiendo los estados adecuados de los conmutadores, cada cpu podr tener acceso a cada memoria.

Para n cpu y n memorias se precisan:


n etapas de conmutacin. Cada etapa tiene log 2 n conmutadores para un total de n log 2 n conmutadores; este nmero es menor que n x n del esquema anterior, pero sigue siendo muy grande paran grande

MULTIPROCESADORES CON CONMUTADOR


n 50 75 100 125 150 175 200 1.024 log 2 n 5,64385619 6,22881869 6,64385619 6,96578428 7,22881869 7,45121111 7,64385619 10 n * log 2 n 282 467 664 871 1.084 1.304 1.529 10.240 n*n 2.500 5.625 10.000 15.625 22.500 30.625 40.000 1.048.576

Tabla 7.1: Conmutador de cruceta versus red omega.

MULTIPROCESADORES CON CONMUTADOR


Un problema importante en la red omega es el retraso: Ej.: si n = 1024 existen segn la tabla anterior:
10 etapas de conmutacin de la cpu a la memoria. 10 etapas para que la palabra solicitada de la memoria regrese. Si la cpu es de 50 mhz, el tiempo de ejecucin de una instruccin es de 20 nseg. Si una solicitud de la memoria debe recorrer 20 etapas de conmutacin (10 de ida y 10 de regreso) en 20 nseg:
El tiempo de conmutacin debe ser de 1 nseg. El multiprocesador de 1024 cpu necesitar 10240 conmutadores de 1 nseg. El costo ser alto.

MULTIPROCESADORES CON CONMUTADOR


Otra posible solucin son los esquemas segn sistemas jerrquicos:Cada cpu tiene asociada cierta memoria local. El acceso ser muy rpido a la propia memoria local y ms lento a la memoria de las dems cpu. Esto se denomina esquema o mquina NUMA (Acceso No Uniforme a la Memoria):
Tienen un mejor tiempo promedio de acceso que las mquinas basadas en redes omega. La colocacin de los programas y datos en memoria es crtica para lograr que la mayora de los accesos sean a la memoria local de cada cpu.

MULTICOMPUTADORAS CON BASE EN BUSES


Es un esquema sin memoria compartida Cada cpu tiene una conexin directa con su propia memoria local. Un problema importante es la forma en que las cpu se comuniquen entre s. El trfico es solo entre una cpu y otra; el volumen de trfico ser varios rdenes de magnitud menor que si se utilizara la red de interconexin para el trfico cpu memoria. Topolgicamente es un esquema similar al del multiprocesador basado en un bus. Consiste generalmente en una coleccin de estaciones de trabajo en una LAN (red de rea local)

MULTICOMPUTADORAS CON BASE EN BUSES

MULTICOMPUTADORAS CON CONMUTADOR


Cada cpu tiene acceso directo y exclusivo a su propia memoria particular . Existen diversas topologas, las ms comunes son la retcula y el hipercubo. Las principales caractersticas de las retculas son: Son fciles de comprender. Se basan en las tarjetas de circuitos impresos. Se adecan a problemas con una naturaleza bidimensional inherente (teora de grficas, visin artificial, etc.).

MULTICOMPUTADORAS CON CONMUTADOR

MULTICOMPUTADORAS CON CONMUTADOR


Las principales caractersticas del hipercubo son: Es un cubo n - dimensional. En un hipercubo de dimensin 4:
Se puede considerar como dos cubos ordinarios, cada uno de ellos con 8 vrtices y 12 aristas. Cada vrtice es un cubo. Cada arista es una conexin entre 2 cpu. Se conectan los vrtices correspondientes de cada uno de los cubos.

En un hipercubo de dimensin 5:
Se deberan aadir dos cubos conectados entre s y conectar las aristas correspondientes en las dos mitades, y as sucesivamente.

MULTICOMPUTADORAS CON CONMUTADOR


En un hipercubo de n dimensiones:
Cada cpu tiene n conexiones con otras cpu. La complejidad del cableado aumenta en proporcin logartmica con el tamao. Solo se conectan los procesadores vecinos ms cercanos:
Muchos mensajes deben realizar varios saltos antes de llegar a su destino. La trayectoria ms grande crece en forma logartmica con el tamao:
En la retcula crece como la raz cuadrada del nmero de cpu.

Con la tecnologa actual ya se pueden producir hipercubos de 16.384 cpu

MULTICOMPUTADORAS CON CONMUTADOR

CONCEPTOS DE SOFTWARE
La importancia del software supera frecuentemente a la del hardware. La imagen que un sistema presenta queda determinada en gran medida por el software del S. O. y no por el hardware. Los S. O. no se pueden encasillar fcilmente, como el hardware, pero se los puede clasificar en dos tipos: Dbilmente acoplados. Fuertemente acoplados.

CONCEPTOS DE SOFTWARE
El software dbilmente acoplado de un sistema distribuido: Permite que las mquinas y usuarios sean independientes entre s en lo fundamental. Facilita que interacten en cierto grado cuando sea necesario. A continuacin se describen tres tipos de software a utilizar en un sistema de multiprocesadores o multicomputadoras.

CONCEPTOS DE SOFTWARE
Software dbilmente acoplado en hardware dbilmente acoplado. Ejemplo ms comn de este tipo es una LAN Cada usuario cuenta con su propia estacin de trabajo, con o sin disco duro Cuenta con su propio sistema operativo. Para mejorar la comunicacin y la distribucin de informacin Se utilizan una o varias computadoras llamadas servidores de archivos, que se encargan de resolver las solicitudes de escritura y lectura de informacin por los usuarios, a quienes se les llama clientes.

CONCEPTOS DE SOFTWARE
Software fuertemente acoplado en hardware dbilmente acoplado (multicomputadoras). Para los usuarios, toda la red de computadoras, funcione como un solo sistema, en lugar de un conjunto de mquinas interconectadas entre s. Los verdaderos sistemas distribuidos recaen en esta clasificacin.

CONCEPTOS DE SOFTWARE
Software fuertemente acoplado en hardware fuertemente acoplado. Aunque aqu existen varias mquinas de propsito especfico (como los servidores de bases de datos), los ejemplos ms comunes a mostrar son los sistemas de tiempo compartido con ms de un CPU. Para la ejecucin de los procesos, se utiliza: Una cola de procesos listos para ejecucin. La cola de ejecucin es una estructura de datos almacenada en la memoria compartida Existe un planificador para la asignacin de cada proceso para uno de los CPU del sistema. El planificador hace uso de monitores o semforos para la lograr exclusin mutua necesaria, para que un mismo proceso no sea asignado a ms de un CPU.

Вам также может понравиться