30
Docente: Omar Betanzos Sistemas operativos ll Unidad 1 Sistemas operativos en ambientes distribuidos

Unidad 1 Sistemas Operativos en Ambientes Distribuidos

  • Upload
    a6m0

  • View
    204

  • Download
    1

Embed Size (px)

Citation preview

Docente: Omar BetanzosSistemas operativos ll

Unidad 1Sistemas operativos en ambientes

distribuidos

1.1 CONCEPTOS Y CARACTERÍSTICAS DE LOS SISTEMAS OPERATIVOS DE REDES Y SISTEMAS

OPERATIVOS CENTRALIZADOSSistemas operativos de red (Network System Operating):Es un componente software de una computadora que tiene como objetivo coordinar y manejar la comunicación y las actividades de los recursos compartidos del ordenador en una red de equipos y proporciona la capacidad de proceso distribuido.Dependiendo del fabricante del sistema operativo de red, tenemos que el software de red para un equipo personal se puede añadir al propio sistema operativo del equipo o integrarse con el.

Es el ejemplo mas famoso de S.O. de red donde el software de red del equipo cliente se incorpora en el sistema operativo del equipo.

CARACTERISTICAS DE LOS SISTEMAS OPERATIVOS DE RED

• Gestión centralizada de recursos y equipos de la red se realiza por un servidor con sistema operativo en red.

• Optimiza la utilización de los recursos.

• Proporciona la seguridad controlando el acceso a los datos y recursos.

• Coordina las funciones de los periféricos y recursos.

• Conecta todos los equipos y recursos de la red.

• Aparece la figura de administrador de red que gestiona la infraestructura de la red (no presente en grupos de trabajo).

SISTEMA OPERATIVOS CENTRALIZADO

Se trata de aquel que utiliza los recursos de una sola computadora, es decir, su memoria, CPU, disco y periféricos. Respecto al hardware podemos decir que se suele tratar de un computador caro y de gran potencia, con terminales alfanuméricos directamente conectados. Suele tratarse de una computadora de tipo desktop, en las cuales es común encontrar un monitor grande con un teclado y un mouse, además de un case para albergar la unidad de procesamiento y los demás componentes.

CARACTERISTICAS DE LOS SISTEMAS OPERATIVOS CENTRALIZADOS

Gestión de memoria• Asignación de

memoria• Mapeo lógico y físico• Memoria virtual• Mecanismos de

protección

Gestión de procesos• Comunicación

entre procesos• La sincronización• La planificación

Gestión de dispositivos• Drivers• Buffering• Spooling

Gestión de archivos• Acceso a archivos• Compartición• Control de

concurrencia• Replicación de

datos

SISTEMA OPERATIVO DISTRIBUIDO

• Es la unión lógica de un grupo de sistemas operativos sobre una colección de nodos computacionales independientes, conectados en red, comunicándose y físicamente separados.

• Cada nodo contiene de forma individual un subconjunto específico de los programas que componen el sistema operativo distribuido. Cada subconjunto es una combinación de dos proveedores de servicios distintos.

• El primero es un núcleo ubicuo mínimo o micro núcleo, que controla el hardware del nodo.

• El segundo es una colección de componente de administración del sistema de alto nivel que coordinan las actividades individuales y colaborativas del nodo.

CARACTERÍSTICAS DE LOS SISTEMAS OPERATIVOS DISTRIBUIDOS

• CONCURRENCIA• ESCALABILIDAD• TOLERANCIA A FALLOS• TRANSPARENCIA: DE ACCESO, DE LOCALIZACION, DE CONCURRENCIA,

DE REPLICACION, DE FALLOS, DE MIGRACION, DE PRESTACIONES Y DE ESCALADO.

CONCURRENCIA

• Cuando existen varios procesos en una única maquina decimos que se están ejecutando concurrentemente. Si el ordenador esta equipado con un único procesador central, la concurrencia tiene lugar entrelazando la ejecución de los distintos procesos. Si la computadora tiene N procesadores, entonces se pueden estar ejecutando estrictamente a la vez hasta N procesos.

•En los sistemas distribuidos hay muchas maquinas, cada una con uno o mas procesadores centrales. Es decir, si hay M ordenadores en un sistema distribuido con un procesador central cada una entonces hasta M procesos estar ejecutándose en paralelo.

ESCALABILIDAD• Los sistemas distribuidos operan de manera efectiva y eficiente a

muchas escalas diferentes. La escala más pequeña consiste en dos estaciones de trabajo y un servidor de ficheros, mientras que un sistema distribuido construido alrededor de una red de área local simple podría contener varios cientos de estaciones de trabajo, varios servidores de ficheros, servidores de impresión y otros servidores de propósito especifico. A menudo se conectan varias redes de área local para formar internetworks, y éstas podrían contener muchos miles de ordenadores que forman un único sistema distribuido, permitiendo que los recursos sean compartidos entre todos ellos.

