lunes, 10 de septiembre de 2012


UNIDAD 1 LOS SISTEMAS OPERATIVOS EN AMBIENTES DISTRIBUIDOS

1.1 Sistemas Distribuidos
Computación distribuida
La computación distribuida o informática en malla, es un nuevo modelo para resolver problemas de computación masiva utilizando un gran número de ordenadores organizadas en racimos incrustados en una infraestructura de telecomunicaciones distribuida
Un sistema distribuido se define como: una colección de computadoras separadas físicamente y conectadas entre sí por una red de comunicaciones distribuida; cada máquina posee sus componentes de hardware y software que el usuario percibe como un solo sistema.
 El usuario accede a los recursos remotos de la misma manera en que accede a recursos locales, o un grupo de computadores que usan un software para conseguir un objetivo en común.
Los sistemas distribuidos deben ser muy confiables, ya que si un componente del sistema se descompone otro componente debe ser capaz de reemplazarlo, esto se denomina tolerancia a fallos.
El tamaño de un sistema distribuido puede ser muy variado, ya sean decenas de hosts (red de área local), centenas de hosts (red de área metropolitana), y miles o millones de hosts (Internet); esto se denomina escalabilidad.

1.1.1 Ventajas y desventajas contra los sistemas centralizados


Ventajas:
·         Procesadores más poderosos y a menos costos
·         Desarrollo de Estaciones con más capacidades
·         Las estaciones satisfacen las necesidades de los usuarios.
·         Uso de nuevas interfaces.
·         Avances en la Tecnología de Comunicaciones.
·         Disponibilidad de elementos de Comunicación.
·         Desarrollo de nuevas técnicas.
·         Compartición de Recursos.
·         Dispositivos (Hardware).
·         Programas (Software).
·         Eficiencia y Flexibilidad.
·         Respuesta Rápida.
·         Ejecución Concurrente de procesos (En varias computadoras).
·         Empleo de técnicas de procesamiento distribuido.
·         Disponibilidad y Confiabilidad.
·         Sistema poco propenso a fallas (Si un componente no afecta a la disponibilidad del sistema).
·         Mayores servicios que elevan la funcionalidad (Monitoreo, Telecontrol, Correo Eléctrico, Etc.).
·         Crecimiento Modular.
·         Es inherente al crecimiento.
·         Inclusión rápida de nuevos recursos.
·         Los recursos actuales no afectan.


Desventajas:
·         Requerimientos de mayores controles de procesamiento.
·         Velocidad de propagación de información (Muy lenta a veces).
·         Servicios de replicación de datos y servicios con posibilidades de fallas.
·         Mayores controles de acceso y proceso (Commit).
·         Administración más compleja.
·         Costos.

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.
Una disposición muy común son los sistemas multicapa en los que el servidor se descompone en diferentes programas que pueden ser ejecutados por diferentes computadoras aumentando así el grado de distribución del sistema.
La arquitectura cliente-servidor sustituye a la arquitectura monolítica en la que no hay distribución, tanto a nivel físico como a nivel lógico.
La red cliente-servidor es aquella red de comunicaciones en la que todos los clientes están conectados a un servidor, en el que se centralizan los diversos recursos y aplicaciones con que se cuenta; y que los pone a disposición de los clientes cada vez que estos son solicitados. Esto significa que todas las gestiones que se realizan se concentran en el servidor, de manera que en él se disponen los requerimientos provenientes de los clientes que tienen prioridad, los archivos que son de uso público y los que son de uso restringido, los archivos que son de sólo lectura y los que, por el contrario, pueden ser modificados, etc. Este tipo de red puede utilizarse conjuntamente en caso de que se este utilizando en una red mixta.

1.1.3 Caracterisitcas del Hardware

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 comunicación utilizados.
Existen diversos esquemas de clasificación para los sistemas de cómputos con varias CPU: Uno de los mas conocidos es la “Taxonomía de Flynn”: Considera como características esenciales el número de flujo de instrucciones y el número de flujos de datos.
La clasificación incluye equipos SISD, SIMD, MISD y MIMD.
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 instrucción que: Busca una instrucción. Instruye a varias unidades de datos para que la lleven a cabo en paralelo, cada una con sus propios datos. Son útiles para los cómputos que repiten los mismos cálculos 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 práctica.
MIMD (Multiple Instruction Multiple Data: un grupo de computadoras independientes, cada una con su propio contador del programa, programa y datos): Todos los sistemas distribuidos son de este tipo.
Un avance sobre la clasificación de Flynn incluye la división 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.
Cada una de las categorías indicadas se puede clasificar según la arquitectura de la red de interconexión en:
Esquema de bus: Existe una sola red, bus, cable u otro medio que conecta todas las máquinas: Ej.: la televisión por cable.
Esquema con conmutador: No existe una sola columna vertebral de conexión: Hay múltiples conexiones y varios patrones de conexionado.
Los mensajes de mueven a través de los medios de conexión.
Se decide explícitamente la conmutación en cada etapa para dirigir el mensaje a lo largo de uno de los cables de salida.
Ej.: el sistema mundial telefónico público.
Otro aspecto de la clasificación 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 transmisión es alta.
Generalmente se los utiliza como sistemas paralelos.
Sistemas débilmente acoplados:
El retraso de los mensajes entre las máquinas es grande y la tasa de transmisión es baja.
Generalmente se los utiliza como sistemas distribuidos.
Generalmente los multiprocesadores están más fuertemente acoplados que las multicomputadoras.

1.1.4 Caracteristicas del software

