lunes, 27 de enero de 2014

UNIX vs. WINDOWS


WINDOWS

Características:

     Descarga e instalación automáticas de las actualizaciones: Windows XP descarga e instala las actualizaciones automáticamente según un calendario especificado por el administrador del equipo. Las actualizaciones se instalan independientemente del tipo de cuenta del usuario o de si el usuario tiene una sesión iniciada en ese momento.
     Sólo descarga automática: Windows XP inicia automáticamente la descarga cuando encuentra actualizaciones disponibles para el equipo. Las actualizaciones se descargan en segundo plano para que el usuario pueda seguir trabajando sin interrupciones. Una vez finalizada la descarga, aparecerá un icono en el área de notificación que le indicará al usuario que ha iniciado sesión como administrador que las actualizaciones están listas para su instalación.
     Sólo notificación: Windows XP envía una notificación a la que el administrador del equipo responde descargando e instalando las actualizaciones.
     Desactivar Actualizaciones automáticas: Deja que el usuario visite el sitio Web de Windows Update y descargue las actualizaciones cada cierto tiempo.

UNIX

Características:

     Cuando arranca un servidor de Unix, se carga el kernel a memoria. El kernel es un programa ejecutable, producto de la compilación de un juego de programas fuentes de Lenguaje C, normalmente llamado /Unix.
     * El kernel hace que la computadora funcione bajo Unix y que los usuarios puedan compartir eficientemente todos los recursos. Contiene los drivers necesarios para que todos los periféricos puedan ser accesados.
     *El Unix utiliza y administra muy eficientemente la memoria. En la memoria libre atiende a los procesos. A cada proceso le da la cantidad exacta de memoria que aquél necesite, desde pocos kilo bites hasta varios mega vites. Cuando se acaba la memoria, utiliza el Área de Swap que es una memoria virtual. Esto permite que se pueda ejecutar un programa que sea más grande que la memoria RAM total que tenga un servidor de Unix.
     El Unix ha sido desarrollado para el procesamiento de textos y por ello tiene una gran cantidad de comandos y herramientas lo cual lo hace muy poderoso. Inclusive, hay Sistemas Operativos que corren sobre Unix.
     Es un Sistema Operativo muy seguro. Cumple con las normas más estrictas en lo que a seguridad se refiere.


Cuadro comparativo ventajas y desventajas

Windows
UNIX
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 Servicie 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.


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 Linux es mas seguro
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



DIFERENCIAS ENTRE WINDOWS Y UNIX


     Unix y Windows parten de paradigmas completamente diferentes para la carga de código en tiempo de ejecución. Antes de intentar construir un módulo con carga dinámica, se debe comprender cómo funciona el sistema final del usuario.
     En Unix, un fichero objeto compartido (shared object, .so) contiene código que será utilizado por el programa junto con los nombres de las funciones y datos que espera encontrar en el programa. Cuando el fichero se une al programa, se cambian todas las referencias a dichas funciones y datos para que apunten a sus direcciones de memoria reales en el programa. A grandes rasgos, se realiza una operación de enlace.
     En Windows, un fichero de biblioteca de enlace dinámico, (dynamic-link library, .dll) no tiene referencias pendientes. En lugar de ello, todo acceso a funciones y datos pasa por una tabla de consulta. Por ello, no hay que arreglar el código de la DLL para que haga referencia a la memoria del programa. El programa ya utiliza la tabla de búsquedas, lo que cambia en tiempo de ejecución es la tabla de búsquedas para apuntar a las funciones y datos finales.
     En Unix, sólo hay un tipo de fichero de biblioteca (.a) que contiene código de varios ficheros objeto (.o). En el paso de enlace para crear un fichero objeto compartido (.so), el enlazador puede encontrarse que desconoce dónde se define un identificador. El enlazador lo buscará en los ficheros objeto y en las bibliotecas. Si lo encuentra, incluirá todo el código del fichero objeto.
     En Windows, existen dos tipos de biblioteca, una biblioteca estática y una biblioteca de importación (ambas llamadas .lib). Una biblioteca estática es como un fichero .a de Unix: contiene código que se incluirá si es necesario. Una biblioteca de importación se usas sólo para asegurar al enlazador que un identificador concreto es legal y estará presente en el programa cuando se cargue la DLL. Por ello, el enlazador utiliza la información de la biblioteca de importación para construir la tabla de consulta para usar los identificadores no incluidos en la DLL. Cuando se enlaza una aplicación o DLL, puede generarse una biblioteca de importación, que tendrá que usarse para futuras DLLs que dependan de los símbolos de la aplicación o DLL.
     Supóngase que se están construyendo dos módulos de carga dinámica, B y C, que han de compartir otro bloque de código A. En Unix, no se pasaría A. a al enlazador para B.so y C.so; eso causaría que se incluyera dos veces y tanto B como C tendrían su propio ejemplar. En Windows, al construir A.dll se construiría A.lib. Sí se pasaría A.lib al enlazador tanto en B como en C. A.lib no contiene código, sólo información que se usará en tiempo de ejecución para acceder al código de A.
     En Windows, usar una biblioteca de importación es análogoa usar "import spam"; proporciona acceso a los nombres de spam, pero no genera una copia aparte. En Unix, enlazar con una biblioteca es más como "from spam import *"; sí genera una copia aparte.

No hay comentarios:

Publicar un comentario