Plus que jamais, Linux est sous les feux de la rampe :
s'il en fallait une confirmation supplémentaire, 30% d'exposants supplémentaires
sont venus grossir cette année les rangs du salon Solutions Linux, qui
se tient actuellement à Paris (voir notre article).
Pour certains, cela peut paraître paradoxal, puisque si Linux n'est vraiment
connu du grand public que depuis, disons, une petite poignée d'années
au maximum, les principes qui sont au coeur du système sont les héritiers
directs d'une histoire qui s'étale sur plus de quatre décennies.
Cette histoire est celle des systèmes Unix.
Première
partie
De Multics à BSD (1964-1978)
La
date fondatrice est sans doute 1964. Cette année là, le MIT et les
laboratoires Bell d'AT&T s'associent pour démarrer un projet baptisé
MULTICS (MULTiplexed Information and Computing Service), combinant ordinateur
et système d'exploitation, et qui doit répondre à deux besoins
principaux :
- pouvoir être utilisé par plusieurs personnes à la fois :
il doit donc s'agir d'un système d'exploitation "à temps partagé"
(voir l'encadré) ;
- pouvoir en plus exécuter des calculs en tâche de fond.
Mais les développement traînent en longueur, et en 1969, cinq ans
après le début du projet, les laboraroires Bell se retirent... Tandis
que deux de leurs informaticiens, Ken Thompson et Dennis Ritchie, poursuivent
sans l'appui de leur hiérarchie des travaux autour d'une sorte de MULTICS
simplifié, baptisé UNICS (UNiplexed Information and Computing Services).
La légende veut que le nom UNICS ait également été
choisi pour sa similitude de prononciation, en anglais, avec le mot "eunuchs"
(eunuque), UNICS étant une version "castrée" de MULTICS
!
UNICS reprend les principes introduits par son prédécesseur (les
notions de processus, d'arborescence de fichiers, d'interpréteur de lignes
de commandes en tant qu'application parmi d'autres, etc.) et y ajoute une approche
résolument modulaire ainsi qu'une forme simple de communication entre applications
(les données en sortie de l'une peuvent être récupérées
en entrée par une autre). Rapidement, après avoir été
rebaptisé UNIX par Brian Kernighan, le système assorti de quelques
utilitaires est développé dans une version stable (Unix Time-Sharing
System Version 1) autour d'une machine DEC (Digital Equipment Corporation) appelée
PDP 7. Nous sommes toujours en 1969.
Mais il manque un langage de programmation "haut niveau" à UNIX
(qui dispose pour l'instant d'un assembleur, langage très "bas niveau").
Ken Thompson travaille à combler cette lacune à partir de 1970.
Il pense d'abord à adapter le Fortran sur le PDP 7, puis crée finalement
un langage de toutes pièces, appelée langage B, cette même
année 70.
En 71, Unix connaît ses premiers succès en étant porté
sur le PDP 11/20, l'un des mini-ordinateurs de la nouvelle gamme DEC, basé
sur des processeurs 16 bits, et en permettant de faire tourner et d'utiliser au
quotidien un formateur de texte. Bell est convaincu, et le développement
peut se poursuivre pour aboutir, la même année, au Unix Time-Sharing
System Version 2.
Suivra ensuite le langage C, adaptation du langage B (par Thompson & Ritchie),
doté d'un compilateur efficace et d'une certaine souplesse lui permettant
de gérer facilement le matériel, tout en pouvant être transposé
relativement aisément sur d'autres machines. Dès 1973, le noyau
du système UNIX soit entièrement réécrit en C. Nous
en sommes alors à la version 4 du Unix
Time-Sharing System.
Cette même année, le code source d'Unix
est (déjà !) distribué librement aux universités,
ce qui explique en partie l'implantation de ce type de systèmes dans le
milieu scientifique et universitaire. Et il faudra attendre 1976 pour que Unix
Time-Sharing System (alors en version 6) soit commercialisé par AT&T.
L'année suivante, plusieurs centaines de machines tournent sous Unix, donc
beaucoup aux laboratoires Bell.
Mais à partir de 78 vont apparaître
de nouveaux Unix, basés sur les sources d'Unix Time-Sharing System V6.
Le premier d'entre eux étant réalisé
au sein de l'université de Berkeley, tandis qu'en 1980, un certain Microsoft
commercialise un Unix pour machines équipées de processeurs Intel
(8086) et Motorala (68000), notamment. Il s'agit de Xenix OS.
Ce n'est que le début : les déclinaisons d'Unix peuvent désormais
fleurir.
Deuxième
partie
|
Unix (et son prédécesseur
Multics) sont des systèmes d'exploitation dits "à temps partagé".
En clair et pour présenter les choses de façon simple, il s'agit
de permettre à plusieurs utilisateurs d'utiliser les ressources d'un même
ordinateur, simultanément. Ce principe est mis en oeuvre pour la première
fois en 1961, avec la démonstration faite par Fernando Corbato et Robert
Fano du MIT, du système CTSS (Compatible Time Sharing System) qui sera
utilisé en production (au MIT) de 63 à 73 et qui bénéficie,
déjà, de la coopération des laboratoires Bell. Un autre projet,
dirigé par John McCarthy, également du MIT, est initié en
61. Son nom : MAC pour Multi Access Computer). Plus tard, entre 62 et 64, John
Kemeny et Tom Kurtz développement le système DTSS (Dartmouth Time
Sharing System) au Darmouth College. DTSS permet à 32 personnes de se connecter
simultanément sur une même machine, et sera utilisé pour donner
des cours de langage BASIC aux étudiants). La suite de l'histoire démarre
ensuite avec Multics à partir de 64...
|
|