Moore's Law and The Future of [Technology] Economy

Why and how innovation should become mainstream economic impetus

De quoi est fait une infrastructure [3] ? De systèmes mis en réseau : les systèmes distribués…

Qu’est-ce qu’un système distribué ?

Jusqu’à présent nos avons considéré une machine seule, or chacun sait qu’aujourd’hui les nœuds de calcul sont connectés par des réseaux de toutes sortes. Ces réseaux peuvent être très locaux, comme Bluetooth ou les LAN – Local Area Networks – ayant pour support de l’Ethernet, du WiFi ou du CPL[1], ou globaux – on dit WAN, pour Wide Area Network – comme l’Internet à base d’ADSL, de fibre optique ou de réseau sans fil 3G, demain LTE ou WiMax. Sur ces réseaux en tant que supports physiques, on fait circuler de l’information sous forme de paquets en utilisant généralement le protocole de l’Internet, IP – Internet Protocol.

L’Internet, dont il est désormais connu qu’il a été initialement financé par l’armée américaine en 1969 – il s’appelait l’ARPANET – puis utilisé par les universités, a vu son expansion commerciale lancée en 1993 sous l’administration Clinton-Gore. On parlait à l’époque « d’autoroutes de l’information ». En sus des applications de courrier électronique et de transfert de fichiers déjà existantes à l’époque, le fait majeur ayant motivé son décollage a été l’explosion du web à partir de sa création par Tim Berners-Lee en 1991 au CERN, en Suisse. Le web repose aussi sur un protocole, http, et un standard de ce que l’on appelle l’hypertexte, html, et permettent d’échanger du contenu de toute nature, indépendamment des machines supports. Le web est donc une infrastructure logicielle s’exécutant au-dessus de l’infrastructure de l’Internet. Lire la suite »

De quoi est fait une infrastructure [2] ? De logiciel et d’outils logiciels de base…

Le miracle de l’informatique est, si l’on voulait être ironique, que l’on peut réaliser un même système de façon aussi complexe qu’on le souhaite. Evidemment, il n’y aurait pas de gain à cette fuite de la simplicité si elle ne s’accompagnait d’un gain en généralité. Chaque progrès de l’infrastructure correspond à une généralisation de la plate-forme d’exécution et à une extension de ses utilisations potentielles.

Tout d’abord la « machine nue » s’est vite avérée impraticable. Le langage dans lequel le logiciel doit être exprimé (le « langage machine ») est très difficilement appréhendable par l’être humain. On a donc inventé des langages dits « de haut niveau » pour faciliter la tâche du programmeur. Il s’est agi d’assembleurs, qui restent proches de la machine, mais utilisent autre chose que des « 0 » et des « 1 », puis de langages plus évolués, pour lesquels on a conçu des compilateurs et des interpréteurs capables de les exécuter par traduction en langage machine avant ou pendant leur exécution.

L’autre constatation a été qu’il était nécessaire pour tout programme d’introduire de façon répétitive certaines fonctionnalités, qui relevaient de tâches génériques à l’exécution de tout programme – comme la façon dont la machine doit réagir en cas d’erreur, dont elle doit communiquer avec l’extérieur via des périphériques, ou de la façon de structurer la mémoire en fichiers – ou qui facilitaient la gestion de la machine indépendamment des logiciels qui s’exécutent – comme de donner l’accès à plusieurs utilisateurs. On a alors regroupé toutes ces fonctions en un ensemble cohérent et autonome, le système d’exploitation.

Lire la suite »