MIDDLEWARE
Definición Capa de software intermedio entre el cliente y el servidor. Es la capa de software que nos permiten gestionar los mecanismos de comunicaciones. Ejemplo si se hace la petición de una página web desde un browser en el cliente, el middleware determina la ubicación y envía una petición para dicha página. El servidor Web, interpreta la petición y envía la página al software intermedio, quien la dirige al navegador de la máquina cliente que la solicitó.
Existen dos tipos:
• Software intermedio general. Servicios generales que requieren todos los clientes y servidores, por ejemplo: software para las comunicaciones usando el TCP/IP, software parte del sistema operativo que, por ejemplo, almacena los archivos distribuidos, software de autenticación, el software intermedio de mensajes de clientes a servidores y viceversa.
• Software intermedio de servicios. Software asociado a un servicio en particular, por ejemplo: software que permite a dos BD conectarse a una red cliente/servidor (ODBC: Conectividad abierta de BD), software de objetos distribuidos, por ejemplo la tecnología CORBA permite que objetos distribuidos creados en distintos lenguajes coexistan en una misma red (intercambien mensajes), software intermedio para software de grupo, software intermedio asociado a productos de seguridad específicas (Conexiones Seguras: Sockets), etc

Características:
• Independiza el servicio de su implantación, del sistema operativo y de los protocolos de comunicaciones.
• Permite la convivencia de distintos servicios en un mismo sistema.
• Permite la transparencia en el sistema.
• Modelo tradicional: Monitor de teleproceso o CICS, Tuxedo, Encina.
• Modelo OO: CORBA.

1.1.5 Direccionamiento lògico y fìsico

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. 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 re ensamblar 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 Concepto y caracteristicas de los Sor

Los sistemas operativos de red ( NOS, Network Operating System) es el equipo lógico que controla las comunicaciones y los recursos compartidos en la red y proporciona la capacidad de proceso distribuido. En un principio los sistemas operativos de red sólo permitían compartir impresoras y discos, y una única estación podía acceder de cada vez a un volumen de disco. En la actualidad los sistemas operativos de red proporcionan la base para crear aplicaciones cliente/servidor, integrar diferentes tipos de ordenadores, y formar grupos de trabajo.
En la mayoría de las redes de área local, el sistema operativo funciona conjuntamente con el sistema operativo del ordenador. Los comandos del sistema los procesa primero el sistema operativo del ordenador. Cuando se efectúa una solicitud local, un comando que sólo precisa los recursos/dispositivos de la estación, ésta se realiza en la estación de usuario. Cuando se efectúa una solicitud que requiere la participación del equipamiento lógico o dispositivos de red, se pasa al sistema operativo de la red para que la procese.
Los elementos de la red a que da acceso un sistema operativo de red son:
• Servidor de ficheros.
• Servidor de impresoras comunes.
• Otros ordenadores de la red.
• Servidores de comunicaciones, que normalmente suelen ser ordenadores de la red, dedicados o no, aunque a veces están integrados dentro del servidor de ficheros. Sirven para acceder a un host o a otras redes remotas.
• Mini ordenadores, a los que se puede acceder por medio de equipamiento lógico o incluso a través del servidor de ficheros.
Los sistemas operativos de red constan principalmente de dos módulos:
• Servidor
El equipo lógico del módulo servidor puede funcionar sobre sistemas operativos estándares o sobre sistemas propietarios. Proporcionan servicios de impresión, compartición de discos y comunicaciones.
• Cliente
Se instala sobre el sistema operativo del ordenador y añade las funciones que proporciona el servidor a través de los servicios de comunicaciones.
Existen dos tipos de sistemas operativos de red:
• Servidor dedicado
Son redes centradas alrededor de un potente ordenador (o servidor) que almacena todos los datos y aplicaciones, y realiza funciones especiales como pueden ser servicios de impresión, comunicaciones, o transmisión de fax. Los servidores de impresoras se encargan de las funciones de impresión, como son la compartición de impresoras y la gestión de las colas de espera. Los servidores de comunicaciones conectan las redes locales a lugares remotos. Los servidores de fax permiten imprimir directamente los ficheros a un fax.
• Igual a igual (Peer to peer)
En estos sistemas operativos todas las estaciones de la red actúan como servidores, asumiendo la responsabilidad de los servicios de impresión, servicios de ficheros, y otras tareas. Permiten gran flexibilidad y economía al poder acceder desde cualquier puesto de trabajo a cualquier otro recurso de la red; sin embargo aumenta los tiempos de respuesta. Están orientados a pequeños grupos de trabajo con bajo volumen de datos, ofreciendo un bajo coste.Se ha impuesto la alternativa de disponer de varios servidores en una misma red. Las ventajas asociadas con esta opción, para redes de tamaño medio/alto, son claras: aplicaciones especializadas por servidor, crecimiento gradual sin grandes inversiones y un nivel de tiempo de respuesta adecuado.              

1.3 Concepto y caracterisiticas de los Sod

Los sistemas operativos distribuidos desempeñan las mismas funciones que un sistema operativo normal, pero con la diferencia de trabajar en un entorno distribuido. Su Misión principal consiste en facilitar el acceso y la gestión de los recursos distribuidos en la red.
En un sistema operativo distribuido los usuarios pueden acceder a recursos remotos de la misma manera en que lo hacen para los recursos locales. Permiten distribuir trabajos, tareas o procesos, entre un conjunto de procesadores. Puede ser que este conjunto de procesadores esté en un equipo o en diferentes, lo cual es transparente para el usuario.
Los sistemas distribuidos deben de ser muy confiables y estables ya que si un componente del sistema se descompone otro componente debe de ser capaz de reemplazarlo inmediatamente y no afectar los procesos del sistema.
Entre los diferentes Sistemas Operativos distribuidos que existen tenemos los siguientes: Sprite, Solaris-MC, Mach, Chorus, Spring, Amoeba, Taos, etc.