You are on page 1of 7

Tendencias de los sistemas operativos distribuidos

Hoy en da, y gracias a la tecnologa, "el termino centralizado" esta desapareciendo, con la llegada de la redes de ordenadores podemos compartir recursos sin preocuparnos de la ubicacin geogrfica de la otra persona, podemos manejar ordenadores como si estuvisemos trabajando fsicamente en ellos, adems de transmitir informacin o escribir cartas que llegan al receptor en lapsos de tiempo mnimos. Un sistema distribuido, es un sistema en el cual se encuentran varias CPU, interconectadas entre si, trabajando de manera conjunta, fueron diseados para que un buen numero de usuarios trabajen juntos. En esta clase de sistemas los dispositivos que se encuentran conectados a la red, se comunican y se coordinan a traves del paso de mensajes. En los siguientes bloques de informacin hablaremos de las tendencias de los sistemas distribuidos. ARQUITECTURA MULTIPROCESADOR. El ordenador que cuenta con dos o ms microprocesadores, que son un conjunto de circuitos electrnicos altamente integrados para el clculo y control computacional es denominado multiprocesador. El microprocesador puede ejecutar simultneamente varios hilos de un mismo proceso. Los ordenadores multiprocesador presentan problemas de diseo, derivados del hecho de que 2 programas se ejecuten simultneamente y potencialmente pueden interferirse entre si. Por ellos existen dos arquitecturas que resuelven dichos problemas: Arquitectura SMP (Uma) Arquitectura DSM (Numa.) Arquitectura SMP (Uma) Los multiprocesadores simtricos (Symmetric Multiprocessor) son ordenadores con arquitectura de memoria compartida que presentan en la memoria principal un acceso simtrico desde cualquier procesador, es decir, el retardo en el acceso a cualquier posicin de memoria es el mismo con independencia del procesador desde el que se realice la operacin o tarea, dicha arquitectura es denominada como Acceso Uniforma a Memoria (UMA) y se lleva acabo con una memoria compartida pero centralizada. Estos multiprocesadores dominan el volumen como el capital invertido. Esta arquitectura a su vez se encuentra dividida en: SMP con bus SMP escalable.

Diagrama de un tpico SMP. Tres CPUs estn conectados al mismo mdulo de memoria a travs de un bus.

Arquitectura DSM (Numa). La memoria compartida distribuida o DSM es una abstraccin que se propone como alternativa a la comunicacin por mensajes. Los multiprocesadores de memoria compartida y distribuida (DSM o Distributed Shared Memory), son ordenadores MIMID, en los cuales la memoria esta distribuida entre los nodos. Tomando en cuenta que el espacio de direccionamiento es global, el acceso a memoria principal es asimtrico. Esta arquitectura de memoria que se genera en retardo de acceso dependiente tanto la posicin de memoria como el procesador se denomina Acceso No Uniforme a Memoria (NUMA), hace su aparicin cuando la memoria compartida esta distribuida entre los nodos. De esta manera, se mejora el retardo medio de acceso a memoria, ya que en cada ordenador los accesos a posiciones de su memoria local presentan un retardo sensiblemente inferior al caso en que es accedido a posiciones de memoria en otros ordenadores. Esta clase de ordenadores con arquitectura NUMA presentas escalabilidad. Propone un espacio de direcciones de memoria virtual que integre la memoria de todas las computadoras del sistema, y su uso mediante paginacin. Las pginas quedan restringidas a estar necesariamente en un nico ordenador. Cuando un programa intenta acceder a una posicin virtual de memoria, se comprueba si esa pgina se encuentra de forma local. Si no se encuentra, se provoca un fallo de pgina, y el sistema operativo solicita la pgina al resto de computadoras. El sistema funciona de forma anloga al sistema de memoria virtual tradicional, pero en este caso los fallos de pgina se propagan al resto de ordenadores, hasta que la peticin llega al ordenador que tiene la pgina virtual solicitada en su memoria local. De la misma manera que la arquitectura SMA se divide en: ccNUMA docNUMA COMA SVM

Arquitectura de un sistema NUMA. Observe que los procesadores estn conectados al bus por conexiones de diferentes grosores/nmero. Esto demuestra que las distintas CP Us tienen diferentes prioridades de acceso a la memoria sobre la base de su ubicacin.

Futuro de los Sistemas Operativos


Futuro Prximo Principal tendencia: Los sistemas operativos siguen evolucionando. La principal tendencia de los sistemas operativos en cuanto a organizacin de trabajo es convertirse en sistemas operativos distribuidos. Los sistemas operativos distribuidos estn diseados para su uso en un grupo de computadoras conectadas pero independientes que comparten recursos. En un sistema operativo distribuido, un proceso puede ejecutarse en cualquier computadora de la red (normalmente, una computadora inactiva en ese momento) para aumentar el rendimiento de ese proceso. En los sistemas distribuidos, todas las funciones bsicas de un sistema operativo, como mantener los sistemas de archivos, garantizar un comportamiento razonable y recuperar datos en caso de fallos parciales, resultan ms complejas. No hay que confundir un Sistema Operativo de Red con un Sistema Operativo Distribuido. En un Sistema Operativo de Red las computadoras estn interconectadas por medios de comunicacin: software y hardware. En este tipo de red los usuarios saben donde estn ejecutando su trabajo y guardando su informacin. En cambio en los Sistemas Operativos Distribuidos existe un software que distribuye las tareas de los usuarios sobre una red de computadoras y para los usuarios es transparente donde realizan sus tareas y guardan su informacin. El Sistema Operativo del Maana:

Se ha progresado mucho en el desarrollo de los sistemas operativos. Estos progresos han sido paralelos a la aparicin de nuevas tecnologas y de nuevos algoritmos para las tareas de los sistemas operativos. Actualmente, hay solamente dos paradigmas fundamentales del sistema operativo: el intrprete de la lnea de comando (UNIX, DOS), y la interfaz grfi ca (Macintosh OS, OS/2, Windows 95 y posteriores). Mientras que el ltimo es claramente ms intuitivo y preferido por la mayora de los usuarios, la industria debe ahora tomar otra medida hacia el sistema operativo ideal. La generacin

siguiente de sistemas operativos utilizar las nuevas herramientas desarrolladas tales como programacin orientada a objetos (OOP), y nueva tecnologa de hardware (DRAM's y los microprocesadores densos y baratos), para crear un ambiente que beneficie a los programadores (con modularidad y la abstraccin crecientes) as como a los usuarios (proporcionndoles una interna, constante y grficamente orientada interfaz). Los sistemas operativos futuros tambin se adaptarn fcilmente a las preferencias cambiantes del usuario y a las tecnologas futuras (tales como sistemas de realidad virtual). Principios en el desarrollo de Sistemas Operativos Futuros:

Existen cuatro principios dominantes que deben regir en el diseo de sistemas operativos futuros 1.- Abstraccin El principio de la abstraccin es que un nivel del ambiente de software no debe necesitar "saber" los detalles sobre la implementacin en otros niveles. Por ejemplo, un programador no debe requerir saber qu clase de procesador ser usado cuando se ejecute su programa, y un usuario de correo-electrnico no debe requerir de conocimientos de los protocolos de red. 2. Robustez y gestin de errores Los sistemas operativos futuros deben ser extremadamente robustos. Sus metas: 1) Ninguna accin del usuario debe hacer que el sistema se comporte en una extraa o ilgica manera. 2) Debe ser imposible que cualquier programa interrumpa el funcionamiento de otros programas, o de la mquina en su totalidad. Es decir sin importar las acciones y las decisiones del usuario y del programador, la computadora nunca debe "colapsarse". Adems, cualquier acontecimiento inesperado se debe manjar de una manera prctica. Los problemas que el sistema operativo no puede solucionar se deben sealar al usuario de una manera no -secreta (tales como un "cuadro de dilogo"), y se deben explicar de una manera no tcnica (utilizar un lenguaje dependiendo del mdulo de programacin). 3) El sistema debe enumerar claramente las opciones de las cuales el usuario debe elegir.

3.- Estandarizacin Actualmente, hay numerosos sistemas operativos y sistemas de hardware que se comportan de varias maneras. Por lo tanto, la comunicacin entre las mquinas de diferente arquitectura es difcil, y esta situacin es confusa para cualquier usuario que procure cambiarse de una plataforma a otra. Esta confusin da lugar a un costo significativo debido a la capacitacin y al tiempo perdido durante la transicin y fase de aprendizaje. Un sistema operativo bien diseado debe ser estandarizado de una manera tal que se adapte y siga siendo til indefinidamente. Debe crecer en a la par con la tecnologa de cmputo, la visualizacin, y tecnologas de interaccin, y preferencias del usuario. La naturaleza modular del sistema operativo del maana ser tal que piezas del sistema sern continuamente modificadas y puestas al da reflejar estos cambios. Para que estas caractersticas sean posibles, el sistema requerir: 1) un conjunto muy bien definido de los estndares pblicos disponibles (para la comunicacin entre las capas y los objetos), 2) que este conjunto de estndares se desarrolle con un cierto plazo de tiempo pero que siga siendo claro y conciso, y 3) que los estndares no cambien tan rpidamente como para causar problemas de compatibilidad o altos costos de cambio de hardware. 4.- Diseo para facilidad de empleo y desarrollo de software La mayora de los sistemas operativos actuales fueron diseados para ser fciles de poner en ejecucin. En contraste, los sistemas operativos de maana sern diseados para el uso fcil y el desarrollo fcil. El diseo ser hecho con pocas disminuciones en cuanto a su facilidad de implementacin con excepcin de su modularidad y estandarizacin inherentes. Debido a estos buenos principios del diseo, el sistema operativo del maana no ser difcilmente de implementar. Estas mismas cualidades facilitarn el trabajo de los programadores tambin, en cuanto a la mayora de los proyectos de desarrollo necesitarn solamente ensamblar objetos de alto nivel. Esos mdulos que deben escribir para s mismos sern reutilizables y fcilmente adaptables a las necesidades de cada programador.

Otras tendencias que depara el futuro.


1. Vitalizacin 2. Grid Computing 3. Arquitectura orientada a servicios (SOA) 4. Enterprise Information Management (EIM) 5. Cdigo abierto 6. Acceso a la informacin 7. Ajax 8. Mashup Composite Model 9. Computacin Distribuida en el Ambiente (del ingls, Pervasive Computing) 10. Recoleccin inteligente de datos. 11. Cdigo abierto 12. Vitalizacin 13. Registro de servicios y repositorios 14. Suites para la gestin de procesos de negocios 15. Enterprise Information Management 16. Cmputo ubicuo 17. Acceso a la informacin 18. Web 2.0 AJAX Rich Clients 19. Web 2.0 - Mashup Composite Model 20. Inteligencia colectiva y comunidades 21. Web Semntica (Web 3.0) 22. WOA (Web Oriented Architectures). 23. Hardware: buses y redes de alta velocidad (infiniband), ahorro energtico. 24. Domtica.

You might also like