TOLERANCIA A FALLOS• Los sistemas informáticos a veces fallan. Cuando se producen

fallos en el software o en el hardware, los programas podrían producir resultados incorrectos o podrían pararse antes de terminar la computación que estaban realizando. El diseño de sistemas tolerantes a fallos se basa en dos cuestiones, complementarias entre sí: Redundancia hardware (uso de componentes redundantes) y recuperación del software (diseño de programas que sean capaces de recuperarse de los fallos).

TRANSPARENCIA

• La transparencia se define como la ocultación al usuario y al programador de aplicaciones de la separación de los componentes de un sistema distribuido, de manera que el sistema se percibe como un todo, en vez de una colección de componentes independientes. La transparencia ejerce una gran influencia en el diseño del software de sistema.

SISTEMAS OPERATIVOS DISTRIBUIDOS

Ing. InformáticaJaneth Martinez CruzSistemas Operativos II

Es aquel que consiste en facilitar el acceso y la gestión de los recursos distribuidos en la red. Es donde los usuarios pueden acceder a recursos remotos de la misma manera en que lo hacen para los recursos locales Permitiendo 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.Un sistema distribuido se define como una colección de computadores autónomos conectados por una red, y con el software distribuido adecuado para que el sistema sea visto por los usuarios como una única entidad capaz de proporcionar facilidades de computación.

Ventajas DesventajasSISTEMAS DISTRIBUIDOS

- Aumenta la confiabilidad al sistema. Esta arquitectura tiene redundancia, al fallar uno de los sistemas, las demás siguen funcionando.- Crecimiento de la empresa es soportable. Se realiza tantas copias del sistema en diferentes nuevos lugares geográficos.- Tomas de decisiones locales. La lógica de negocio y las tomas de decisiones en cada lugar es independiente uno del otro.- Distribución de datos. No está centralizada los datos de la empresa. Si la lógica de negocio en tener datos locales en las tomas de decisiones es factible, si no, irse a un sistema centralizado.- Uso de ancho de banda local. Permite tener interfaz muy amigable o vistosa. Solo se consume el ancho de la banda de una red local.- Velocidad de respuesta rápida, si los datos están en la red local.

- Soporte local de la tecnología. Cada lugar geográfico debe tener su personal que soporte tecnológicamente esta arquitectura.- Una mala distribución de los datos, es peor que un sistema centralizado, uso en exceso de la red amplia.- Costo y complejidad del SW.- Costo en llevar los cambios del SW a cada lugar, en caso de mantenimiento.- Integridad de los datos es más difícil de controlar.- Uso de otra área de la tecnología, SW de seguridad, protección y de redes.

SISTEMAS CENTRALIZADOS

- Un punto de control. Mayor control de seguridad y protección de la información en un solo punto.- Fácil de mantener. Empresa con muchos cambios de requerimientos. - - Fácil despliegue de los cambios. Soporte en un solo punto.- Tomas de decisiones. Esta arquitectura es primordial en las tomas de decisiones centralizadas, en otro punto llamado de lógica de negocio de la empresa centralizada.

- Interfaz de usuario poco llamativo. Por el uso de la red amplia, se evita tener pantalla con imágenes. Debe controlar el uso de ancho de banda de la red.- Velocidad de repuestas lenta, dependiendo la conexión de la red a la central.- Debe haber mecanismo de respaldo o copia del sistema centralizada en caso de contingencia muy estricta, muere el sistema central, muere el sistema a nivel general.- Crecimiento depende de los equipos que lo soporta. Si la empresa crece en forma exponencial por ejemplo, el equipo debe ser cambiado al no tener estos estudios de crecimiento o la actualización de equipo debe ser constante.

SISTEMAS OPERATIVOS PARA REDESUn sistema operativo de red, también llamado NOS (del

inglés, Network Operating System), es un software que permite la interconexión de ordenadores para poder acceder a los servicios y recursos, hardware y software, creando redes de computadoras. Al igual que un equipo no puede trabajar sin un sistema operativo, una red de equipos no puede funcionar sin un sistema operativo de red. Consiste en un software que posibilita la comunicación de un sistema informático con otros equipos en el ámbito de una red.

CLIENTE - SERVIDORTCP es un protocolo orientado a conexión. No hay relaciones maestro/esclavo. Las aplicaciones, sin embargo, utilizan un modelo cliente/servidor en las comunicaciones. Un servidor es una aplicación que ofrece un servicio a usuarios de Internet; un cliente es el que pide ese servicio. Una aplicación consta de una parte de servidor y una de cliente, que se pueden ejecutar en el mismo o en diferentes sistemas.Los usuarios invocan la parte cliente de la aplicación, que construye una solicitud para ese servicio y se la envía al servidor de la aplicación que usa TCP/IP como transporte.El servidor es un programa que recibe una solicitud, realiza el servicio requerido y devuelve los resultados en forma de una respuesta. Generalmente un servidor puede tratar múltiples peticiones(múltiples clientes) al mismo tiempo.

