Premiers ordinateurs, langages et systèmes d’exploitations

L’origine des ordinateurs se situe dans les premières machines à calculer inventées par les humains au cours des siècles.

Les premières calculettes sont mécaniques, fonctionnant avec des rouages qui permettent d’effectuer les opérations de calcul.

clip_image002

Calculette de Pascal

Les toutes premières, comme la calculette de Pascal, inventée en 1642, permettent uniquement d’additionner des nombres. Au fil du temps, des machines plus évoluées apparaissent.

A l’aube du XXe siècle, l’Arithmomètre de Thomas de Colmar permet d’effectuer des additions, soustractions, des multiplications et des divisions.

clip_image004

Arithomètre (1887)

En 1801, Jacquard invente le métier à tisser. La machine est contrôlée par une carte perforée qui guide les crochets et soulève les fils de laine, permettant ainsi de tisser des motifs complexes.

clip_image006

Carte perforée de Jacquard

Le concept des cartes perforées est alors appliqué à une multitude d’autres machines, comme les pianos automatiques sur lesquels les cartes contiennent la mélodie à jouer.

La première méthode de stockage pour un programme est née.

Jusqu’ici, chaque système est unique et est conçu pour répondre à un besoin particulier. Dans les années 1830, Babbage, mathématicien, décide de créer une machine programmable pouvant résoudre n’importe quel problème mathématique. Le problème serait entré dans la machine sous la forme de cartes perforées et celle-ci trouverai la solution.

La comtesse Lovelace s’intéresse également au système et invente les bases des méthodes de programmation moderne.

Cependant, la machine ne fonctionnera jamais, la technologie de l’époque n’étant pas encore assez évoluée. Il faudra attendre 50 ans et les années 1890 pour qu’un certain Hollerith utilise les idées de Babbage dans sa tabulatrice.

Cette machine, fonctionnant avec des cartes perforées, permet d’effectuer le recensement de la population des États-Unis en seulement 2 ans et demi (contre 8 ans pour les recensements précédents).

clip_image008

Tabulatrice (Adam Schuster – Flickr CC BY 2.0)

Fort de ce succès, Hollerith fonde la « Tabulating Machine Company » dont le nom deviendra rapidement « International Business Machine » ou IBM.

En 1936, Turing développe le concept de machine de Turing. Tout problème peut être résolu par une machine de Turing spécifique car celui-ci peut être décomposé en une succession d’états liés entre eux par des portes logiques (0 ou 1).

Avec les améliorations technologiques du début du XXe siècle et les grandes guerres apparaissent les premiers ordinateurs électroniques grâce aux tubes électroniques. Ceux-ci sont des amplificateurs qui ont révolutionné les systèmes de télécommunications. Ils peuvent également être utilisés comme switches qui laissent passer ou non un courant électrique. De ce fait, ils ont été utilisés afin de remplacer les parties mécaniques des ordinateurs de l’époque.

clip_image010

Tube électronique à vide

L’ENIAC (Electronic Numerical Integrator and Computer), premier ordinateur sans pièce mécanique utilisant uniquement des tubes à vide, est fabriqué en 1946.

clip_image012

« ENIAC Penn1 » by The original uploader was TexasDex at English Wikipedia – Transferred from en.wikipedia to Commons by Andrei Stroe using CommonsHelper.. Licensed under CC BY-SA 3.0 via Commons –

Celui-ci est capable d’effectuer 5000 additions par seconde, pour un cout de 3 millions de dollars.

De nombreux ordinateurs plus puissant suivront au fil des années, le marché devenant petit à petit dominé par IBM.

L’utilisation de ces ordinateurs était cependant limité et complexe. Des dizaines de programmeurs se partageaient la même machine. Chaque programmeur amenait son programme à l’ordinateur à une certaine heure qui lui était allouée, il devait ensuite attendre des heures afin de voir si le programme avait fonctionné ou s’il devait être corrigé.

De plus, ces machines étaient peu fiables car les tubes à vide chauffaient beaucoup. En effet, sur les 19000 tubes de l’ENIAC, 50 en moyenne grillaient chaque jour.

Sur les machines les moins perfectionner, un nouveau programme était entré en refaisant des câblages différents entres les différentes parties de l’appareil pour chaque nouveau problème. Il fallait donc parfois des heures voir des jours pour effectuer la configuration. Les ordinateurs les plus perfectionnés pouvaient lire des cartes perforées, mais celles-ci devaient toujours être entrées manuellement.

