Login Barrapunto
Análisis argumentado de NT vs. Unix y GNU/Linux
En el caso de Windows NT o 2000, win32 no es el interfaz nativo para el kernel. No es mas que un subsistema. Existen otros subsistemas, incluido un subsistema Posix con el que un programador Unix no notaria diferencia alguna; él creería seguir trabajando bajo Unix. También es posible crear nuevos subsistemas. Esto no es posible en Unix, aunque Hurd incluye algo parecido. Pero este no es un punto descomunal a favor de Windows NT.
En la primera página del "Modern Operating Systems" de Andrew S. Tanenbaum, dice (traduzco): "[...] el sistema operativo, que controla todos los recursos del ordenador y dispone la base sobre la que los programas de aplicación pueden ser escritos". Esto es lo que quiero analizar aquí.
Windows NT/2000 está construido desde los cimientos como un nuevo sistema operativo. Usa conceptos y técnicas modernos de programación, con la idea de extensibilidad como guia. Es posible reemplazar módulos clave del kernel sin tener que rediseñarlo por completo, así como introducir nuevos componentes. Utiliza un diseño orientado a objetos con un modelo distribuido - en todo el sistema, incluyendo el kernel. Esto permite servicios distribuidos de seguridad, directorio, transaciones, colas... Es el mejor preparado para el futuro: en tecnología está años por delante de sus competidores.
Por contra el diseño de Unix (Linux incluido) está basado en conceptos de los 70, tanto en estructura como en implementación: diseño monolítico, sin casi estructura modular y muy alta interrelación en el kernel. Intentar modificar una estructura en un modulo puede suponer buscar por todo el kernel referencias a ella y al modulo o arriesgarse a romperlo. Esto no significa que sea Unix malo, solo que los avances en diseño de SO no han sido incluidos; son imposibles o muy dificiles de añadir. Significa que existen mejores SO.
El nuevo entorno operativo (Web, comercio electrónico) implica de cientos de servidores, con balanceo de carga, replicación, distribución de servicios, alta disponibilidad. Windows 2000 está diseñado con esto en mente; en otros sistemas operativos esto supone cambios en que van en contra del diseño original del sistema.
Y Microsoft está abierta a la innovación. Generalmente las casas de software ignoran los avances y nuevos conceptos encontrados por los investigadores; no así Microsoft. Por ejemplo: Windows 2000 incluye CODA (un sistema de ficheros con cache, que permite la resincronización y la operación en modo aislado del servidor del sistema de ficheros); otro ejemplo es el modelo de componentes distribuidos.
Por supuesto estar abierto a la innovación supone inestabilidad inicial, pero los beneficios a largo plazo compensan. Y los fallos del sistema se corregirán con el tiempo (un par de años). Otro problema es la dependencia de ciertos módulos que pueden causar bajos rendimientos o dependencias criticas: servicios de directorio o de seguridad (distribuidos).
NOTA: OS como religión. Microsoft como Imperio del Mal.
Muchas personas se dejan llevar por un cierto fanatismo, incluso religiosidad. Esto nubla su percepción. Este es un asunto técnico en el que no caben otras consideraciones más que las técnicas. No estamos hablando del modelo de software, ni de la etica o moral de una corporación. Estamos hablando de sistemas operativos y de sus respectivas ventajas e inconvenientes. En esta luz, Windows 2000 es un sistema operativo preparado para el futuro, Unix (o Linux) ha sido un sistema muy importante, pero no esta preparado para las tareas que serán usuales en un futuro próximo.
¿Por que esta religiosidad hacia Unix?
Unix ha sido elección predominante gracias a la distribución de fuentes de AT&T durante los 70/80. Esto ha creado gran cantidad de conocimiento adquirido durante años, en la forma de Gurus.
Aprender nuevos conceptos, sobre todo cuando se alejan tanto de los conocidos hace que, de repente, se deje de tener un estatus (el Guru), para pasar a ser uno más. Este es un factor común en todas las revoluciones: la vieja guardia frente al cambio. Pero si la revolución tiene bases sólidas, triunfa. Ejemplos: la mecánica cuantica a principios de siglo, la nueva matemática (Gödel) en los años 20... Y las bases de Windows 2000 son los conceptos actuales de Sistemas Operativos modernos. "
