jueves, 13 de septiembre de 2012

Diferencias entre SO Distribuido y Sistema Distribuido

La diferencia es que los SO Distribuidos contienen varios Sistemas Distribuidos para su funcionamiento, esto quiere decir que un Sistema Distribuido forma parte de los SO Distribuidos.

Diferencias entre los Sistemas Operativos de Red, Distribuidos y Multiprocesador


Dentro de los que hoy en día se considera SOD podemos encontrar tres grandes grupos, donde cada uno de ellos tiene sus características y su uso particular (con mayor o menor difusión y teniendo la posibilidad de vincular diferentes tipos.
  • SO de Red
  • SO Distribuido (Real)
  • SO Multiprocesador

Las características generales de cada uno de ellos se puede ver en el siguiente cuadro:


Ejemplos de SO Distribuidos


Solaris
Es un sistema operativo de tipo Unix desarrollado desde 1992 inicialmente por Sun Microsystems y actualmente por Oracle Corporation como sucesor de SunOS. Es un sistema certificado oficialmente como versión de Unix. Funciona en arquitecturas SPARC y x86 para servidores y estaciones de trabajo.

Sprite
Es el nombre de un sistema operativo distribuido con un núcleo monolítico desarrollado por la University of California, Berkeley, más concretamente por el grupo de investigación de John Ousterhout.
Este sistema operativo tiene la apariencia para los programadores de un sistema único, ya que la distribución se produce dentro del propio núcleo y de este modo, Sprite nos da la impresión de estar trabajando sobre un típico sistema UNIX.

Amoeba
Amoeba es un sistema operativo distribuido de investigación, basado en una arquitectura de micronúcleo. Fue desarrollado por Andrew S. Tanenbaum y otros en la Universidad Libre de Amsterdam. El objetivo del proyecto Amoeba era construir un sistema de tiempo compartido que hiciera que una red entera de computadores pareciera a los ojos de un usuario como una máquina única.
Los servicios suministrados por el núcleo incluyen threads, segmentos de memoria, mecanismos de IPC (RPCs y mensajes) y E/S [160].
El desarrollo parece detenido, dado que la fecha de la última modificación en el código data de febrero de 2001.
Existen versiones para varias plataformas, incluyendo i386, Sun-3 y SPARC.

Clases de SO Distribuidos


Por su estructura 
  • Monolítica: Es  la  estructura  utilizada en los primeros SO en la que las funciones  se implementan en el kernel.
  • Por capas: Corresponde a una estructura  jerárquica que se divide en distintos niveles.
  • Maquina virtual: Se trata de un tipo de sistemas  operativos que presentan una interfaz a cada proceso, mostrando una máquina que parece idéntica a la maquina  real. 

Por los modos de explotación: maneras que puede  funcionar un 
  • Procesamiento por lotes: Es la agrupación por bloques  de los  trabajos  similares, existe la ausencia  de interacción entre el usuario y el proceso mientras se  ejecuta.
  • Multiprogramación: El SO se encarga de distribuir  la carga  computacional entre los procesadores existentes, con el fin de  incrementar el procesamiento de la máquina.Tiempo real: Un SO  en tiempo real  es aquel en el cual los resultados  son correctos  también es correcto  en el  tiempo que se producen los resultados.
  • Híbrido: Estos SO intentan ser  una mezcla    de los dos anteriores.
Por los servicios ofrecidos
  • Esta clasificación se tiene en cuenta la visión  del usuario  final 

Por el número de usuario:
  • Monousuario: Son aquellos que únicamente  soportan un usuario a la vez
  • Multiusuario: Son capaces de dar  servicio  a  mas de un usuario a la vez

Por el número de tareas:
  • Monotarea:  Son aquellas que solo permiten una tarea a la vez
  • Multitarea: Es aquella que  permite al usuario  estar realizando  varios  trabajos al mismo  tiempo.

Por el número de procesadores:
  • Monoproceso: Son los que  solamente permiten realizar un proceso a la vez
  • Multiproceso: son aquellos  que permiten realizar varios procesos simultáneamente y son  capaces de  ejecutar varias  tareas  al mismo tiempo.

Por la forma de ofrecer los servicios.
  • Sistema centralizado: Con este  tipo de modelo  los computadores  mainframe se encargaban de todo el procesamiento  y los usuarios manejaban únicamente terminales  tontas
  • Sistemas de Red: Estos SO son aquellos que mantienen  a dos o mas computadoras  unidas  a través de un medio  de comunicación  con  el objetivo primordial  de poder  compartir  los diferentes recursos  y la  información  del sistema, cada computador mantienen  su propio SO
  • Sistemas distribuidos: Son sistemas  cuasi-independientes  que permiten distribuir los trabajos, tareas  o procesos  entre  un conjunto  de procesadores.

miércoles, 5 de septiembre de 2012

Tipos de Sistemas Operativos

Sistema Operativo Distribuido:
Es una serie de computadoras que comparten recursos, comunican y coordinan sus acciones únicamente mediante el paso de mensajes.

Sistema de Archivos Distribuido:
Es una implementación distribuida del clásico modelo de tiempo compartido de un sistema de archivos, donde varios usuarios comparten archivos y almacenan recursos.

Sistema Distribuido Basado en Web:
Su arquitectura no es diferente a los de otros sistemas distribuidos, los SO basados en la web están organizados como arquitecturas cliente-servidor relativamente simples.

Sistemas Basados en Objetos Distribuidos:
En estos sistemas la noción de un objeto desempeña un rol fundamental al establecer la transparencia de la distribución. Diseñar e implementar sistemas distribuidos que se estructuren como colecciones de componentes modulares (objetos) que puedan ser manejados fácilmente y organizados en capas para ocultar la complejidad del diseño.

martes, 4 de septiembre de 2012

Sistemas Operativos Distribuidos - Ventajas y Desventajas

Ventajas de los Sistemas Distribuidos con Respecto a los Centralizados

Una razón para la tendencia hacia la descentralización es la economía. Herb Grosch formuló la que se llamaría “Ley de Grosch”:
  • El poder de cómputo de una CPU es proporcional al cuadrado de su precio:
    • Si se paga el doble se obtiene el cuádruple del desempeño.
  • Fue aplicable en los años setentas y ochentas a la tecnología mainframe.
  • No es aplicable a la tecnología del microprocesador:
    • La solución más eficaz en cuanto a costo es limitarse a un gran número de cpu baratos reunidos en un mismo sistema.

Los sistemas distribuidos generalmente tienen en potencia una proporción precio/desempeño mucho mejor que la de un único sistema centralizado.


Algunos autores distinguen entre:
  • Sistemas distribuidos: están diseñados para que muchos usuarios trabajen en forma conjunta.
  • Sistemas paralelos: están diseñados para lograr la máxima rapidez en un único problema.

En general se consideran sistemas distribuidos, en sentido amplio, a los sistemas en que:

  • Existen varias cpu conectadas entre sí.
  • Las distintas CPU trabajan de manera conjunta.

Ciertas aplicaciones son distribuidas en forma inherente:

  • Controla los robots y máquinas en la línea de montaje.
  • Cada robot o máquina es controlado por su propia computadora.
  • Las distintas computadoras están interconectadas.

Una ventaja potencial de un sistema distribuido es una mayor confiabilidad:

  • Al distribuir la carga de trabajo en muchas máquinas, la falla de una de ellas no afectara a las demás:
    • La carga de trabajo podría distribuirse.
  • Si una máquina se descompone:
    • Sobrevive el sistema como un todo.

Otra ventaja importante es la posibilidad del crecimiento incremental o por incrementos:

  • Podrían añadirse procesadores al sistema, permitiendo un desarrollo gradual según las necesidades.
  • No son necesarios grandes incrementos de potencia en breves lapsos de tiempo.
  • Se puede añadir poder de cómputo en pequeños incrementos.

Ventajas de los Sistemas Distribuidos con Respecto a las PC Independientes

Satisfacen la necesidad de muchos usuarios de compartir ciertos datos:
  • Ej.: sistema de reservas de líneas aéreas.
También con los sistemas distribuidos se pueden compartir otros recursos como programas y periféricos costosos:
  • Ej.: impresoras láser color, equipos de fotocomposición, dispositivos de almacenamiento masivo (ej.: cajas ópticas), etc.
Otra importante razón es lograr una mejor comunicación entre las personas:
  • Ej.: correo electrónico:
    • Posee importantes ventajas sobre el correo por cartas, el teléfono y el fax:
      • Velocidad, disponibilidad, generación de documentos editables por procesadores de texto, etc.
La mayor flexibilidad es también importante:
  • La carga de trabajo se puede difundir (distribuir) entre las máquinas disponibles en la forma más eficaz según el criterio adoptado (por ej. costos).
  • Los equipos distribuidos pueden no ser siempre PC:
    • Se pueden estructurar sistemas con grupos de PC y de computadoras compartidas, de distinta capacidad.

Desventajas de los Sistemas Distribuidos

El principal problema es el software, ya que el diseño, implantación y uso del software distribuido presenta numerosos inconvenientes.

Los principales interrogantes son los siguientes:
  • ¿Qué tipo de S. O., lenguaje de programación y aplicaciones son adecuados para estos sistemas?.
  • ¿Cuánto deben saber los usuarios de la distribución?.
  • ¿Qué tanto debe hacer el sistema y qué tanto deben hacer los usuarios?.
La respuesta a estos interrogantes no es uniforme entre los especialistas, pues existe una gran diversidad de criterios y de interpretaciones al respecto.

Otro problema potencial tiene que ver con las redes de comunicaciones, ya que se deben considerar problemas debidos a pérdidas de mensajes, saturación en el tráfico, expansión, etc.

El hecho de que sea fácil compartir los datos es una ventaja pero se puede convertir en un gran problema, por lo que la seguridad debe organizarse adecuadamente.

En general se considera que las ventajas superan a las desventajas, si estas últimas se administran seriamente.

Bibliografia