John von Neumann amènera la solution à ce problème en 1944 avec l’idée de programmes stockés directement dans la mémoire des machines. Les programmes s’exécuteraient alors beaucoup plus rapidement.

Il faut cependant développer un moyen d’entrer ces programmes dans la mémoire de la machine qui n’accepte que du binaire (0 ou 1). Pour cela, des langages assembleurs seront développés. Les lettres des instructions utilisées correspondent alors aux 0 et aux 1.

Cependant, Il faut coder son programme dans le langage machine de l’ordinateur que l’on souhaite utiliser. Un programme n’est donc utilisable qu’uniquement sur l’ordinateur pour lequel il a été conçu.

Des langages de programmation apparaissent dans les années 50 afin de simplifier les procédures. Le développeur écrira son programme dans le langage de programmation, et un compilateur se chargera de transcrire le programme en langage machine. Il suffira donc de développer un unique compilateur pour chaque type de machine. Le plus important d’entre eux provient d’IBM en 1954 : Formula Translation ou Fortran.

Fortran est particulièrement adapté aux opérations mathématiques. D’autres langages comme le COBOL (Common Business Oriented Language) en 1959, le CPL (ancêtre du C) en 1963 ou le BASIC en 1964 apparaissent plus tard pour d’autres besoins.

Les ordinateurs étant de plus en plus utilisés, on commence à se dire qu’il serait intéressant pour des besoins pratique de compter le nombre de programmes exécutés, de feuilles imprimées, garder un journal des erreurs, …

Des programmes spécifiques qui tourneront en permanence sur l’ordinateur sont alors développés, c’est la naissance des systèmes d’exploitation.

Au début des années 1960, IBM tente de développer un système d’exploitation universel pour tous ses ordinateurs (OS/360). Cela prendra des années et coutera des millions de dollars mais c’est un succès. En 1964, toutes les applications IBM fonctionnent de la même façon et IBM lance la famille d’ordinateurs IBM System 360, tous compatibles entre eux.

IBM tentera par la suite d’imposer un langage de programmation standard : PL/I (Programming Language One) combinant Cobol et Fortran, mais il ne sera pas massivement adopté.

A la fin des années 60, des ingénieurs du laboratoire Bell développent avec le MIT un système d’exploitation qui permettra à plusieurs utilisateurs de se connecter en même temps à l’ordinateur central du MIT. Le projet n’avançant pas, les ingénieurs (à l’origine Ken Thompson et Dennis Ritchie) décident de développer seuls leur propre système d’exploitation : UNIX (à l’origine UNICS, UNIplexed Information and Computing Service). Le système est à l’origine très basique, mais de nouvelles fonctionnalités sont ajoutées au fur et à mesure que le besoin se fait ressentir et celui-ci se répand sur les machines des laboratoires Bell.

En 1972, UNIX est réécrit dans le nouveau langage C, rendant le système beaucoup plus portable à d’autres types d’ordinateur. Pour des raisons légales, AT&T et les autres sociétés Bell n’ont à l’époque pas le droit d’entrer dans d’autres secteurs commerciaux que celui de la téléphonie. UNIX est donc distribué gratuitement.

 

 

 

clip_image022

Terminal d’accès à un ordinateur Central tournant sous UNIX

By Jason Scott – Flickr: IMG_9976, CC BY 2.0,

Au cours des années 1970, UNIX se répand et devient petit à petit le standard des systèmes d’exploitation.

Cependant, les ordinateurs sont à cette époque toujours des énormes machines couteuses seulement accessibles aux universités, laboratoires et grandes entreprises. Le micro-ordinateur personnel n’existe pas encore.

Publicités

Laisser un commentaire

Entrez vos coordonnées ci-dessous ou cliquez sur une icône pour vous connecter:

Logo WordPress.com

Vous commentez à l'aide de votre compte WordPress.com. Déconnexion / Changer )

Image Twitter

Vous commentez à l'aide de votre compte Twitter. Déconnexion / Changer )

Photo Facebook

Vous commentez à l'aide de votre compte Facebook. Déconnexion / Changer )

Photo Google+

Vous commentez à l'aide de votre compte Google+. Déconnexion / Changer )

Connexion à %s