Table des matières

Les différents OS BSD Unix

La mascotte des systèmes BSD (Berkeley Software Distribution) du nom de Beastie :

Les distributions BSD actuelles.

La naissance de BSD Unix, Unix de Berkeley

Bob Fabry professeur de l'UCB (Université de Californie à Berkeley) à introduit Unix version 5 des Bell Labs au sain de l'université en 1974, en obtenant une licence Unix qui était relativement abordable pour les universités, surtout à cette époque.

Suite à l'intérêt que portait les étudiants de Berkeley à Unix, Ken Thompson est venu à l'UCB en 1975 en tant que professeur invité et a aidé les étudiants de l'Université de Californie à Berkeley à installer Unix version 6 des Bell Labs sur un mini-ordinateur PDP-11/70 de DEC (Digital Equipment Corporation) et a travaillé sur une implémentation du langage Pascal. Chuck Haley et Bill Joy, deux étudiants diplômés de l'UCB ont améliorés le langage Pascal de Ken Thompson et crées l'éditeur de texte amélioré du nom de ex.

1BSD

Au vue de l'engouement d'autres universités pour les logiciels de Berkeley, Bill Joy à compilé la première distribution BSD (Berkeley Software Distribution), 1BSD, qui n'était pas une distribution complète mais un ensemble de logiciels pour améliorer Unix version 6 des Bell Labs. 1BSD a été publié le 9 mars 1978.

2BSD

Vint ensuite la seconde distribution BSD, 2BSD, publiée le 10 mai 1979, qui comprenait la version 1BSD mise à jour et deux nouveaux programmes, l'éditeur de texte emblématique vi qui était une version visuelle de ex et le C shell (csh) qui est une amélioration du shell Unix par défaut (sh: Bourne Shell) doté de l' historique de la ligne de commande et la fonction des alias de commandes Unix. De plus 2BSD incluait un package réseau appelé Berknet, développé par Eric Schmidt, qui avait la capacité de connecter 26 ordinateurs entre eux et servir pour le partage de fichiers et l'échange de courrier électronique. La branche 2.xBSD (2.79BSD, 2.8BSD, 2.9BSD, 2.10BSD et 2.11BSD) était exclusivement dédié aux ordinateurs PDP-11 de DEC, la première version totalement autonome est 2.9BSD qui n'était plus basée sur Unix version 7 mais 4.1cBSD de l'UCB. La dernière version de la branche 2.xBSD est 2.11BSD, sortie en février 1992, qui reçoit encore à l'heure actuelle des mises à jour de maintenance, le dernier patch (correctif numéro 482) a été publié le 27 septembre 2024. À noter que les versions successives de 2BSD ont étés publiées par l' association USENIX qui était à l'origine une association spécifique aux systèmes Unix mais c'est diversifiée pour tous les systèmes d'exploitation par la suite.

3BSD

En mars 1980 a été publié 3BSD, une version conçue pour l'ordinateur VAX-11 de DEC, qui n'était non plus un mini-ordinateur 16 bits comme le PDP-11 mais un ordinateur basé sur un processeur 32 bits. 3BSD se base sur UNIX/32V ou abrégé 32V, un port d'Unix version 7 des Bell Labs pour l'architecture 32 bits du VAX. Si 3BSD a été crée c'est avant tout parce que le noyau de 32V ne prenait pas en charge la mémoire virtuelle du VAX et de se fait un étudiant diplômé de l'UCB, Özalp Babaoğlu a grandement modifié le noyau de UNIX/32V pour que 3BSD prenne pleinement en charge les capacités du VAX. 3BSD était le premier système d'exploitation BSD complet, composé d'un noyau, des utilitaires 2BSD portés sur le VAX et des utilitaires de 32V, 3BSD était également nommé Virtual VAX/UNIX ou VMUNIX (Virtual Memory Unix), d'ailleurs les images du noyau BSD étaient nommées /vmunix (et ce jusqu'à la dernière version de BSD, 4.4BSD) au lieu de /unix, les images originelles des Unix des Bell Labs. Suite au succès de 3BSD, en avril 1980, la DARPA (Defense Advanced Research Projects Agency) signa un contrat avec l'Université de Californie à Berkeley pour le projet VLSI (Very Large Scale Integration), se qui mèneras à la création du groupe de recherche appelé CSRG (Computer Systems Research Group) qui sera désormais le groupe chargé de faire évoluer BSD Unix et par l'influence de se dernier, toutes les saveurs d'Unix.

