# Unix

Unix, officiellement UNIX, est une famille de systèmes d'exploitation ouverts, multitâche et multi-utilisateur. Unix est dérivé de l'Unix d'origine créé par AT&T, le développement de ce dernier ayant commencé dans les années 1970 au centre de recherche de Bell Labs mené par Kenneth Thompson. Il est composé d'un noyau (qui assure la gestion de la mémoire, des entrées et sorties de bas niveau, l'enchaînement des tâches), d'un interpréteur ou superviseur (le shell), et de nombreux petits utilitaires, accomplissant chacun une action spécifique, commutables entre eux (mécanisme de « redirection ») et appelés depuis la ligne de commande.
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), Linux, iOS et macOS. La quasi-totalité des systèmes d'exploitation PC ou mobile (à l'exception des Windows NT) est basée sur le noyau de Unix$^,$. On nomme « famille Unix », « systèmes de type Unix » ou simplement « systèmes Unix » l'ensemble de ces systèmes. Il existe un ensemble de standards réunis sous les normes POSIX et single UNIX specification qui visent à unifier certains aspects de leur fonctionnement.
Le nom « UNIX » est une marque déposée de l'Open Group, qui autorise son utilisation pour tous les systèmes certifiés conformes à la single UNIX specification ; cependant, il est courant d'appeler ainsi les systèmes de type Unix de façon générale. Il dérive de « Unics » (acronyme de « Uniplexed Information and Computing Service »), et est un jeu de mots avec « Multics », car contrairement à ce dernier qui visait à offrir simultanément plusieurs services à un ensemble d'utilisateurs, le système initial de Kenneth Thompson se voulait moins ambitieux et utilisable par une seule personne à la fois avec des outils réalisant une seule tâche.

## Particularités des systèmes Unix

Les systèmes Unix sont des systèmes ouverts, multitâches et multi-utilisateurs.
Les systèmes Unix ont en commun plusieurs concepts développés dès les premières versions d'Unix aux laboratoires Bell.

### Utilitaires

Unix a initialement été conçu pour disposer de nombreux petits programmes, chacun effectuant un nombre limité de tâches, le plus souvent une seule, agissant le plus souvent sur des flux de texte et pouvant être interconnectés par le biais de pipes. Cette idée était relativement novatrice au début des années 1970, et a contribué au succès rapide d'Unix chez les programmeurs.
Les systèmes Unix disposent d'un grand nombre d'interpréteurs de commandes, appelés shells Unix. On peut notamment citer sh, bash et tcsh.

### Système de fichiers
#### Organisation arborescente et hiérarchique

Unix dispose d'un système de fichiers hiérarchique. Au contraire de nombreux autres systèmes (comme Microsoft Windows ou Mac OS Classic par exemple), qui disposent d'une racine de système de fichiers indépendante par périphérique de stockage ou par partition, le système de fichiers d'Unix a une unique racine, et les autres périphériques de stockage sont accessibles par des points de montage dans le système de fichiers. Par exemple, le dossier /home, qui contient les fichiers personnels des utilisateurs, est fréquemment stocké sur un périphérique ou une partition différente de la racine ; une fois ce périphérique monté sur le dossier /home, les demandes de fichiers situés dans /home seront redirigées vers ce périphérique. L'organisation de l'arborescence du système de fichiers est définie par certaines conventions qui existent depuis la version 7 d'Unix, où est apparue la page de manuel qui la décrit. Le Filesystem Hierarchy Standard tente d'harmoniser les différences qui ont pu se développer, en particulier entre les différentes versions de Linux.

#### Système de fichier et périphériques

Une autre particularité d'Unix est de considérer un grand nombre d'objets comme des fichiers. Toutes les unités extérieurs au système central sont vues comme des pseudo-fichiers. Dès les premières versions d'Unix, les périphériques d'entrée-sortie sont gérés comme des fichiers d'un type spécial. Cela permet par exemple, au niveau applicatif, d'écrire sur une bande magnétique de la même façon que sur un fichier standard qui serait stocké sur le disque.

#### Fonctionnalités de gestion de fichiers

Le système de fichier d'Unix supporte certaines fonctionnalités comme les liens symboliques, permettant de rediriger un fichier vers un autre. Unix autorise l'existence de plusieurs chemins pour localiser un fichier. Un fichier est détruit quand tous les chemins qui permettent de l'atteindre ont disparu.

#### Autorisations et protections sur les fichiers.

Unix considère trois actions que l'on peut effectuer sur un fichier : lire, écrire, exécuter. La création et la destruction de fichiers sont des formes particulières d'écriture dans le répertoire où l'on veut créer ou détruire ce fichier. Unix supporte un système de permissions permettant de donner des autorisations différentes au propriétaire du fichier, aux utilisateurs de son groupe, et aux autres utilisateurs. On a donc trois types d'actions (lire écrire exécuter) et trois types d'usagers (le propriétaire, le groupe du propriétaire, et tous les autres). Ainsi le système de protection ne contient que 9 cas et ne nécessite que 9 bits par fichiers.

