Gravatar de Armonth

Kernel de Linux versus kernel de Windows Vista

Tux chupando un tetrabik de 'Windows'Me han pasado por correo electrónico el enlace a Kernel Comparison: Linux (2.6.20) versus Windows (Vista) un completo texto comparativo entre el núcleo de Linux (concretamente en su versión 2.6.20) y el kernel de Windows (el artículo se ha actualizado y ahora el kernel corresponde al de Vista).

No es un paper en el sentido de que no explica de pe a pa cada parte, se limita a revisar opciones de cada núcleo y compararlas. En verde tenemos las opciones que son mejores o más flexibles en un núcleo frente al otro, en rojo las que son peores y en negro las que son neutrales o tienen cierta controversia detrás.

En las discusiones típicas de “Windows vs Linux” suelo ver como algo habitual que se limiten a facilidad de uso, programas de terceras compañías (software, juegos, etcétera) y algo de FUD por en medio pero nunca se comenta cosas como el núcleo, algo que suele ser muy importante.

Quizá no se comenta porque nadie duda de la superioridad técnica del núcleo Linux frente al de Windows… o directamente porque la mayoría de las mismas son poco técnicas y más un “me gusta por…” o “no me gusta por…” y claro el núcleo puede ser mejor o peor pero de ahí a gustarte… aunque seguro que un “kernel vanilla” debe estar sabroso :P

Algunos datos que me llaman la atención son por ejemplo las llamadas del sistema (system calls), mientras Linux tiene 320 Windows tiene más de 1000. A simple vista no se puede sólo por el dato comparar si esto es mejor para uno u otro, pero el hecho de que los desarrolladores no se suelan quejar de las llamadas del sistema en Linux me hace pensar que “tienen lo que necesitan”. Si estoy en lo cierto, el número abultado de llamadas en el kernel de Windows debe ser por mantener la (arcaica) compatibilidad hacía atrás lo cual como ya he dicho en anteriores veces vuelve el diseño muy complejo y propenso a errores.

Otro dato interesante es el tiempo de desarrollo, cada “versión menor” (en el caso de linux los 2.6.x) dura 3 meses en linux y 31 en Windows. En las versiones mayores la cosa ya se balancea menos: Linux tarda 35 meses y Windows 38. Aquí se puede observar lo que decía Linus Torvalds (si no me falla la memoria): lanza versiones rápidamente, continuamente.

El tamaño en líneas de código en Windows aumenta en cada versión (actualmente 10 millones de líneas) de forma exagerada aunque Linux en cada versión mete soporte para mucho hardware sin que aumente el número tanto (4 millones actualmente) osea que no sé que pensar. El número anterior es sin drivers, si incluimos los drivers los números se disparan y la diferencia también (Windows 25 millones, Linux 8).

El tamaño resultante del kernel (sin drivers/módulos) también es exageradamente, Linux ocupa 1.3MB frente a los 4.6MB de Windows.

Seguimos con más datos, a destacar el número de arquitecturas soportadas donde Windows literalmente es machado: Windows soporta x86 (los ordenadores de toda la vida), AMD64 y IA-64. Linux soporta ésas y además otras 14 arquitecturas sin contar consolas.

En tema de limitaciones para mucho hardware de golpe también gana el kernel linux por goleada: soporta 1024 CPUs de 32 o 64 bits frente a las 4-32 y 4-64 respectivamente de Windows. También soporta en temas de memoria 64GB de RAM de 32 bits PAE o 1024GB - 8.589.934.592GB de RAM de 64 bits frente a Windows que se queda con 1GB/<4GB y hasta 128GB (según versiones) respectivamente.

Que por cierto, el que tenga 8.192 petabytes de memoria RAM de 64 bits para llegar al máximo permitido en el kernel linux que avise que ya sé a quién tengo que atracar.

Y eso solo es un entrecot, hay muchos más datos que digerir y comparar pero muchos de ellos para saber qué son hay que saber de sistemas operativos o ser un friki… o las dos cosas. Por lo que lo vamos a dejar aquí, os recomiendo leer toda la comparativa.

