jueves, 20 de septiembre de 2012

Introducción a las Llamadas a Procedimientos Remotos


Paso por valor:


El paso de parámetros por valor consiste en copiar el contenido de la variable que queremos pasar en otra dentro del ámbito local de la subrutina, consiste pues en copiar el contenido de la memoria del argumento que se quiere pasar a otra dirección de memoria, correspondiente al argumento dentro del ámbito de dicha subrutina. Se tendrán dos valores duplicados e independientes, con lo que la modificación de uno no afecta al otro.

Paso por referencia:


El paso de parámetros por referencia consiste en proporcionar a la subrutina a la que se le quiere pasar el argumento la dirección de memoria del dato. En este caso se tiene un único valor referenciado (o apuntado) desde dos puntos diferentes, el programa principal y la subrutina a la que se le pasa el argumento, por lo que cualquier acción sobre el parámetro se realiza sobre la misma posición de memoria.

ONC.


ONC RPC es una tecnología llamada a procedimiento remoto que se originó en Sun Microsystems a principios de 1980. ONC RPC siguió el modelo de Xerox Correo RPC protocolos. Ha sido ampliamente implementada en plataformas de mayoría de los principales fabricantes de estaciones de trabajo. Se ha implementado en MS-DOS, Microsoft Windows, Microsoft Windows NT, Mac, VMS, MVS, y prácticamente todas las versiones de UNIX, entre otros. Sun Microsystems a cambio delegado el control de los protocolos RPC ONC para los fines de hacer un estándar de Internet para el IETF (vea RFC 1790).

DCE.


El DCE RPC es un protocolo de nivel de aplicación que permite a las aplicaciones OpenGroup hacer llamadas a procedimientos remotos. Es el protocolo de conexión de base de DCOM (Distributed Common Object modelo) de Microsoft.
Este módulo fue motivado por un esfuerzo de ingeniería inversa en un cliente DCOM. Por lo tanto, las funciones que se implementan marcha más hacia la implementación del lado del cliente. Además, la versión inicial sólo admite la versión orientado a la conexión de DCE RPC. También se supone NTLMSSP como protocolo de autenticación subyacente. Esto puede cambiar en función de las aportaciones de los usuarios de estos módulos.

DCOM.


DCOM permite que el programador COM amplié sus componentes a través de la red, dándoles los beneficios de la informática distribuida. Cuando el cliente y el componente residen en el mismo equipo se comunican con la ayuda de procedimientos de llamada local (LPC), pero a través de la red tienen que utilizar el DCOM estándar construido por Microsoft. Los Componentes COM a través de la red se comportan del mismo modo que si estuviesen en la misma máquina con el cliente.

jueves, 13 de septiembre de 2012

Clasificaciones del hardware de los SOD. Clúster, Grid, MMP, SMP, CC-NUMA, Sistemas distribuidos




Clúster:
·         Una colección de estaciones de trabajo o PCs que están conectadas mediante alguna tecnología de red.
·         Para fines de computación paralela estas PCs o estaciones de trabajo estarán conectadas  mediante una red de muy alta velocidad.
·         Un clúster trabaja como una colección integrada de recursos y pueden tener una imagen  simple del sistema abarcando todos sus nodos.

Grid:
·         Un gran conjunto de Sitios que están conectadas mediante una red global de alta velocidad  (10 Gb/s) que tienen una alta capacidad de procesamiento (entre 1000 a 10000 GFLOPS)  y un gran capacidad de almacenamiento (entre 1000 a 10000 TB)
·         Los Sitios interconectados utilizan Procesamiento Distribuido y P2P (Peer to Peer  Architecture) con desarrollos de SW novedosos adicionales con interfaces estándar  abiertas.
·         Utiliza nuevas técnicas de Autoadministración, auto escalabilidad y auto reparación (tolerante a fallas)

MPP:
·         Es un gran sistema de procesamiento paralelo con una  arquitectura que no comparte nada.
·         Consiste en cientos de elementos de procesamiento los cuales están interconectados por  un Switch o red de alta velocidad.
·         Cada nodo puede tener una variedad de componentes de hardware, pero generalmente  consisten de una memoria central y de uno o varios procesadores.

SMP:
·         Poseen desde 2 a 64 procesadores y pueden ser considerados como una arquitectura que  comparte todo.
·         En estos sistemas todos los procesadores comparten todos los recursos globales  disponibles (bus del sistema, memoria, sistemas de I/O, etc.);
·         Una copia sencilla del Sistema Operativo corre en estos sistemas.

CC-NUMA:
·       Es un sistema multiprocesador escalable.
·   Como en SMP, cada procesador en un sistema CC-NUMA tiene una vista global de toda la memoria.
·       Este tipo de sistema consigue su nombre (NUMA) a partir de los tiempos no uniformes que  le toma para acceder ya sea a la parte memoria más cercana, así como a la más remota.

Sistemas Distribuidos:
·         Pueden ser considerados redes convencionales de computadores independientes.
·         Los mismos tienen múltiples imágenes del sistema, a partir de que cada nodo tiene su  propio sistema operativo.
·         Cada máquina individual en un sistema distribuido puede ser, por ejemplo, una  combinación de MPPs, SMPs, Clusters, Grids y computadoras individuales.