### Gestion des processus

Un processus est un programme (ou un sous-programme) en cours d'exécution. Plusieurs processus peuvent exécuter le même programme simultanément. Sous Unix, chaque processus possède un identifiant.
Le processus est composé de trois régions :
* TEXT : contient les instructions que le processus exécute ;
* DATA : contient les variables gérées statiquement ;
* STACK : contient les variables gérées dynamiquement.

### Signaux Unix

Un signal permet d'annoncer un évènement à un processus. Il s'agit d'un évènement imprévisible, dont le traitement doit être défini à l'avance dans le programme exécuté par le processus.

## Histoire
### Dénomination d'Unix

Suggéré par Brian Kernighan, Unics est un jeu de mots « latin » avec Multics, qui faisait la même chose de plusieurs façons alors qu'Unics faisait chaque chose d'une seule façon ».

### Genèse d'Unix

En 1969, Ken Thompson et Dennis Ritchie développent en langage d'assemblage la première version du New Ken's , système d'exploitation mono-utilisateur, sur un mini-ordinateur PDP-7 de DEC animé par General Comprehensive Operating System, aux laboratoires Bell du géant du téléphone AT&T, à qui un jugement d'expédient de 1956 interdisait de se diversifier dans l'informatique. Unix n'est donc pas commercialisé en 1969.

### Projets de 1970 et 1971

En 1971, conscient de la difficulté que représente la maintenance d'un système écrit en langage assembleur, Ken Thompson songea à réécrire Unix en TMG, mais il trouva que le TMG n'offrait pas ce dont il avait besoin. Pendant une courte période il avait songé à réécrire Unix en Fortran, mais finalement conçut le B avec l'aide de Dennis Ritchie dans les années 1969 et 1970, en s'inspirant du langage BCPL. Cependant Unix ne fut jamais réécrit en B ; le B ne supportait pas les types, toutes les variables étaient de la même taille que les mots de l'architecture, l'arithmétique sur les flottants n'était pas implémentée ; de plus, le compilateur B utilisait la technique du threaded code (en). C'est pourquoi Dennis Ritchie entreprit en 1971 d'écrire le New B, qui fut renommé en C. Le langage C est toujours l'un des langages les plus utilisés aujourd'hui$^,$.
Parallèlement, les concepts de datagramme et d'informatique distribuée émergent, avec Arpanet, le réseau Cyclades, le Réseau du NPL et la Distributed System Architecture, qui deviendra en 1978 le modèle OSI-DSA. Plus de communications entre les machines des différents centres de recherche démontre l'utilité de systèmes d'exploitation ouverts et convergents, ce qui deviendra une nécessité avec les premières stations de travail incluant TCP/IP de Sun Microsystems, créée par Andy Bechtolsheim, Bill Joy, Vinod Khosla et Scott McNealy.
Ken Thompson et Dennis Ritchie présentent le premier article sur Unix au Symposium on Operating Systems Principles à l'université Purdue en 1973. Le professeur Bob Fabry de l'université de Californie Berkeley (UCB), alors dans l'auditoire, est immédiatement intéressé et en janvier 1974 Keith Standiford, étudiant de 2e cycle, installe la Version 4 à l'UCB, distribuée sur bande magnétique.

### Décision de 1975

Les poursuites pour viol de la loi anti-truste qui reprennent contre AT&T, annoncées l e 22 novembre 1974, visent une scission de l'entreprise ce qui se produira en 1982 via un accord amiable avec la justice. C'est la raison pour laquelle la décision fut prise en 1975 par AT&T de distribuer le système Unix complet avec son code source dans les universités à des fins éducatives, moyennant l'acquisition d'une licence au prix très faible.
Le logiciel Unix commença ainsi à être diffusé hors des laboratoires Bell au cours de l'année 1975, qui voit Ken Thompson passe une année comme professeur invité à son alma mater, l'UCB$^,$, où Jeff Schriebman et Bob Kridle mettent sur pied la Version 6.
Fin 1977, des chercheurs de l'université de Californie apportèrent de nombreuses améliorations au système Unix fourni par AT&T et le distribuèrent sous le nom de Berkeley Software Distribution (ou BSD). BSD sera plus tard le premier système Unix à exploiter pleinement le mécanisme de mémoire virtuelle paginée de l'ordinateur VAX 11/780.

### La Second Berkeley Software Distribution de 1978

