Table des matières

La naissance d'Unix au laboratoire Bell Labs

Le logo des Bell Labs :

Unix est un système d'exploitation multitâche et multi-utilisateurs, crée au laboratoire Bell Labs qui est un centre de recherche mené par Kenneth Thompson auparavant détenu par l' entreprise de téléphonie AT&T et désormais par l'Open Group.

UNICS

La première ébauche de Unix fut crée en 1969 par Kenneth Thompson et Dennis Ritchie sur un ordinateur DEC PDP-7, elle s'appelait à l'origine UNICS (Uniplexed Information and Computing Service). Cette version ne supportait pas encore le multitâche. UNICS fut très vite renommé Unix.

UNICS acronyme de Uniplexed Information and Computing Service était un jeu de mots avec Multics qui de son coté sgnifiait MULTiplexed Information and Computing Service. Multics était un OS à temps partagé, le temps partagé permet à un OS de simuler le partage par plusieurs utilisateurs de temps processeur, cet OS était très ambitieux mais très complexe à mettre en oeuvre, du coup Kenneth Thompson et Dennis Ritchie ont décidés de créer UNICS en se basant sur beaucoup de concept de Multics, en autres le temps partagé mais se voulait beaucoup plus simple et contrairement à Multics qui était doté d'utilitaires qui chacun pouvait faire plusieurs tâches diffénrentes, UNICS lui était composé d'utilitaires qui faisaient chacun une seule tâche mais la faisait bien.

Unix version 1

Unix version 1 est sorti en 1971, La liste des utilitaires Unix en ligne de commande (CLI) incluses sous Unix version 1 est la suivante : ar, as, bcd, cal, cat, chdir, chmod, chown, cmp, cp, date, dc, df, du, ed, find, glob, init, ld, ln, ls, mail, mesg, mkdir, mkfs, mount, mv, nm, od, pr, rm, rmdir, roff, sh, sort, stat, strip, su, sum, tty, umount, wc, who, write, cette version également précurseur des commandes Unix : fsck, reboot et adb, le système contenait également un compilateur B et un complateur Fortran, d'un interpréteur BASIC, des fichiers de périphériques, des fonctions de gestion de bandes perforées, des disques DECtape et de disques RK05.

Unix version 2

Unix version 2 sort en 1972 mêlant assembleur et langage C et composé de l'ajout des commande Unix : echo, exit, login, man, nroff, strip, stty, d' un processeur de macro m6, un compilateur TMG et le premier compilateur C.

Unix version 3

Unix version 3 est publié en 1973 et a introduit les commandes Unix suivantes : crypt, kill, passwd, ps, size, speak, split, uniq et yacc, d'un débogueur C, du système de pipes |. Les commandes Unix sont réparties entre /bin et /usr/bin, ce qui nécessite un chemin de recherche (/usr était le point de montage d'un second disque dur). Le nombre total d'installations était de 16.

Ses premières versions d'Unix étaient écritent en grande partie en assembleur (langage de programmation proche du langage machine) spécifiquement pour le PDP-7.

Unix version 4

Après l'acquisition d'un nouvel ordinateur plus puissant, le DEC PDP-11 pour remplacer le vénérable PDP-7,en novembre 1973 sorti Unix version 4 qui a été entièrement réécrit en langage C pour faciliter l' écriture de code source et surtout pour rendre théoriquement le système plus aisément portable sur d'autres machines, en conséquence c'est une version notable. Unix version 4 à ajouté les commandes Unix, comm, dump, file, grep, nice, nohup, sleep, sync, tr, wait, printf, un interpréteur SNOBOL et les pages de manuel sont désormais formaté avec troff. Cette version fût présentée publiquement dans un article CACM. Le nombre d'installations était de 20 machines.

Pour un bref historique du langage C, à la base Ken Thompson a crée le langage B en s'inspirant du langage BCPL (Basic Combined Programming Language) mais c'est vite rendu compte qu'il était trop restrictif et de se fait Dennis Ritchie et Brian Kernighan dans une moindre mesure ont inventés le langage C spécifiquement pour Unix en partant du B de Ken Thompson.

Unix version 5

Ensuite vint Unix version 5, cette version fut présentée officiellement au Symposium on Operating Systems Principles (SOSP) en 1973 et désormais beaucoup de personnes sont intéressées pour acquérir se fameux OS Unix mais un décret interdisait l' entreprise AT&T à vendre un produit qui n'a pas de lien direct avec la téléphonie, car AT&T est un opérateur téléphonique. Toutefois, cela n'empêchât pas Ken Thompson d'envoyer discrètement des bandes et disques à la demande. C'est aussi cette version qui a été largement concédée sous licence aux établissements d'enseignement, pour rappel AT&T n'ayant pas la possibilité de vendre Unix. Cette version a été dotée de ses nouvelles commande Unix : col, dd, diff, eqn, lpr, pwd, spell, tee et des droits d'accès sticky bit. Le nombre de machines sur lesquelles ont été installée Unix version 5 était supérieur à 50.

Unix version 6

En mai 1975 c'est au tour de Unix version 6 de voir le jour, version qui inclut le concept de tubes (Pipe en anglais) qui accru considérablement les possibilités offertes pour l'utilisation des commandes Unix, des scripts shell et du dévellopement de l'OS lui même. Il est a noté que c'est la première version à être portée sur d'autres ordinateurs que le PDP11, en autres l'Interdata 7/32 et c'est également à ce moment que 1BSD voit le jour, qui inclut un compilateur de Pascal et l'éditeur de texte ligne par ligne ex conçu pour fonctionner sur Unix version 6, pour le moment 1BSD n'est qu'un ensemble de logiciels mais pas une distribution Unix à part entière. Cette version fut très prisée par les universités et en particulier par l'Université de Californie à Berkeley. La V6 introduit les nouvelles commandes Unix : ratfor, bc, chgrp, cron, newgrp, ptrace, tbl, units, wall. Une version réduite d' Unix version 6, pour PDP-11/10 a été créée en mai 1977 sous le nom de MINI-UNIX.