Diferencia entre un sistema operativo distribuido y un sistema distribuido




Existe una diferencia vital entre los sistemas operativos distribuidos y los sistemas distribuidos. Podríamos llamar a un Sistema Distribuido una capacidad del Sistema operativo Distribuido, es decir: Un sistema distribuido es la relación que existe entre una computadora independiente y un servidor de archivos o dispositivos compartidos. Cada computadora ejecuta sus programas en su memoria propia haciendo uso de su único microprocesador y memoria, este no comparte memoria ni asigna tareas a otros procesadores de la red.
Sin embargo, un Sistema operativo distribuido tiene acceso a todos los dispositivos compartidos de la red incluyendo procesadores y memoria RAM.

Diferencias entre un sistema operativo distribuido, un sistema operativo multiprocesador y un sistema operativo de red



 

Elemento

SO
Distribuido

SO
Multiprocesador

So de
Red

¿Se ve como un uniprocesador virtual?

Si

Si

No

¿Todos ejecutan el mismo SO?

Si

Si

No

¿Cuántas copias del SO existen?

Ninguna

1

Ninguna

¿Cómo se logra la comunicación?

Mensajes

Memoria Compartida

Archivos compartidos/ Mensajes

¿Se requiere un acuerdo en los protocolos de Red?

Si

No

Si

¿Existe una única cola de ejecución?

Si (No)

Si

No

¿Existe una semántica bien definida para los archivos compartidos?

Si

Si

Por lo general

Ejemplos de sistemas operativos distribuidos




·      Sprite: 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.

·  Solaris-MC: 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.

Mach: está diseñado para incorporar muchas de las innovaciones recientes en el campo de los sistemas operativos para producir un sistema operativo completamente funcional y de tecnología avanzada.

·         Chorus: Sistema operativo de IBM que intentó suceder a DOS como sistema operativo

·        Spring: fue un proyecto experimental basado en orientación a objetos, desarrollado por Sun Micro systems a principios de 1990.
Spring se centró en proporcionar un entorno de programación más rica de apoyo herencia múltiple y otras características.

Clases de sistemas operativos distribuidos



Respecto al modo de trabajo del usuario

Se pueden clasificar los sistema operativos, partiendo de este punto de vista, en on line (o interactivos) y off line (o batch o por lotes). Como ejemplo de los primeros ya hemos comentado los sistemas de tiempo compartido, los sistemas interactivos son útiles, entre otros, en entornos de desarrollo de programas, de procesamiento de textos y de ejecución de programas interactivos.

Respecto al número de usuarios

Si se tiene en cuenta el número de usuarios se puede hablar de sistemas monousuario y multiusuario (o multi acceso). En los primeros se puede acceder al ordenador mediante un único terminal, frente a los varios terminales de acceso simultáneo que permiten los segundos.

Respecto al propósito

Atendiendo al uso que quieran dar los usuarios al ordenador, los sistemas operativos se pueden dividir en sistemas de propósito específico y sistemas de propósito general.

Los sistemas de propósito general se caracterizan por tener un gran número de usuarios trabajando sobre un amplio abanico de aplicaciones. Se suelen dividir en dos grandes grupos: los de lotes y los de tiempo compartido. Sin embargo, existen sistemas que compaginan el tiempo compartido con procesos por lotes.

Al existir varios procesadores

Los ordenadores con más de una CPU se clasifican en multiprocesadores y en sistemas distribuidos (o multicomputadores). 

PPT Arquitectura Cliente-Servidor

https://docs.google.com/file/d/0B0X2B7XZ9J4cTkVic3JscDd5ZFE/edit

miércoles, 5 de septiembre de 2012

Conceptos


  • 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

Ventajas y Desventajas de la Utilización de un Sistema Operativo Distribuido

VENTAJAS DE LOS SISTEMAS DISTRIBUIDOS


Ø  La economía, es mucho más barato para montarse en servidores u ordenadores.
Ø  Trabajo en conjunto.
Ø  Tienen una mayor confiabilidad.
Ø  Capacidad de crecimiento incremental.
Ø  Se pueden compartir recursos, como programas y periféricos, muy costosos.
Ø  Se logra una mejor comunicación entre las personas.
Ø  Tienen mayor flexibilidad, la carga de trabajo se puede distribuir entre diferentes ordenadores.
Ø  Confiabilidad, disponibilidad y tolerancia a fallas.

 

DESVENTAJAS DE LOS SISTEMAS DISTRIBUIDOS


Ø  El principal problema es el software,  el diseño, implantación y uso del software distribuido.
Ø  Otro problema tiene que ver con las redes de comunicación.
Ø  Uso ineficiente de los recursos distribuidos.
Ø  Capacidad reducida para administrar apropiadamente grupos de procesadores y memoria localizada en distintos sitios.
Ø  Enorme dependencia del desempeño de la red y de la confiabilidad de la misma.
Ø  Debilidad en  la seguridad.
Ø  Mayor complejidad en la administración y mantenimiento.
Ø  Mayor complejidad en su construcción.