À l'automne 1975, Bill Joy et Chuck Haley, alors en second cycle, s'intéressent au nouveau système et implémentent l'éditeur en ligne ex en Pascal, et finissent par explorer le fonctionnement du noyau au moment du départ de Ken Thompson. Le développement fut également rejoint par Alan Snyder, Steven C. Johnson, Michael Lesk dans cette période allant de 1973 à 1977.
Fin 1977, des chercheurs de l'université de Californie apportèrent de nombreuses améliorations au système Unix fourni par AT&T et le distribuèrent sous le nom de Berkeley Software Distribution (ou BSD). BSD sera plus tard le premier système Unix à exploiter pleinement le mécanisme de mémoire virtuelle paginée du VAX 11/780.
Plus tard, avec l'arrivée de nouveaux terminaux, Joy écrit vi (l'éditeur visuel), une surcouche de ex. L'été 1978, la Second Berkeley Software Distribution ou 2BSD voit le jour.

### Le projet Sol de l'IRIA en France, décliné sur SM90, Mitra 15 et Systime

A l'IRIA en France, Michel Gien est nommé en 1979 responsable du projet pilote SOL destiné à mixer les efforts industriels et recherche publique autour d'un système compatible avec SOL, un système d'exploitation Unix. En 1979-1983, il a étudié la portabilité des systèmes d'exploitation, en commençant par le miniordinateur Mitra 15, qui datait de mai 1971, puis avec son successeur, le Mini 6 de la CII-HB. Son ami Hubert Zimmermann, autre ex-cadre du réseau Cyclades part en 1980 au CNET, centre de recherche des PTT, où il étendant la démarche sur une station de travail à structure modulaire multiprocesseur sous UNIX, la SM90, conçue en interne entre 1980 et 1981, avec la collaboration de la SEMS, qui préfigure la série de machines à vocation industrielle.
Un autre polytechnicien passé par le CNET, Christian Huitema y a participé aussi à partir de 1980, pour les protocoles réseaux de la SM90 tout en ayant travaillé au projet NADIR d'évaluation des réseaux satellite avec Jean-Louis Grangé, autre ex-cadre du réseau Cyclades et toujours farouche défenseur du « datagramme ». Les ingénieurs informaticiens du CNET basés au CCETT de Rennes, spécialistes des images de synthèses, y développent sur SM90 Unix en 1979 "la première machine au monde capable de visualiser 400 polygones en couleur et en temps réel", le Cubic, qui sera commercialisé par la société Telmat. A la même période arrivera UNIX V7, « première version réellement portable », immédiatement adoptée par les développeurs du miniordinateur DEC PDP-11 et encore « quelque temps, libre de droits », ATT découvrant vite, ensuite, « qu'on peut gagner de l'argent avec les licences UNIX ». Cette version « vise la simplification, peu d'abstractions et une certaine élégance ».
Michel Gien avait contacté dès 1979 le CNAM pour faire essaimer la même démarche. En octobre 81, il a invité à l'IRIA le CIGREF, association des entreprises utilisatrices, pour une présentation de l'avancement du projet SOL, pendant que ses amis au Cnam s'occupent au même moment, en septembre 1981, de lancer des études pour mettre sur pied un projet de mise en réseau de divers ordinateurs, afin de partager le dynamisme de la communauté Unix d'Amsterdam et de créer à l'horizon 1983 Fnet premier « réseau expérimental de systèmes Unix » en Europe, en tant que branche française d'EUnet.
Mais en France le marché "était encore balbutiant et limité aux chercheurs informatiques et à quelques grandes entreprises publiques comme les PTT et EDF". Ils ne seront que peu à peu rejoints par des utilisateurs souhaitant "sortir du carcan des systèmes propriétaires des grands constructeurs" informatiques et" "profiter d'outils nouveaux", disponibles sur Unix, tout particulièrement les Systèmes de gestion de bases de données (SGBD) relationnels (Ingres, Informix et Oracle). Dans l'attente de cette évolution, les composants d'un ordinateur VAX ont été importés discretement au Cnam, pour un prix 1,5 fois moins élevé que l'ordinateur DEC alors en pointe pour Unix, grâce à un assembleur britannique Systime, puis assemblés en décembre 1981, afin aussi d’éviter un blocus américain, probable après l'affaire Farewell. Il sera relié au Centrum voor Wiskunde en Informatica (CWI), Centre de Mathématiques d’Amsterdam aux Pays-Bas, lui-même en liaison avec les États-Unis, en Virginie, via le protocole UUCP (Unix to Unix Copy Protocol), permettant aux abonnés français de participer à la communauté internationale de recherche Unix grâce aux réseaux de données européen EUnet et au service d’échange de messages Usenet et aura même un rôle de routeur. Une association Française des Utilisateurs d’Unix et des systèmes ouverts (AFUU) est fondée en 1982, alors que Fnet n'a pas encore ouvert et que le Cnam est chargée d'héberger l'édition 1982 de la conférence internationale des associations Unix, animée par l'équipe d’Amsterdam, connectée depuis 1978 aux réseaux UUCP américains et assurant la coordination de UUCPnet en Europe. Michel Gien, présent dans "les réseaux directs des Unixiens du Cnam" y contribue. Humberto Lucas et Bernard Martin installen en 1983 la passerelle Fnet au Cnam mais le premier part dès 1984 et Fnet aussi, pour un bref passage à l’IRCAM, chez Michel Fingerhut.

