RSS |

Blog de Omar

Just another WordPress weblog

Advertisement

Posts Tagged ‘ kernel ’

Sin mirarla en lo absoluto, con cierta pedantería de creer haber superado ya esa etapa y como ex novia que pasa por tu costado con su nuevo enamorado; es justamente así como se me había pasado el revisar algunos detalles del kernel que viene por defecto en la instalación de Linux (quizás algunos me entiendan).

Son de esas cosas que sólo las aprendes porque estas metido en el "asunto" ya que no te lo enseñan en ningún lado y por esas cosas del destino descubrí las diferencias entre el Kernel Default, SMP y BIGSMP.

Sin más preámbulo definamos los términos:

Kernel Default: Kernel que se instala por defecto cuando sólo tenemos un procesador y menos de 4 GB de memoria RAM en nuestra PC.

Kernel SMP: Symmetric Multiprocesor (SMP) es el Kernel compilado para poder usar más de un procesador y menos de 4 GB  de memoria RAM en nuestra PC.

Un poco de teoría

¿Cuánto direcciona como máximo un procesador de 32 bits?
232 = 4294967296 bytes = 4096 MB = 4GB, es decir si tenemos una PC de 32 bits y colocamos más de 4GB de memoria RAM simplemente no funcionará porque un sistema de 32 bits no está en la capacidad de poder hacerlo.

La solución para esta incapacidad es usar PAE (Physical Address Extension), tecnología desarrollada por Intel para que un sistema de 32 bits pueda utilizar hasta 64GB de memoria RAM, aunque en la práctica sólo hasta 48GB.

Sobre el método que utiliza PAE no pienso ahondar, la verdad es que en esos temas no tengo mucho interés, no despierta en mi la inquietud de investigar y como prefiero otro tipo de temas lo voy a dejar allí… sin embargo en Wikipedia pueden encontrar como es que funciona todo a un nivel inferior.

Sabiendo ahora este poquito de teoría podemos definir el Kernel BIGSMP.

Kernel BIGSMP: Kernel que trae soporte para PAE y SMP con lo que podríamos tener más de un procesador de 32 bits y además más de 4GB de memoria RAM.

Nota: A pesar de la explicación brindada, se recomienda usar SMP para máximo 3.5 GB de memoria RAM y para tamaños superiores a 3.5GB usar BIGSMP.

Como siempre las distribuciones….

Para nadie que maneje sistemas operativos Linux es un misterio que siempre tenemos que lidiar con las pequeñas diferencias entre las distintas distribuciones y este tema no es la excepción.

Seguro más de uno ya abrió su consola y ejecutó:

shell> uname -a, para ver que tipo de Kernel tienen instalados y otros habrán ejecutado:
shell> rpm -qa kernel, y ya algunos que tienen más de un procesador habrán notado que aparentemente tienen instalado un kernel convencional y más de un procesador funcionando sin haber necesitado de SMP, craso error! Y aquí la explicación:

Algunas distribuciones como Fedora, Centos y RedHat incorporan en su kernel convencional soporte para SMP, esto lo podemos verificar observando el archivo: /boot/config-2.6.XXX.i686, donde observaremos que ya se encuentra compilado el kernel para soportar SMP, aqui el extracto del archivo que nos interesa:

# Processor type and features
CONFIG_TICK_ONESHOT=y
CONFIG_NO_HZ=y
CONFIG_HIGH_RES_TIMERS=y
CONFIG_GENERIC_CLOCKEVENTS_BUILD=y
CONFIG_SMP=y

Además si quisiéramos usar memoria RAM superior a 4GB existe (para las distribuciones mencionadas: Fedora, Centos y RedHat) otro tipo de kernel no descrito, el kernel-pae, que trae soporte  soporte obviamente para PAE.

En otras distribuciones como Suse Enterprise y Open Suse (las versiones 9 y 10) se debe instalar el tipo de Kernel que necesitamos y que he descrito líneas arriba (DEFAULT, SMP o BIGSMP). Aunque en la página Novell informan que a partir de la versión 11de Suste el kernel convencional trae soporte para SMP y cuenta con un kernel-pae (al igual que Fedora, Centos y RedHat), de esta manera las distribuciones basadas en RedHat estarán homogéneas (particularmente me parece buena idea).

Ver para creer….

Si quieres comprobar todo lo arriba descrito puedes hacerlo de dos maneras:

  • Si usas Fedora, Centos o RedHat:
    - Compilar un kernel sin soporte para SMP y veras como no reconocerá más de un procesador. El año pasado hice un video tutorial de cómo compilar un kernel que pueden verlo aquí: [VIDEO TUTORIAL] y hacer algunas pruebas.
  • Si usas Suse u Open Suse:
    - Instala una máquina virtual con un solo procesador y luego agrega otro procesador, veras que solo reconocerá un procesador a menos que instales el kernel-smp (así fue como me involucre en este tema, una maquina virtual que no reconocía el segundo procesador)

Para Windows
Les comento rápidamente que el kernel de Windows trae consigo soporte para mas de un procesador y también trae soporte para PAE aunque para este último depende mucho de la versión de Windows que estemos usando, aquí les adjunto una tablita:

Versión

Max. Memoria Física

Windows 2000 Advanced Server

8 GB

Windows 2000 Datacenter Server

32 GB

Windows XP

4 GB

Windows Server 2003 Enterprise Edition

32 GB

Windows Server 2003 R2 (or SP1) Enterprise Edition

64 GB

Windows Server 2003 Datacenter Edition

64 GB

Windows Server 2003 Standard Edition

4 GB

Windows Vista

4 GB

Windows Server 2008 Enterprise or Datacenter Edition

64 GB

Windows Server 2008 other editions

4 GB

Hasta aquí llego este post, espero les pueda servir. Nos vemos.
Un agradecimiento a mi amiga Karen que escogió al tux sherlock mostrado como imagen en este post.

Popularity: 10% [?]

Popularity: 4% [?]

Bueno despues de casi dos meses de inactividad del Blog por motivos de estudio y trabajo, vuelvo a realizar un video tutorial esta vez sobre la compilacion de un Kernel en Fedora 7.

El video lo he realizado para mi curso de Sistemas Operativos, tiene una duracion de casi 40 minutos y lo realizado paso por paso para que sea lo mas entendible posible.

Bueno aqui dejo el enlace: Descargar Video de Compliacion

Tambien les recuerdo que estan de nuevo activos los links de descarga de los video tutoriales de modelamiento (sorry por la demora pero insisto que he estado muy ocupado). Espero sus comentarios.

Popularity: 4% [?]