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