### Décembre 1979 première distribution sur VAX de DEC

Puis en décembre 1979, Bill Joy distribue 3BSD, la première distribution à supporter les ordinateurs VAX de DEC. C'est également cette année que sort la version 7, qui s'accompagne de nombreuses modifications notables telles que l'extension à 2 Go de la taille maximale d'un fichier, l'ajout de plusieurs utilitaires, et surtout une plus grande portabilité du système, c'est-à-dire qu'il devient plus facile de le modifier afin qu'il fonctionne sur d'autres plates-formes matérielles. C'est à cette époque que le premier grand portage d'Unix, la version 32/V, fut réalisé, sur un VAX 11/780.

### Trois branches principales de développement

Trois branches principales de développement des sources virent le jour :
* La branche de recherche d'AT&T qui développa, toujours aux laboratoires Bell, jusqu'en 1990, les 8e, 9e et 10e éditions du système Unix.
* La branche commerciale d'AT&T qui développa System III, puis quatre éditions de System V (System V, SVR2, SVR3, SVR4).
* Berkeley Software Distribution développé par l'université de Californie à Berkeley, jusqu'en 1994.
Ces branches se sont mutuellement emprunté du code et/ou des concepts. Ainsi :
* La 8e édition est issue de la version 4.1 BSD.
* La version SVR3 a emprunté le concept des flux standards à la 8e édition.
* La version SVR4 a intégré beaucoup de code de la version 4.3 BSD.
* La version 4.4 BSD comporte une très petite quantité de code de la version SVR4.

### Le rôle de la DARPA et la naissance de TCP/IP

