Pregunta ¿Qué es el arranque?


Sigo viendo "bootstrapping" mencionado en las discusiones sobre el desarrollo de aplicaciones. Parece a la vez generalizado e importante, pero todavía tengo que encontrar una explicación pobre de lo que es en realidad el arranque; más bien, parece que se supone que todo el mundo sabe lo que significa. Yo no, sin embargo. Cerca de lo que puedo imaginar, tiene algo que ver con las tareas de inicialización requeridas para una aplicación en el momento del lanzamiento, pero podría estar completamente equivocado al respecto. ¿Alguien puede ayudarme a entender esta idea?


515
2017-08-10 12:16


origen


Respuestas:


"Bootstrapping" proviene del término "tirando de ti mismo por tus propios esfuerzos". De eso puedes obtener Wikipedia.

En informática, un cargador de arranque es la primera pieza de código que se ejecuta cuando se inicia una máquina, y es responsable de cargar el resto del sistema operativo. En las computadoras modernas, está almacenado en ROM, pero recuerdo el proceso de arranque en el PDP-11, donde insertaba bits a través de los interruptores del panel frontal para cargar un segmento de disco particular en la memoria y luego ejecutarlo. Huelga decir que el cargador de arranque suele ser bastante pequeño.

"Bootstrapping" también se utiliza como un término para construir un sistema que se usa a sí mismo, o más correctamente, una versión predecesora. Por ejemplo, ANTLR la versión 3 está escrita usando un analizador desarrollado en ANTLR versión 2.


259
2017-08-10 12:21



Un ejemplo de bootstrapping está en algunos marcos web. Llamas a index.php (el programa de arranque), y luego carga los marcos auxiliares, modelos, configuración, y luego carga el controlador y le pasa el control.

Como puede ver, es un archivo simple que inicia un proceso grande.


189
2017-08-10 16:13



Ver en el artículo de Wikipedia sobre bootstrapping.

Hay una sección y enlaces que explican lo que significa en Informática. Tiene cuatro usos diferentes en el campo.

Aquí hay algunas citas, pero para una explicación más profunda y significados alternativos, consulte los enlaces de arriba.

"... es una técnica mediante la cual un simple programa de computadora activa un sistema de programas más complicado".

"Un uso diferente del término bootstrapping es usar un compilador para compilarse, primero escribiendo una pequeña parte de un compilador de un nuevo lenguaje de programación en un idioma existente para compilar más programas del nuevo compilador escritos en el nuevo idioma".


45
2017-08-10 12:18



En el contexto del desarrollo de aplicaciones, el "arranque" suele surgir cuando se habla de software modular y / o autoactualizable.

En lugar de que el usuario descargue la aplicación completa, incluidas las características que no necesita, y vuelve a descargar y actualizar manualmente cada vez que hay una actualización, el usuario solo descarga e inicia un pequeño archivo ejecutable de "arranque", que a su vez descarga e instala esos partes de la aplicación que el usuario necesita. Además, el componente de arranque puede buscar actualizaciones e instalarlas cada vez que se inicia.


18
2017-08-10 12:29



Para completar, también es un método bastante importante (y relativamente nuevo) en las estadísticas que utiliza el remuestreo / simulación para inferir las propiedades de la población de una muestra. Tiene su propio largo Artículo de Wikipedia sobre bootstrapping (estadísticas).


14
2017-08-10 12:26



El término "arranque" generalmente se aplica a una situación en la que un sistema depende de sí mismo para comenzar, como un problema de huevo y gallina.

Por ejemplo:

  • ¿Cómo se compila un compilador de C escrito en C?
  • ¿Cómo se inicia un proceso de inicialización del sistema operativo si aún no tiene el sistema operativo en ejecución?
  • ¿Cómo se inicia un sistema distribuido (peer-to-peer) en el que los clientes dependen de sus pares conocidos actualmente para averiguar sobre nuevos pares en el sistema?

En ese caso, el arranque se refiere a una forma de romper la dependencia circular, generalmente con la ayuda de una entidad externa, p.

  • Puede usar otro compilador de C para compilar (arrancar) su propio compilador, y luego puede usarlo para recompilarse
  • Utiliza una pieza de código separada que configura el proceso inicial sin depender de ninguna función proporcionada por el SO
  • Utiliza una lista codificada de pares iniciales o una URL de rastreador codificada que suministra la lista de pares

etc.


10
2017-12-18 17:58



