miércoles, 25 de julio de 2012

el futuro de los sistemas operativos



Los sistemas operativos siguen evolucionando. La principal tendencia de los sistemas operativos en cuanto a organización de trabajo es convertirse en sistemas operativos distribuidos.

Los sistemas operativos distribuidos están diseñados 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 básicas de un sistema operativo, como mantener los sistemas de archivos, garantizar un comportamiento razonable y recuperar datos en caso de fallos parciales, resultan más complejas.

No hay que confundir un Sistema Operativo de Red con un Sistema Operativo Distribuido. En un Sistema Operativo de Red las computadoras están interconectadas por medios de comunicación: software y hardware. En este tipo de red los usuarios saben donde están ejecutando su trabajo y guardando su información. 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 información.




El Sistema Operativo del Mañana:

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.
Actualmente, hay solamente dos paradigmas fundamentales del sistema operativo: el intérprete de la línea de comando (UNIX, DOS), y la interfaz gráfica (Macintosh OS, OS/2, Windows 95). Mientras que el último es claramente más intuitivo y preferido por la mayoría de los usuarios, la industria debe ahora tomar otra medida hacia el sistema operativo ideal. La generación siguiente de sistemas operativos utilizará las nuevas herramientas desarrolladas tales como programación orientada a objetos (OOP), y nueva tecnología de hardware (DRAM's y los microprocesadores densos y baratos), para crear un ambiente que beneficie a los programadores (con modularidad y la abstracción crecientes) así como a los usuarios (proporcionándoles una interna, constante y gráficamente orientada interfaz). Los sistemas operativos futuros también se adaptarán fácilmente a las preferencias cambiantes del usuario y a las tecnologías futuras (tales como sistemas de realidad virtual).

Principios en el desarrollo de Sistemas Operativos Futuros:

Existen cuatro principios dominantes que deben regir en el diseño de sistemas operativos futuros

  
- Abstracción
El principio de la abstracción es que un nivel del ambiente de software no debe necesitar " saber " los detalles sobre la implementación 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-electrónico no debe requerir de conocimientos de los protocolos de red.

- Robustez y gestión de errores

Los sistemas operativos futuros deben ser extremadamente robustos. Sus metas:

Ninguna acción del usuario debe hacer que el sistema comporte en una extraña o ilógica manera
Debe ser imposible que cualquier programa interrumpa el funcionamiento de otros programas, o de la máquina en su totalidad. Es decir sin importar las acciones y las decisiones del usuario y del programador, la computadora nunca debe "colapsarse”. Además, cualquier acontecimiento inesperado se debe manjar de una manera práctica. Los problemas que el sistema operativo no puede solucionar se deben señalar al usuario de una manera no-secreta (tales como un "cuadro de diálogo"), y se deben explicar de una manera no técnica (utilizar un lenguaje dependiendo del módulo de programación).

El sistema debe enumerar claramente las opciones de las cuales el usuario debe elegir.

- Estandarización

Actualmente, hay numerosos sistemas operativos y sistemas de hardware que se comportan de varias maneras. Por lo tanto, la comunicación entre las máquinas de diferente arquitectura es difícil, y esta situación es confusa para cualquier usuario que procure cambiarse de una plataforma a otra. Esta confusión da lugar a un costo significativo debido a la capacitación y al tiempo perdido durante la transición y fase de aprendizaje.

Un sistema operativo bien diseñado debe ser estandarizado de una manera tal que se adapte y siga siendo útil indefinidamente. Debe crecer en a la par con la tecnología de cómputo, la visualización, y tecnologías de interacción, y preferencias del usuario. La naturaleza modular del sistema operativo del mañana será tal que piezas del sistema serán continuamente modificadas y puestas al día reflejar estos cambios. Para que estas características sean posibles, el sistema requerirá: 1) un conjunto muy bien definido de los estándares públicos disponibles (para la comunicación entre las capas y los objetos), 2) que este conjunto de estándares se desarrolle con un cierto plazo de tiempo pero que siga siendo claro y conciso, y 3) que los estándares no cambien tan rápidamente como para causar problemas de compatibilidad o altos costos de cambio de hardware.

- Diseño para facilidad de 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 pocas disminuciones en cuanto a su facilidad de implementación con excepción de su modularidad y estandarización inherentes. Debido a estos buenos principios del diseño, el sistema operativo del mañana no será difícilmente 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.

0 comentarios:

Publicar un comentario