Lors de la publication de 3BSD à la fin des années 1970, la DARPA américaine prend connaissance des avancées de l'Université de Berkeley et décide d'utiliser Unix pour ses projets. De nombreux ingénieurs espèrent alors des standards innovants face au monopole IBM. Bob Fabry propose donc une version augmentée de 3BSD de Berkeley, tandis que la version 7 d'Unix, publique et sans coût pour les universitaires, "la première version réellement portable", est immédiatement adoptée par les développeurs du miniordinateur DEC PDP-11 car encore "quelque temps, libre de droits", ATT découvrant vite, ensuite, "qu'on peut gagner de l'argent avec les licences UNIX". Cette version, issue en partie des concepts Multics, "vise la simplification, peu d'abstractions et une certaine élégance". Mais pour être indépendant durablement de cette licence ATT, il faut réécrire l'OS: c'est le projet SOL de Michel Gien à partir de 1979 à l'INRIA, en France, rejoint par le CNET en 1980 et par le laboratoire d’informatique du Cnam, que le projet SOL a sollicité dès 1979.
Aux Etats-Unis entre-temps, en avril 1980, un contrat de 18 mois est signé avec la DARPA américaine en charge d'Arpanet. Puis le géant américain Xerox, très investi dans les réseaux locaux LAN via Ethernet, lance en novembre 1980, XNS, un modèle de réseau qu'il avait développé dans les années 1970, dans le cadre du système de réseau Xerox 8000, avec un codage TCP/IP "destiné à prouver sa viabilité et non sa fonctionnalité opérationnelle", faisant valoir qu'il est conçu "pour être transporté sur des installations de transport" à des vitesses de multi-mégaoctets par seconde, alors que TCP sur un réseau local est "deux fois plus lent". Ainsi, un an après, en octobre 1981, la pression du marché sur Xerox pour rendre XNS public "a augmenté", au moment où il présente cette fois un autre fruit de ses célèbres labos, poste de travail conçu pour être un bureau électronique, "pionnier de l’interface utilisateur à icônes" mais jugé "trop cher".
L'année suivante, la DARPA doit attribuer sept contrats pour créer le code hôte TCP/IP, NCP devant céder la place le 1er janvier 1983 par décision gouvernementale, Arpanet étant désormais "le réseau le plus important de l’époque". La société d'ingénierie BBN, détentrice en septembre 1968 du premier contrat Arpanet, en décroche un autre pour le rendre compatible TCP/IP, dans le but d'éviter que chaque site hôte crée sa propre version de TCP/IP. BBN a ensuite donné son code à un jeune universitaire, Bill Joy de l'Université de Berkeley, qui vient juste de soutenir sa thèse de doctorat, se propose dans l'équipe formée par Bob Fabry, pour l’intégrer dans la version améliorée d’Unix. John Postel a publié le standard TCP/IP dans les Request for comments d'Arpanet numéros 791 et 702 en septembre 1981 et la création de ports d’hôte a commencé ensuite.
Le TCP/IP fonctionne alors avec Ethernet car Bill Joy réécrit le codepour l'ordinateur Vax , successeur des PDP et "fer de lance du constructeur" Digital Equipement (DEC), peu de temps avant de fonder en février 1982 Sun Microsystems, avec Vinod Koshla, à l'Université de Stanford. Ainsi, "le port UNIX de Joy était sur le Vax" et en janvier 1983, après 13 ans chez Digital Equipement, le Français Bernard Lacroute est embauché pour le "développement de produits" chez Sun, qui compte déjà 122 salariés dont 25 ingénieurs pour 8,5 millions de dollars de chiffre d'affaires, qui va centupler un cinq ans.
D’autres constructeurs ont porté le code sur d’autres ordinateurs: quasiment du jour au lendemain, XNS fait ainsi face à un "produit concurrentiel non limité par la libération de fonctionnalités de couches supérieures", ce qui facilite la diffusion de TCP/IP, d'autant que Robert Kahn a "conclu avec Gordon Bell et Sam Fuller de DEC" un accord pour qu'ils vendent "des VAXs groupés à des prix très bas aux universités" dans le souhait explicite que "les gens explorent des façons intéressantes de faire l’informatique distribuée" chez eux car "cela allait être la vague du futur". Il lui demande simplement à DEC de garantir que ces machines ne seront pas utilisées "comme des systèmes de temps partagé autonomes".
Le code TCP/IP est cependant accessible "essentiellement gratuitement" car l'Unix Berkeley se vend seulement 32000 dollars. Parmi les nouveaux acteurs de cette concurrence, Sun Microsystems entrera en Bourse dès 1986, avec un chiffre d'affaires déjà monté à 430 millions de dollars, en prenant la tête du marché des stations de travail pour ingénieurs américains après avoir élaboré en 1984 sa propre technologie NFS, qui se veut "un standard pour le partage de fichiers en réseau".
Les versions d'Unix se succèdent jusqu'à 4.1BSD. Satisfaite, la DARPA signera pour deux ans supplémentaires. Le budget est presque multiplié par cinq, le nombre de personnes impliquées croît vite. Un steering committee se réunit deux fois par an entre avril 1981 et juin 1983. Il inclut:
* Bob Fabry, Bill Joy et Sam Leffler de l'UCB, Dennis Ritchie des Bell Laboratories, Duane Adams et Bob Baker de la DARPA;
* du personnel et des élèves de plusieurs autres universités, en particulier Stanford, Carnegie-Mellon et l'UCLA.
* Rob Gurwitz, l'ingénieur de BBN responsable de l'implémentation de TCP/IP,
Pour synthétiser ces réunions, ce dernier publie la première implémentation des protocoles TCP/IP, ceux d'Internet. Bill Joy l'aurait ensuite intégrée au système en ajustant les performances. Le résultat sera souvent considérée comme l'implémentation de référence, reprise beaucoup plus tard par Microsoft pour actualiser Windows, grâce à la licence BSD très permissive sous laquelle BSD est publié.
En août 1983, publication de 4.2BSD, première version qui inclut la nouvelle pile TCP/IP, très populaire et plus vendue que toutes les autres distributions réunies, y compris le System V d'AT&T, ce dernier n'ayant ni la communication par réseau ni le système de fichiers FFS (Berkeley Fast Filesystem). Entre-temps, Mike Karels remplace Sam Leffler, parti chez Lucasfilm, qui lui-même avait succédé à Bill Joy parti à l'été 1982 chez Sun Microsystems, constructeur informatique "pur Unix", fondé en février 1982.

### Situation au milieu des années 1980

Au milieu des années 1980, TCP/IP, n'est "pas encore important", sa généralisation sur Arpanet ne datant que de 1983. C'est après que la synergie entre UNIX et TCP/IP devient "un point capital pour l'histoire" avec distribution gratuite de BSD 4.2 et suivantes à partir de 1983 par l’Université de Berkeley, avec support du protocole TCP/IP, qui accéléra le développement de l’Internet.
Se livrait dans les années 1980 une "guerre des piles protocolaires" d'Unix qui "oppose un modèle normalisé à l'ISO et dénommé OSI", connu et apprécié en Europe, à celui de TCP/IP, d'où une "absurde prolifération des piles propriétaires, chaque constructeur ayant la sienne", y compris et surtout le très ambitieux Sun Microsystems, soucieux de rejoindre un quinté de tête mondial, ce qui coûte "des fortunes pour faire de trop nombreuses passerelles plus ou moins dysfonctionnelles", aux uns et aux autres. C'est l'enjeu compris par les utilisateurs qui s'intéressent alors de plus en plus aux débats du steering committee lancé en avril 1981.
Ainsi en 1984, des ateliers réunissant bien plus de personnes prennent le relais. Cette année-là, 100000 installations Unix dans le monde, qui "tournent sur un éventail de machine assez large". Pour favoriser cette portabilité et cette ouverture, la CEE voulait une normalisation de l’interconnexion des systèmes ouverts (OSI) via "une coopération régionale pour en développer des implémentations prototypes portables sous Unix" dans le cadre d' un " programme stratégique européen" nommé ESPRIT (« European Study Program in Information Technology »).
Afin de promouvoir "le développement des systèmes ouverts, et faciliter la propagation d’Unix", la plate-forme X OPEN est créée en 1984 par Bull, ICL, Siemens, et Olivetti. INRIA, CNET et Bull créent paralèllement en 1984 ausi un Groupement d’intérêt public, le GIPSI-SM 90, pour faciliter les applications sous Unix, présidé par Jean-François Abramatic, futur président du World Wide Web Consortium une décennie plus tard.
En 1985, 4.3BSD est annoncé. De nouvelles architectures matérielles deviennent supportées, et, avec la version 4.3-Tahoe, le noyau est scindé en parties dépendantes et indépendantes du matériel.

