À demande du professeur d'informatique Bob Fabry, l’Université de Californie à Berkeley (UCB) à acheter un PDP-11/45 de l'entreprise DEC (Digital Equipment Corporation) et à acquis pour une somme modique une licence
Unix (Unix version 5) en 1974.
Grâce à l'argent du projet de base de données Ingres, un ans plus tard a été acheté un PDP-11/70 de plus grande taille.
En 1975, Ken Thompson a pris un congé sabbatique des Bell Labs et est venu à Berkeley en tant que professeur
invité. Il a aidé à installer Unix version 6 et a commencé à travailler sur une implémentation du langage de programmation Pascal pour le système. Les étudiants diplômés Chuck Haley et Bill Joy ont amélioré le Pascal de Thompson et implémenté
un éditeur de texte amélioré, ex. D'autres universités
ont eu un vif intérêt
pour les logiciels de Berkeley.
Bill Joy a commencé à compiler
la première distribution BSD (Berkeley Software Distribution) appelée 1BSD, qui fut publiée
le 9 mars 1978. 1BSD n'était pas une distribution Unix complète mais simplement un ensemble de logiciels pour Unix version 6 contenant un compilateur de Pascal amélioré
et un éditeur de texte nommé ex (l'ancêtre de vi).
La distribution 2BSD a été publiée
en mai 1979, elle comprenait des mises à jour des logiciels de 1BSD en particulier une amélioration du compilateur de Pascal et de nouveaux
logiciels, en autres deux logiciels développer par Joy, l'éditeur de texte vi (une version visuelle
de ex) et le C shell (shell unix utilisant une syntaxe plus proche du langage C et bénéficiant d'un historique
de commandes), puis la bibliothèque et base de données Termcap (terminal capability). 2.xBSD est la branche spécifique
au mini-ordinateur DEC PDP-11, elle se termina par la version 2.11BSD qui reçoit encore à l'heure actuelle
des correctifs de sécurité
. Le dernier correctif de sécurité (481) est paru le 28 avril 2023.
En 1978, un ordinateur DEC VAX a été installé à Berkeley mais le seul Unix disponible pour cette architecture
était UNIX/32V des Bell Labs qui ne supportait pas les fonctionnalités
de mémoire virtuelle offerte par le VAX, c'est une des raisons pour laquelle l'UCB à développé 3BSD en fin d'année 1979 et crée un nouveau
noyau basé sur celui de 32V, réécrit
en grande partie par Özalp Babaoğlu (étudiant diplômé
de Berkeley) qui inclue une implémentation de mémoire virtuelle, les utilitaires de 2BSD portés sur le VAX et les utilitaires standards de 32V. 3BSD est la première version de BSD à être un système d'exploitation complet et non plus quelques logiciels pour agrémenter une version d'Unix. 3BSD était également appelé Virtual VAX/UNIX ou VMUNIX (pour Virtual Memory Unix) et les images
du noyau BSD ont été appelées /vmunix au lieu de /unix sur l'Unix des Bell Labs, se nom donné au noyau à perdurer
jusqu'à la dernière version de BSD (4.4BSD).
En parallèle 2.79BSD basé sur Unix verion 7 et avec des utilitaires
de 3BSD est sorti en avril 1980. C'était une distribution de logiciels spécifique
au PDP-11.
En 1979, la DARPA (Defense Advanced Research Projects Agency) souhaitait unifier
les systèmes d'exploitation utilisés par les centres américains de recherche en informatique connectés au DARPAnet. C'est à ce moment que Berkeley proposa à la DARPA de développer
une version améliorée
de 3BSD pour résoudre se problème. En conséquence, 4BSD fut crée en novembre 1980, comprenant les utilitaires
de 3BSD et supportait
les VAX les plus récents
, un nouveau
système de courrier électronique (Delivermail), un interpréteur de LISP, le contrôle des tâches du C shell (csh), les signaux fiables et la bibliothèque de programmation Curses. La plupart des organisations
achetaient une licence
32V pour pouvoir commander
4BSD sans même se soucier
d'obtenir une bande 32V. C'est également après l'accord
passé avec la DARPA que le professeur
Bob Fabry créa le Computer Systems Research Group (CSRG).
4BSD est une version qui a été jugée trop lente
par rapport à l'OS VMS (Virtual Memory System) de DEC et qui de se fait a été rapidement remplacée par 4.1BSD paru en juin 1981, pour répondre au critique de 4BSD. Le noyau de 4.1BSD a été systématiquement mis au point par Bill Joy jusqu'à ce qu'il puisse fonctionner aussi bien
que VMS sur plusieurs benchmarks. À la base 4.1BSD devait s'appeler 5BSD mais suite aux objections de AT&T le nom a été modifié
pour 4.1BSD pour éviter toutes confusions
avec l'UNIX System V de AT&T.
Coté PDP-11, 2.8BSD paru en juillet 1981, toujours basé sur la V7 avec des apports
de 4.1BSD.
Entre 4.1BSD et 4.2BSD il y eu trois versions
bêta intermédiaires: 4.1aBSD, qui incorporait une version modifiée
de l'implémentation
préliminaire de TCP/IP de BBN (Bolt, Beranek and Newman); puis 4.1bBSD en juin 1982, qui incluait un nouveau
système de Fichiers du nom de Berkeley Fast File System, implémenté
par Marshall Kirk McKusick; et 4.1cBSD en avril 1983 était une version
intermédiaire au cours des derniers mois du développement de 4.2BSD. À noter
que 4.1cBSD a été le système de base de Unix version 8 des Bell Labs.
En 1983, avant la sorti de 4.2BSD paru 2.9BSD qui était un portage logiciel indirect de 4.1BSD, le noyau utilise une série complexe d'overlays pour s'adapter au PDP-11. Contrairement aux versions
précédentes de BSD pour le PDP-11, cest la première version
de la branche 2.xBSD à être un système d'exploitation complet qui ne repose pas sur une installation
préalable de la V6 ou V7 des Bell Labs.
Pour guider la conception
de 4.2BSD, Duane Adams de DARPA a crée un comité
composé de Bob Fabry, Bill Joy et Sam Leffler de l'UCB, Alan Nemeth et Rob Gurwitz de BBN, Dennis Ritchie de Bell Labs, Keith Lantz de Stanford, Rick Rashid de Carnegie Mellon, Bert Halstead du MIT, Dan Lynch de l'ISI et Gerald J. Popek de l'UCLA. Ce comité
s'est réuni d'avril 1981 à juin 1983. À noter
que Bill Joy à quitter le CSRG de l'UCB pour rejoindre
l'entreprise Sun Microsystems.
C'est en août 1983 que la version officielle
de 4.2BSD vu le jour
, elle incluait la pile TCP/IP de Berkeley conçu
par Bill Joy et non pas
celle de BBN, le nouveau
système de fichiers Berkeley Fast File System (FFS); et incluait également plusieurs fonctionnalités
de contributeurs
externes, notamment les quotas de disque et le contrôle des tâches. Cette version
de BSD intégrait tellement d'améliorations
, de nouvelles fonctionnalités
,qu'elle devint extrêmement populaire
, de sorte que beaucoup
d'utilisateurs de UNIX System V migrèrent
vers 4.2BSD, surtout pour la pile TCP/IP qui n'existait pas chez l'Unix d'AT&T dans l'attente que celle-ci y soit intégrée
.
4.3BSD a été publié
en juin 1986, qui incluait une pile TCP/IP beaucoup plus mature
, le système de fichiers FFS fut encore amélioré
, et de nombreux correctifs de performances ont été intégrés
. 4.3BSD est cité comme le meilleur
logiciel jamais écrit
et pour cause
sa pile TCP/IP a été reprise
par tous les Unix basé sur System V, les descendants de BSD, GNU/Linux, Microsoft Windows, et bien d'autres
… L'internet tel qu'on le connait actuellement
repose à l'origine
sur le protocole et la pile TCP/IP de 4.3BSD.
En avril 1987 paru 2.10BSD, version
élaborée par un un consortium du CSRG et de l' association
USENIX qui était basé sur 4.3BSD adapté pour tous les modèles de PDP-11 avec une gestion
de la mémoire. 2.10BSD implémentait les appels système BSD, inode, mémoire principale et mise en cache d'échange, la prise en charge de QBUS 22 bits, disque RAM, pilote de périphérique MSCP ( UDA50, KLESI, etc.), l'espace utilisateur de 4.3BSD (bibliothèques et applications). La seule ombre au tableau est que 2.10BSD ne supportait pas encore la mise en réseau.
4.3BSD-Tahoe fut publié en juin 1988, c'est une version
par rapport à 4.3BSD qui mettait l'accent sur la portabilité
de son code source, ce qui conduit à une séparation
du code dépendant de la machine
et indépendant de la machine
dans BSD, qui améliorait considérablement la portabilité
du système. Ce qui a poussé le CSRG à creer 4.3BSD-Tahoe est le fait que BSD voulait s'éloigner de la plateforme
vieillissante VAX et utiliser à la place la plateforme
Power 6/32 (nom de code « Tahoe ») développée par Computer Consoles Inc. qui semblait prometteuse
à l'époque, mais a été malheureusement abandonnée
par ses développeurs peu de temps après. Mais au final le portage
de 4.3BSD-Tahoe a été très utile pour les versions
ultérieures de BSD.
Jusque-là, toutes les versions
de BSD avaient du code propriétaire AT&T Unix en son sain
et étaient donc soumises à une licence
logicielle AT&T. Les licences AT&T étaient devenus très coûteuses
et plusieurs parties extérieures à l'UCB avaient exprimé un vif intérêt
pour une version
distincte du code réseau qui avait été exclusivement développée
par le CSRG et ne contenait donc aucun
code provenant de AT&T. Ce qui a motivé le CSRG à publier Networking Release 1 (4.3BSD Net/1) en juin 1989, qui a été mise à la disposition
des non-titulaires
de licence
du code AT&T et était librement redistribuable
selon les termes
de la licence BSD. Net/1 était la première distribution BSD totalement libre
au niveau du code source.
4.3BSD-Reno est sorti en juin 1990, c'était une version intermédiaire
(déconseillée
en production) au cours des premiers développements
de 4.4BSD. Le nom Reno fait référence au centre de jeu de Reno du Nevada. 4.3BSD-Reno s'est explicitement orientée vers la conformité
POSIX, parmi les nouvelles fonctionnalités
figuraient une implémentation
NFS (Network File System) de l'Université de Guelph, une touche d'état (“Ctrl-T”) et la prise en charge
de la gamme d'ordinateurs HP9000, provenant du port
HPBSD de l'Université de l'Utah.
Networking Release 2 (4.3BSD Net/2) a été publié en juin 1991, c'est le développeur
Keith Bostic qui a proposé que davantage de code non AT&T du système BSD soit publié sous la même licence
que Net/1, la license BSD. À cette fin tous les utilitaires standards d'Unix ont été réimplémentés
(réécrit) en dix-huit mois sous licence BSD. Par exemple l'éditeur de texte vi qui était basé
sur la version Unix originale de ed, a été réécrit
en nvi (new vi). nvi est encore l'éditeur de texte par défaut
de tous les descendants actuels
de BSD Unix. Il a été déterminé qu'il y avait seulement six fichiers
liés au noyau AT&T manquants, de se fait Net/2 était un système d'exploitation presque complet
, librement distribuable
étant sous licence BSD.
La dernière version pour PDP-11 est 2.11BSD et a été publié
en février 1992, cette version
ne fonctionne que sur les PDP-11 avec le mode Superviseur. 2.11BSD à la même base que 2.10BSD avec toutefois quelques mises à niveau. Par rapport à 2.10BSD, 2.11BSD apporte
une prise en charge complète
de la mise en réseau provenant de 4.3BSD en mode Superviseur, une prise en charge des noms de fichiers longs et les applications venant de 4.3BSD qui étaient manquantes
dans 2.10BSD. 2.11BSD continue de recevoir
des correctifs de sécurité, le dernier correctif n° 481
a été publié
le 28 avril 2023.
émulables
avec l'émulateur/simlateur SimH de Bob Supnik qui se trouve ici, vous avez même la possibilité
de connecter
4.2BSD, 4.3BSD, 4.3BSD-Tahoe (via 4.3BSD Quasijarus) et 4.3BSD-Reno pour le VAX et 2.11BSD pour le PDP-11 à Internet en choisissant
une version spécifique
de SimH pour la mise en réseau. Il existe
également une version
de SimH nommé
Open-SimH avec encore plus d'ordinateurs old school
, par contre, il faut compiler l'émulateur.
À partir de Net/2, le couple Lynne et William Jolitz tous deux d'anciens élèves
de Berkeley ont crées
386BSD spécifique
à l'architecture Intel 80386 en créant
en autres les six fichiers
manquants au noyau BSD de 4.3BSD Net/2, 386BSD est sorti
le 17 mars 1992. Plusieurs versions
de 386BSD se sont succédées
. 386BSD ne fonctionnait
pas comme certains utilisateurs
de se système le voulait, c'est pourquoi ils ont proposés des correctifs
et des améliorations
sous forme de patchkit mais le couple Jolitz n'était pas enclin
à les appliquer à leur système, c'est pourquoi deux organisations
externe se sont crées
pour creer leur propre système d'exploitation tous deux basés
à la base sur 386BSD. NetBSD a vu le jour en avril 1993 et FreeBSD en novembre 1993.
En parallèle de 386BSD est né BSD/386 en avril 1992 (renommé
plus tard BSD/OS) de l'entreprise Berkeley Software Design, Inc (BSDi), c'était à la base un OS prévu pour fonctionner
sur Intel 80386 (comme 386BSD). Derrière cette entreprise
il y avait des membres très influents
du CSRG et William Jolitz mais se dernier à vite déchanté
quand il c'est rendu compte que le seul but
de BSDi était de vendre
son système d'exploitation, système propriétaire qui plus est. BSDi vendu son OS BSD/386 au prix de 995 $ US
avec le code source soit beaucoup moins cher
qu'une licence
d'UNIX System V de AT&T.
En avril 1992, l'entreprise BSDi et Les régents de l'Université de Californie se sont rapidement retrouvé en procès juridique
face à Unix System Laboratories (USL) pour la propriété intellectuelle
liée au système d'exploitation Unix ce qui a provoqué une injonction
sur la distribution de Net/2 jusqu'à ce que la validité des revendications de droits d'auteur
d'USL sur le code source puisse être déterminée
. Le procès
dura deux ans
ce qui freina
considérablement le développement
des logiciels libres descendants de BSD, affaire qui propulsa GNU/Linux qui était exempt
de tous code source AT&T, les utilisateurs
des systèmes BSD libres se sont tourné vers GNU/Linux, craignant
d'avoir des ennuis à cause du procès
. GNU/Linux prit un avantage
qu'il a conservé
depuis.
En juillet 1993, Novell acheta USL de AT&T ce qui conduit à un règlement à l'amiable
en 1994 avec BSDi et les régents de l'Université de Californie. Au final, sur les 18 000 fichiers
de la distribution Net/2, seuls trois
ont dû être supprimés
et 70 modifiés
pour afficher les mentions de droits d'auteur de l'USL. Une autre condition
du règlement était que l'USL n'intenterait pas de nouvelles poursuites
contre les utilisateurs
et les distributeurs
de la prochaine version 4.4BSD-Lite.
préciser
que se procès
, n'empêcha pas le CSRG de continuer son développement
de 4.4BSD.
En août 1992, 4.4BSD-Alpha est sorti
, puis le 1 juin 1993 c'est au tour de 4.4BSD et 4.4BSD-Encumbered de voir le jour. 4.4BSD-Encumbered a été publié
uniquement pour les titulaires
de licence USL car elle contenait du code source de AT&T.
4.4BSD-Lite Release 1 a été publié
le 1er mars 1994, cette version était dépourvu
de code AT&T, ne nécessitant donc plus de licence source USL et elle contenait de nombreux autres changements
par rapport à la version originale
4.4BSD-Encumbered. C'est la première version
totalement libre
(open source) uniquement sous licence BSD.
4.4BSD-Lite Release 2 a été publié
en juin 1995, c'est la dernière version
développée par le CSRG, après quoi le CSRG à été dissous
et le développement
de BSD à Berkeley a cessé. Dès lors plusieurs variantes
basées directement
ou indirectement
sur 4.4BSD-Lite sont encore maintenues
, parmi les systèmes les plus courant
on peut citer: FreeBSD, NetBSD, OpenBSD et DragonFly BSD.
Quelques anciens
systèmes Unix étant basés sur BSD (les plus populaires
): SunOS de Sun, Dynix de Sequent, NeXTSTEP (l'ancêtre de macOS) de NeXT, Ultrix de DEC et pour finir BSD/386 devenu BSD/OS (avec comme nouvelle base 4.4BSD-Lite) de BSDi puis de Wind River après le rachat de BSDi.
Parmi les systèmes d'exploitation BSD libres (open source) en plein développement
, les principaux
système sont:
remplacé
par 4.4BSD-Lite puis FreeBSD 3.0 a prit comme base 4.4BSD-Lite 2.dérivé
de BSD lancé en 1993, était basé à l'origine sur 386BSD 0.1 et 4.3BSD Net/2. À partir de NetBSD 1.0 la base
de code Net/2 a été remplacé
par 4.4BSD-Lite, puis à la sortie
de NetBSD 1.4 le système à totalement migré
vers la base
de code 4.4BSD-Lite 2.dérivé
de NetBSD 1.0 donc basé dès le départ sur 4.4BSD-Lite. La première version officielle
est OpenBSD 2.0 publiée
le 1er octobre 1996.nouveau
système de threading et SMP (Symmetric multiprocessing) de FreeBSD 5 peu performant
et difficile
à maintenir. Ce projet
est la continuation logique de FreeBSD 4. Le système à bien divergé
de FreeBSD.fonctionner
sur des microcontrôleurs tels que le PIC32.basé
à l'origine sur Rhapsody qui était basé sur 4.4BSD, Rhapsody est un descendant
de NeXTSTEP de NeXT qui était basé sur 4.3BSD (4.3BSD-Tahoe puis 4.3BSD-Reno). Acuellement macOS utilise les utilitaires standards d'Unix provenant de FreeBSD et utilise
un noyau enrichi hybride du nom de XNU (basé
sur le noyau Mach 3 et utilisant
le noyau BSD de FreeBSD en tant que service du système d'exploitation).partiellement libre
(le système de base Darwin) mais tous les logiciels spécifiques
à Apple (comme iTunes) ne le sont pas.