Sistemas Modulares

VENTAJAS DE UN SISTEMA OPERATIVO MODULAR SOBRE UN SISTEMA OPERATIVO MONOLÍTICO

Antecedentes

De manera casi estándar un dispositivo de internetworking como un ruteador o un switch, se diseña y construye utilizando componentes de hardware específicos tales como ASICs, Network Procesors y Microprocesadores de uso específico que a diferencia de un sistema de cómputo convencional, en los primeros corre un microcódigo reducido, pues las funciones a ejecutar son destinadas a manipular paquetes de información ya sea de Capa 2 o Capa 3. Mientras que un sistema de cómputo convencional puede servir para múltiples propósitos. Para el caso de los dispositivos de interneteworking el fin es conseguir los mínimos tiempos posibles al procesar los paquetes de datos. Un rutedor o un switch procesan información, la información procesada son paquetes de datos transportados por los sistemas de red.

En los inicios de la industria de tecnologías de redes de información, se trataba de mantener al mínimo el set de instrucciones que se programaban para procesar los paquetes de datos, pues se empleaban microprocesadores multipropósito. Con el tiempo los sistemas operativos desarrollados para estos escenarios fueron incrementando su programación, así como el número de comandos e instrucciones cada vez más y más. El resultado fue el desarrollo de sistemas operativos monolíticos que agrupan todos esos complejos grupos de instrucciones y comandos. Fue necesario que los fabricantes de este tipo de sistemas, empezaran a utilizar dispositivos electrónicos más especializados y no microprocesadores multipropósito.

Las tecnologías de redes han avanzado en protocolos y funcionalidades y cada vez que una función o protocolo se adiciona, el sistema operativo se tiene que reescribir o recompilar. Las unidades de red con este tipo de sistemas operativos tienen que ser reiniciados para poder cargar y ejecutar las nuevas adecuaciones. Como todo sistema, tiene que ser depurado y liberado de bugs y errores de programación. Sin un bug no descubierto compromete la operación, la unidad tiene que ser sacada de línea para poder instalarle el sistema corregido o el parche que lo corrige. Esto se traduce en tiempos caídos en la operación con la consecuente discontinuidad de los servicios.

Los Sistemas Modulares

Arquitecturas de Sistemas Operativos Modulares como UNIX y LINUX dieron la pauta para llevar este concepto a las tecnologías de redes. Con los sistemas electrónicos para procesar paquetes de datos mejorados en capacidades, rendimiento y alto grado de integración, ahora es posible tomar ventaja de esta tecnología y tener modularidad en las funciones de Capa 2 y Capa 3. Estas se procesan de manera independiente y en memoria protegida, a diferencia de los monolíticos que ocupan un espacio continuo de memoria. En el caso de los monolíticos, si este rango de memoria queda bloqueado por algún error o ataque de Negación de Servicio, el sistema entero queda en un estado inestable o detenido por completo.

Los Sistemas Operativos Modulares de red, seccionan por capas muchísimas líneas de código agrupándolas por capas para ser procesadas en zonas protegidas de la memoria de las unidades de red, que apoyadas por procesadores de múltiples tareas, casi siempre de tecnología RISC o MIPS, se logra que cada proceso se ejecute de manera independiente de los demás. Un núcleo de procesamiento (kernel), es el responsable de invocar la ejecución de los procesos y administrar recursos para cada proceso. De igual manera mantiene una comunicación directa con hardware y las interfaces de comunicación. Esto hace que la ejecución de las tareas de Capa 2 (procesos de conmutación) , y las de Capa 3 (ruteo), sean independientes del hardware del dispositivo, por lo que se tiene la posibilidad de mantener la operación de la red, aunque se hagan cambios en el software o el hardware de la unidad.

Otra ventaja de lo anterior es tener el mismo código de sistema operativo, realmente el mismo código, en todos los modelos, familias y plataformas del mismo fabricante. Con las ventajas de simplificar la operación, administración y control de toda la red. Además el fabricante se ve beneficiado al emplear un grupo de programadores para toda la línea en lugar de mantener equipos para cada modelo o familia, puesto que cada uno provee diferentes modalidades en su uso y capacidades de operación. Esto beneficia al usuario final al no tener que pagar altos costos por la ingeniería de software detrás de cada desarrollo.