### Procès et libération de BSD

Début 1992, des poursuites sont lancées par Unix System Laboratories (USL), composante d'AT&T chargée de développer et vendre Unix. Elles visent Berkeley Software Design, (BSDI), qui vend une version commerciale mais n'aboutissent pas, et entre temps USL est vendu par AT&T à Novell.
Editeur de systèmes pour entreprise, Novell est alors numéro2 mondial du logiciel derrière Microsoft, et très actif sur le marchés des réseaux d'ordinateurs internes aux entreprises. Il prend aussi à l'époque 15% du capital de la société française Chorus Systèmes, fondée en 1986 sur le marchés des OS Unix par Hubert Zimmermann, après avoir racheté Unix Systems Labs à ATT en 1993, pour le décliner en micro-noyaux Chorus, en prévision d'une élargissement d'Internet à des applications embarquées et au téléphone mobile.
Finalement, un accord est trouvé en janvier 1994 :
* 2 fichiers sur 18 000 sont retirés de Net/2 ;
* des changements mineurs sont faits sur d'autres fichiers ;
* une notice de copyright est ajoutée à environ 70 fichiers (qui restent librement distribuables).
En janvier 1995, FreeBSD 2.0 sort avec les nouveaux fichiers de Net/2, alors appelée 4.4BSD-Lite, et des éléments de 386BSD.
Jusqu'à 4.3BSD-Tahoe, la licence AT&T s'applique toujours aux sources, qui sont toujours distribuées. Les utilisateurs participent activement au développement et améliorent progressivement le code original d'AT&T. La licence d'AT&T sur les sources étant devenue excessivement chère, les dernières sources originales ont été nettoyées du code d'AT&T et en juin 1989, la première BSD libre, la Networking Release 1 ou Net/1 est publiée.
La licence est volontairement très libérale : le logiciel peut être redistribué ou vendu, avec ou sans modification des sources, sous forme binaire (compilée) ou non. Les notices de copyright dans les sources doivent être laissées intactes, et la documentation doit mentionner l'origine du code (l'université de Californie à Berkeley, UCB).
Net/1 alors coûte 1 000 dollars à l'UCB pour la bande magnétique qui le transporte. Net/1 est mis à disposition par connexion FTP (file transfert protocol) anonyme (pas de mot de passe requis).
Le système de mémoire virtuelle du système d'exploitation MACH de l'université Carnegie-Mellon est importé et 4.3BSD-Reno sort début 1990.

### De la fin des années 1990 à nos jours

L'incompatibilité grandissante entre les nombreuses variantes d'Unix proposées par les différents éditeurs pour les différentes machines porte peu à peu atteinte à la popularité et à la diversité des systèmes Unix. De nos jours, les systèmes Unix propriétaires, longtemps majoritaires dans l'industrie et l'éducation, sont de moins en moins utilisés. En revanche, trois systèmes de type Unix basés sur BSD (FreeBSD, NetBSD et OpenBSD) d'une part, et le système Linux, compatible Unix, d'autre part, ainsi que macOS (anciennement OS X, basé sur Darwin), occupent une part de marché de plus en plus importante, permettant à Unix de concurrencer l'autre grande famille d'OS (propriétaire), Windows NT.

## Principales familles de systèmes UNIX
### Les BSD

Bill Jolitz à partir de Networking Release 2 publie 386/BSD, destiné à une architecture PC (386), mais est vite débordé quant à sa maintenance. Quelques mois après sa publication, des utilisateurs de 386BSD forment le groupe NetBSD, et rassemblent leurs ressources pour maintenir et améliorer ce système. Leurs objectifs sont alors de faire en sorte que NetBSD fonctionne sous n'importe quel matériel. Le public cible de NetBSD est des développeurs-administrateurs de haute technicité.
Encore quelques mois plus tard, le groupe FreeBSD se forme et décide lui de se focaliser sur l'architecture PC. En décembre 1993, grâce au soutien de Walnut Creek CDROM, FreeBSD 1.0 est publié.
Le projet OpenBSD est créé en 1995 à la suite d'un désaccord entre l'un des développeurs de NetBSD, Theo de Raadt, et les autres membres du projet. Il se focalise sur la sécurité informatique.

