PDA

Ver la Versión Completa : Explicación sobre los distintos tipos de kernel.



jcsl
15-abr-2010, 12:42
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:


Extensión de dirección física (http://es.wikipedia.org/wiki/Extensión_de_dirección_física)
Bit NX (http://es.wikipedia.org/wiki/NX)
Tiempo real (http://es.wikipedia.org/wiki/Tiempo_real)
Latencia (http://es.wikipedia.org/wiki/Latencia)
Separate Desktop / Server Kernels (openFATE) (https://features.opensuse.org/305694)
KernelCheck (http://kcheck.sourceforge.net/)
Arquitectura de 64 bits (http://es.wikipedia.org/wiki/64_bits)

Un saludo.

elsr.doo
16-abr-2010, 03: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, 08: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, 10: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, 21: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, 03:22
Tu microprocesador no es de 64 bits? Un Intel Quad?

Salud!!

jesusx
17-abr-2010, 15: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, 15: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%28R%29+Core%28TM%292+Quad+CPU+Q8200 +%40+2.33GHz&ie=utf-8&oe=utf-8&aq=t&rls=org.mozilla:en-US:official&client=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, 13: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, 17:56
gracias
es muy útil para explicar,tener a mano buena informacion

xcv
27-sep-2010, 02:05
Hola, muchas gracias por el post, ya se que este tema es de hace algunos meses pero como esta adherido tampoco veo mal postear...

Mi duda era si me conviene mas usar el kernel desktop, el pae o cualquier otro, tengo 1.5 GB de RAM pero el kde 4.5.1 me ha instalado el pae automaticamente y ahora vmlinuz enlaza al kernel pae. Me conviene dejarlo asi o volver a poner el desktop? Hay alguna manera para cambiarlo que no sea ir y cambiar el enlace?

EDIT: Cuando reinicié el kernel pae no me funcionaba, al principio de la carga buscaba las particiones y no las encontraba, ni siquiera la suya O.o, asi que he dejado puesto el desktop. Por que podria ser ese error?

Gracias

jcsl
03-oct-2010, 23:15
Hola.

Teniendo menos de 4GB da igual usar uno que otro salvo por la característica el bit NX (No Execute/No Ejecutar) que es recomendable. Si tienes un procesador de 64 bits creo que el bit NX siempre está activo. Si quieres notar algo de mejora en cuanto al rendimiento tendrás que recompilar el kernel para ajustarlo al hardware que tengas, pero tampoco esperes una gran diferencia; quizás una respuesta más ágil del sistema.

Que al instalar KDE 4.5.1 se haya instalado un kernel distinto no lo veo claro; en principio no tiene nada que ver lo uno con lo otro. Es difícil saber porqué te falló el kernel PAE. Las distintas variedades en las que se empaqueta el kernel tienen distintas opciones seleccionadas y pudo ser por cualquiera de ellas. He leído en el foro otros casos en lo que ha ocurrido lo mismo.

Un saludo.

Jonathan Miguel
10-abr-2012, 22:01
Que me recomienda para un portátil, el kernel desktop o kernel defaults, se que desktop es para escritorios pero cual es la mejor opción para opensuse 12.1 32bits de 2GB

será que el defaults ?
cito esta pagina (http://es.opensuse.org/Kernel)


default: es el Kernel por defecto de openSUSE para computadoras de uso cotidiano y servidores.

desktop:un Kernel optimizado para los equipos destinados a ejecutar aplicaciones de escritorio que favorece los tiempos de arranque y de respuesta.

arag
11-abr-2012, 01:45
pregunta utilizas tu equipo como servidor? si ese es el caso te recomiendo el default, si no es el caso mejor es el desktop

Turson
28-abr-2015, 07:45
Hola foro.

Al momento de instalar openSUSE, ¿se instala el Kernel Default?, ¿o de qué forma se instala otro Kernel (ej: Desktop) al momento de Instalación?

Ya que, se sobreentiende que posteriormente se puede instalar otro Kernel iniciado openSUSE desde Yast2.

DiabloRojo
28-abr-2015, 09:00
Al momento de instalar openSUSE, ¿se instala el Kernel Default?, ¿o de qué forma se instala otro Kernel (ej: Desktop) al momento de Instalación?Depende del procesador y de la memoria RAM que tengas instalada, actualmente se instala por defecto el kernel desktop pero si tienes un equipo antiguo o limitado se instalara el kernel pae. jcsl lo explica bien claro.

No es recomendable instalar kernel que no soporte el procesador y su memoria.