4BSD

4BSD est sorti en octobre 1980, intégrant diverses améliorations, comme les signaux fiables, la bibliothèque de programmation Curses, le contrôle des tâches dans le shell csh et delivermail (l'ancêtre de sendmail ) qui est un serveur de messagerie électronique MDA (Mail Delivery Agent). 4BSD n'a pas été de très longue durée mais de nombreuses personnes achetaient une licence 32V et commandaient 4BSD à Berkeley sans se soucier d'obtenir une bande magnétique 32V.

4.1BSD

4.1BSD a été publié en juin 1981, car le noyau de 4BSD manquait de performance face au système d'exploitation de DEC, VMS (Virtual Memory System), l' OS dominant du moment pour le VAX. Pendant le cours de la création de 4.1BSD, le noyau a été constamment optimisé par Bill Joy jusqu'à ce que 4.1BSD soit aussi performant que VMS sur divers benchmark. Le développement de 4.1BSD à 4.2BSD a été financé par la DARPA (Defense Advanced Research Projects Agency) du du 15 novembre 1981 au 30 septembre 1983. 4.1BSD aurait dû s'appeler 5BSD mais l' entreprise AT&T a omit des objections pour éviter toute confusion avec son OS commercial UNIX System V.

4.2BSD

En septembre 1983, paru 4.2BSD, la toute première version de BSD et d'Unix en général à inclure une pile TCP/IP, le fondement de l'internet que l'on connait à l'heure actuelle. Le développement de 4.1BSD à 4.2BSD a duré pas moins de deux ans, il y eu 3 versions intermédiaires entre les deux distribution BSD: 4.1aBSD en avril 1982, qui incluait une version préliminaire de la pile TCP/IP de BBN (Bolt, Beranek et Newman), 4.1bBSD en août 1982, incorporant le système de fichiers FFS (Fast File System) et 4.1cBSD en décembre 1982, qui n'a pas cessé d'être amélioré et optimisé jusqu'à la sortie de 4.2BSD, 4.1cBSD fût en autre la base de Unix version 8 des Bell Labs. De nombreux acteurs informatiques ont été impliqués dans l'élaboration de 4.2BSD, tels que des membres influents de l'UCB, BBN, des Bell Labs, CMU (Carnegie Mellon University), du MIT (Massachusetts Institute of Technology), de l'ISI (Information Sciences Institute) et de l'UCLA (University of California, Los Angeles), se comité directeur a été fondé par Duane Adams de la DARPA. 4.2BSD est finalement composé de la pile TCP/IP de Bill Joy et non celle de BBN, du nouveau système de fichiers FFS, et de nombreuses fonctionnalités de personnes extérieures, tels que les quotas de disque et le contrôle des tâches. Pour tester la portabilité de 4.2BSD, l'entreprise Sun Microsystems porta 4.2BSD sur l'architecture processeur de leurs propres ordinateurs, le processeur Motorola 68000 qui donnera naissance à leur système d'exploitation SunOS qui était basé sur BSD Unix. Après le départ de Bill Joy pour Sun Microsystems, c'est Mike Karels et Marshall Kirk McKusick qui prient la direction du projet 4.2BSD. 4.2BSD a été une version très importante du fait quelle intégrait la première impémentation de TCP/IP, qui a permit de se connecter à l'ARPANET (Advanced Research Projects Agency Network), l'ancêtre d'internet et c'est également à se moment que naît Beastie, la mascotte de BSD (un petit démon souriant) qui fait référence aux daemon (en anglais) aussi appelés services, programmes informatiques qui tournent en tant que processus en arrière plan, tel qu'un serveur FTP (File Transfer Protocol) ou un serveur Web comme Apache HTTP Server. Les commandes Unix en rapport à la nouvelle pile TCP/IP de Berkeley, incluait en autres, ifconfig pour la gestion des cartes réseaux, route pour voir et modifier la table de routage, netstat qui permet de lister les ports de différent protocole réseau, client et serveur FTP (commande ftpd et ftpd), client et serveur TFTP (commande tftp et tftpd), client et serveur Telnet (commande telnet et telnetd), client et serveur Rlogin (commande rlogin et rlogind), client et serveur RSH (commande rsh et rshd), client Mail (commande mail) et tous les services en rapport à la pile TCP/IP hormis inetd qui a été seulement intégré à partir de 4.3BSD.

4.2BSD est la première version de BSD UNIX a intégré tous les composants nécessaires pour gérer une pile TCP/IP ! 4.2BSD est le tout premier système d'exploitation à avoir une pile TCP/IP complète et opérationnelle (tous OS confondus et pas seulement les système UNIX) ! En gros tous les OS de nos jours ont une pile TCP/IP qui c'est originellement basée sur celle de BSD du CSRG, c'est pour ainsi dire les fondements de l'Internet tel q'on le connaît à l'heure actuelle !

4.3BSD

4.3BSD d'origine

La version 4.3BSD a été publiée en juin 1986, environ trois ans après 4.2BSD, qui a été essentiellement une succession d' amélioration du code source de 4.2BSD, et en particulier d'énormes modifications pour encore améliorer la pile TCP/IP de 4.2BSD, celle-ci même a été validée par la DARPA pour 4.3BSD, contenue de sa large supériorité par rapport à la pile TCP/IP de BBN. en l' émulant avec SIMH de Bob Supnik qui est un logiciel de simulation pour de nombreux ordinateurs anciens tel que le PDP-11 ou le VAX qui permet de faire tourner un nombre impressionnant d'anciens systèmes d'exploitation. De nos jours il est d'ailleurs tout à fait possible de se connecter à internet avec 4.3BSD.

4.3BSD-Tahoe

En juin 1988 a été publié 4.3BSD-Tahoe, dont le but était de s'écarter du VAX, une plateforme jugée vieillissante par le CSRG, qui se tourna vers le mini-ordinateur de l'entreprise Computer Consoles, le Power 6/32 ayant pour nom de code Tahoe, qui semblait très prometteur et était directement destiné à concurrencé le VAX de DEC mais la commercialisation du Power 6/32 fût abandonner très peu de temps après son développement. Malgré tout, se port de 4.3BSD fût très utile, car il a permit de séparer le code source dépendant de la machine et le code indépendant de la machine dans les systèmes BSD, ce qui améliorera grandement la portabilité de BSD sur d'autres architectures processeurs. De plus le CSRG a travaillé sur une implémentation de la pile de protocoles réseau OSI (Open Systems Interconnection) , des améliorations du système de mémoire virtuelle du noyau et de nouveaux algorithmes TCP/IP avec la participation de Van Jacobson (spécialisé dans TCP/IP) pour anticiper la croissance d'Internet naissante.

4.3BSD Net/1 (Networking Release 1)

La version Net/1 (Networking Release 1), publiée en juin 1989 était une version incomplète qui était composé essentiellement du code réseau de 4.3BSD, qui n'était pas soumise à une licence AT&T mais à une licence librement redistribuable, la licence BSD. Cette version a été crée, car les licences AT&T étaient devenues très couteuses pour les utilisateurs finaux et ses mêmes utilisateurs étaient désireux que le code source réseau soit sous une licence libre, ce qui a permit aux non-licenciés AT&T de bénéficier du code source du code réseau exclusivement écrit par le CSRG sous licence BSD, licence libre et permissive qui a profité aussi bien aux particuliers, qu'aux entreprise, y compris à Microsoft et son OS Windows pour sa propre pile TCP/IP basé sur le code source réseau de BSD et on peut même affirmer que tous les systèmes d'exploitation actuelles sont basées sur la pile réseau du CSRG.

4.3BSD-Reno

La distribution 4.3BSD-Reno est sortie en juin 1990, c'était une version intermédiaire avant 4.4BSD, d'ailleurs 4.3BSD-Reno (Reno vient du centre de jeu dans le Nevada) n'était pas recommandée en production, c'était surtout un défi de la part du CSRG pour que cette version soit un maximum conforme à la norme POSIX (Portable Operating System Interface), qui se rapproche davantage d' UNIX System V pour l' interopérabilité avec les différentes Saveurs d' Unix, on s'en rend facilement compte au niveau de l' organisation du FHS (Filesystem Hierarchy Standard), d'ailleurs le répertoire root ne se trouve non plus à la racine / comme les précédentes versions de BSD mais dans un répertoire séparé /root. Parmi les ajouts de cette distro on peut citer l'inclusion de NFS (Network File System) de l' Université de Guelph, créée à la base par Sun Microsystems, une touche d' état (Ctrl-T) et la prise en charge de la gamme d' ordinateurs HP 9000 de l' entreprise Hewlett-Packard (HP), issue du port HPBSD de l' Université de l'Utah.

4.3BSD Net/2 (Networking Release 2)

Après la distro Net/1, en partie sous l'influence de Richard Stallman, créateur du projet GNU, Keith Bostic , un développeur de BSD et membre influent du CSRG à proposer de réimplémenter la plupart des utilitaires Unix standard sans utiliser de code source d' origine AT&T mais de mettre ses utilitaires Unix sous licence BSD, l' éditeur de texte vi a été totalement réécrit sous le nom de nvi, car vi se basait à l'origine sur l' éditeur de texte ligne par ligne ed sous licence AT&T, tous les utilitaires standards Unix ont été remplacés en dix-huit mois sous licence permissive BSD. Contrairement à Net/1, Net/2 était un système presque complet, il ne maquait que six fichiers au niveau du noyau Unix de BSD. 4.3BSD Net/2 a été publié en juin 1991.

Il est possible de simuler un PDP-11 ou un VAX via l' émulateur SimH de Bob Supnik, il vous sera possible d' émuler 2.9BSD, 2.10BSD et 2.11BSD sur le simulateur PDP-11 de SimH, ainsi que 3BSD, 4BSD, 4.1BSD, 4.2BSD, 4.3BSD et 4.3BSD-Reno pour le simulateur VAX de SimH. En ce qui concerne 4.3BSD-Tahoe vous ne pouvez pas l' émuler tel quel car il n'y a pas de port pour le VAX mais il existe un fork de 4.3BSD-Tahoe spécifique au VAX, qui s'appelle 4.3BSD-Quasijarus.

4.4BSD, la version Open Source de BSD du CSRG

4.4BSD-Alpha

En juin 1992, sort 4.4BSD-Alpha, comme son nom l'indique, c'est une version bêta, c'est un peu les fondements de ce que va être 4.4BSD. Cette version se base sur 4.3BSD Net/2 en y ajoutant des améliorations et des modifications.

4.4BSD et 4.4BSD-Encumbered

Le 1 juin 1993, est publié 4.4BSD et 4.4BSD-Encumbered, 4.4BSD est dépourvue de tout code source provenant de AT&T, donc utilisable librement selon la licence BSD mais cette version est incomplète alors que 4.4BSD-Encumbered (encumbered veut dire encombré) est une version complète et pleinement utilisable, comprenant le code source USL (Unix System Laboratories) de AT&T, USL fût crée pour l'élaboration de UNIX System V Release 4.0 (version commerciale d' UNIX® d' AT&T), donc 4.4BSD-Encumbered est destinée aux personnes, organisations, entreprises ayant une licence USL de AT&T.

4.4BSD Lite

La version 4.4BSD Lite plus précisément 4.4BSD Lite Release 1 est publiée le 1 mars 1994, cette version est complètement purgée de tout code source provenant de AT&T donc complètement libre, exclusivement sous licence BSD, 4.4BSD-Lite contient un important nombre d'ajouts et d'améliorations par rapport à 4.4BSD-Encumbered. Cette distribution BSD, selon la licence BSD est complètement libre de droit, librement redistribuable et modifiable par tout le monde. Parmi les BSD descendants directement de 4.4BSD-Lite on peut citer trois versions Open Source gérés par des organisations, NetBSD 1.0, FreeBSD 2.0 et OpenBSD 2.0 (qui descends plus précisément de NetBSD 1.1) et une version commerciale, BSD/OS 2.0 de l' entreprise BSDi (Berkeley Software Design, Inc), désormais abandonné, entreprise qui a été fondé par Rick Adams et des membres du CSRG, tels que Keith Bostic, Kirk McKusick, Mike Karels, Bill Jolitz, Donn Seeley pour ne citer qu'eux, en 1991.

4.4BSD Lite Release 2

La dernière version BSD du CSRG, 4.4BSD-Lite Release 2 est sortie en juin 1995, après quoi, le CSRG de l' UCB (Université de Californie à Berkeley) a été dissous et se fait il n'y a eu plus aucun développement du système BSD à l' Université de Berkeley. 4.4BSD-Lite Release 2 à bénéficier d'innombrables ajouts, améliorations et modifications que je ne peux pas les citer, il faudrait un livre pour décrire 4.4BSD. Étant sous licence permissive, plus précisément sous licence BSD, le code source de 4.4BSD-Lite Release 2 a été utilisé par des particuliers, des organisations comme le système GNU/Linux, des entreprises, en particulier par l' OS macOS (aciennement Mac OS X) pour Mac et tous les autres systèmes qui en découlent, iOS pour iPhone, iPadOS, watchOS, tvOS…(tous ses systèmes ayant pour base de code 4.4BSD-Lite Release 2), de l' entreprise Apple et même l' entreprise Microsoft qui a à minima implémentée la pile TCP/IP de 4.4BSD à partir de Windows 2000 pour citer les systèmes d' exploitation les plus populaires et en ce qui les UNIX® commercials, Oracle Solaris (anciennement Sun Solaris) d' Oracle intègre beaucoup de code source de 4.4BSD-Lite Release 2, ainsi que AIX (Advanced Interactive eXecutive) d' IBM, HP-UX (Hewlett Packard Unix) de HP (Hewlett Packard) et j'irais même jusqu'à dire que les 3/4 des systèmes d' exploitation actuels intègrent du code source de 4.4BSD.

Il est important de mentionner que 4.4BSD a été dès le début prévu pour fonctionner sur plusieurs architectures processeurs différentes, comme l' Intel i386, Motorola M68k, Sun SPARC, architecture MIPS…, les architectures processeurs les plus populaires à cette époque.

Systèmes d'exploitation BSD basés sur 4.3BSD Net/2

Les distributions BSD Open Source actuelles

Les systèmes d'exploitation BSD actuels sont de véritables systèmes UNIX car ils ont des liens de parentés direct avec l' UNIX de AT&T mais officiellement se sont des Unix-like (OS de Type Unix). Vous trouverez une liste des distributions BSD libres. Évidement comme tout OS de type Unix, les BSD gèrent le multi-utilisateur et le multitâche préemptif.

La plupart des distributions BSD acutelles se basent sur 4.4BSD-Lite Release 2, en voici une liste :

Résumé de la généalogie de Unix en image :

Chronologie Unix