Cuadro comparativo ventajas y desventajas

Windows Linux
En lo que se refiere a la administración de memoria, Windows NT 5.0 y sus sucesores utilizan una técnica de paginación segmentada (clustered  paging) y un liberador de memoria que se utiliza una vez por segundo.

Unix, en cambio, utiliza un algoritmo de paginación adaptable LRU (Least Recently Used, menos utilizado frecuentemente) y el liberador de memoria se ejecuta cuando es necesario.

Otras de las formas en que Windows favorece la ejecución de un pequeño conjunto de procesos básicos se evidencia en el hecho de que, internamente, su núcleo no soporta múltiples hilos de ejecución. Esto impide que haya bloqueos entre los hilos y favorece la eficiencia y el control de los  procesos claves.

Similarmente, la administración de memoria multiprocesador y el modulo de comunicación entre procesos están muy integrados con el modulo de control para optimizar el uso del limitado hardware de administración de memoria propio de procesadores con la arquitectura x86.

En contraste, el “approach” de Unix ha sido generalmente a favor de la creación de procesos y el cambio de contextos entre tareas, lo que le hace perder eficiencia a la hora de ejecutar procesos largos. Se ha favorecido la administración de memoria en los sistemas multiprocesador con el costo de una mayor complejidad en el hardware y también la independencia entre los hilos de ejecución, lo que hace más difícil la comunicación entre ellos.
En Windows NT 5.X, por, ejemplo el intervalo fijo de un segundo en el que se ejecuta la rutina de balance de carga del sistema permite que un atacante con acceso  a nivel de aplicaciones pueda inutilizar el kernel a voluntad. En forma similar, la división fija “50:50”de espacio de memoria de 32 bits en NT 5.2 pueden provocar serias incompatibilidades cuando algún futuro Service Pack agregue el soporte para aplicaciones de 64 bits.

Unix, por supuesto tiene sus propios problemas. Pero las comunidades de estos sistemas (sobre todo las de Solaris y BSD) están investigando para solucionarlos y a la vez acercar el núcleo del So mas y mas a las ideas originales de diseño, algo que se comercialmente y prácticamente imposible de hacer para Microsoft.
Windows es mas fácil

Windows en este momento continúa siendo el sistema operativo más comercial lo cual se refleja en la disponibilidad de aplicaciones, facilidad de mantenimiento así como soporte en el desarrollo de nuevas aplicaciones, puntos que pueden ser cruciales en la elección de servidores que corren aplicaciones Web.

Aplicaciones desarrolladas en menor tiempo

Fruto de la inversión realizada por Microsoft y aunado a una comunidad de programadores cada vez más grande se ha logrado facilitar el desarrollo de aplicaciones y sistemas que corran sobre servidores Windows lo cual se ve reflejado en tiempos de desarrollo menores.

La curva de aprendizaje en el sistema Windows es mucho menor.

Es más costoso

Windows es más costoso debido a que es necesaria una frecuente atención y monitoreo contra ataques de virus, hackers y errores de código, instalación y actualización de parches y service packs.

Linux es mas seguro

Ya que la gran mayoría de los ataques de hackers son dirigidos a servidores Windows al igual que los virus los cuales se enfocan principalmente a servidores con éste sistema operativo.

La plataforma Linux es más robusta lo cual hace más difícil que algún intruso pueda violar el sistema de seguridad de Linux.

Es más rápido

Al tener una plataforma más estable, esto favorece el desempeño de aplicaciones de todo tipo tales como: bases de datos, aplicaciones XML, multimedia, etc.

La eficiencia de su código fuente hace que la velocidad de las aplicaciones Linux sean superiores a las que corren sobre Windows lo cual se traduce en velocidad de su página.

Es más económico

Ya que requieren menor mantenimiento. En servidores El software Linux así como también un sin número de aplicaciones son de código abierto (gratuitos).

No requieren supervisión tan estrecha ni pagos de pólizas de mantenimiento.

Estos sistemas son muy similares porque usan hardware similar para cumplir objetivos similares.Específicamente, todos ellos actúan como interfaces entre el hardware y las aplicaciones del usuario. La mayoría de ellos tiene tienen cuatro “capas”: la capa del usuario se comunica con la de los servicios del SO, que utiliza los servicios del kernel (núcleo) para acceder a los controladores del hardware.

El planificador (Schedule) controla los recursos del CPU y el administrador de memoria hace lo mismo con la memoria. El sistema virtual de archivos abstrae el hardware hacia una interfase de administración de archivos común  para todas las aplicaciones. La interfase de red administra los procesos de entrada/salida y el modulo de comunicación entre procesos controla la mensajeria entre las tareas de ejecución.

Mirando como estas ideas están implementadas, nos encontramos con que las filosofías de diseño influyen como los desarrolladores toman cientos de pequeñas decisiones.  Debido a que estas filosofías son diametralmente opuestas, “micro decisiones”  “tienden a ir en direcciones opuestas y esa es lo que diferencia a los sistemas Unix de los fabricados por Microsoft.

Anuncios