{"id":327,"date":"2009-02-12T21:47:35","date_gmt":"2009-02-13T03:47:35","guid":{"rendered":"http:\/\/www.lastdragon.net\/?p=327"},"modified":"2014-05-23T11:50:34","modified_gmt":"2014-05-23T17:50:34","slug":"por-que-linux-usa-mejor-el-procesador-que-otros-os-comerciales","status":"publish","type":"post","link":"https:\/\/www.lastdragon.net\/?p=327","title":{"rendered":"Por que Linux usa mejor el procesador que otros OS comerciales."},"content":{"rendered":"<p>No es para nadie un secreto que yo apoyo al software libre en muchos sentidos, desde ideol\u00f3gicos y pasando por tecnol\u00f3gicos, la capacidad de evoluci\u00f3n del software libre, dif\u00edcilmente ser\u00e1 superada por alg\u00fan paquete comercial.<\/p>\n<p>Ahora veremos por que GNU\/Linux puede superar f\u00e1cilmente a cualquier Windows en rendimiento y mientras Windows no entregue su c\u00f3digo fuente, jam\u00e1s podr\u00e1 superar a GNU\/Linux, en desempe\u00f1o.<\/p>\n<p>En un sistema operativo comercial como lo es Windows y algunas distros de Linux, d\u00edgase RedHat, la intenci\u00f3n siempre ser\u00e1 que el sistema operativo corra en la mayor cantidad posible de computadoras, pero, por regla general, siempre hay mas computadoras \u201cobsoletas\u201d que de de nueva generaci\u00f3n. Cuando las compa\u00f1\u00edas compilan su c\u00f3digo, 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\u00ed a fuera con procesadores mas viejos. Todos sabemos que los procesadores mas nuevos siempre mantienen compatibilidad con los viejos, asi que compa\u00f1\u00edas como Microsoft   en lugar de sacar una versi\u00f3n de Windows orientada a cada procesador, d\u00edgase Core 2 Duo o Pentium IV, mejor sacan una sola l\u00ednea, Pentium IV, saben que correr\u00e1 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\u00e1s son usados, al menos no por el sistema operativo. Algunos juegos usaran los nuevas bondades pero finalmente tambi\u00e9n har\u00e1n uso de las Apis del sistema operativo quien no hara uso completo de las bondades del procesador.<\/p>\n<p>Las versiones comerciales de Linux tambien tienen ese problema, compa\u00f1\u00edas 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.<\/p>\n<p>Por ejemplo el Centos 5.2 cl\u00f3nico 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\u00f3digo de 14 a\u00f1os<\/p>\n<p>Afortunadamente GNU\/Linux nos da acceso a todos los c\u00f3digos 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\u00fan c\u00f3digo.<\/p>\n<p>Dicho lo anterior es posible tomar el kernel de Linux y recompilarlo pero en lugar de usar instrucciones de procesador de hace 14 a\u00f1os, 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.<\/p>\n<p>Otra ventaja de disponer del c\u00f3digo fuente es la personalizaci\u00f3n, 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\u00eda de las nuevas pcs ya ni traen la disquetera. Aun asi Windows tiene el driver Listo para controlarla, la mayor\u00eda 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\u00e1s.<\/p>\n<p>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\u00e1 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\u00e1s drivers solo estar\u00e1n ah\u00ed sin hacer nada, ocupando espacio y distrayendo al kernel. <\/p>\n<p>Otra ventaja de OS libres como Linux sobre sistemas operativos cerrados es, la capacidad de decidir como construir el kernel, que drivers seusaran realmente.<\/p>\n<p>Si yo se que mi equipo solo va a usar Ext3, no necesito soportar Ext2, ni Ext4, quito ese c\u00f3digo y cuando se compile no estara el kernel esperando controlar Ext2 y Ext4.<\/p>\n<p>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<\/p>\n<p>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.<\/p>\n<p>El resultado ser\u00e1 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\u00e1 operando indefinidamente, esta velocidad tiende a infinito.<\/p>\n<p>Para ejemplificar<br \/>\nUn carro va a 20 kilometros por hora con el kernel gnerico<br \/>\nOtro carro va a 25 kilometros por hora con el kernel personalizado.<\/p>\n<p>No parece mucho, pero cada hora el carro con el kernel personalizado avanzara 5 kilometros mas, al final de un a\u00f1o de producci\u00f3n, podr\u00eda encontrarse a miles de kil\u00f3metros de distancia del kernel gen\u00e9rico. <\/p>\n<p>Esto no es aplicable solo al kernel, est\u00e1 disponible el c\u00f3digo de SSH, Apache y pr\u00e1cticamente de todo programa en un OS Linux.<\/p>\n<p>Por ejemplo el apache, un apache gen\u00e9rico, puede resultar mas lento que un apache compilado con las bondades del procesador que lo ejecutara.<\/p>\n<p>Si para Dosear un apache gen\u00e9rico se requiere 10 computadoras, con uno personalizado se requerir\u00e1n 30<\/p>\n<p>Un kernel compilado a la medida, un apache con instrucciones del procesador actual, lo podras dosear, pero te costara mayor trabajo.<\/p>\n<p>Algunos se han de preguntar que hace tan dif\u00edcil 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\u00e1s r\u00e1pido ante un ataque. <\/p>\n<p>Ahora la comprobaci\u00f3n.<\/p>\n<p>Hare un programa que cuente los segundos, y solo eso har\u00e1, podre a grabar el arranque de un Kernel gen\u00e9rico 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\u00e1 observar, cuanta velocidad se gana tan solo con compilar el kernel. Cuanta mas si recompilamos apache, sendmail y otros servicios que vienen gen\u00e9ricos.<\/p>\n<p><iframe loading=\"lazy\" width=\"560\" height=\"315\" src=\"\/\/www.youtube.com\/embed\/qU2sLvrLxLs\" frameborder=\"0\" allowfullscreen><\/iframe><\/p>\n<p>Como se puede ver en el video, no se gana uno o dos segundos, se ganan casi 30 segundos de diferencia&#8230;. eso es MUCHO.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>No es para nadie un secreto que yo apoyo al software libre en muchos sentidos, desde ideol\u00f3gicos y pasando por tecnol\u00f3gicos, la capacidad de evoluci\u00f3n del software libre, dif\u00edcilmente ser\u00e1 superada por alg\u00fan paquete comercial. Ahora veremos por que GNU\/Linux puede superar f\u00e1cilmente a cualquier Windows en rendimiento y mientras Windows no entregue su c\u00f3digo&#8230;<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[2,3],"tags":[],"class_list":["post-327","post","type-post","status-publish","format-standard","hentry","category-consultoria-y-manuales","category-programacion"],"_links":{"self":[{"href":"https:\/\/www.lastdragon.net\/index.php?rest_route=\/wp\/v2\/posts\/327","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.lastdragon.net\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.lastdragon.net\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.lastdragon.net\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.lastdragon.net\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=327"}],"version-history":[{"count":1,"href":"https:\/\/www.lastdragon.net\/index.php?rest_route=\/wp\/v2\/posts\/327\/revisions"}],"predecessor-version":[{"id":1032,"href":"https:\/\/www.lastdragon.net\/index.php?rest_route=\/wp\/v2\/posts\/327\/revisions\/1032"}],"wp:attachment":[{"href":"https:\/\/www.lastdragon.net\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=327"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.lastdragon.net\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=327"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.lastdragon.net\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=327"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}