Alex, es más o menos lo que hace tu computadora cuando arranca. ('Booting' una computadora en realidad proviene de la palabra bootstrapping)

Inicialmente, se ejecuta el pequeño programa en su BIOS. Eso contiene suficiente código de máquina para cargar y ejecutar un programa más grande y complejo.

Ese segundo programa es probablemente algo así como NTLDR (en Windows) o LILO (en Linux), que luego se ejecuta y puede cargar, y luego ejecutar, el resto del sistema operativo.


9
2017-08-10 14:08



Arrancar el diccionario significa que es comenzar con recursos mínimos. En el contexto de un sistema operativo, el sistema operativo debería poder cargarse rápidamente una vez que la autoprueba de encendido (POST) determina que es seguro despertar la CPU. El código de la correa de arranque se ejecutará desde el BIOS. BIOS es una ROM de tamaño pequeño. En general, es una instrucción de salto al conjunto de instrucciones que cargará el sistema operativo a la RAM. El destino de Jump es el sector de arranque en el disco duro. Una vez que el programa BIOS comprueba que es un sector de arranque válido que contiene la dirección de inicio del sistema operativo almacenado, es decir, si es un MBR válido (registro de inicio maestro) o no. Si es un MBR válido, el sistema operativo se copiará a la memoria (RAM) a partir de ahí en el sistema operativo se ocupa de la gestión de memoria y proceso.


4
2017-09-08 10:31



Olvide los enlaces: aquí está la sección de wikipedia: D

Informática Artículo detallado: Arranque

El término de arranque de la computadora comenzó como   metáfora en la década de 1950. En computadoras,   presionando un botón de arranque causó   programa cableado para leer un bootstrap   programa de una unidad de entrada y luego   ejecutar el programa de arranque que   lea más instrucciones del programa y   se convirtió en un proceso autosostenido que   procedió sin ayuda externa de   instrucciones ingresadas manualmente. Como un   término informático, bootstrap ha sido   utilizado desde al menos 1958. [5]

El concepto de arranque se usó en   Computadora IBM 701 (1952-1956) que tenía   un "botón de carga" que inició   lectura de la primera palabra de 36 bits de   una tarjeta perforada en un lector de tarjetas, o   desde una unidad de cinta magnética, o tambor   unidad (predecesora del disco duro)   manejar). La mitad de la palabra de 18 bits de la izquierda era   luego se ejecutó como una instrucción que   lee palabras adicionales en la memoria. [6]

  • Ver Bootstrapping (compiladores), escribir un compilador para un lenguaje de computadora usando el lenguaje de la computadora para codificar el compilador.
  • Ver Bootstrapping (computación), un resumen del proceso de un sistema informático simple que activa un sistema informático más complicado.
  • Ver Instalación (programas de computadora), para el proceso de arranque como parte del proceso de instalación del software
  • Consulte el nodo Bootstrapping, un nodo de red que ayuda a los nodos que recién se unen a unirse a una red P2P.

2
2017-08-10 12:46



En términos de usar el popular Twitter Bootstrap, creo que este tipo de bootstrapping es la acción de integrar un componente modular en una aplicación web sin que la aplicación Web tenga que reconocer que el componente modular existe hasta que lo necesita o lo referencia. .

El desarrollador puede integrar a la perfección una copia predeterminada del tema CSS Twitter Bootstrap simplemente cargando (haciendo referencia) en la aplicación web. Vuola! Entonces puede que tenga que anular algunos de estos cambios, pero puede hacerlo de tal manera que el recurso / componente no se toque y sea completamente reutilizable.

Este mismo concepto es cómo Web Devs implementan las API de jQuery, y así sucesivamente, pero en realidad no lo expresan los desarrolladores como bootstrapping per se. Lo que hace es que mejora la flexibilidad y la capacidad de reutilización, al tiempo que permite el aislamiento de diferentes componentes / recursos de una aplicación para que residan libremente en el mismo servidor / es o posiblemente en un CDN.

NOTA: Al calcular los arreglos iniciales con el MBR y en UNIX, se requiere un gestor de arranque o administrador especial, que es un pequeño programa en ROM que carga el sistema operativo en la memoria RAM. Si lo piensas, el mismo concepto tiene lugar en la acción del cargador de arranque verificando el MBR y cargando el sistema operativo basado en esta tabla que ocurre sin que el sistema operativo tenga idea de que esto ocurre.


1
2017-11-16 04:48