La modularidad permite corregir en tiempo real y sin reiniciar los sistemas, parches que corrigen errores de programación, al dar de baja aquellos procesos fallidos sin afectar el resto de las funciones. Incluso se tienen funciones de autocorrección (selfhealing), donde el Sistema Operativo trata de reiniciar el proceso en problemas para recuperarlo. Si esto no tiene éxito, solo ese proceso se da de baja manteniendo la operación del resto del sistema. Por ejemplo, si el módulo de software que controla el proceso de Telnet en una unidad se bloquea o es atacado, solo este proceso se ve afectado. El resto de las operaciones se mantienen. En un sistema operativo monolítico, si algún proceso se bloquea, toda la unidad se ve afectada. Otra ventaja importante es la posibilidad de actualizar a versiones nuevas del sistema operativo sin necesidad de reiniciar la unidad. Al tener un kernel responsable de mantener la comunicación entre el hardware y los módulos de software, es el kernel el que mantiene activa la unidad, llevando al mínimo que permite la tecnología actual para reiniciar los procesos sin interrumpir el hardware y sus subprocesos. Estamos hablando de interrupciones que están en orden de milisegundos.

Que dentro de la jerga tecnológica, se considera como un tiempo de recuperación sin impacto (hitless failover).

Por todo lo anterior, un Sistema Operativo Modular eleva el tiempo en línea de la unidad, agregando un nivel adicional de alta disponibilidad al dispositivo switch/router. Hay redes que no pueden darse el lujo de tener tiempos de caída. Ya sea por el impacto económico que esto conlleva, o por al criticidad que implica el no tener acceso a información vital. Sea el tipo de mercado o utilización dada a la red, las Tecnologías de Información se ven beneficiadas al contar con la seguridad que ofrece el tener una red con altos niveles de servicio. Las aplicaciones que son sensibles al tiempo, como las que se tienen en ambientes convergentes, ganan un nivel más de protección. La experiencia que han tenido los Proveedores de Servicio son el claro ejemplo de lo crítico puede llegar a ser tiempo fuera de línea. Los altos costos de tener hardware redundante han demostrado que la inversión se paga sola, al mantener satisfechos a los clientes de la red. Ahora se puede tener redundancia en software, al implementar la red con unidades de red cuyo software también es redundante gracias a la modularidad en el Sistema Operativo.

Funcionalidad o característica Sistema Operativo Monolítico Sistema Operativo Modular
Arquitectura Cerrada Abierta
Procesamiento Centralizado Distribuido e independiente para

cada proceso

Protección de Memoria No hay. Pues está estáticamente

compilado y ocupando un espacio contiguo de memoria Para cada proceso

Módulos de

software independientes

corriendo en memoria protegida

Dependencia del Hardware Totalmente dependiente No hay dependencia
Vulnerabilidad ante ataques Muy vulnerable Vulnerabilidad controlada
Cambios dinámicos en el

software

No son posibles pues todas las

funciones conforman un bloque

de instrucciones

Posibles pues cada módulo

puede ser dado de baja o de alta

de manera independiente

Capacidad de hacer cambios sin reiniciar el sistema No es posible, pues un cambio

en el código implica que tenga que ser ejecutado uevamente

desde cero

Totalmente posible. Con

instrucciones de consola es posible dar de baja, cargar y dar de alta nuevos componentes de software

Capacidad de actualizaciones de hardware o software No es posible, el sistema entero tiene que darse de baja, para que la nueva versión pueda ser ejecutada. Además el código es dependiente del hardware en el que corre* Es posible, dado que el kernel puede mantener operaciones vitales mientras que otros módulos son actualizados. Además, no tiene dependencia del hardware que controla
Escalabilidad No hay escalabilidad en un S.O. monolítico Cada función nueva tiene que ser instalada como un nuevo S.O. requiriendo un reinicio de la unidad Se pueden agregar funciones estando el S.O. en línea, pues el kernel mantiene la operación de todo el sistema, mientras inicia un nuevo proceso
Extensibilidad No es posible extender las

