ForoSUSE

ForoSUSE (http://www.forosuse.org/forosuse/index.php)
-   FAQs, Manuales y Tutoriales (http://www.forosuse.org/forosuse/forumdisplay.php?f=20)
-   -   Explicación sobre los distintos tipos de kernel. (http://www.forosuse.org/forosuse/showthread.php?t=23822)

jcsl 15-abr-2010 13:42

Explicación sobre los distintos tipos de kernel.
 
Hola.

Como veo que hay bastante confusión con respecto a los distintos tipos de kernel que se pueden instalar en openSUSE, voy a dar algunas explicaciones al respecto. Lo primero es que, aunque tenga distintos nombres, el kernel es el mismo; al compilar el kernel se puede elegir qué opciones de las que ofrece se quieren seleccionar. En función de las que hayan seleccionado, los empaquetadores de la distribución le dan un nombre u otro, y así este nombre suele variar también entre distribuciones. También suelen dividirse los paquetes del kernel en otros más pequeños que incluyan, por ejemplo, los módulos más básicos, y por tanto imprescindibles, y otros con módulos opcionales. Además es útil saber qué significan algunos conceptos:
  • PAE o Extensión de Dirección Física (Physical Address Extension): es una característica de los procesadores de 32 bits que les permite acceder a más de 4GB de memoria (2 elevado a 32 bits = 4294967296 bits = 4GB). Está disponible desde los antiguos Pentium Pro. Los procesadores que soportan PAE también soportan el bit NX (No Execute/No Ejecutar), que puede ayudar a evitar ataques de desbordamiento de buffer (bastante frecuentes). Los procesadores de 64 bits pueden acceder a más de 4GB por diseño.
  • Desktop: escritorio, es decir, es un equipo de escritorio, el que todos tenemos en casa o los destinados a ofimática.
  • Tiempo real (Realtime): en informática se llama aplicación de tiempo real a aquella que debe cumplir con unos límites de tiempo impuestos para funcionar correctamente. En algunas de estas aplicaciones dichos límites son estrictos y no admiten retrasos (como en los controles de un avión) y en otras se permite que se supere el límite en algunas ocasiones. Al contrario de lo que suele decirse normalmente en el lenguaje normal, realtime no quiere decir "ahora mismo"; el pronóstico del tiempo para mañana, por ejemplo, es una aplicación de tiempo real con una cota de tiempo de 24 horas.
  • Latencia: es suma de los retrasos desde que se produce una entrada/acción hasta que se obtiene una salida/respuesta.
Si se usa YaST para instalar paquetes, en la pestaña Descripción aparece una explicación de qué es y para qué sirve un paquete al seleccionarlo. Ahí se puede ver que:
  • kernel-desktop - Kernel optimizado para equipos de escritorio
Este kernel está optimizado para equipos de escritorio. Está configurado para una latencia baja y tiene desactivadas muchas de las características que no son habituales en equipos de escritorio. Este kernel soporta hasta 64GB de memoria principal. Necesita la Extensión de Dirección Física (PAE), que se introdujo con el procesador Pentium Pro. PAE no solo significa más espacio de direcciones físicas sino también es importante por la característica "no ejecutar" que deshabilita la ejecución de código que está marcado como no ejecutable. Por tanto, el kernel PAE debería usarse en cualquier sistema que lo soporte, independientmente de la cantidad de memoria.
  • kernel-vanilla - El kernel estándar, sin ninguno de los parches de SUSE.
  • kernel-pae - Kernel con PAE habilitado
Este kernel soporta hasta 64GB de memoria principal. Necesita la Extensión de Dirección Física (PAE), que se introdujo con el procesador Pentium Pro. PAE no solo significa más espacio de direcciones físicas sino también es importante por la característica "no ejecutar" que deshabilita la ejecución de código que está marcado como no ejecutable. Por tanto, el kernel PAE debería usarse en cualquier sistema que lo soporte, independientmente de la cantidad de memoria.
  • kernel-default - El kernel estándar
El kernel estándar para sistemas monoprocesaror o multiprocesador.
  • kernel-xen - El kernel Xen
Es el kernel que se usa con el sistema de paravirtualización Xen. Este kernel puede usarse tanto como domain0 ("xen0") o como un kernel si privilegios ("xenU").
  • kernel-trace - El kernel de Linux de Tiempo real
Este kernel está compilado para aplicaciones de tiempo real.
  • kernel-rt - El kernel de Linux para Tiempo-real
Este kernel es para aplicaciones de alto rendimiento/baja latencia.
En realidad no hay demasiadas diferencias entre unos y otros. Tampoco queda claro que las opciones elegidas para cada uno sean las más óptimas. Por ejemplo, el kernel-desktop está compilado usando el flag -O2 y kernel-default/PAE con -Os; -Os es el menor nivel de optimización del compilador gcc, mientras que -O3 es el de mayor optimización. Al aumentar el nivel de optimización suele aumentar el tamaño del ejecutable o librería que se obtiene. La pregunta que surge es ¿qué es mejor, un kernel pequeño que no aproveche todas las características del procesador pero ocupe pocas páginas de memoria, o un kernel optimizado para el procesador pero tan grande que haya que paginar con frecuencia? En las listas de distribución del kernel donde se habla de estos temas no lo tienen claro, aunque parece que hay algo de predilección por que sea pequeño.

En fin, en mi opinión da igual usar uno que otro porque ninguno es óptimo: todos están compilados con muchas más opciones de las que pueda necesitar un usuario normal para hacerlos más genéricos y que funcionen con casi cualquier configuración. Además, tienen activadas montones de opciones de depuración que solo son útiles si se quiere ayudar a desarrollar el kernel. Como ejemplo, al compilar el kernel por defecto creo recordar que se generan más de dos mil módulos; cuando compilo el kernel para mi sistema apenas supera los cuatrocientos. Hay un proyecto, KernelCheck, que tiene como objetivo hacer un programa que construya el kernel optimizado para la máquina donde se ejecute. No lo he probado aún, pero si funciona ahorraría bastante tiempo si se decide uno a compilar un kernel personalizado.

Referencias:
Un saludo.

elsr.doo 16-abr-2010 04:36

Gracias por la informacion.. aunque ya habia investigado sobre el Kernel PAE (me lo instalaba en Fedora).

Gracias por todo

sruedat 16-abr-2010 09:42

Gracias por la info... pero ahora me surge una duda con todo esto del PAE.
¿Si un sistema de 32bit sólo puede usar 4 GB de RAM... el PAE puede utilizar 64GB?...

Sistema de 32:
2^32 = 4 294 967 296 (4GB?)

Cuanto puede utilizar uno de 64 bits?
2^64 = 1.84467441 × (10 elvado a la 19) ..... este número no lo sé ni pronunciar.

jcsl 16-abr-2010 11:26

Hola.

En efecto sruedat, un procesador de 64 bits puede direccionar 2^64 bits = 16 exabytes. He añadido otro enlace en las referencias, al final, donde puedes leer más sobre la arquitectura de 64 bits.

Un saludo.

jesusx 16-abr-2010 22:47

Yo tuve una vez en la 11.1 el kernel pae, fue cuando mi targeta de video no era bien soportada por nvidia y me toco pelear bastante tiempo y entonces fue cuando, no se el porque, instale ese kernel... Segun la explicacion, parece ser el kernel mejor a mi modo de verlo claro... Mi procesador no es 64 bits pero tengo suse x64 y me va de lujo, se nota bastante que va mas ligero, sobre todo, a la hora de procesar en cantidad ( video, muchas tareas a la vez...) Si instalara ese kernel, iria mejor o no notaria diferencia? Esta es mi maquina:
Intel(R) Core(TM)2 Quad CPU Q8200 @ 2.33GHz
1992,00 MHz
GeForce 7050 / nForce 630i

Salu2:adios: y gracias por la explicacion...

karlggest 17-abr-2010 04:22

Tu microprocesador no es de 64 bits? Un Intel Quad?

Salud!!

jesusx 17-abr-2010 16:35

Creo que no, pero no lo se del todo cierto XD... En su dia busque pero hay poca informacion para averiguarlo o yo no supe buscar... Pero segun tengo entendido, soporta el juego de instruciones x64 (tampoco lo aclaran en el soporte de Packard Bell) pero la arquitectura es de 32bits. Hay algun comando o manera de saberlo cierto? Salu2:adios:

karlggest 17-abr-2010 16:54

La forma más simple de hacer cualquier cosa es siempre, necesariamente, la mejor forma de hacerlo.

En tu caso, preguntémosle a Intel... Voy a usar google de intermediario, así:

http://www.google.es/search?q=Intel%...ient=firefox-a

(eso es el añadido que trae Firefox para buscar)

El primer resultado pone que es de la web intel.com, lo que suena prometedor: no sé qué de Intel Quad review... Eso nos lleva a una página sobre dichos procesadores, aunque en inglés (supongo que andará en castellano, pero ni por buscarlo xd ), donde sale una tabla con una pestaña que pone "specifications" o algo así.. En la tabla que nos muestra al pulsar hay una columna que pone Intel(r) 64 bits y con una muesca para los procesadores que se listan en las filas sucesivas... efectivamente, el tuyo está marcado como tal.

Salud!!

jesusx 18-abr-2010 14:56

Pues parece ser que si XD... Al parecer, a parte del mundo linux, me queda mucho por aprender pues no domino el tema de buscar, je, je... Salu2:adios: y gracias por la ayuda

caligulaelsanto 18-abr-2010 18:56

gracias
es muy útil para explicar,tener a mano buena informacion


La franja horaria es GMT +2. Ahora son las 20:41.

Powered by vBulletin™
Copyright © vBulletin Solutions, Inc. All rights reserved.


Esta página está bajo una licencia de Creative Commons, salvo que no se indique lo contrario.
Creative Commons License

Valid CSS!