InicioLinuxPor que Linux usa mejor el procesador que Windows

Por que Linux usa mejor el procesador que Windows

Linux8/19/2012
Por que Linux usa mejor el procesador que WindowsprocesadorOS

No es para nadie un secreto que yo apoyo al software libre en muchos sentidos, desde ideológicos y pasando por tecnológicos, la capacidad de evolución del software libre, difícilmente será superada por algún paquete comercial.

Ahora veremos por que GNU/Linux puede superar fácilmente a cualquier Windows en rendimiento y mientras Windows no entregue su código fuente, jamás podrá superar a GNU/Linux, en desempeño.

En un sistema operativo comercial como lo es Windows y algunas distros de Linux, dígase RedHat, la intención siempre será que el sistema operativo corra en la mayor cantidad posible de computadoras, pero, por regla general, siempre hay mas computadoras “obsoletas” que de de nueva generación. Cuando las compañías compilan su código, lo hacen pensando en el procesador mas disponible, por ejemplo. Hoy tenemos un QUADCORE o los XEONES, pero no todos tienen un QUADCORE, algunos tienen CoreDUO o algunos aun conservan sus Pentium IV y hay muchas computadoras ahí a fuera con procesadores mas viejos. Todos sabemos que los procesadores mas nuevos siempre mantienen compatibilidad con los viejos, asi que compañías como Microsoft en lugar de sacar una versión de Windows orientada a cada procesador, dígase Core 2 Duo o Pentium IV, mejor sacan una sola línea, Pentium IV, saben que correrá a partir del Pentiun IV en adelante. Que pasa con los flamantes procesadores Core 2 Duo, pues sus bondades de desperdician, muchos de sus nuevos registros jamás son usados, al menos no por el sistema operativo. Algunos juegos usaran los nuevas bondades pero finalmente también harán uso de las Apis del sistema operativo quien no hara uso completo de las bondades del procesador.

Las versiones comerciales de Linux tambien tienen ese problema, compañías como RedHat esperan que su OS corra en el mayor numero de computadoras disponibles, asi que aunque existen Core 2 Duo, a la hora de compilar su kernel y sus programas lo hacen especificaandole a compilador un procesador mas viejo.

Por ejemplo el Centos 5.2 clónico del RedHat 5.2 tiene un kernel que puede ser ejecutado a partir de un Pentium Pro, desde 1995 que existe ese procesador, estamos en el 2009, el kernel tiene una obsolencia de código de 14 años

Afortunadamente GNU/Linux nos da acceso a todos los códigos fuentes, desde el ls hasta el mismo kernel y el compilador GNU, que es una maravilla ese compilador nos permite especificar el procesador para que el compilara algún código.

Dicho lo anterior es posible tomar el kernel de Linux y recompilarlo pero en lugar de usar instrucciones de procesador de hace 14 años, se le dice que use las de un Core 2 Duo actual o un Xeon actual, el resultado sera un nuevo kernel pero sacando provecho al procesador con toda sus capacidades.

Otra ventaja de disponer del código fuente es la personalización, por ejemplo Windows viene con cientos de controladores, para floppy , tarjetas de video, tarjetas de red, n cantidad de driver, de los cuales usara solo uno. Sin embargo tiene que cargar con el resto de driver, y aveces hasta con drivers obsoletos, por ejemplo Windows esta listo para usar floppys drivers, pero la mayoría de las nuevas pcs ya ni traen la disquetera. Aun asi Windows tiene el driver Listo para controlarla, la mayoría usa NTFS en sus sistemas de archivos, sin embargo Windows esta preparado para usar FAT, VFAT, FAT32, NTFS versiones viejas y su propio NTFS Actual, tiene que lidear con todos esos sistemas de archivos que tal vez ni use jamás.

