"Sistemas
Operativos en ambientes distribuidos"
1.1 Sistemas Distribuidos
Definición
Una colección de computadores conectados por una red de comunicaciones,
que el usuario percibe como un solo sistema (no necesita saber qué cosas están
en qué máquinas). El usuario accesa los recursos remotos de la misma manera en
que accesa recursos locales, o:un grupo de computadores que usan un software
para conseguir un objetivo en común.
Los
sistemas distribuidos deben de ser muy confiables, ya que si un componente del
sistema se descompone otro componente debe de ser capaz de reemplazarlo.
Sistemas Centralizados
DefinicióN
Sistemas cuyos
componentes hardware y software, que están en ordenadores
conectados en red, se comunican y coordinan
sus acciones mediante el paso de mensajes, para el logro de un
objetivo. Se establece la comunicación mediante
un protocolo prefijado por un esquema Cliente-Servidor.
Sistemas Centralizados
Definición
Sistemas cuyos componentes hardware y software, que están en ordenadores conectados en red, se comunican y coordinan sus acciones mediante el paso de mensajes, para el logro de un objetivo. Se establece la comunicación mediante un protocolo prefijado por un esquema Cliente-Servidor.
Características
Concurrencia: Esta
característica de los sistemas distribuidos permite que
los recursos disponibles en la red puedan ser utilizados
simultáneamente por los usuarios y/o agentes que interactúan en la red.
Carencia
de reloj global: Las coordinaciones para la transferencia de mensajes entre
los diferentes componentes para la realización de una tarea, no tienen una
temporización general, está más bien distribuida a los
componentes.
Fallos
independientes de los componentes: Cada componente
del sistema puede fallar independientemente, con lo cual los demás
pueden continuar ejecutando sus acciones. Esto permite el logro de las tareas
con mayor efectividad, pues el sistema en su conjunto continua trabajando.
1.1.1 Ventajas Desventajas contra Sistemas
Centralizados
Economía: es la razón número
uno de la tendencia hacia los sistemas distribuidos ya que estos sistemas
tienen en potencia una proporción precio/desempeño mucho mejor que la de un
sistema centralizado.
Velocidad: un sistema
distribuido puede tener mayor poder de cómputo que una mainframe.
Distribución
inherente: otra razón para la construcción de un sistema distribuido es que
ciertas aplicaciones son distribuidas en forma inherente; es decir, algunas
aplicaciones utilizan máquinas que están separadas a cierta distancia.
Confiabilidad: un sistema
distribuido ofrece mayor confiabilidad: al distribuir la carga de trabajo en
muchas máquinas, la falla de un circuito descompondrá a lo más una máquina y el
resto seguirá intacto.
Crecimiento
por incrementos: si se necesita añadir poder de cómputo a la compañía, con un
sistema distribuido, podrían añadirse sólo más procesadores al sistema, lo que
permite un desarrollo gradual conforme surjan las necesidades.
Ventajas de los sistemas distribuidos con respecto de las PC
independientes
Datos
compartidos: Un sistema distribuido permite que varios usuarios tengan acceso a
una base de datos común.
Dispositivos
compartidos: De igual manera, se pueden compartir periféricos entre diversos
usuarios como puede ser una impresora.
Comunicación: un sistema
distribuido facilita la comunicación entre computadoras aisladas con el e-mail.
Flexibilidad: Un sistema
distribuido difunde la carga de trabajo entre las máquinas disponibles en la
forma más eficaz en cuanto a los costos.
Desventajas de los sistemas distribuidos
Software: No hay mucha
experiencia en el diseño, implantación y uso del software distribuido, además
existe poco software para los sistemas distribuidos en la actualidad.
Redes: Una vez que el
sistema llega a depender de la red, la pérdida o saturación de ésta puede negar
algunas de las ventajas que el sistema distribuido debía conseguir.
Seguridad: si las personas
pueden tener acceso a los datos en todo el sistema, entonces también pueden
tener acceso a datos con los que no tienen nada que ver.
1.1.2 Modelo Cliente Servidor
La arquitectura
cliente-servidor es
un modelo de aplicación distribuida en el que las tareas se reparten entre los
proveedores de recursos o servicios, llamados servidores, y los demandantes, llamados clientes. Un cliente realiza peticiones a
otro programa, el servidor,
que le da respuesta. Esta idea también se puede aplicar a programas que se
ejecutan sobre una sola computadora, aunque es más ventajosa en un sistema
operativo multiusuario distribuido a través de una red de computadoras.
En esta arquitectura la capacidad de proceso está repartida entre
los clientes y los servidores, aunque son más importantes las ventajas de tipo
organizativo debidas a la centralización de la gestión de la información y la
separación de responsabilidades, lo que facilita y clarifica el diseño del
sistema.
La separación entre cliente y servidor es una separación de tipo lógico, donde el
servidor no se ejecuta necesariamente sobre una sola máquina ni es
necesariamente un sólo programa. Los tipos específicos de servidores incluyen los servidores web, los servidores de archivo, los
servidores del correo, etc. Mientras que sus propósitos varían de unos
servicios a otros, la arquitectura básica seguirá siendo la misma.
Características Arquitectura Cliente
Servidor
Centralización del control: los accesos, recursos y la
integridad de los datos son controlados por el servidor.
Escalabilidad: se puede aumentar la
capacidad de clientes y servidores por separado. Cualquier elemento puede ser aumentado (o
mejorado) en cualquier momento, o se pueden añadir nuevos nodos a la red
(clientes y/o servidores).
Fácil mantenimiento: es posible reemplazar, reparar, actualizar, o incluso
trasladar un servidor, mientras que sus clientes no se verán afectados por ese
cambio (o se afectarán mínimamente).
Características del Cliente y Servidor
En la arquitectura C/S el remitente
de una solicitud es
conocido como Cliente.
Sus características son:
- Es quien
inicia solicitudes o peticiones, tienen por tanto un papel activo en la
comunicación (dispositivo maestro o amo).
- Espera y recibe las respuestas del servidor.
- Por lo general, puede conectarse a varios servidores
a la vez.
- Normalmente interactúa directamente con los usuarios finales
mediante una interfaz gráfica de usuario.
- Al contratar un servicio de redes, se debe tener en cuenta la
velocidad de conexión que le otorga al cliente y el tipo de cable que utiliza,
por ejemplo: cable de cobre ronda entre 1 ms y 50 ms.
Al receptor
de la solicitud enviada
por el cliente se conoce como Servidor.
Sus características son:
- Al iniciarse esperan a que lleguen las solicitudes de los
clientes, desempeñan entonces un papel pasivo en la comunicación (dispositivo esclavo).
-Tras la recepción de una solicitud, la procesan y luego
envían la respuesta al cliente.
- Por lo general, aceptan conexiones desde un
gran número de clientes (en ciertos casos el número máximo de peticiones puede
estar limitado).
- No es frecuente que interactúen directamente
con los usuarios finales.
1.1.3 Características Hardware Sistemas Distribuidos
Los
clientes en una red cliente-servidor son las máquinas o procesos que piden
información, recursos y servicios a un servidor unido. Estas peticiones pueden
ser cosas como proporcionar datos de una base de datos, aplicaciones, partes de
archivos o archivos completos a la máquina cliente. Los datos, aplicaciones o
archivos pueden residir en un servidor y ser simplemente accedidos por el
cliente o pueden ser copiados o movidos físicamente a la máquina cliente.
Esta
disposición permite a la máquina cliente ser relativamente pequeña. Para cada
tipo de entorno de cliente, hay habitualmente software específico (y a veces hardware)
en el cliente, con algún software y hardware análogo en el servidor. Los
servidores pueden ser sistemas operativos diferentes como Windows NT, Windows
95, OS/2, Unix. Unix es popular porque, como sistema operativo de servidores,
puede ser utilizado en muchos tipos de configuraciones sobre máquinas servidor,
además de como servidores de archivos y servidores de impresión.
Los
servidores en una red cliente-servidor son los procesos que proporcionan
información, recursos y servicios a los clientes de la red. Cuando un cliente
pide un recurso como, por ejemplo, un archivo, datos de una base de datos,
acceso a aplicaciones remotas o impresión centralizada, el servidor proporciona
estos recursos al cliente. Como se mencionó antes, los procesos del servidor
pueden residir en una máquina que también actúa como cliente de otro servidor.
Además de proporcionar este tipo de recursos, un servidor puede dar acceso a
otras redes, actuando como un servidor de comunicaciones que conecta a otros
servidores o mainframes o minicomputadoras que actúan como hosts de
la red.
1.1.4 Caracteristicas Software Sistemas Distribuidos
Los sistemas distribuidos se
pueden compartir otros recursos como programas y periféricos costosos.
Ejemplo:
Impresoras láser color, equipos de foto composición, dispositivos de almacenamiento masivo, etc.
Impresoras láser color, equipos de foto composición, dispositivos de almacenamiento masivo, etc.
Otra
importante razón es lograr una mejor comunicación entre las personas.
Ejemplo:
Correo
electrónico:Posee importantes ventajas sobre el correo por cartas, el teléfono
y el fax (Velocidad, disponibilidad, generación de documentos editables, etc.)
El
principal problema es el software, ya que el diseño, implantación y uso del
software distribuido presenta numerosos inconvenientes.
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 fácilmente, como el hardware, pero se los
puede clasificar en dos tipos:
·
Débilmente acoplados.
·
Fuertemente acoplados.
El
software débilmente acoplado de un sistema distribuido:
·
Permite que las máquinas y usuarios sean independientes entre
sí en lo fundamental.
·
Facilita que interactúen en cierto grado cuando sea necesario.
·
Los equipos individuales se distinguen fácilmente.
Combinando
los distintos tipos de hardware distribuido con software
distribuido se logran distintas soluciones. No todas interesan desde
el punto de vista funcional del usuario.
1.1.5 Direccionamiento Logico Fisico Sistemas Distribuidos
Una
dirección generada por la CPU
se denomina dirección lógica, en cambio a la que es percibida
por unidad de memoria se denomina dirección física.
Los
esquemas de vinculación de direcciones durante la compilación y durante la
carga dan pie a un entorno en el que las direcciones lógicas y físicas son las
mismas. En cambio, la ejecución del esquema de vinculación de direcciones
durante la ejecución produce un entorno en el que las direcciones lógicas y
físicas difieren. En este caso la dirección lógica suele llamarse dirección
virtual.
El
proceso desde que los datos son incorporados al ordenados hasta que se
transmiten al medio se llama encapsulación. Estos datos son formateados,
segmentados, identificados con el direccionamiento lógico y físico para
finalmente ser enviados al medio. A cada capa del modelo OSI le corresponde una
PDU (Unidad de Datos) siguiendo por lo tanto el siguiente orden de
encapsulamiento: DATOS-SEGMENTOS-PAQUETES-TRAMAS-BITS
|
CAPA
|
I TRANSMITE
|
|
APLICACIÓN
|
I DATOS
|
|
PRESENTACIÓN
|
I
|
|
SESIÓN
|
I
|
|
TRANSPORTE
|
I SEGMENTOS
|
|
RED
|
I PAQUETES
|
|
ENLACE
DE DATOS
|
I TRAMAS
|
|
FÍSICA
|
I BITS
|
Debido a que posiblemente la cantidad de los datos sean
demasiados, la capa de transporte desde de origen, se encarga de segmentarlos
para así ser empaquetados debidamente, esta misma capa en el destino se
encargara de reensamblar los datos y colocarlos en forma secuencial, ya que no
siempre llegan a su destino en el orden en que han sido segmentados, así mismo
acorde al protocolo que se este utilizando habrá corrección de errores. Estos
segmentos son empaquetados (paquetes o datagramas) e identificados en la capa
de red con la dirección lógica o IP correspondiente al origen y destino. Ocurre
lo mismo con la dirección MAC en la capa de enlace de datos formándose las tramas
o frames para ser transmitidos a través de alguna interfaz.
1.2 Sistemas Operativos de Red
Son aquellos sistemas que mantienen a dos o más computadoras unidas a través de algún medio de comunicación (físico o no), con el objetivo primordial de poder compartir los diferentes recursos y la información del sistema.
El primer
Sistema Operativo de red estaba enfocado a equipos con un procesador Motorola
68000, pasando posteriormente a procesadores Intel como Novell Netware.
Los
Sistemas Operativos de red mas usados son: Linux, Novell Netware, Personal
Netware, LAN Manager, Windows NT Server UNIX, LA Ntastic ?.
Características:
·
Funciona como Cliente – Servidor en un ambiente
de red.
·
Permite desarrollar servicios de
redireccionamiento para LAN.
·
Soporta sistemas de multiproceso.
·
Cada aplicación se encuentra ejecutando en un
hilo tratado como una caja multiprocesadora.
·
También cuenta con servicios básicos de redes y
APIs para archivos, manejadores de impresión, manejo de mensajes y seguridad
directa. Aplicacionespara redes digitales que pueden ejecutarse en
diferentes plataformas.
Ejemplo:
Una red
de estaciones de trabajo conectadas mediante una LAN.
·
Cada usuario tiene una estación
de trabajo para su uso exclusivo: Tiene su propio S. O.
·
La mayoría de los requerimientos
se resuelven localmente.
·
Es posible que un usuario se
conecte de manera remota con otra estación de trabajo mediante un comando de
“login remoto”. Se convierte la propia estación de trabajo del usuario en una
terminal remota enlazada con la máquina remota. Los comandos se envían a la
máquina remota. La salida de la máquina remota se exhibe en la pantalla local.
Para alternar con otra máquina remota, primero hay que desconectarse de la
primera: En cualquier instante solo se puede utilizar una máquina.
·
Las redes también disponen de un
comando de copiado remoto de archivos de una máquina a otra. Requiere que el
usuario conozca la posición de todos los archivos. El sitio donde se ejecutan
todos los comandos.
·
Una mejor solución consiste en un
sistema de archivos global compartido, accesible desde todas las estaciones de
trabajo una o varias máquinas soportan al sistema de archivos son los
“servidores de archivos”.
·
Los Servidores de Archivos
aceptan solicitudes de los programas de usuarios y programas se ejecutan en las
máquinas no servidoras, llamadas “clientes”.
·
Las solicitudes se examinan, se
ejecutan y la respuesta se envía de regreso. Generalmente tienen un sistema
jerárquico 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 configuración del sistema
de archivos.
·
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 comunicación entre los servidores.
Todas las máquinas pueden ejecutar el mismo S. O., pero esto no es necesario.
Si los clientes y los servidores ejecutan diversos S. O., como mínimo deben
coincidir en el formato y significado de todos los mensajes que podrían
intercambiar. Esquemas como este se denominan “sistema operativo de red” cada
máquina tiene un alto grado de autonomía.
1.3 Sistemas Operativos Distribuidos
Los
sistemas distribuidos están basados en las ideas básicas de transparencia,
eficiencia, flexibilidad, escalabilidad y fiabilidad.
Transparencia
Este va ligado a la idea
de que todo el sistema funcione de forma similar en todos los puntos de la red,
independientemente de la posición del usuario. Queda como labor del sistema
operativo el establecer los mecanismos que oculten la naturaleza distribuida
del sistema y que permitan trabajar a los usuarios como si de un único equipo
se tratara.
En un sistema
transparente, las diferentes copias de un archivo deben aparecer al usuario
como un único archivo. Queda como labor del sistema operativo el controlar las
copias, actualizarlas en caso de modificación y en general, la unicidad de los
recursos y el control de la concurrencia.
Eficiencia
Aquí nos encontramos de
nuevo con el paralelismo. Para lograr un sistema eficiente hay que descartar
la idea de ejecutar un programa en un único procesador de todo el sistema, y
pensar en distribuir las tareas a los procesadores libres más rápidos en cada
momento.
La idea de que un
procesador vaya a realizar una tarea de forma rápida es bastante compleja. Se
han de evitar situaciones como enviar un trabajo de impresión a un ordenador
que no tenga conectada una impresora de forma local.
Flexibilidad
Un proyecto en desarrollo
como el diseño de un sistema operativo distribuido debe estar abierto a cambios
y actualizaciones que mejoren el funcionamiento del sistema. Esta necesidad ha
provocado una diferenciación entre las dos diferentes arquitecturas del núcleo
del sistema operativo: el núcleo monolítico y el micronúcleo.
Escalabilidad
Un sistema operativo
distribuido debería funcionar tanto para una docena de ordenadores como varios
millares. Igualmente, debería no ser determinante el tipo de red utilizada (LAN
o WAN) ni las distancias entre los equipos, etc.
La escalabilidad propone
que cualquier ordenador individual ha de ser capaz de trabajar
independientemente como un sistema distribuido, pero también debe poder hacerlo
conectado a muchas otras máquinas.
Fiabilidad
La forma más evidente de
lograr la fiabilidad de todo el sistema está en la redundancia. La información
no debe estar almacenada en un solo servidor de archivos, sino en por lo menos
dos máquinas. Mediante la redundancia de los principales archivos o de todos
evitamos el caso de que el fallo de un servidor bloquee todo el sistema, al
tener una copia idéntica de los archivos en otro equipo.
Comunicación
La comunicación entre
procesos en sistemas con un único procesador se lleva a cabo mediante el uso de
memoria compartida entre los procesos. En los sistemas distribuidos, al no
haber conexión física entre las distintas memorias de los equipos, la
comunicación se realiza mediante la transferencia de mensajes.
Permiten distribuir
trabajos, tareas o procesos, entre un conjunto de procesadores. 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.
Características de
los Sistemas Operativos distribuidos
·
Colección de sistemas autónomos capaces de comunicación y
cooperación mediante interconexiones hardware y software.
·
Gobierna operación de un S.C. y proporciona abstracción de máquina
virtual a los usuarios.
·
Objetivo clave es la transparencia.
·
Generalmente proporcionan medios para la compartición global de
recursos.
·
Servicios añadidos: denominación global, sistemas de archivos
distribuidos, facilidades para distribución de cálculos (a través de
comunicación de procesos internodos, llamadas a procedimientos remotos, etc.).








No hay comentarios.:
Publicar un comentario