lunes, 6 de junio de 2011

Viejo post, Sistemas Operativos Distribuidos.


     Estos días buscando algunos viejos apuntes encontré un viejo post, y cuando digo viejo, es en serio. 

     Por circunstancias deje de seguir de cerca este tema y aprovechando este nuevo Blog, lo pongo de nuevo con la esperanza que si alguno de vosotros le suena algo me lo comente, recuerdo que se trabajaba en varios sistemas operativos y los que mas me llamaron la atención acabaron por morir o ser abandonados por las empresas o universidades que los promocionaban. Pues eso, que si alguno sabe que fue de estos sistemas operativos o si la propia idea sigue en vigor, que me lo comente, y por supuesto daros las gracias por adelantado, 

Futuro de los Sistemas Operativos





Los sistemas operativos siguen avanzando. Y su principal tendencia en cuanto a organización de trabajo es convertirse en sistemas operativos distribuidos.
Que es un sistemas operativo distribuido, Su Misión principal consiste en facilitar el acceso y la gestión de los recursos distribuidos en la red. están diseñados para su uso en un grupo de ordenadores conectados pero a la vez independientes y que todos compartan sus recursos, unos con otros,
En un sistema operativo distribuido, un proceso puede ejecutarse en cualquier computadora de la red (casi siempre, un ordenador sin carga de trabajo en ese momento), tenemos un ordenador para el diseño de una Web, con 6 programas distintos en ejecución, y como es la hora de comer y los compañeros de la oficina no están utilizando sus ordenadores, estamos sumando la potencia de sus ordenadores utilizando todos los recursos de la red.
Contamos con los recursos de la red o lo que es lo mismo de todos los ordenadores conectados en la red y que trabajen con nuestro mismo sistema operativo distribuido, esto seria tener un ordenador con una potencia de proceso algo mas que seria.
El Sistema operativo distribuido tiene acceso a todos los dispositivos compartidos de la red incluyendo procesadores y memoria Ram sumando toda esta potencia de trabajo.
En los sistemas distribuidos, las funciones primarias o mas básicas de un sistema operativo distribuido son, mantener el sistema de archivos, garantizar un buen comportamiento, la recuperar datos en caso de fallos mas o menos importantes, y la gestión de recursos del ordenador, son por lógica mas difíciles y complejas.
Tenemos que diferenciar los Sistema Operativo de Red de los Sistema Operativo Distribuido. En un Sistema Operativo de Red los ordenadores están intercomunicados por medios físicos de comunicación, tanto de hardware el mas importante como de Software.
Podremos entender el ejemplo con suma facilidad si pensamos en la red de una empresa con ordenadores de acceso y un servidor podemos compartir espacio y software pero el sofware del servidor contara con la potencia del servidor, de otra forma con un sistema operativo Distribuido el sofware compartiría la potencia de todos los ordenadores que este libre y su memoria ram, si se dispone de muchos ordenadores dispondríamos de miles de GB Ram y todos los procesadores a nuestra disposición, como entenderemos la diferencia seria notable.
Nuestro ordenador trabajaría con todos los recursos de la red, imagina que esta red es internet, puesto que existe un software que distribuye las tareas de los usuarios sobre una red de ordenadores sin necesidad de hardware concreto o especial.
En un sistema operativo distribuido los usuarios pueden acceder a recursos remotos de la misma manera en que lo hacen para los recursos locales. Permiten distribuir trabajos, tareas o procesos, entre un conjunto de procesadores. Puede ser que este conjunto de procesadores esté en un ordenador o en diferentes, el sistema operativo utilizara la potencia de proceso disponible de toda la red. Nuestro ordenador trabajaría con todos los recursos de la red, imagine que esta red es Internet.
El Sistema Operativo del Presente.
Se ha progresado mucho en el desarrollo de los sistemas operativos. Estos progresos han sido paralelos a la aparición de nuevas tecnologías y de nuevos algoritmos para las tareas de los sistemas operativos. Además de esperar de estos unas características ya muy claras y especificas.