Algo similar ocurre en Linux, Linux viene listo para usar cientos de tarjetas, cientos de drivers para controlar muchas cosas en la PC, el problema es que muchas de esas cosas, tal vez ni las tenemos, al igual que Windows, viene preparado para leer FAT, VFAT, NTFS, etc ,etc, en sus propios sistemas de archivos Ext2, Ext3, Ext4, está listo para usar drivers de disquetera, en fin puede usar tantos drivers como Windows, sin embargo a la hora de instalar usaremos una sola tarjeta de red y los demás drivers solo estarán ahí sin hacer nada, ocupando espacio y distrayendo al kernel.

Otra ventaja de OS libres como Linux sobre sistemas operativos cerrados es, la capacidad de decidir como construir el kernel, que drivers seusaran realmente.

Si yo se que mi equipo solo va a usar Ext3, no necesito soportar Ext2, ni Ext4, quito ese código y cuando se compile no estara el kernel esperando controlar Ext2 y Ext4.

Si yo se que tengo una tarjeta de red, por ejemplo una 3com, no necesito drivers para HP, Pcnet32, etc, etc, las cientos de tarjetas que soporta, para que, requiero solo la 3com

Si la computadora solo tiene discos SATA y ya no usa los viejos IDE, no hay necesidad de ponerle drivers para IDE, al punto en que podemos tener un kernel que solo controla el hardware especifico en la computadora.

El resultado será un kernel VELOZ, no se trata de ganar un segundo o dos, se trata de ganar 20 segundos o mas y en un sistema que estará operando indefinidamente, esta velocidad tiende a infinito.

Para ejemplificar
Un carro va a 20 kilometros por hora con el kernel gnerico
Otro carro va a 25 kilometros por hora con el kernel personalizado.

No parece mucho, pero cada hora el carro con el kernel personalizado avanzara 5 kilometros mas, al final de un año de producción, podría encontrarse a miles de kilómetros de distancia del kernel genérico.

Esto no es aplicable solo al kernel, está disponible el código de SSH, Apache y prácticamente de todo programa en un OS Linux.

Por ejemplo el apache, un apache genérico, puede resultar mas lento que un apache compilado con las bondades del procesador que lo ejecutara.

Si para Dosear un apache genérico se requiere 10 computadoras, con uno personalizado se requerirán 30

Un kernel compilado a la medida, un apache con instrucciones del procesador actual, lo podras dosear, pero te costara mayor trabajo.

Algunos se han de preguntar que hace tan difícil dosear la cueva, la respuesta es en parte que tengo personalizado mucho de lo que corre en el servidor desde el kernel, hasta el apache, muchos programas, por lo que el servidor es capaz de reaccionar más rápido ante un ataque.

Ahora la comprobación.

Hare un programa que cuente los segundos, y solo eso hará, podre a grabar el arranque de un Kernel genérico y contare los segundos que le toma llegar al prompt para pedir usuario y clave, luego hare lo mismo con el kernel personalizado en ese mismo hardware y se podrá observar, cuanta velocidad se gana tan solo con compilar el kernel. Cuanta mas si recompilamos apache, sendmail y otros servicios que vienen genéricos.




Como se puede ver en el video, no se gana uno o dos segundos, se ganan casi 30 segundos de diferencia…. eso es MUCHO.


VALE LA PENA LEERLO...
Datos archivados del Taringa! original
43puntos
2,174visitas
0comentarios
Actividad nueva en Posteamelo
0puntos
2visitas
0comentarios
Dar puntos:

Dejá tu comentario

0/2000

Autor del Post

P
PATO59A🇦🇷
Usuario
Puntos0
Posts4
Ver perfil →
PosteameloArchivo Histórico de Taringa! (2004-2017). Preservando la inteligencia colectiva de la internet hispanohablante.

CONTACTO

18 de Septiembre 455, Casilla 52

Chillán, Región de Ñuble, Chile

Solo correo postal

© 2026 Posteamelo.com. No afiliado con Taringa! ni sus sucesores.

Contenido preservado con fines históricos y culturales.