capacidades del S.O. sin crear un nuevo código.

Dada la arquitectura abierta del sistema, es posible extender sus capacidades hacia operaciones con agentes externos mediante API´s en un modelo cliente servidor. Sobre todo si el sistema es compatible con la recomendación POSIX (Portable Operating System Interface), que garantiza total interoperabilidad con aplicaciones externas
Seguridad Modular No flexible. Cada ACL que se programa o configura, invoca a un proceso precargado en memoria al momento de iniciar Las ACL se ejecutan invocando la ejecución de un proceso o la lectura un archivo (script) que tiene los comandos de filtrado y el sistema* seguridad. Por lo que hay total flexibilidad en estos procesos de seguridad
Ejecución de Scripts Limitado. La ejecución de

instrucciones externas es difícil

de realizar, dado que el sistema debe cargar desde un inicio las funciones que deben realizar. Un segmento del bloque de comandos del código debe estar siempre activo esperando la

instrucciones del script

Total control de la ejecución de comandos externos, al cargar un script (archivo con comandos), como si fuese un proceso adicional que se está corriendo. Se puede tener la flexibilidad de que se ejecuta, cuando se ejecuta y por qué se ejecuta.
Niveles de Disponibilidad Bajos, puesto que un bloqueo en una parte de las miles de líneas de código de programación, puede resultar en un sistema inestable o completamente detenido. El resultado será tener tiempos fuera de línea en la red. Se debe hacer costosas inversiones de equipo para diseñar topologías redundantes, para mantener niveles altos de disponibilidad Altos, pues si existe un error de programación en el código, este sucede solo en un componente del software, que puede ser fácilmente descargado, actualizado y puesto en operación. Aunado a arreglos de hardware. protocolos y topologías redundantes, se logran elevados niveles de disponibilidad de servicio
Soporte para Redes

Convergentes

Un sistema operativo monolítico, no es una solución adecuada para la convergencia de voz, datos y video, por el riesgo de tener tiempos fuera de línea Un sistema operativo modular es adecuado para la  convergencia en redes de comunicaciones, por los altos niveles de disponibilidad que puede ofrecer
Protección a la inversión Un S.O. monolítico crea total dependencia del desarrollo que el fabricante pueda hacer sobre este. Generalmente migrar hacia nuevas tecnologías implica el reemplazo total de la unidad. Un sistema operativo modular no solo ofrece la posibilidad de cargar dinámicamente software con funciones o protocolos, también es posible ejecutar módulos de software no enfocados a funciones de

switcheo o ruteo, como módulos de seguridad, de administración o de control avanzado. Incluso permite el desarrollo de aplicaciones desarrolladas por el mismo usuario para comunicarse

con el S.O. y sus funciones.

Mediante programación abierta que no es dependiente del hardware o de un fabricante en particular

 

¿Quién soporta Sistemas Operativos Modulares de networking?

*Algunos fabricantes tienen medios para hacer estas funciones, pero generalmente son limitadas y no cuentan con una arquitectura flexible que permita extenderse a nuevas capacidades y funcionalidades sin tener que hacer un nuevo desarrollo. Realmente no están hablando de modularidad en este tipo de sistemas.

Alcanzando todos los rincones de la red. Este es el futuro de las redes LAN. Los Proveedores de Servicio Metropolitanos exploran estos beneficios aprovechando que las interfaces LAN cubren distancias geográficas dentro de una zona metropolitana. Más aun, tomando en cuenta que las redes de transporte de datos a largas distancias, operan de manera casi transparente para un servicio LAN, Ethernet que es la tecnología LAN de facto, es vista de manera muy prometedora por estos proveedores, por su simplicidad y bajo costo.

tomado de: http://www.revistagadgets.com/www/2009/03/17/ventajas-de-un-sistema-operativo-modular-sobre-un-sistema-operativo-monoltico/

Anuncios

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión /  Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión /  Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión /  Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión /  Cambiar )

Conectando a %s