Question Qu'est-ce que le bootstrapping?


Je continue à voir "bootstrapping" mentionné dans les discussions sur le développement d'applications. Cela semble à la fois répandu et important, mais je n'ai pas encore trouvé la moindre explication de ce qu'est réellement le bootstrap; il semble plutôt que tout le monde est supposé savoir ce que cela signifie. Je ne le fais pas, cependant. Comme je peux le constater, cela a quelque chose à voir avec les tâches d'initialisation requises pour une application au lancement, mais je peux me tromper complètement à ce sujet. Quelqu'un peut-il m'aider à comprendre cette idée?


515
2017-08-10 12:16


origine


Réponses:


"Bootstrapping" vient du terme "vous tirer par vos propres bootstraps". Que vous pouvez obtenir de Wikipédia.

En informatique, un chargeur d'amorçage est le premier morceau de code qui s'exécute au démarrage d'une machine et qui charge le reste du système d'exploitation. Dans les ordinateurs modernes, il est stocké dans la ROM, mais je me souviens du processus d'amorçage sur le PDP-11, où vous passeriez des bits via les commutateurs du panneau avant pour charger un segment de disque particulier en mémoire, puis l'exécuter. Inutile de dire que le chargeur bootstrap est normalement assez petit.

"Bootstrapping" est également utilisé comme un terme pour construire un système en utilisant lui-même - ou plus correctement, une version prédécesseur. Par exemple, ANTLR la version 3 est écrite en utilisant un analyseur développé dans ANTLR version 2.


259
2017-08-10 12:21



