Sistemas Hibridos
Sistemas Hibridos
Sistemas Hibridos
ASIGNATURA:
TALLER DE SISTEMAS OPERATIVOS
INVESTIGACIÓN:
SISTEMAS OPERATIVOS DISTRIBUIDOS
DOCENTE:
HOMERO HERRERA ROJAS
ALUMNO:
GARCIA CAMPUZANO MIGUEL ANGEL
CARRERA:
INGENIERÍA EN SISTEMAS
COMPUTACIONALES
SEMESTRE:
VI
Los sistemas operativos distribuidos abarcan los servicios de los de red, logrando
integrar recursos (impresoras, unidades de respaldo, memoria, procesos,
unidades centrales de proceso) en una sola máquina virtual que el usuario aceza
en forma transparente. Es decir, ahora el usuario ya no necesita saber la ubicación
de los recursos, sino que los conoce por nombre y simplemente los usa como si
todos ellos fuesen locales a su lugar de trabajo habitual.[ CITATION Rin19 \l
2058 ].
Objetivos
Facilitar el acceso y la gestión de los recursos distribuidos en la red.
Permitir que los usuarios pueden acceder a recursos remotos de la misma
manera en que lo hacen para los recursos locales.
Distribuir trabajos, tareas o procesos, entre un conjunto de procesadores.
Clasificación
Respecto al modo de trabajo del usuario
Banco de procesadores
Los procesadores del pool tienen un CPU, suficiente memoria, pero no tienen ni
discos ni terminales. Los usuarios acceden al sistema desde terminales-X. Gestor
de recursos: controla el acceso a los procesadores del pool (PP). El usuario
especifica sus requerimientos (CPU, memoria, programa).
El Gestor de Recursos le asigna un procesador como ordenador personal.
Ventajas con respecto a Estaciones y Servidores: mejor utilización de recursos:
muchos puntos de entrada con pocas CPUs. Mayor flexibilidad: se pueden dedicar
procesadores para expandir servicios. Compatibilidad con el SW preexistente.
Utilización de procesadores heterogéneos.
Inconveniente: mala respuesta interactiva: terminales conectados a una línea
serie. Ejemplo: CDCS, basado en el anillo de Cambridge.
Miniordenadores Integrados
Basado en máquinas multiusuario. El usuario se conecta a una máquina
específica. Enfoques históricos: acceso remoto mediante copias: de esta forma no
se mezclan los espacios de nombramiento locales, pero no es distribuido.
Sistemas de ficheros contiguos:
Súper directorio virtual: "/../", esquema de nombramiento global.
No es distribuido: el nombre de los ficheros depende de su ubicación (máquina A,
B, C????)
ejemplo: NETIX, Newcastle Connection.
Modelos híbridos
AMOEBA, de la Universidad Libre de Amsterdam. Consiste en: sistema de
estaciones y servidores más un pool de procesadores. Funcionalidad mixta:
estaciones para las aplicaciones interactivas. Procesadores variados. Servidores
especializados. Características:
Kernel pequeño: planificación y paso de mensajes.
El SO corre como procesos de usuario.
Servicio de Gateway a WAN.
Gestión del pool mediante un servidor de carga y otro de procesos.
Ventajas:
Recursos de procesamiento ajustados a las necesidades del usuario.
Ejecución concurrente.
Acceso a través de terminales (precio).
Arquitecturas
Modelo cliente - servidor
El modelo cliente-servidor es la arquitectura más citada cuando se discuten los
sistemas distribuidos. Es el modelo más importante y sigue siendo el más
ampliamente utilizado. La figura 3.1 ilustra la estructura simple de esta
arquitectura, en la cual los procesos toman el rol de ser clientes o servidores. En
particular, los procesos de cliente interactúan con los procesos de servidor
individuales en equipos anfitriones (host) potencialmente separados, con el fin de
acceder a los recursos compartidos que administran.
Clúster
En informática, el término clúster (“grupo” o “racimo”) hace referencia a conjuntos
o conglomerados de computadoras construidos mediante el uso de hardware
común y que se comportan como si fueran una única computadora. Un ejemplo de
clúster se muestra en la figura 3.9. El uso de los clústeres varía desde las
aplicaciones de supercómputo, servidores web y comercio electrónico hasta el
software de misiones críticas y bases de datos de alto rendimiento. El cómputo
con clústeres es el resultado de la convergencia de varias tendencias tecnológicas
actuales, entre las que se pueden destacar:
Microprocesadores de alto rendimiento.
Redes de alta velocidad.
Software para cómputo distribuido de alto rendimiento.
Crecientes necesidades de potencia computacional.
Arquitectura de capas
Una arquitectura de capa resulta familiar en los sistemas distribuidos y está
relacionado con la abstracción. Con este enfoque, un sistema complejo puede ser
dividido en cierto número de capas, donde las capas superiores hacen uso de los
servicios ofrecidos por las capas inferiores. De esta manera, una determinada
capa ofrece una abstracción de software, sin que las capas superiores o inferiores
a esta deban de estar al tanto de los detalles de implementación. En el caso de los
sistemas distribuidos, los servicios se organizan de una manera vertical como
capas de servicio. Un servicio distribuido puede ser proporcionado por uno o más
procesos del servidor, que interactúan entre sí y con los procesos de cliente para
mantener una visión de todo el sistema, coherente de los recursos del servicio.
Por ejemplo, el ajuste de hora entre clientes puede realizarse por un servicio de
hora de red a través de Internet, usando el protocolo de Tiempo de Red (NTP). Es
útil organizar este tipo de servicio en capas debido a la complejidad de los
sistemas distribuidos. Una visión común de una arquitectura de capa se muestra
en la figura 3.11.
Figura 3.11. Capas de servicio en un sistema distribuido [Coulouris et al., 2012]
CORBA
El paradigma orientado a objetos juega un importante rol en el desarrollo de
software y cuenta con gran popularidad desde su introducción. La orientación a
objetos se comenzó a utilizar para el desarrollo de sistemas distribuidos en la
década de 1980. El Grupo de Gestión de Objetos (OMG-Object Management
Group) se creó en 1989 como una asociación de las empresas líderes de la
tecnología software para definir especificaciones que puedan ser implementadas
por ellas y que faciliten la interoperabilidad de sus productos. Los middlewares
basados en componentes se han convertido en una evolución natural de los
objetos distribuidos, debido a que apoyan la gestión de las dependencias entre
componentes, ocultando los detalles de bajo nivel asociados con el middleware,
gestión de las complejidades de establecer aplicaciones distribuidas con
propiedades no funcionales apropiadas –como la seguridad– y el apoyo apropiado
de estrategias de implementación. Los middlewares basados en objetos
distribuidos están diseñados para proporcionar un modelo de programación
basado en principios orientados a objetos y, por tanto, para llevar los beneficios
del enfoque a objetos para la programación distribuida. Los principales ejemplos
de middleware basados en objetos distribuidos incluyen Java RMI y CORBA.
CORBA (Common Object Request Broker Architecture) es una herramienta
middleware que facilita el desarrollo de aplicaciones distribuidas en entornos
heterogéneos tanto en hardware como en software [Coulouris et al., 2012],
ejemplos de estos son:
Entre los inconvenientes que presenta NFS se pueden mencionar las siguientes:
No es eficiente para sistemas distribuidos grandes.
Las implementaciones caché inhiben a tener un pobre desempeño en
las operaciones de escritura.
Entre las principales características del sistema AFS, se pueden indicar las
siguientes [Coulouris et al., 2001]:
Referencias