Top Qs
Línea de tiempo
Chat
Contexto
Bootstrapping (informática)
De Wikipedia, la enciclopedia libre
Remove ads
La palabra inglesa bootstrapping es un término utilizado para describir el arranque o el proceso de inicio de cualquier ordenador. El término hace referencia al proceso que inicia el gestor de arranque, un programa ejecutado por el BIOS cuando se enciende una computadora, encargándose de la inicialización del sistema operativo y de los dispositivos.[1]
La palabra "boot" es la abreviatura de bootstrap o bootstrap load y deriva de la frase en inglés "to pull oneself up by one's bootstraps" (levantarse por medios propios).[2][3] Suele referirse al programa que arranca un sistema operativo, como por ejemplo GRUB, LiLo (utilizados en sistemas GNU/Linux), BCD o NTLDR (utilizados en sistemas Windows). Se ejecuta tras el proceso POST (power-on self-test, «autoprueba de arranque») del BIOS, que realiza una serie de comprobaciones e inicializaciones de los componentes electrónicos conectados.[1][4] También se llama «Boot loader» (cargador de inicio).
Remove ads
Proceso de arranque
Cuando un equipo se enciende, el proceso POST se realiza siempre antes de cargar el sistema operativo o cualquier otro software, ya que POST está almacenado en la BIOS y está configurado para ser uno de los primeros procesos que se realizan.[4]
El proceso típico es el siguiente:
- Se ejecuta el POST, destinado a realizar una serie de comprobaciones e inicializaciones de los componentes hardware, incluyendo la verificación de los registros del procesador, la integridad del código de la BIOS, la inicialización de la memoria RAM y la comprobación del controlador del teclado.[1]
- Se carga del disco primario el primer sector (512 bytes) en la dirección de memoria física 0x7C00.[5]
- Se comprueba que contenga código válido mediante la verificación de la firma de arranque (boot signature), que consiste en los valores hexadecimales 0x55 y 0xAA en los bytes de las posiciones 510 y 511 del sector de arranque.[5]
- Si la verificación es exitosa, el control se transfiere a esa dirección para iniciar el gestor de arranque.
Remove ads
Gestores de arranque
Resumir
Contexto
Un cargador o gestor de arranque (bootloader) es un programa sencillo diseñado exclusivamente para preparar todo lo que necesita el sistema operativo para funcionar. Normalmente se utilizan los cargadores de arranque multietapas, en los que varios programas pequeños se suman los unos a los otros, hasta que el último de ellos carga el sistema operativo.[1]
GRUB
GNU GRUB (GNU GRand Unified Bootloader) es un cargador de arranque múltiple, desarrollado por el proyecto GNU, que permite elegir qué sistema operativo arrancar de los instalados.[6] GRUB fue inicialmente diseñado e implementado por Erich Stefan Boleyn como parte del trabajo en el arranque del sistema operativo GNU Hurd desarrollado por la Free Software Foundation. GRUB es un cargador de arranque que cumple la Especificación Multiboot, permitiendo arrancar de forma uniforme los kernels que cumplen esta especificación.[6]
LILO
LILO ("Linux Loader") fue un gestor de arranque que permite elegir con qué sistema operativo trabajar al momento de iniciar un equipo. Fue desarrollado inicialmente por Werner Almesberger en 1992.[7] LILO funciona en una variedad de sistemas de archivos y puede arrancar un sistema operativo desde el disco duro o desde un disco flexible externo, permitiendo seleccionar entre 16 imágenes en el arranque.[7]
Remove ads
Entornos de programación
El bootstrapping también puede referirse al proceso mediante el cual se han desarrollado entornos de programación cada vez más complejos a partir de otros más simples. En el desarrollo de software, el bootstrapping se refiere al proceso de construir herramientas o entornos de desarrollo más avanzados utilizando herramientas básicas previas.[8] En ciencias de la computación, el bootstrapping es la técnica para producir un compilador auto-compilable, es decir, un compilador escrito en el lenguaje de programación fuente que pretende compilar.[9]
El entorno más simple sería, quizás, un editor de textos muy sencillo (p. ej. ed) y un programa ensamblador. Utilizando estas herramientas, se puede escribir un editor de texto más complejo y un compilador simple para un lenguaje de más alto nivel y así sucesivamente, hasta obtener un entorno de desarrollo integrado y un lenguaje de programación de muy alto nivel.
Componentes de un sistema
También se conoce este término para «construir» un sistema completo a partir de sus componentes base, o bien de previas versiones precompiladas de esos componentes, como por ejemplo una instalación vía «stage1» en Gentoo Linux o 'net install' en Debian.
Véase también
Referencias
Enlaces externos
Wikiwand - on
Seamless Wikipedia browsing. On steroids.
Remove ads