2. Definición de sistema operativo distribuido (S.O.D).
Es aquel en el que 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.
3. Rafael Rodríguez c.i.: 19.207.013
Un 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.
Estas componentes son una abstracción de las funciones del micro núcleo y dan
soporte a las aplicaciones de usuario.
6. Transparencia
Tal vez sea el aspecto más importante. Consiste en engañar a todas las
personas para que piensen que la colección de máquinas es tan solo un
sistema de tiempo compartido de un procesador, a la manera antigua.
La transparencia se puede lograr en dos niveles distintos. Lo más fácil es
ocultar la distribución a los usuarios. Para ellos lo único poco usual es que el
desempeño del sistema tiene un cambio decente.
En un nivel inferior también es posible que el sistema sea transparente para
los programas. Se puede diseñar la interfaz de llamadas al sistema de modo
que no sea visible la existencia de varios procesadores.
7. Flexibilidad
Es importante que el sistema sea flexible. Junto con la
transparencia son fundamentales. Es bueno mantener las
opciones abiertas. Existen dos escuelas de pensamiento en
cuanto a la estructura de los sistemas distribuidos. Una escuela
mantiene que cada máquina debe ejecutar un núcleo tradicional
que proporcione la mayoría de los servicios.
La otra consiste que el núcleo proporcione lo menos posible y
que el grueso de los servicios del sistema operativo se obtenga a
partir de los servidores a nivel de usuario. Estos dos modos son
conocidos como el núcleo monolítico y micronúcleo
8. Confiabilidad
La idea es que si una máquina falle, otra se encargue del trabajo. Los sistemas
distribuidos actuales cuentan con que un número de ciertos servidores sirvan para
que el todo funcione.
La disponibilidad se refiere a la fracción de tiempo en que se puede utilizar el
sistema. Esta se puede mejorar mediante un diseño que no exija el funcionamiento
simultáneo de un número sustancial de componentes críticos. Otra herramienta es la
redundancia, se puede duplicar piezas clave del hardware y de software, de modo
que si una de ellas falla, las otras pueden llenar su hueco.
Otro aspecto es la tolerancia a fallos. Supongamos que un servidor falla y vuelve a
arrancar de manera súbita. Si el servidor tiene tablas con importante información
acerca de las actividades en proceso, lo menos que ocurrirá es que la recuperación
será difícil.
9. Rendimiento / Desempeño
La construcción de un sistema distribuido transparente, flexible y confiable no
servirá si el sistema es lento. Se puede utilizar diversas métricas del desempeño. El
tiempo de respuesta es una, pero también lo son el rendimiento, uso de sistema y
cantidad consumida de capacidad de red.
El problema del desempeño se complica por el hecho de la comunicación, factor
esencial en un sistema distribuido. El envío y obtención de una respuesta en una
LAN es lento. Para ello hay que minimizar el número de mensajes. La dificultad con
esta estrategia es que la mejor forma de mejorar el desempeño es tener muchas
actividades en ejecución paralela en distintos procesadores, pero esto requiere el
envío de muchos mensajes.
10. Escalabilidad
La mayor parte de los sistemas distribuidos están diseñados para trabajar con unos
cuantos cientos de CPU. Un sistema distribuid puede empezar con una cantidad
manejable de usuarios, pero cuando pasa el tiempo puede que se tenga un sistema
distribuido con decenas de millones de usuarios.
La cuestión es si los métodos que se desarrollan en la actualidad podrán escalarse
hacia tales grandes sistemas. Lo que queda claro es que se debe evitar los
componentes, tablas y algoritmos centralizados, pues no es una buena idea tener
un solo servidor de correo para 50 millones de usuarios. Además, el servidor no
toleraría bien las fallas
11. Diferencias entre S.O. y S.O.D.
Primero que todo hay que conocer el concepto de ambos
• Sistema Operativo: Es un programa o conjunto de programas que actúa de
interfaz entre el usuario y el hardware del ordenador.
• Sistema Operativo Distribuido: El objetivo principal de un sistema operativo
distribuido es conectar los recursos y servicios disponibles, mediante una red de
comunicaciones, e integrarlos en un único sistema.
Los sistemas operativos distribuidos desempeñan las mismas funciones que un
sistema operativo normal, pero con la diferencia de trabajar en un entorno
distribuido; es decir, estos 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, en este caso es trasparente para el usuario; allí radica la
principal diferencia entre ambos.
13. Ventajas
Algunas ventajas de los Sistemas Operativos distribuidos (SOD):
- Con el uso de sistemas distribuidos se logra compartir información entre más de un
usuario, información que en un momento dado, resulta de interés común a
diferentes usuarios; lo cual no puede llevarse a cabo en sistemas de un sólo usuario.
- Aparte de que los usuarios pueden compartir información, éstos pueden también
compartir diferentes dispositivos periféricos, como lo pueden ser impresoras láser o
dispositivos de almacenamiento masivo, como una matriz de discos ópticos.
- Los sistemas distribuidos ofrecen más flexibilidad en el sentido en que las cargas de
trabajo se pueden difundir entre diferentes computadoras de manera más eficaz, es
decir; los trabajos no siempre se ejecutarán en la máquina del propietario.
- Cuando un nodo de procesamiento falla, el sistema en general sigue funcionando.
15. Amoeba
Es un sistema distribuido, permite que una colección de CPU y equipo de E/S se
comporten como una computadora. También proporciona elementos para la
programación en paralelo si se desea. Se originó en en Vrije Universiteit en Amsterdam,
Holanda, en 1981como proyecto de investigación en cómputo distribuido y paralelo.
Fue diseñado en un principio por Tanenbaum y tres estudiantes de doctorado. En 1983
un prototipo tenía un nuvel operacional. El sistema evolucionó durante algunos años,
adquiriendo características como la emulación parcial de UNIX, la comunicación en
grupo y un nuevo protocolo de bajo nivel.
Se diseñó con dos hipótesis respecto al hardware: los sistemas tienen un número muy
grande de CPU y cada CPU tendrá decenas de megabytes de memoria. Se basa en el
modelo de pila de procesadores. Este consta de varios CPU, cada uno con su propia
memoria local y conexión a la red. No se necesita la memoria compartida, pero si está
presente se utiliza para optimizar la transferencia de mensajes al hacer el copia de una
memoria a otra, en vez de enviar mensajes a través de la red
16. Mach
Este sistema distribuido se basa en un micronúcleo. Es un proyecto de diseño de
sistemas operativos iniciado en la Universidad Carnegie Mellon en 1985. Se hizo que
Mach fuese compatible con UNIX, esperando poder utilizar el enorme volumen
disponible de software para UNIX. La primera versión apareció en 1986.
Los objetivos de este proyecto han ido variando con el tiempo. Los objetivos se pueden
resumir en:
- Proporcionar una base para la construcción de otros sistemas operativos
- Soporte de un espacio de direcciones ralo y de gran tamaño
- Permitir el acceso transparente a los recursos de la red
- Explorar el paralelismo tanto en el sistema como en las aplicaciones
Hacer que Mach se pueda transportar a una colección más grande de máquinas.
La idea es explorar los multiprocesadores y los sistemas distribuidos, a la vez que se
puedan emularlos sistemas ya existentes como UNIX, MS-DOS y Macintosh.
Mach se basa en los conceptos de procesos, hilos, puertos y mensajes.
17. Chorus
Chorus surgió en el instituto francés de investigación INRIA en 1980 como proyecto de
investigación en sistemas distribuidos. Desde entonces han aparecido 4 versiones, de la
0 a la 3.
La versión 0 era quería modelar aplicaciones distribuidas como colección de actores, en
esencia procesos estructurados, cada uno de los cuales alternaban entre la realización
de una transacción atómica y la ejecución de un paso de comunicación. La versión 1 se
centró en la investigación de multiprocesador. Fue escrita en Pascal compilado en vez de
interpretado y se distribuyó en una docena de universidades y compañías. La versión 2
fue una reescritura fundamental en C.
Se diseñó de modo que las llamadas al sistema fuesen compatibles con UNIX en el nivel
del código fuente. La versión 3 marcó la transición de un sistema de investigación a un
producto comercial. Se introdujo la llamada a procedimientos remotos como el modelo
de comunicación usual.
18. DCE
Se trata de un punto de vista diferente. DCE significa ambiente de administración
distribuido. A diferencia de los anteriores, este ambiente se construye sobre los sistemas
operativos existentes.
El ambiente ofrecido por DCE consta de un número grande de herramientas y servicios,
más de una infraestructura para que éstos operen. Las herramientas y servicios han sido
elegidos de modo que funcionen juntos de manera integrada y faciliten el desarrollo de
aplicaciones distribuidas.
Por ejemplo, DCE proporciona un mecanismo para sincronizar los relojes de máquinas
diferentes y obtener el concepto global de tiempo. DCE se ejecuta en muchos tipos
distintos de computadoras, sistemas operativos y redes. De esta forma los
desarrolladores de aplicaciones producen con facilidad software portable en varias
plataformas, amortizando los costos de desarrollo e incrementando el tamaño del
mercado potencial.
19. Roneida García C.I 20.954.346
Otro punto que abarca los casos de estudio en los S.O.D es el de la implementación de
Sistemas Expertos, estos constituyen el área de la Inteligencia Artificial ya que es un
sistema que simula el proceso de aprendizaje, memorización, entre otros, es decir
simulan el comportamiento humano. Como objetivo ambicioso de este caso de estudio
esta el de incorporar estos S.E en el núcleo de los S.O.D para que seleccionen la mejor
estrategia de paginación de memoria y así optimizar los recursos en el sistema.