Windows Vs Linux
¿Cuales son las ventajas de Linux frente a
Windows?, ¿en
qué se diferencian?La instalación:
- En Linux a pesar de todos los esfuerzos la instalación no resulta sencilla siempre, pero te permite personalizar totalmente los paquetes que quieras instalar.
- En Windows la instalación es mínimamente configurarle aunque es muy sencilla.
La compatibilidad: Ninguno de los dos sistemas operativos son totalmente compatibles con el Hardware, a pesar de que Windows se acerca más, los dos están cerca de conseguirlo.
- Aunque Linux no esta detrás de ninguna casa comercial
gracias a su elevada popularidad ofrece una alta compatibilidad
ofreciendo, además, actualizaciones frecuentes.
- Windows al ser parte de Microsoft intenta ofrecer una
gran cantidad de drivers ya que su gran poder económico hace que
las
empresas mismas de hardware creen sus propios drivers.
Software:
- Linux al tener menos software en algunos campos sufre
una menor aceptación por parte de las empresas, aunque gracias a
los
apoyos de empresas como Sun Microsystems o IBM se ha logrado muchos
avances.
- Windows al ser el más fácil de usar en las empresas,
posee una gran cantidad de software.
Robustez:
- Linux se ha caracterizado siempre por la robustez de
su sistema ya que pueden pasar meses e incluso años sin la
necesidad de
apagar o reiniciar el equipo, también si una aplicación falla
simplemente
no bloquea totalmente al equipo.
- En Windows siempre hay que reiniciar cuando se cambia
la configuración del sistema, se bloquea fácilmente cuando ejecuta
operaciones aparentemente simples por lo que hay que reiniciar el
equipo.
Windows
|
Linux
|
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. |
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. |
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 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 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. |
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. |
Razones
para cambiar de
Windows a Linux:
- Es software libre, lo que quiere decir que no hay que
pagar nada por el sistema en sí.
- Es un sistema operativo muy fiable ya que hereda la
robustez de UNIX.
- Ideal para las redes ya que fue diseñado en Internet y
para Internet
- No es cierto que tenga pocos programas, solo en algún
campo muy especifico.
- Es 100% configurarle.
- Es el sistema más seguro, ya que al disponer del
código fuente cualquiera puede darse cuanta de algún fallo, se
puede decir
que decenas de miles de personas velan por tu seguridad.
- Existe muchísima documentación, también en español
gracias a los proyectos como LUCAS.
- Cuenta con el soporte de muchas grandes empresas como
IBM, Corel, Lotus, Siemens, Motorola, Sun, etc.
- Puedes encontrar ayuda en millones de sitios en
Internet como los foros.
- Es muy portable, si tienes un Mac un Alpha o un Sparc
puedes usar Linux sin problemas.
Un Sistema Operativo serio, capaz de competir en el mercado con otros como Unix que ya tienen una posición privilegiada, en cuanto a resultados, debe tener una serie de características que le permitan ganarse ese lugar. Algunas de estas son:
- Que corra sobre múltiples arquitecturas de hardware y
plataformas.
- Que sea compatible con aplicaciones hechas en
plataformas anteriores, es decir que corrieran la mayoría de las
aplicaciones existentes hechas sobre versiones anteriores a la
actual, nos
referimos en este caso particular a las de 16-bit de MS-DOS y
Microsoft
Windows 3.1.
- Reúna los requisitos gubernamentales para POSIX
(Portable Operating System Interface for Unix).
- Reúna los requisitos de la industria y del gobierno
para la seguridad del Sistema Operativo.
- Sea fácilmente adaptable al mercado global soportando
código Unicode.
- Sea un sistema que corra y balancee los procesos de
forma paralela en varios procesadores a la vez.
- Sea un Sistema Operativo de memoria virtual.
Y para ello crearon la siguiente arquitectura modular:
Uno de las características que Windows comparte con el resto de los Sistemas Operativos avanzados es la división de tareas del Sistema Operativo en múltiples categorías, las cuales están asociadas a los modos actuales soportados por los microprocesadores. Estos modos proporcionan a los programas que corren dentro de ellos diferentes niveles de privilegios para acceder al hardware o a otros programas que están corriendo en el sistema. Windows usa un modo privilegiado (Kernel) y un modo no privilegiado (Usuario).
Uno de los objetivos fundamentales del diseño fue el tener un núcleo tan pequeño como fuera posible, en el que estuvieran integrados módulos que dieran respuesta a aquellas llamadas al sistema que necesariamente se tuvieran que ejecutar en modo privilegiado (modo kernel). El resto de las llamadas se expulsarían del núcleo hacia otras entidades que se ejecutarían en modo no privilegiado (modo usuario), y de esta manera el núcleo resultaría una base compacta, robusta y estable.
El Modo Usuario es un modo menos privilegiado de funcionamiento, sin el acceso directo al hardware. El código que corre en este modo sólo actúa en su propio espacio de dirección. Este usa las APIs (System Application Program Interfaces) para pedir los servicios del sistema.
El Modo Kernel es un modo muy privilegiado de funcionamiento, donde el código tiene el acceso directo a todo el hardware y toda la memoria, incluso a los espacios de dirección de todos los procesos del modo usuario. La parte de WINDOWS que corre en el modo Kernel se llama Ejecutor de Windows, que no es más que un conjunto de servicios disponibles a todos los componentes del Sistema Operativo, donde cada grupo de servicios es manipulado por componentes que son totalmente independientes (entre ellos el Núcleo) entre sí y se comunican a través de interfaces bien definidas.
Todos los programas que no corren en Modo Kernel corren en Modo Usuario. La mayoría del código del Sistema Operativo corre en Modo Usuario, así como los subsistemas de ambiente (Win32 y POSIX que serán explicados en capítulos posteriores) y aplicaciones de usuario. Estos programas solamente acceden a su propio espacio de direcciones e interactúan con el resto del sistema a través de mensajes Cliente/Servidor.
Actualmente
Linux es un núcleo monolítico híbrido. Los controladores de dispositivos y las
extensiones del núcleo normalmente se ejecutan en un espacio
privilegiado
conocido como anillo 0 (ring 0), con acceso
irrestricto al hardware,
aunque algunos se ejecutan en espacio de
usuario. A diferencia de los
núcleos monolíticos tradicionales, los controladores de dispositivos y
las
extensiones al núcleo se pueden cargar y descargar fácilmente como módulos, mientras el sistema continúa
funcionando sin interrupciones. También, a diferencia de los núcleos
monolíticos tradicionales, los controladores pueden ser prevolcados
(detenidos
momentáneamente por actividades más importantes) bajo ciertas
condiciones. Esta
habilidad fue agregada para gestionar correctamente interrupciones de hardware, y para
mejorar
el soporte de multiprocesamiento simétrico.
El hecho de que Linux no fuera
desarrollado siguiendo el diseño de un micronúcleo
(diseño que, en aquella época, era considerado el más apropiado para un
núcleo
por muchos teóricos informáticos) fue asunto de una famosa y acalorada
discusión entre Linus Torvalds y Andrew S. Tanenbaum.
La
arquitectura del sistema operativo LINUX se divide en tres niveles:
1.
El nivel de usuario, donde se
ejecutan todos los procesos de usuario, sin capacidad para ejecutar las
instrucciones más privilegiadas del procesador.
2.
El nivel del núcleo, es el
privilegiado del procesador donde pueden ejecutarse todas sus
instrucciones sin
restricciones.
3. El nivel del
hardware, correspondiente al hardware especifico conectado en el
sistema.
La
comunicación entre los procesos de usuario y el núcleo se realiza a
través de
la librería del sistema, que genera una interrupción software (trap)
cada vez
que se realiza una llamada al sistema para obtener un servicio del
núcleo.
Respecto a
la estructura interna del núcleo, LINUX fue desarrollado sobre un
sistema
basado en un procesador bastante lento como el i386, lo que impuso la
utilización de una arquitectura monolítica tradicional.
ESTRUCTURA
BASICA DE LAS FUENTES DEL NUCLEO
Los
archivos que contienen el código fuente del núcleo de LINUX se puede
encontrar
a partir del directorio / usr / src / LINUX. Los directorios que los
contienen
son:
¨
KERNEL: Sección central del núcleo, con la codificación de servicios
como fork,
exit, etc. Parte de este código es muy dependiente de la máquina donde
se este
ejecutando LINUX; se ubica en directorios bajo el directorio arch.
¨
NET: Implementación de los protocolos mas usuales en redes (TCP/IP,
ARP...),
así como el código para los sockets, etc.
¨
FS: Este directorio contiene los archivos del Virtual File System
Switch
y los que cuelgan de el contienen el soporte para los diferentes
sistemas de
ficheros soportados ( ext2, MS dos, minix, xiafs, sysv y muchos otros).
El mas
usado en LINUX actualmente es el ext2. Por ultimo hay que señalar que
este
directorio es también herencia de minix.
¨
ARCH: Implementación del código dependiente de la maquina. Hay
directorios como
alpha (para el DEC Alpha), i386 (para el Intel 80386) y otros.
¨
MM: Contiene las fuentes para la administración de la memoria. No es un
gestor
de la memoria al estilo minix, el directorio queda como una
reminiscencia del
sistema a partir del cual fue desarrollado.
¨
MODULES: Contiene las fuentes para la carga dinámica de módulos en el
sistema
(permite modificar el núcleo en tiempo de ejecución).
¨
INIT: Funciones para el arranque e iniciación del kernel a partir de
ciertos
parámetros que le son pasados.
¨
DRIVERS: Contiene subdirectorios para el manejo de los diferentes
dispositivos
conectados a la máquina. Es en estos (block, char, net, sound. . . .)
donde se
ubican los diferentes device drivers. Este directorio es el más
voluminoso de
todos, y se estima que va a ser el de mayor crecimiento a lo largo del
desarrollo de LI NUX, debido al enorme y creciente número de
dispositivos
existentes en el mercado.
¨
IPC: Fuentes para la intercomunicación de los procesos . Incluye
semáforos,
colas de mensajes y memoria compartida.
¨
LIB: Implementación de algunas de las funciones estándar del lenguaje de
programación C de las que se hace gran uso en la implementación del
kernel.
¨ INCLUDE:
Directorio donde se almacenan los archivos de cabecera del kernel
(header
files). Cuelgan de el algunos directorios para las diferentes
arquitecturas soportadas. Para simplificar el acceso a la arquitectura
adecuada existe un LINK simbólico llamado include / asm.
No hay comentarios:
Publicar un comentario