Unix version 7 et UNIX/32V

En janvier 1979, c'est au tour de Unix version 7 ou V7 de voir le jour, elle remplace le shell Thompson shell par le Bourne shell de Stephen Bourne et est affublée de nombreuses nouvelles commandes unix : adb, at, awk, banner, basename, cu, diff3, expr, f77, factor, fortune, iostat, join, lex, lint, look, m4, make, rev, sed, tabs, tail, tar, test, touch, true, false, tsort, uucp, uux, ainsi q'un nouveau compilateur portable C nommé ppc (Portable C Compiler), l'appel système appelé ioctl, la bibliothèque standard C nommé stdio pour le flux d' entrée et le flux de sortie standard de fichiers . Unix version 7 fonctionnant à l'origine sur PDP-11 qui est un mini-ordinateur à processeur 16 bits sera porté sur le nouvel ordinateur de DEC, le VAX qui pour sa part est un mini-ordinateur à processeur 32 bits.
Se portage sur VAX s'appel UNIX/32V ou 32V et est le premier Unix 32 bits et sort en juin 1979. Presque tous les UNIX actuels descendent de 32V. La V7 a également été portée sur l' Interdata 8/32 de PerkinElmer, Inc. Unix version 7 a eu une influence très importante et certain puriste vienne même à dire que la V7 est le dernier vrai Unix et c'est aussi la dernière version des laboratoires Bell Labs à être diffusée hors de Bell Labs. Plus tard, il y eu même un portage de la V7 sur x86 par le groupe Nordier & Associates.

À noter que Caldera International à acheter les droits sur les Unix des Bell Labs et en 2002 Caldera a publié Unix V1, V2, V3, V4, V5, V6 et V7 sur PDP-11 et UNIX/32V sur VAX en tant que FOSS (Free and open-source software) sous une licence permissive BSD. Merci à Caldera, car depuis lors tous les BSD Unix sont également libres ce qui inclue la branche 2.XBSD, 3BSD, 4.1BSD, 4.2BSD et 4.3BSD et ses versions ultérieures, en clair tous les Unix basés sur les Unix des Bell Labs jusqu'à la V7 et son pendant UNIX/32V.
Avant Unix version 7, la commande pour changer de répertoire, cd, s'appelait chdir jusqu'à Unix version 6. Si vous souhaitez émuler Unix version 6 et ses version antérieures vous ne serez donc pas surpris de ne pas trouver la commande cd.

Unix version 8

En février 1985 sort Unix version 8, déstinée à l' ordinateur VAX de DEC, elle ne se base plus sur l'Unix originel des Bell Labs mais sur 4.1cBSD de l'Université de Californie à Berkeley, cette version était complétée des commandes Unix : curses, cflow, clear, compress, cpio, csh, cut, ksh, last, netstat, netnews, seq, telnet, tset, ul, vi, vmstat, donc l'ajout de commandes réseaux, du KornShell (ksh), shell Unix crée par David Korn, de la bibliothèque logicielle Curses, de la base de données de l' UCB, Berkeley DB, le shell de base (sh) fût remplacé par le shell de UNIX System V, les sockets BSD ont été remplacés par le framework Streams de System V pour la mise en réseau, le terminal graphique Blit est devenu l' interface utilisateur par défaut, les langages de programmation, Lisp, Pascal et Altran ont été inclus et un système de fichiers réseaux permettant l' accès au système de fichiers à distance.

Malgré que Unix version 8 n'était pas déstinée à sortir hors des Bell Labs, il est tout à fait possible d'utiliser cette version avec l'émulateur SIMH de Bob Supnik mais pas les versions ultérieures.

Unix version 9

En septembre 1986 sort Unix version 9 qui incorpore beaucoup de code de 4.3BSD, une version généralisée du mécanisme IPC Streams introduit à partir de la V8, l' appel système mount a été étendu pour connecter un flux à un fichier, dont l'autre extrémité peut être connectée à un programme de niveau utilisateur, l' éditeur de texte Sam, qui fût plus tard intégré au système d'exploitation Plan9 des Bell Labs. Cette version n'est jamais sortie des Bell Labs et n'est pas émulable, en tout cas à l'heure actuelle.

Unix version 10

En octobre 1989 sort Unix version 10 qui sera la dernière version des Bell Labs, parmi les innovations, il y avait des outils de composition graphique conçus pour fonctionner de concert avec troff, un interpréteur C, des programmes d'animation et divers outils prévu pour fonctionner par la suite sous Plan9, l' outil de compilation Mk et l' interpréteur de commandes rc, se shell (rc), deviendra le shell par défaut de Plan9 (Plan 9 from Bell Labs). Le système d'exploitation de Doug McIlroy et James A. Reeds appelé IX a été basé sur la V10.

La V8, V9 et V10 ne sortiront jamais des laboratoires Bell Labs, se sont des versions de recherche qui se basent toutes sur BSD UNIX. À la suite de la V10, le système d'exploitation distribué Plan 9 from Bell Labs, appelé plus courament Plan 9, qui n'est pas un système UNIX mais s'en inspire énormément. Le format de codage des caractères UTF-8 a été crée par Ken Thompson pour Plan 9.
L'Unix des Bell Labs était également appelé UnixTSS (pour UNIX Time-Sharing System) mais aussi Research Unix étant donné que l'Unix des Bell Labs était avant tout un Unix de recherche.