En informatique, plusieurs concepts, façons de faire ou algorithmes s'expliquent bien par l'histoire qui entoure le sujet concerné. Unix ne fait pas exception à la règle et c'est pour cette raison que la première section de ce chapitre présente un résumé des évènements qui entourent sa création et son développement. On ne peut y lire que l'essentiel qui constitue une base pour la compréhension. Également, ce chapitre répond à des questions dont les réponses sont souvent ignorées même par des utilisateurs déjà habiles avec ce système d'exploitation. Il présente aussi la philosophie suivie par les gens qui ont développé des utilitaires pour Unix.
1.1 L'histoire de UnixUnix est né en 1969 dans les laboratoires d'AT&T Bell à Murray Hill au New Jersey. Avant sa création, principalement par Ken Thompson et Dennis Ritchie, les ordinateurs de l'époque exécutaient encore les programmes l'un après l'autre (« batch mode ») à l'aide de cartes perforées appelées « IBM punch cards ». Les trois améliorations majeures qu'apportait le système d'exploitation Unix étaient l'interactivité, l'échange des données et le multi-usagers. Unix n'était pas le seul système interactif de l'époque. Il y avait également CTSS (« Computer Time Sharing System ») du MIT (Massachusetts Institute of Technology), CMAS (« Cambridge Multi Access System ») et MULTICS (« MULTIplexed Information Computing Service ») dont on parle plus loin. Plusieurs fonctionnalités de Unix découlent de ces systèmes.
1.1.1 Hier
Au début en 1965, AT&T, General Electric et le projet MAC du MIT se
joignent dans un effort commun pour créer le système MULTICS. Le
but de ce projet était de permettre l'accès simultané et
le partage de données à un grand nombre de personnes. Quelques
années plus tard, AT&T se retire du projet à cause de
plusieurs buts encore non atteints et d'un pronostic sombre en ce qui concerne
l'avenir de MULTICS. En effet, le système était supposé
desservir jusqu'à 1000 usagers mais pouvait à peine suffir
à la demande d'un seul.
En 1969, Thompson, Ritchie et d'autres personnes d'AT&T, privés d'un
environnement de travail adéquat, ont entrepris le design d'un nouveau
système de fichiers. Ce système donnera lieu, après
quelques raffinements, au premier système de fichiers Unix. Ken
Thompson a ensuite écrit un certain nombre de programmes qui simulaient
l'accès d'un tel système de fichiers. Pour vraiment
évaluer la performance du nouveau design, Thompson et Ritchie l'ont
implanté sur un ordinateur PDP-7[1]. Ils
ont ensuite écrit un noyau (« kernel ») simple ainsi qu'un petit ensemble
d'utilitaires pour pouvoir l'utiliser et le tester. Rapidement, le nouveau
système pouvait se supporter lui-même sans l'environnement de
travail GECOS (« General Electric Comprehensive Operating System ») sous lequel
se faisait le développement. Le nouveau design a été
baptisé « Unix » par Brian Kernigham. Il s'agit de UNICS (« UNIplexed
information Computing System ») qui est devenu Unix.
En 1971, le temps était venu d'évaluer le potentiel de Unix. Il
a été porté sur un PDP-11 et AT&T l'a employé
pour des projets internes. Après un succès rapide, Thompson a
décidé d'écrire un compilateur Fortran pour Unix.
Cependant, à cause de certaines influences de l'époque, il a
changé d'idée et a inventé le nouveau langage
interprétatif B. Ritchie qui n'était pas en faveur de ce langage
à cause de son type interprétatif, a développé en
quelques jours un nouveau langage et son compilateur. Ce nouveau langage
permettait d'obtenir du code exécutable directement à partir du
code source. C'était la naissance du « C ». En 1973, le système
d'exploitation Unix est réécrit en C. Cette étape qui
semblait anodine à ce moment est parmi celles qui ont contribués
le plus à l'acceptation universelle de Unix.
À l'époque, un décret datant de 1956 du gouvernement des
États-Unis empêchait AT&T de publiciser, commercialiser ou
supporter le nouveau système d'exploitation. Ce décret
empêchait la compagnie de faire autre chose que de la
téléphonie et du télégraphe. C'est alors
qu'AT&T décide de fournir Unix à toutes les
universités qui en faisaient la demande pour des fins
éducationnelles.
Étant donné sa popularité qui n'a cessé de
croître, Thompson et Ritchie décident d'écrire un article
sur le système exploitation Unix. Cette article a été
publié dans la revue américaine « communications of the ACM » en
juillet 1974. Le titre était « The UNIX Time-Sharing System ».
En 1977, « Interactive System Corporation » devient la première compagnie
à vendre des applications pour Unix. Ces compagnies sont
appelées VAR (Value Added Resellers). Cette même année,
Unix est porté sur plusieurs plateformes autres que PDP-11. Par la
suite, la simplicité et la clarté du système ont
encouragé plusieurs développeurs qui l'ont modifié pour
créer plusieurs variantes.
De 1977 à 1982, Bell Lab combine plusieurs de ces variantes (provenant
de partout) pour créer « Unix System III ». Plus tard, AT&T ajoute
plusieurs améliorations et utilitaires et appelle le nouveau Unix,
« System V ».
Enfin, en 1983, AT&T annonce officiellement le support de « System V ». Une
bataille pour faire modifier le décret du gouvernement américain
de 1956 avait porté fruit.
Au même moment, des chercheurs de l'Université de Californie
à Berkeley créent une variante de Unix pour leurs ordinateurs VAX
et lui donnent le nom de BSD (« Berkeley Software Distribution »). La grande
majorité des distributions Unix d'aujourd'hui viennent avec un «
Kernel »
de type System V ou BSD. Une des exceptions est Linux (Unix pour PC) qui est
une combinaison du meilleur des deux et qui ne contient pas de code source
originaire d'AT&T.
Plusieurs manufacturiers ont porté Unix pour leurs machines et lui ont
donné un nom particulier, par exemple, SunOS pour machines SUN, HP-UX
pour HP, AIX pour IBM, etc. La très grande majorité de ces Unix
commerciaux descend du code source original d'AT&T et nécessite
l'achat d'une licence. Même ceux qui se sont inspirés du code
source de BSD nécessitent la même licence car le code de
l'université de Californie descend du même Unix inventé par
Thompson et Ritchie.
En 1993, Novell a acheté Unix (le code source et le nom commercial)
directement d'AT&T. Novell a ensuite légué le nom « Unix"
à X/Open qui est un consortium de compagnies impliquées dans le
développement de Unix sous plusieurs variantes.
À la fin de 1995, SCO (« Santa Cruz Operations ») et HP se sont
emparés du code source, mais Novell demeure toujours présent dans
le développement[2].
La vitesse à laquelle Unix s'est développé et
répandu est phénoménale. Ceci est dû en grande
partie au fait que le monde entier s'est joint à l'effort collectif. La
majorité des utilitaires et améliorations diverses proviennent
d'utilisateurs, d'universités et de compagnies manufacturières de
matériel. AT&T ne pouvait pas contrôler ce qui se passait et a
été forcé d'intégrer toutes les
améliorations qui étaient déjà répandues
à l'extérieur de leur portes. « System V Release 4 » est un bon
exemple d'intégration puisqu'il regroupe « System V » et BSD.
En 1994, on évaluait à plus de trois millions le nombre de
systèmes Unix en opération.
Pour qu'il puisse porter le nom de Unix, un système d'exploitation doit
détenir une licence de X/Open. Cependant, il ne suffit pas de pouvoir
se payer une telle licence car il faut également respecter les normes
suivantes:
Voici une liste non exhaustive des raisons pour lesquelles Unix est populaire
dans le monde de l'informatique. Plusieurs d'entre elles pourraient ne pas
sembler très évidentes à première vue pour le
lecteur mais elles le seront davantage à mesure que la lecture,
l'étude et la pratique guideront ce dernier.
Les gens qui ont développé des utilitaires sur Unix se sont
entendus sur une certaine philosophie de conception. Cette section vous
présente trois items de cette philosophie pour vous permettre de mieux
comprendre certaines façons de faire que les programmeurs utilisent.
[1] La première version avait
été développée sur un autre ordinateur dont le type
échappe à l'auteur.
[2] On verra probablement l'intégration
du Netware de Novell dans la distribution de Unix.