Historias
Slashboxes
Comentarios

Login Barrapunto

Login

[ Crear nueva cuenta ]

Análisis argumentado de NT vs. Unix y GNU/Linux

editada por poncho el 20 de Agosto 1999, 13:39h   Printer-friendly   Email story
desde el dept. que-sesudo-lector-de-barrapunto
Paladín ha puesto un comentario en la noticia sobre el retraso de Win2k en la que analiza Windows NT, argumentando su superioridad respecto a Unix y a GNU/Linux en particular. Me ha parecido muy interesante, por lo que lo he convertido en esta noticia. Muchas de las cosas que cuenta las he leído en algún sitio, pero no recuerdo dónde.... Dice Paladín: "Hay que aclarar primero que muchos de los problemas achacados a Windows NT (si bien no todos, concedido) son atribuibles a mala programación por parte de los programadores de aplicaciones. La herencia de Windows 3.x/95, la gran cantidad de programadores amateurs unidos a los plazos cortisimos de entrega (uso indiscriminado de herramientas RAD, por ejemplo) se cobran tributo aquí. Pero malos programas se pueden crear en cualquier sistema operativo....
En lo básico, todos los SO son iguales. Muchas personas no son concientes del sistema operativo con el que tratan. Por ejemplo, para muchos usuarios Unix, Unix es la shell con la que trabajan. Para muchos programadores, las librerias con las que acceden al sistema. Pero ni las diferentes shells ni las librerias constituyen el Sistema Operativo.

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. "

Este hilo ha sido archivado. No pueden publicarse nuevos comentarios.
Mostrar opciones Umbral:
Y recuerda: Los comentarios que siguen pertenecen a las personas que los han enviado. No somos responsables de los mismos.