Auto-hébergement (informatique)

Auto-hébergement (informatique)

L'auto-hébergement désigne l'utilisation d'un programme informatique, partie d'une chaîne d'outils ou d'un système d'exploitation pour produire de nouvelles versions dudit programme. Par exemple, un compilateur qui peut compiler son propre code source. Le logiciel auto-hébergé est commun sur les ordinateurs personnels et les systèmes plus larges.

D'autre programmes qui sont typiquement auto-hébergés sont les noyaux, les assembleurs et les shells.

Si un système est si neuf qu'aucun logiciel n'a été écrit pour lui, alors on développe le logiciel sur un autre système auto-hébergé et placé dans une mémoire informatique que le nouveau système peut lire.

Le développement continue de cette manière jusqu'à ce que le nouveau système puisse héberger son propre développement. Par exemple, le développement du système d'exploitation Linux a été initialement hébergé sur le système d'exploitation Minix. Écrire de nouveaux outils de développement logiciel sans partir d'un système existant ne se fait plus aujourd'hui.

Plusieurs langages de programmation sont auto-hébergés, dans le sens qu'un compilateur pour ce langage, écrit dans le même langage, est disponible. Pour un nouveau système, le premier compilateur d'un nouveau langage de programmation doit être écrit dans un autre langage (dans de rares cas, le langage machine). Les langages auto-hébergés incluent le Lisp, Forth, C, Pascal, Modula-2, Oberon, Smalltalk, OCaml, ooc[1] et FreeBASIC.

La confiance aveugle en des outils de programmation auto-hébergés est un risque de sécurité comme démontré par le hack de Thompson.

Sommaire

Histoire

Le premier compilateur auto-hébergé (si l'on exclut les assembleurs) a été écrit pour le Lisp par Hart et Levin au Massachusetts Institute of Technology (MIT) en 1962[2].

Puisque les interpréteurs Lisp, mais non les compilateurs, existaient auparavant, ils utilisaient une méthode originale pour compiler leur compilateur. Le compilateur, comme tout programme Lisp, pouvait être exécuté dans un interpréteur.

Donc, il pouvait simplement exécuter le compilateur dans l'interpréteur lui donnant ensuite, son propre code source à compiler.

Le compilateur tel qu'il existe sur la bande du compilateur standard est un programme en langage machine qui était obtenu en faisant que la définition du compilateur sous forme de S-expression travaille sur lui-même à travers l'interpréteur (AI Memo 39)[3].

Cette technique est aussi possible quand un interpréteur existe déjà pour le même langage qui est compilé.

Cela provient directement de la notion de tourner un programme avec lui-même comme entrée, ce qui est aussi utilisé dans des preuves variées en informatique théorique telles que celui de l'indécidabilité du problème de l'arrêt.

Notes et références

Voir aussi

Articles connexes

Liens externes


Wikimedia Foundation. 2010.

Contenu soumis à la licence CC-BY-SA. Source : Article Auto-hébergement (informatique) de Wikipédia en français (auteurs)

Игры ⚽ Поможем написать курсовую

Regardez d'autres dictionnaires:

  • Auto-hebergement — Auto hébergement L auto hébergement désigne l utilisation d un programme informatique, partie d une chaîne d outils ou d un système d exploitation pour produire de nouvelles versions dudit programme. Par exemple, un compilateur qui peut compiler… …   Wikipédia en Français

  • Auto-hébergement (Internet) — L auto hébergement est une pratique consistant à héberger ses services Internet personnels sur ses propres machines. Il s oppose à l utilisation de services d hébergements chez un prestataire. Souvent pratiqué par les entreprises, l auto… …   Wikipédia en Français

  • Auto-hébergement — Cette page d’homonymie répertorie les différents sujets et articles partageant un même nom. Auto hébergement, la capacité d un outil informatique à se créer lui même. Auto hébergement sur Internet, fait d héberger soi même ses propres services… …   Wikipédia en Français

  • Hebergement — Hébergement Cette page d’homonymie répertorie les différents sujets et articles partageant un même nom …   Wikipédia en Français

  • Hébergement — Cette page d’homonymie répertorie les différents sujets et articles partageant un même nom. Sur les autres projets Wikimedia : « Hébergement », sur le Wiktionnaire (dictionnaire universel) hébergement, une forme de logement… …   Wikipédia en Français

  • Hébergement de nom de domaine — L’hébergement de nom de domaine consiste à fournir les services des serveurs DNS requis pour assurer la publication d’un nom de domaine sur Internet. Il existe une confusion avec les deux notions suivantes : hébergeur Web, registrar. La… …   Wikipédia en Français

  • Serveur (informatique) — Pour les articles homonymes, voir Serveur. Des serveurs empilés En informatique et en télécommunications, un serveur est un dispositif informatique matériel et/ou logiciel qu …   Wikipédia en Français

  • BeedBox — Licence GPLv3 Site web www.beedbox.org …   Wikipédia en Français

  • Réseau FTTH — Installation de la fibre optique chez un particulier Un réseau FTTH est un réseau de télécommunications qui se termine en fibre optique au domicile de l abonné. Ce réseau diffère du réseau basé sur la boucle locale, le réseau des modems ADSL, qui …   Wikipédia en Français

  • Blog — Un blog (graphie alternative : blogue[1]) ou un cybercarnet[2] est un type de site web, ou une partie d un site …   Wikipédia en Français

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”