Histoire d'Unix (CULTURE GEEK
)⚓︎
Unix : Qu'est-ce que c'est ?⚓︎

Unix, créé en \(1969\) par Ken Thompson et Dennis Ritchie, est un OS (depuis \(1970\)) multitâches et multi-utilisateurs. Il a été développé dans les Laboratoires Bell, dits les Bell Labs (de maison mère AT&T) durant les \(1970\)'s. Initialement écrit en assembleur, il est difficilement maintenable sous cette forme, Ken Thompson et Dennis Ritchie tentent donc plusieurs réécritures d'Unix, avec plusieurs langages de programmation (TMG, Fortran, BCPL, le langage B est inventé pour l'occasion en \(1969\)-\(1970\) par Ken Thompson et Dennis Ritchie), mais c'est finalement Dennis Ritchie qui réécrit Unix en \(1973\), en inventant au passage le langage C (!) dès \(1971\).
Particulièrement répandu dans les milieux universitaires au début des années \(1980\), il a été utilisé par beaucoup de start-ups fondées par des jeunes entrepreneurs à cette époque et a donné naissance à une famille de systèmes, dont les plus populaires à ce jour sont les variantes de BSD (notamment FreeBSD, NetBSD et OpenBSD), GNU/Linux, iOS et macOS. La quasi-totalité des systèmes d'exploitations PC ou mobile (à l'exception des Windows NT) est basée (du moins fonctionnellement) sur le noyau de Unix.
Unix repose sur un interpréteur ou superviseur (le
(Petite) Histoire d'Unix..⚓︎
Pour la petite histoire, Unix est né... de la volonté de Ken Thompson de jouer à un jeu vidéo...
Le Space Travel 1
Dès \(1964\), Ken Thompson travaille sur un projet de Système d'Exploitation nommé Multics, multitâches et multi-utilisateur, développé sur un ordinateur GE-635 (General Electric), conjointement par les Laboratoires Bell, le MIT - Massachusets Institute of Technology- et General Electric.

Durant ce travail, Ken Thompson développe le jeu vidéo Space Travel sur Multics et l'ordinateur GE-635 :

Multics est alors abandonné car jugé trop complexe et il avait des problèmes non résolus : il sera remplacé par le Système d'Exploitation GECOS sur GE-635, sur lequel Ken Thompson portera son jeu vidéo. Mais le jeu fonctionne moins bien sur l'OS GECOS sur la machine GE-635 qu'avec le couple Multics-GE-635, car le couple GECOS-GE-635 fonctionnait en mode "batch interactif", c'est-à-dire que plusieurs terminaux d'ordinateurs étaient branchés sur l'ordinateur central GE-635, et que chaque tâche de chaque ordinateur devrait être placé dans une queue, se traduisant en pratique en de longues pauses dans le jeu. Ken Thompson demande alors aux Bell Labs l'achat d'une machine DEC PDP-10 (\(120\,000 \$\) de l'époque..), au prétexte de développer un nouvel OS, mais l'achat lui sera refusé en raison du désengagement des Bell Labs du projet Multics. Ken Thompson apprend alors l'existence d'une machine DEC PDP-7, de la génération précédente, appartenant à un autre département de la société, et sous-utilisé. Il décide de ne pas porter le jeu sur un OS déjà existant sur cette machine, mais au contraire, il décide de développer un OS pour le PDP-7 : Unix était né.
Le nom Unix vient d'une déformation de Unics (Uniplexed Information and Computing Sercice) , qui est lui-même un calembour (jeu de mot à vocation humoristique) par opposition à Multics. En effet le système Unix a été monotâche et mono-utilisateur, durant sa très courte période de développement (Unix Version 0, en \(1969\)), et il s'est voulu moins ambitieux que Multics du moins dans ses débuts : il finira néanmoins par totalement le supplanter, et devenir très rapidement mutitâches et multi-utilisateurs (dès \(1970\), Unix Version 1).

Une Chronologie d'Unix⚓︎
Début et Années \(1970\)⚓︎
Conscient qu'un Système développé en Assembleur n'est pas du tout maintenable, Ken Thompson s'essaye dès \(1969\) à de nombreuses tentatives de réécriture d'Unix dans d'autres Langages, toutes abandonnées : en Langage TMG, puis en Fortran, finalement Ken Thompson & Dennis Ritchie créent dès \(1969\) le Langage B (inspiré de BCPL) spécialement pour faire évoluer Unix, mais le langage B est limité (pas de types de données, toutes les variables ont la même taille) et sera aussi abandonné.
Initialement, il est prévu de n'utiliser Unix que de manière interne aux entreprises Bell System : en effet un jugement d'expédient de \(1956\) interdit à AT&T de commercialiser autre chose que des équipements téléphoniques.


co-fondateur de Sun Microsystems,
crée Unix BSD 1.0 en 1977
Années \(1980\)⚓︎
Au début des années \(1980\), le protocole TCP/IP sera incorporé par Bill Joy, à l'Unix BSD 4.2. (en fait BSD 4.1.a -> 4.1.c) Les Bell Labs développent parallèlement les différentes versions d'Unix Système III, puis Système V (mais sans incorporer tout de suite le protocole TCP/IP) qui seront propriétaires et payants. Ils donneront naissance aux HP-UX, Solaris et IBM AIX.
, libérant ainsi AT&T du décret de 1956 qui l'empêchait de commercialiser Unix. AT&T s'empresse de commercialiser la version Research Unix Système V, qui ne dispose néanmoins pas du protocole TCP/IP.
Unix Système V est bien plus contraignante pour une utilisation Académique dans les Universités, c'est pourquoi l'Université de Berkeley continue son développement non commercial parallèle d'Unix BSD. Ceci mène à une compétition accrue entre les principaux fournisseurs d'Unix, commerciaux ou pas, que l'on nommera les Guerres Unixiennes.
BSD 4.2 avec TCP/IP en août \(1983\).
Années \(1990\)⚓︎
Aller plus loin : Wikipedia : History of Unix Internet Archive, Marshall Kirk McKusick, BSD Talk
La Famille Unix⚓︎
Initialement conçu par les Bell Labs, Unix a été distribué code source compris, à l'Université de Berkeley, Californie , qui fera évoluer le Système Unix en y incluant ses propres modifications qui elles-mêmes donneront naissance à de nombreux OS dérivés, appelés la famille Unix ou Systèmes de type Unix ou Systèmes Unix, dont les principaux sont :
- la famille "Unix BSD" - Berkeley Software Distribution : FreeBSD, DragonflyBSD, NetBSD, OpenBSD
- les Systèmes GNU/Linux : le noyau Linux complété par les logiciels du projet GNU
- iOS et macOS
Licences des OS de la Famille Unix⚓︎
Ces OS dérivés sont principalement Open Source et gratuits, avec néanmoins certaines exceptions notables, rendues possibles par la très faible restriction de la Licence BSD et par sa compatibilité avec les logiciels propriétaires voire payants. Parmi les exceptions (versions payantes et/ou propriétaires) :
- Sun OS, qui est propriétaire et payant (renommé Solaris plus tard) et qui utilise du code réseau sous Licence BSD. SunOS (plus tardivement Solaris) sont développés par Sun MicroSystems (rachetés par Oracle Corporation en 2009)
- Mac OS X est partiellement propriétaire, mais utilise aussi certains composants Libres. En effet, MacOS X, en fait ses précurseurs NeXTSTEP et Rhapsody (développés par la société NeXT créée par Steve Jobs en 1985, puis rachetée par Apple en 1996), utilise des composants d' Unix BSD v4.3 et plus tard BSD 4.4. Par la suite, des composants de FreeBSD continueront d'être d'intégrés à Mac OS X (comme l'Espace Utilisateur / userland utilities, la librairie C ou kqueue). Source : FreeBSD myths. Aller plus loin : Documentation Apple
La Licence BSD est une licence libre permettant de réutiliser tout ou une partie du logiciel sans restriction, pour qu'il soit intégré dans un logiciel libre ou propriétaire.
Sitographie⚓︎
- Wikipedia : Unix
et Unix
- The evolution of the Unix Time-sharing System, par Dennis Ritchie, Bell Labs, \(1984\)
- History of Unix, inspiré du Livre "The Unix System V Environment" de Stephen R Bourne , 1987, Bell Labs, Addison-Wesley, ISBN 0-201-18484-2
- The Unix Heritage Society ou TUHS : https://www.tuhs.org/
- Unix-History-Repo héberge le code historique d'Unix, par Diomidis Spinelli
- La page github unix-v0 héberge le code source (partiel) d' Unix Version 0 censé tourner sur un émulateur PDP-7 (dans un ordinateur moderne).
- La page github unix-v1 héberge le code source d' Unix Version 1 censé tourner sur un émulateur PDP-11 (dans un ordinateur moderne).