N CAPASLas capas dentro de una arquitectura son un conjunto de servicios especializados que pueden ser accesibles por múltiples clientes y que deben ser fácilmente reutilizables.

Lo que se conoce como arquitectura en capas es en realidad un estilo de programación donde el objetivo principal es separar los diferentes aspectos del desarrollo, tales como las cuestiones de presentación, lógica de negocio, mecanismos de almacenamiento, etc.

Una razón importante por la que surge este concepto, es debido a que en la evolución del desarrollo de software, se ha identificado la necesidad de crear nuevas capas, especializadas en funciones específicas, diferentes a las 3 identificadas previamente. Tal es el caso de la seguridad, el control de excepciones, el transporte de datos entre capas, la generación de trazas de errores, entre otros.

Ventajas Desventajas Desarrollos paralelos (en cada

capa) Aplibustas debido al

encapsulamiento Mantenimiento y soporte más

sencillo (es más sencillo cambiar un componente que modificar una aplicación monolítica)

Mayse pueden añadir nuevos módulos para dotar al sistema de nueva funcionalida

Pone más carga en la red, debido a una mayor cantidad de tráfico de la red.

Es mucho más difícil programar y probar el software que en arquitectura de dos niveles porque tienen que comunicarse más dispositivos para terminar la transacción de un usuario.

En una aplicación distribuida en n-capas los diferentes procesos están distribuidos en diferentes capas no sólo lógicas, sino también físicas. Los procesos se ejecutan en diferentes equipos, que pueden incluso residir en plataformas o sistemas operativos completamente distintos. Cada equipo posee una configuración distinta y está optimizado para realizar el papel que le ha sido asignado dentro de la estructura de la aplicación, de modo que tanto los recursos como la eficiencia global del sistema se optimicen.

Este por ejemplo es la propuesta de Microsoft para una aplicación distribuida y que como vemos tiene más de 3 capas.

HTTP://TRAJANO.US.ES/DOCENCIA/ARQUITECTURADECOMPUTADORES/

ARCHIVOS/TEMA10_0203_ARQ_COMP.PDF

PRESENTA:LORENA DANIELA TRUJILLO CASTILLO5° A

1.4 Sistemas distribuidos de alto rendimiento a bajo costo (clustering) en sistemas operativos de

libre distribución

DOCENTE:

SISTEMAS OPERATIVOS II

Un cluster es un conjunto de ordenadores que están conectados entre sí por medio de una red, para compartir recursos con el objetivo de realizar tareas y funciones como si fuesen un único ordenador (memoria distribuida).

Sirve para cuando queramos realizar tareas que necesiten grandes requerimientos de memoria y CPU y para ahorrarnos horas de trabajo en tareas y operaciones.

¿ Que es clustering en SO de libre distribución?

Hay 3 tipos de cluster: Alto rendimiento Alta Disponibilidad Alta Confiabilidad

Tipos de Cluster

El objetivo es mejorar el rendimiento, de tiempo o precisión, para la solución de un problema.Este tipo suele estar ligado a solucionar los siguientes problemas:

Cálculos matemáticos Mejora de gráficos Compilación de programas Descifrado de códigos Rendimiento del sistema operativo

Alto Rendimiento 

Los clusters de alta disponibilidad están destinados a mejorar los servicios que ofrecen las empresas de cara a los clientes de una red, ya sea local o de internet. Fundamentalmente tienen dos características :

1. Fiabilidad

2. Disponibilidad

Alta Disponibilidad

 

Con alta confiabilidad se trata de aportar la máxima confianza es un entorno en el cual se necesita saber que el sistema siempre se va a comportar de una forma determinada, como por ejemplo sistemas de respuesta a tiempo real.

Alta Confiabilidad

 

Dos o más nodos (ordenadores) compuestos al menos por un microprocesador, una memoia y una interfaz para que se puedan comunicar con la red del cluster.

Hardware apropiado al tipo de cluster que vamos a utilizar.

Tarjeta de red. Un medio de transmisión entre ellos como por

ejemplo RJ-45. Software de sistema y un software de aplicación.

Elementos Necesarios

Podemos usar distintos sistemas operativos para conseguir el funcionamiento del cluster, como son:

Ubuntu server Windows Server OpenMosix ParallelKnoppix Pelican

Software de Sistema:

Dependiendo del sistema operativo que vayamos a utilizar necesitaremos unos paquetes o programas:

En el caso de Linux:HeartBeat: ejecuta los servicios en los nodos.HeartBeat-Stonith: es una técnica HeartBeat que se encarga de controlar que cuando un servidor esté caído no interfiera en el funcionamiento del cluster.

En el caso del Windows:A partir de windows 2003 server los servidores ya viene preparado con el software necesario. Para mejorar el rendimiento en windows server 2008 podemos usar Failover Cluster.

Software de Aplicación

http://sistemasoperativosii-itm.blogspot.mx/2012/09/sistemas-operativos-en-ambientes.html