• Embed Doc
  • Readcast
  • Collections
  • CommentGo Back
Download
 
UNIVERSIDAD
 
NACIONAL
 
DE 
 
TRUJILLO
 
ESCUELA
 
DE
 
INFORMATICA
 
1
 
UN VISTAZO AL KERNEL DE LINUX
EL BOOTEO
La figura 1 muestra la secuencia de arranque de Linux en un equipo basado en arquitectura x86.Linux sobre hardware x86 se pone en marcha cuando el BIOS carga el Master Boot Record(MBR) desde el dispositivo de arranque. El código residente en el MBR se ve en la tabla de particiones y lee un gestor de arranque de Linux, como GRUB, LILO, o SYSLINUX de la partición activa. La etapa final del gestor de arranque carga la imagen del núcleo comprimido y pasa el control a la misma. El kernel descomprime y se enciende la ignición
Figura 1
Secuencia de Booteo de Linux sobre una Arquitectura x86
Los procesadores basados en x86 tienen dos modos de funcionamiento, el modo real y modo protegido. En modo real, puede acceder a la primera sólo 1 MB de memoria, que también sinninguna protección. Modo protegido es sofisticado y le permite acceder a muchas funcionesavanzadas del procesador como de paginación. El procesador tiene que pasar a través de modo realen el camino a modo protegido. Este camino es una calle de sentido único, sin embargo. No se puede volver al modo real de modo protegidoEl primer nivel del núcleo inicializaciones se hacen en modo real de montaje. Tras el arranque serealiza en modo protegido por la función start_kernel () se define en el inicio / main.c, la fuente dearchivo que modificó en el capítulo anterior. start_kernel () comienza por la inicialización delsubsistema de la CPU. Memoria y gestión de procesos se ponen en práctica poco después.Autobuses y periféricos de E / S de los dispositivos se inician el próximo. Como el último paso enla secuencia de arranque, el programa init, el padre de todos los procesos de Linux, se invoca. Initejecuta los scripts de usuario del espacio del núcleo que se inician los servicios necesarios. Por último, en las consolas de terminales genera y muestra la entrada.Cada cabecera de sección siguiente es un mensaje de la figura 2 generados durante el arranque de progresión en una computadora portátil basada en x86. La semántica y los mensajes puedencambiar si está arrancando el kernel en otras arquitecturas. Si algunas explicaciones en estasección de sonido más bien críptico, no se preocupe, la intención aquí es sólo para darle unaimagen de 100 pies por encima y que le permite saborear el sabor de un primer núcleo del sabor.Muchos conceptos mencionados aquí de paso, se tratan en profundidad más adelante.
 
UNIVERSIDAD
 
NACIONAL
 
DE 
 
TRUJILLO
 
ESCUELA
 
DE
 
INFORMATICA
 
2
 
Figura 2
Mensajes del Booteo del Kernel
 
UNIVERSIDAD
 
NACIONAL
 
DE 
 
TRUJILLO
 
ESCUELA
 
DE
 
INFORMATICA
 
3
 
BIOS – Mapeo Fisico de la RAM
El núcleo se monta el sistema de mapa de memoria desde la BIOS, y este es uno de los primerosmensajes de arranque, verá:Código de inicialización de modo real utiliza la BIOS
int 0x15
de servicios con número de función
0xe820
(de ahí la cadena de
BIOS-e820
en el mensaje anterior) para obtener el mapa de memoriadel sistema. El mapa indica la memoria reservada y rangos de memoria utilizable, que es posteriormente utilizado por el núcleo para crear su memoria deposito libre.
758MB Memoria Baja Disponible
 Normalmente, la región de memoria direccionable del Kernel (<896MB) se llama de memoria baja. El asignador de memoria del kernel,
kmalloc()
, devuelve la memoria de esta región. Más alláde 896MB de memoria (llamada memoria alta) sólo se puede acceder mediante asignacionesespeciales.Durante el arranque, el núcleo calcula y muestra el total de las páginas presentes en estas zonas dememoria.
Linea de Comando del Kernel: ro root=/dev/hda1
Gestores de arranque de Linux suelen pasar una línea de comandos para el núcleo. Argumentos enla línea de comandos son similares a las
argv[] 
 
lista pasó a la función
main()
 
en programas en C,salvo que se pasan al kernel lugar. Usted puede agregar la línea de comandos argumentos alarchivo de configuración del gestor de arranque o el suministro del gestor de arranque rápido entiempo de ejecución.[1] Si está usando el gestor de arranque GRUB, el archivo de configuración es
 /boot/grub/grub.conf  
 o
 /boot/grub/menu.lst 
 
en función de su distribución. Si usted es un usuario de LILO, el archivo deconfiguración
 /etc/lilo.conf  
. Un ejemplo de archivo
 grub.conf  
 
(con las observaciones que el original)se muestra aquí. Usted puede descubrir la génesis del anterior mensaje de arranque si nos fijamosen la línea del kernel 2.6.23.
 
[1]Gestores de arranque en dispositivos empotrados suelen ser "delgados" y no admiten archivos de configuración omecanismos equivalentes. Debido a esto, muchas arquitecturas no-x86 apoyar una opción de configuración del kernel llamado CONFIG_CMDLINE que puede utilizar para abastecer a la línea de comandos del kernel en tiempo decompilación.
Los argumentos de línea de comandos afectan el código normal durante el arranque. Como unsimple ejemplo, suponer que el argumento de línea de comandos de interés se llama
bootmode
. Sieste parámetro se establece en
1
, que desea imprimir algunos mensajes de depuración durante elarranque y cambiar a un nivel de ejecución de
3
a finales del boot. (Espere hasta que el arranque
of 00

Leave a Comment

You must be to leave a comment.
Submit
Characters: ...
You must be to leave a comment.
Submit
Characters: ...