Características básicas
Los sistemas operativos distribuidos están basados en las ideas básicas:
Transparencia
Eficiencia
Flexibilidad
Escalabilidad
Existen dos esquemas básicos: Los Fuertemente Acoplados y los débiles. Un sistema fuertemente acoplado es aquel que comparte la memoria y un reloj global, cuyos tiempos de acceso son similares para todos los procesadores. En un sistema débilmente acoplado los procesadores no comparten ni memoria ni reloj, ya que cada uno cuenta con su memoria local.
Transparencia
El concepto de transparencia de un Sistema operativo distribuido va ligado a la idea de que todo el sistema funcione de forma similar en todos los puntos de la red, debido a esto queda como labor del sistema operativo coordinar el mecanismo que logre la unificación de todos los sistemas y recursos totalmente transparente para el usuario o la aplicación.
El que el sistema disponga de varios procesadores debe lograr un mayor rendimiento del sistema, pero el sistema operativo debe controlar que tanto los usuarios como los programadores vean el núcleo del sistema distribuido como un único procesador, Es decir que la programación y la ejecución de los programas y tareas sean exactamente iguales que las de los sistemas operativos normales en aspectos visuales y de programación, pero mas rápidos y eficientes por la distribución de la tareas.
Eficiencia
La idea base de los sistemas operativos distribuido es la de obtener sistemas mucho mas rápidos que los utilizados de procesador único, Y para lograr esto tenemos que olvidar la idea antigua de ejecutar los programas en estos procesadores y pensar en distribuir las tareas a los procesadores libres mas rápidos en cada momento.
El concepto global de que un procesador haga todas las tareas y la desarrolle rápido depende de muchos factores concretos: Velocidad, Memoria y tipo de procesamiento, Pero para un sistema operativo distribuido esto es mucho mas fácil y eficiente, solo buscara un procesador mas rápido y mas libre para que desarrolle las tareas y hará un display de los resultados obtenidos.
Flexibilidad
La Flexibilidad dentro de sistema operativo distribuido, describe su capacidad para soportar cambios, actualizaciones y mejoras que le permitan irse desarrollando al mismo ritmo de la evolución tecnológica.
Dicha capacidad es una virtud y un conflicto. Una Virtud debido a las grandes necesidades de los sistemas operativos de mejorar después de las primeras versiones y un conflicto que surge entre los sistemas de con Núcleo Monolítico y los sistemas con Micro núcleo las cuales son dos arquitecturas distintas del núcleo del sistema operativo.
Núcleo Monolítico
Como ejemplo de sistema operativo de núcleo monolítico esta UNIX, estos sistemas tienen en núcleo grande y complejo, que engloba todos los servicios del sistema. Esta programado de forma no modular, y tiene un rendimiento mayor que un micro núcleo. Sin embargo, cualquier cambio a realzar en cualquiera de los servicios, requiere de hacer un STOP a todos los servicios y la recopilación del núcleo.
Micro Núcleo.
La arquitectura ofrece la alternativa al núcleo monolítico, se basa en una programación altamente modular y tiene un tamaño mucho menor que el núcleo monolítico. Como consecuencia, el refinamiento y el control de errores son mas rápidos y sencillos. Además, la actualización de los servicios es más sencilla y ágil. Ya que solo es necesario la recopilación del servicio y no de todo el núcleo. Como desventaja, El rendimiento se ve afectado negativamente.
En la actualidad la mayoría de los sistemas operativos distribuidos en desarrollo tienden a un diseño de micro núcleo el cual aun siendo un poco mas lento, garantiza una estabilidad mayor y un aumento de la flexibilidad del sistema.
Escalabilidad
Un sistema operativo distribuido debería funcionar tanto para una docena de computadoras como para mil en una sola red, el tipo de red utilizada no debe de ser un problema ni su topología (LAN o WAN) (TOKEN RING o ETHERNET) y mucho menos la distancia entre los equipos. Sin embargo todo esto influye, Aunque estos puntos serian muy deseables, pude que la solución valida para unas cuantas computadoras no sean aplicables igual que para mil. Del mismo modo el tipo de red condiciona grandemente el rendimiento del sistema y puede que lo que funcione para un tipo de red requiera modificaciones para otro.
Los sistemas operativos distribuidos necesitan de grandes estándares para trabajar y sobre todo de ajustes a las necesidades principales de cada red y sus usuarios. Este concepto propone que cualquier computador debe funcionar perfectamente como un sistema operativo distribuido, pero de la misma forma debe de formar parte y trabajar como más equipos no importan la cantidad o los recursos que estos le puedan proporcionar.
Sincronización
La sincronización es un punto clave para los sistemas operativos distribuidos. Para computadores únicos no es nada importante, pero en el caso de los recursos compartidos de la red, la sincronización es sumamente importante.

Principios en el desarrollo de Sistemas Operativos Futuros:
Abstracción.
Robustez y gestión de errores
Estandarización
Diseño para facilitar el empleo y desarrollo de software






La mayoría de los sistemas operativos actuales fueron diseñados para ser fáciles de poner en ejecución. En contraste, los sistemas operativos de mañana serán diseñados para el uso fácil y el desarrollo fácil. El diseño será hecho con poco disminuciones en cuanto a su facilidad de implementación con excepción de su modularidad y estandardización inherentes. Debido a estos buenos principios del diseño, el sistema operativo del mañana no será difícil de implementar. Estas mismas cualidades facilitarán el trabajo de los programadores también, en cuanto a la mayoría de los proyectos de desarrollo necesitarán solamente ensamblar objetos de alto nivel. Esos módulos que deben escribir para sí mismos serán reutilizables y fácilmente adaptables a las necesidades de cada programador.



Conclusión
El futuro de los sistemas operativos Distribuidos esta en la formación de un nuevo kernel universal que soporte distribución para que este pueda ser aplicado a todos los sistemas operativos sin importar su plataforma. O por lo menos que los sistemas puedan ser distribuidos entre las computadoras que corran este mismo sistema dentro de la misma red y unificado por un servidor de sistemas operativos distribuidos.
Con la llegada de los nuevos Sistemas Operativos el hardware se aprovechará al máximo y se reducirá esa brecha tan grande de rapidez que existe entre el hardware y el software que lo controla.
Con estos Sistemas Operativos se llegará a concretar lo que se llama la quinta generación de computadoras, la cual pretende multiplicar la velocidad, disponer procesamientos paralelos, diseñar una arquitectura de hardware-software muy superior y utilizar un lenguaje natural.


Fuentes:


Andrew S. Tanenbaum: "Sistemas Operativos 

Distribuidos",
 

 
George Coulouris, Jean Dollimore, Tim Kindberg: "

Distributed Systems, Concepts and Design",


;-)

No hay comentarios:

Publicar un comentario