### GNU

GNU est un système d'exploitation lancé en 1983 par Richard Stallman dans le but de fournir un équivalent d'Unix composé uniquement de logiciel libre. Bien que compatible avec Unix, GNU s'en démarque notamment par sa grande utilisation du Lisp.
En 1991, alors que le Hurd (le noyau de GNU) tardait à devenir opérationnel, le noyau Linux (voir ci-dessous) fut créé. Il fut publié en 1992, permettant ainsi, pour la première fois, l'utilisation d'un système d'exploitation entièrement libre : une variante de GNU utilisant le noyau Linux, couramment appelée Linux par métonymie, ou plus rarement GNU/Linux$^,$.
GNU et Linux sont utilisés sous la forme de distributions qui les accompagnent de logiciels supplémentaires. Parmi les distributions les plus populaires, on compte notamment Debian, Ubuntu, Linux Mint, Red Hat, Fedora et Arch. Parmi ces six distributions, seules deux proposent, à la place de Linux, l'utilisation du Hurd : Debian et Arch. De plus, Debian propose d'utiliser deux noyaux issus de la famille des BSD avec les distributions Debian GNU/kFreeBSD et Debian GNU/NetBSD.

### Linux

En 1991, Linus Torvalds, un étudiant finlandais, décide de concevoir, sur le modèle de Minix, un système d'exploitation capable de fonctionner sur les architectures à base de processeur Intel 80386. Le noyau, qui était alors au stade expérimental, devait être généré sur un système Minix.
Le nom de Linux vient de la personne qui hébergeait le projet pour sa diffusion (version 0.0.1) et non d'un choix de Linus. Il voulut un temps rebaptiser son système Freax, mais il était trop tard, Linux s'était déjà imposé auprès des aficionados. Linux ne contient aucun code provenant de UNIX, il en est juste inspiré, et complètement réécrit. D'autre part, Linux est un logiciel libre.

#### Linux avec GNU

Linux lui-même n'étant qu'un noyau, il nécessite d'être accompagné d'autres logiciels pour former un système d'exploitation. Une des possibilités les plus populaires est l'utilisation de Linux en tant que noyau du système d'exploitation GNU pour constituer un système désigné sous le nom GNU/Linux ou simplement Linux. Plusieurs entreprises ou associations distribuent Linux et GNU accompagnés d'un ensemble cohérent de logiciels ; on appelle distribution Linux un tel système.

#### Android

Android est un système d'exploitation pour terminaux mobiles développé par une startup du même nom et racheté par Google. Il est basé sur le noyau Linux et la machine virtuelle Dalvik ou à partir de Android KitKat: Android Runtime (ART).

### macOS

Unix est à l'origine de macOS (précédemment Mac OS X), l'actuelle version du système d'exploitation d'Apple. macOS, comme Darwin est basé sur le noyau XNU, un dérivé du micro-noyau Mach.
En mai 2007, la version 10.5 (Leopard) de Mac OS X sur Intel a reçu la certification UNIX 03 de l'Open Group.

### Autres systèmes
#### System V et les Unix propriétaires