Un exemple de bootstrap est dans certains frameworks web. Vous appelez index.php (le programme d'amorçage), puis il charge les assistants de structure, les modèles, la configuration, puis charge le contrôleur et lui transmet le contrôle.

Comme vous pouvez le voir, c'est un simple fichier qui démarre un grand processus.


189
2017-08-10 16:13



Voir sur l'article Wikipedia sur amorçage.

Il y a une section et des liens expliquant ce que cela signifie dans L'informatique. Il a quatre utilisations différentes sur le terrain.

Voici quelques citations, mais pour une explication plus approfondie, et des significations alternatives, consultez les liens ci-dessus.

"... est une technique par laquelle un simple programme d'ordinateur active un système de programmes plus compliqué."

"Une utilisation différente du terme bootstrapping est d'utiliser un compilateur pour se compiler, en écrivant d'abord une petite partie d'un compilateur d'un nouveau langage de programmation dans un langage existant pour compiler plus de programmes du nouveau compilateur écrits dans le nouveau langage."


45
2017-08-10 12:18



Dans le contexte du développement d'applications, "bootstrapping" apparaît généralement lorsque l'on parle de logiciels modulaires et / ou pouvant être mis à jour automatiquement.

Plutôt que de télécharger l'application complète, y compris les fonctionnalités dont elle n'a pas besoin et de la télécharger de nouveau et de la mettre à jour manuellement, l'utilisateur télécharge et démarre un petit exécutable "bootstrap" qui télécharge et installe à son tour parties de l'application dont l'utilisateur a besoin. De plus, le composant bootstrap est capable de rechercher les mises à jour et de les installer chaque fois qu'il est démarré.


18
2017-08-10 12:29



Pour être complet, il s'agit également d'une méthode statistique relativement importante (et relativement nouvelle) qui utilise le rééchantillonnage / la simulation pour déduire les propriétés de population d'un échantillon. Il a sa propre longueur Article de Wikipedia sur le bootstrapping (statistiques).


14
2017-08-10 12:26



Le terme "bootstrap" s'applique généralement à une situation où un système dépend de lui-même pour commencer, en quelque sorte un problème de poulet et d'œuf.

Par exemple:

  • Comment compilez-vous un compilateur C écrit en C?
  • Comment démarrer un processus d'initialisation du système d'exploitation si le système d'exploitation ne fonctionne pas encore?
  • Comment démarrer un système distribué (peer-to-peer) où les clients dépendent de leurs homologues actuellement connus pour se renseigner sur les nouveaux pairs dans le système?

Dans ce cas, le bootstrap fait référence à un moyen de rompre la dépendance circulaire, généralement avec l'aide d'une entité externe, par ex.

  • Vous pouvez utiliser un autre compilateur C pour compiler (bootstrap) votre propre compilateur, puis l'utiliser pour vous recompiler
  • Vous utilisez un morceau de code séparé qui configure le processus initial sans dépendre des fonctions fournies par le système d'exploitation
  • Vous utilisez une liste codée en dur des homologues initiaux ou une URL de suivi codée en dur qui fournit la liste des homologues.

etc.


10
2017-12-18 17:58



Alex, c'est à peu près ce que fait ton ordinateur quand il démarre. ("Démarrer" un ordinateur vient en fait du mot "bootstrapping")

Initialement, le petit programme dans votre BIOS s'exécute. Cela contient suffisamment de code machine pour charger et exécuter un programme plus important et plus complexe.

Ce deuxième programme est probablement quelque chose comme NTLDR (sous Windows) ou LILO (sous Linux), qui s'exécute alors et est capable de charger, puis de lancer le reste du système d'exploitation.


9
2017-08-10 14:08



Boot strapping la signification du dictionnaire est de démarrer avec des ressources minimales. Dans le contexte d'un système d'exploitation, le système d'exploitation devrait pouvoir se charger rapidement une fois que le POST (Power On Self Test) a déterminé qu'il est possible de réveiller le CPU en toute sécurité. Le code de la bande de démarrage sera exécuté à partir du BIOS. Le BIOS est une ROM de petite taille. Généralement, il s'agit d'une instruction de saut à l'ensemble des instructions qui chargera le système d'exploitation à la RAM. La destination du saut est le secteur de démarrage dans le disque dur. Une fois que le programme bios le vérifie, il s'agit d'un secteur de démarrage valide qui contient l'adresse de départ du système d'exploitation stocké, c'est-à-dire s'il s'agit d'un MBR (Master Boot Record) valide. Si c'est un MBR valide, le système d'exploitation sera copié dans la mémoire (RAM) à partir de là, le système d'exploitation prend en charge la gestion de la mémoire et des processus.


4
2017-09-08 10:31



Oubliez les liens: voici la section wikipedia: D

Informatique Article détaillé: Démarrage

Le terme d'amorçage de l'ordinateur a commencé en tant que   métaphore dans les années 1950. Dans les ordinateurs,   en appuyant sur un bouton d'amorçage a causé un   programme câblé pour lire un bootstrap   programme à partir d'une unité d'entrée, puis   exécuter le programme d'amorçage qui   lire plus d'instructions du programme et   est devenu un processus autonome qui   procédé sans aide extérieure de   instructions entrées manuellement. Comme un   terme informatique, bootstrap a été   utilisé depuis au moins 1958. [5]

Le concept bootstrap a été utilisé dans   IBM 701 ordinateur (1952-1956) qui avait   un "bouton de chargement" qui a initié   lecture du premier mot de 36 bits de   une carte perforée dans un lecteur de carte, ou   à partir d'une unité de bande magnétique ou d'un tambour   unité (prédécesseur du disque dur   conduire). Le demi-mot gauche de 18 bits était   puis exécuté comme une instruction qui   Lire des mots supplémentaires dans la mémoire. [6]

  • Voir Bootstrapping (compilateurs), écrire un compilateur pour un langage informatique en utilisant le langage informatique lui-même pour coder le compilateur.
  • Voir Bootstrapping (informatique), un résumé du processus d'un système informatique simple activant un système informatique plus compliqué.
  • Voir Installation (programmes informatiques) pour le processus d'amorçage dans le cadre du processus d'installation du logiciel.
  • Voir noeud Bootstrapping, un nœud de réseau qui aide les nouveaux membres à se joindre à un réseau P2P.

2
2017-08-10 12:46



Pour ce qui est de l'utilisation du populaire Bootstrap Twitter, j'ai l'impression que ce type d'amorçage est l'action d'intégrer un composant modulaire dans une application Web sans que l'application Web reconnaisse même le composant modulaire existant jusqu'à ce qu'il en ait besoin. .

Le développeur peut intégrer de manière transparente une copie par défaut du thème CSS Twitter Bootstrap en le chargeant (référençant) simplement dans l'application Web. Vuola! Ensuite, vous devrez peut-être remplacer certaines de ces modifications, mais vous pouvez le faire de telle sorte que la ressource / le composant soit intact et complètement réutilisable.

Ce même concept est la façon dont les développeurs Web implémentent les API jQuery, et ainsi de suite, mais cela n'est pas vraiment exprimé par Devs en tant qu'amorçage en tant que tel. Ce qu'il fait est qu'il améliore la flexibilité et la réutilisabilité tout en permettant l'isolation de différents composants / ressources d'une application pour résider librement sur le même serveur / s ou éventuellement sur un CDN.

REMARQUE: Lors du calcul des accords d'amorçage avec le MBR et sous UNIX, un chargeur de démarrage spécial ou un gestionnaire, qui est un petit programme dans la ROM, charge le système d'exploitation dans la RAM. Si vous y réfléchissez, le même concept prend place dans l'action du chargeur bootstrap en vérifiant le MBR et en chargeant le système d'exploitation basé sur cette table qui se produit sans que le système d'exploitation ait l'idée que cela a lieu.


1
2017-11-16 04:48