8 Comentarios (feed)

  1. Gravatar de Gura Gura nos comenta:

    Si, es cierto, puede estar pensado para manejar más RAM, más CPU y todo lo que quieras, pero además de estar comparando un Linux (No hay más que uno xD) con un Windows Vista (Osea, un Desktop). Estoy contigo respecto a la retrocompatibilidad… habría que romperla ya, pero MS tiene unos clientes… En linux se rompe alguna retrocompatibilidad, y aunque te jodan todo es por nuestro bien xDD (¿no?)

    Quería expresar un simple: Estos artículos de comparar tal con cual no sirven para nada, porque hay cosas MUCHO más importantes que comparar y no se mencionan, pero claro, estamos analizando un puñetero núcleo.

    Martes, 24 de Abril/2007 @ 19:21

  2. Gravatar de Armonth Armonth nos comenta:

    Es que el núcleo es la base del sistema operativo y puede influir para bien o para mal en absolutamente todo el resto.

    Por otra parte lo de romper la compatibilidad con linux, “no pasa nada” porque al ser software libre los desarrolladores “actualizan” los programas y si alguno se queda “abandonado” (por su desarrollador original) y hay interés se acaba actualizando…

    Cuando se actualiza la libc o algo similar y se rompe la compatibilidad hacía atrás (lo primero a menudo, lo último de uvas a peras) se crea bastante follon pero los usuarios no se enteran salvo que migren a las versiones de desarrollo.

    Miralo de esta manera: no rompen la compatibilidad porque no quieren pero en la práctica mucho software/juegos antiguos ya no funcionan por lo que más les valdría romperla definitivamente al menos con los núcleos 9x. Pero la pena es que como no es software libre muchos juegos que son autenticas joyas se perderán (y realmente ya está pasando :\).

    Martes, 24 de Abril/2007 @ 20:01

  3. Gravatar de Henry Paltán Moreno Henry Paltán Moreno nos comenta:

    A pesar de que uso Windows XP ahora, siempre me ha gustado Linux en todas sus distribuciones pero lo malo es al tener que configurar unas cuantas cosas que no son tan fáciles para mi. Sé que Linux aprovecha muy bien todos los recursos que tiene el computador y eso lo hace ya mucho mejor que Windows y con esta comparativa que proponen sobre el kernel aclaran aún más que un Windows nunca le llegará ni a los talones de Linux. Muy buen texto y sigan aportando muchos más.

    Martes, 1 de Mayo/2007 @ 2:21

  4. Gravatar de Randy Randy nos comenta:

    Creo que el nucleo de Windows es bueno. asi que no pueden decir que es malo. El de linux tambien pero tengo entendido que la proxima version de Windows code name 7 tendra un Kernel nuevo. Esperemos que si.

    Jueves, 23 de Agosto/2007 @ 1:04

  5. Gravatar de Miguel Miguel nos comenta:

    El maximo responsable del kernel de Linux ha concedido una entrevista a APC Magazine en la que habla sobre el futuro de Linux y su papel actual en su desarrollo. Por lo visto, no tendremos kernel 3.0, al menos en mucho tiempo.

    En la entrevista Linus explica su papel actual en la Linux Foundation, en donde dedica la mayor parte de su tiempo a gestionar las nuevas mejoras que los desarrolladores realizan en el nucleo. Ya no escribe tanto codigo y su labor esta mas relacionada con el control de los cambios, aunque si pica codigo para git, la herramienta que le sirve para el control de versiones.

    Linus afirma ademas que la rama 2.6.x de nucleos esta dando muchas alegrias y que su modelo de desarrollo es ideal: la base del nucleo esta en buena forma y la idea es la de introducir versiones adicionales cada dos o tres meses, en lugar de realizar cambios radicales entre periodos mas largos. Eso permite que el nucleo evolucione constantemente, pero tambien tiene otra consecuencia: que no haya una necesidad fundamental para sacar a la luz un hipotetico kernel 3.0.

    La versión estable más última del núcleo de Linux es: 2.6.22.5 2007 08 22 UTC de 23:43

    Viernes, 31 de Agosto/2007 @ 5:33

  6. Gravatar de ap ap nos comenta:

    Después de leer este post y sus comentarios, más otros del mismo estilo, y algún que otro estudio serio y muy técnico sobre Windows Vista, me he decidido a probar Linux, como un usuario de Windows que (casi) no sabe nada de este Sistema Operativo y (casi) se enfrenta a él como alguien que no tiene conocimientos previos.
    Mi experiencia (con muchas ilustraciones) podréis seguirla en
    http://usandolinux.blogspot.com
    Leyéndolo, los usuarios de Windows quizá podréis tener una idea acerca de lo que os vais a encontrar.
    A los felices usuarios de Linux, quizá os recuerde vuestros comienzos, y puede que os sirva para realizar una pequeña cura de humildad.

    Domingo, 7 de Octubre/2007 @ 12:36

  7. Gravatar de Jaime Reus Vera Jaime Reus Vera nos comenta:

    La verdad es que me cae muy simpático ese SO tan económico, y que te da tanta libertad, según dicen, pero no me atrevo con él, y además, me encuentro un poco “hipotecado” por las aplicaciones Windows que manejo regularmente. Me gustaría iniciarme en este sistema, pero no sé si voy a poder con él. Creo que voy a leer la experiencia del bloguero de más arriba, que dice que se pasó del Windows al Linux, a ver qué me dice. Según como, me convierto en un linuxero más.

    Miércoles, 6 de Febrero/2008 @ 22:25

  8. Gravatar de e1000 e1000 nos comenta:

    Muy buen artículo. El dato de las llamadas al sistema me ha impresionado. Me recuerda a ¿que es mejor, CISC o RISC?. Creo que Microsoft, al igual que Intel en su momento, tomará el camino de “menos es más”.
    Me voi a leer ahora la comparativa completa, pero te pedidía que publicases artículos con más contenido técnico, como para profesionales. Escribo esto porque el último párrafo me ha dejado … (como decirlo, ¿con hambre?).

    Miércoles, 11 de Junio/2008 @ 16:39

No seas tímido, da tu opinión

Sé respetuoso con los demás, la diferencia de opiniones enriquece la discusión, los comentarios bajo ciertas circunstancias pueden ser moderados y requerir aprobación.