Dès 1977, AT&T mit les sources d'Unix version 6 à la disposition d'autres entreprises. Ainsi, tandis que l'opérateur téléphonique poursuivait ses développements avec la version 7 puis le System V, un grand nombre de dérivés d'Unix furent développés :
* A/UX, un Unix développé par Apple, compatible avec Mac OS.
* AIX, développé par IBM, dont la première version 1986 fut basée sur la version 2 de System V.
* Amiga Unix, développé par Commodore International pour l'Amiga 2500UX et l'Amiga 3000UX.
* Atari System V, développé par Atari pour le TT et sorti en 1991, basé sur la version 4 (SVR4).
* HP-UX, fondé sur System III, développé à partir de 1982 par Hewlett-Packard.
* IRIX, développé par SGI depuis 1987.
* SCO Group UNIX, fondé sur XENIX et System V développé par Santa Cruz Operation et Compaq qui a été racheté par Hewlett-Packard. La première version sort en 1983.
* Solaris (appelé SunOS jusqu'en 1991), développé en 1981 par Sun Microsystems sur la base de BSD 4.1c . En 1992 sort Solaris 2, nouvelle version basée sur la version 4 de System V (SVR4).
* Tru64, fondé sur une version du micro-noyau Mach 2.5 réalisée par le consortium OSF (Open Software Foundation). Il a d'abord été développé sous le nom OSF/1 puis DEC UNIX par Digital Equipment Corporation, Compaq et enfin Hewlett Packard.
* Ultrix, développé par DEC. La version Ultrix-11, destinée aux machines de la famille PDP-11 et sortie en 1991, est basée sur la 7e édition, avec des ajouts provenant de System V et de BSD. La version Ultrix-32, destinée aux machines de la famille VAX, est essentiellement basée sur BSD.
* UnixWare, descendant de SVR4, développé par Novell puis revendu à SCO Group.
* XENIX, fondé sur la version 7 (1979), développé en 1980 par Microsoft.

#### Les Unix destinés à l'éducation

Au milieu des années 1980, un professeur américain installé aux Pays-Bas, Andrew Tanenbaum, développa un système d'exploitation minimal, baptisé Minix, afin d'enseigner les concepts des systèmes d'exploitation à ses étudiants ; la première version fut publiée en 1987, et était accompagnée d'un livre détaillant la conception du système$^,$. Un projet similaire nommé XINU (pour Xinu Is Not Unix) fit aussi son apparition dans les années 1980 sous la direction de Douglas Comer.

## Utilisations d'Unix

Le grand nombre de variantes d'Unix, chacune ayant ses spécificités, permet aux systèmes Unix d'être utilisés dans un grand nombre d'environnements différents.

### Appareils mobiles

Plusieurs systèmes d'exploitation pour appareils mobiles (smartphones, tablettes, PDA…) sont des systèmes Unix. On peut citer en particulier iOS et Android, qui se partagent plus de 85 % du marché des smartphones$^,$.

### Supercalculateurs

Depuis novembre 2017, Linux est le seul système d'exploitation utilisé par les 500 supercalculateurs les plus puissants du monde. Les autres systèmes Unix équipaient encore quelques-uns de ces ordinateurs en 2016. Entre 1995 et 2000, les systèmes Unix autres que Linux (notamment Berkeley Software Distribution, Solaris, AIX, UNICOS et HP-UX) équipaient plus de 90 % de ces ordinateurs.

### Stations de travail et serveurs

Seules quelques versions d'Unix produites par de grands constructeurs de stations de travail et de serveurs subsistent aujourd'hui :
* IBM : AIX ;
* Oracle : Solaris ;
* Hewlett-Packard : HP-UX ;
* SCO Group : UnixWare
La philosophie des constructeurs de stations et serveurs Unix a été au départ de développer un système d'exploitation pour pouvoir vendre leurs machines, en y ajoutant, si possible, un petit « plus » pour se démarquer de la concurrence. C'était oublier que les parcs Unix sont le plus souvent hétérogènes et que toute différence d'une machine à l'autre, même créée avec la meilleure intention du monde, menace l'interopérabilité donc constitue un risque réel de contre-productivité car contraignent les informaticiens à de nombreuses manipulations fastidieuses afin d'interconnecter les systèmes.
C'est une des raisons pour lesquelles nombre de ces constructeurs proposent désormais le système Linux avec leurs serveurs. Toutefois, les différences entre les différentes distributions Linux posent souvent les mêmes problèmes, quoiqu'à un niveau moindre.
Certains logiciels de conception assistée par ordinateur ont longtemps été disponibles pour des stations de travail Unix uniquement, mais, ce marché se réduisant, sont également devenus disponibles pour d'autres systèmes. C'est par exemple le cas de CATIA, utilisé notamment par de grands constructeurs industriels comme Dassault Aviation, PSA Peugeot Citroën ou Boeing, qui fonctionne sous Microsoft Windows depuis la version 5 dont la version Unix a été abandonnée depuis la version 6.

## Les standards Unix

Le grand nombre de systèmes Unix développés sur la base du System V de AT&T ou bien de BSD conduisit des membres du groupe d'utilisateurs /usr/group, qui a pris depuis le nom de UniForum, à forger un standard UNIX dès 1980 afin d'assurer une portabilité maximale entre les différents systèmes :
* en 1984 ce groupe publie le standard /usr/group$^,$.
* ce standard évolue en POSIX, qui est publié en 1988, une série de standards développés sous couvert de l'IEEE (Institute of Electrical and Electronics Engineers). POSIX est ainsi également connu sous le nom IEEE 1003.
* En 1985, AT&T publie SVID (System V Interface Definition), qui décrit System V. Cette première définition est différente de POSIX.
* À la même époque, un consortium de constructeurs (Sun, IBM, HP, DEC, AT&T, Unisys, ICL, etc.) publie le standard X/Open Portability Guide Issue 3 (XPG3). Ce standard s'occupe tout particulièrement des différences issues de la localisation géographique (date, alphabet, etc.).
Aujourd'hui, la marque déposée UNIX est détenue par l'Open Group. Pour obtenir l'autorisation d'utiliser officiellement cette marque pour un système d'exploitation, il faut que celui-ci soit conforme à la Single UNIX Specification.