Traduction par : GEDsismik, Meister et FranSix
""
"" Article d'origine : http://www.tribug.org/bsd.html
- ""Qu'est-ce que BSD ?""
- ""Prélude""
- ""Les premiers BSD""
- ""4BSD""
- ""4.4BSD-Lite""
- ""Après Berkeley""
- ""BSD et Linux""
- ""Objectifs des BSD""
"""" ====Qu'est-ce que BSD ?====
BSD signifie Berkeley Software Distribution. BSD a été créé en 1977 par le CSRG (Computer Systems Research Group) situé à l'Université de Californie à Berkeley. Le développement a commencé comme supplément à la Sixième Edition Unix des Laboratoires Bell.
En 1973, le professeur Robert Fabryde de l'Université de Californie à Berkeley a été impressionné par une présentation de Ken Thompson, le père des premiers systèmes UNICS PDP-7 en 1969. Avec ses efforts et les ressources des départements d'informatique, statistique et mathématiques, un PDP-11/45 a été acheté en 1973, et un étudiant diplomé, Keith Standiford, y installa Unix Quatrième Edition en janvier 1974.
Suite aux demandes de maths et statistiques, la journée a été découpée en tranche de 8 et 16h, pour que Unix et DEC RSTS tournent alternativement (Unix ayant la plus petite partie). Fabry et les autres optèrent pour acheter un PDP-11/70s pour l'instruction de l'informatique, et il arriva en automne 1975. A ce moment, Ken Thompson commenca une année sabbatique à Berkeley et lui, Bob Kridel et Jeff Schriebman installèrent Unix Sixième Edition dessus.
Quand Thompson retourna à BTL, un étudiant diplomé nommé Bill Joy continua le développement de la sixième édition du système. Vers la fin de 1977, il commenca à préparer une cassette consistant en un compilateur Pascal Unix et un éditeur de texte nommé ex. Cette cassette, d'un format tp standard et coutant $50 //[NDT: environ 40 euros (soit 269 FF)]//, a été appellé Berkeley Software Distribution (BSD).
Après avoir écrit csh et vi, ils incluèrent ex et le compilateur Pascal dans la seconde release de la distribution, 2BSD, une année plus tard. 2BSD devait être la dernière branche supportant la série de machine DEC PDP.
En 1978, DEC annonce le VAX. Le professeur Richard Fateman et les autres préparaient une proposition de NSF à utiliser, avec des fonds du département, pour acheter un DEC VAX 11/780. Ils installèrent initialement 32V, un port VAX d'Unix Sixième et Septième Edition, qui ne supportait pas la pagination. En 1979, Ãzalp Babaoglu et Domenico Ferrari développèrent un système de pagination, et avec l'aide de Joy, il fut incorporé dans le système de base. Joy commenca à produire la distribution d'un système complet avec des ajouts de 2BSD et 3BSD sortit vers la fin de l'année 1979.
Au même moment, le DARPA (Department of Defense Advanced Research Project Agency) tourne son attention sur Unix, à cause de sa portabilité sur des multiples architectures. Cherchant une base commune, il contracte avec Berkeley l'inclusion dans 4BSD d'améliorations de performances.
Les requètes de DARPA ne s'arretèrent pas là . Ils voulaient aussi un système de fichier (filesystem) plus rapide et incorporer le réseau TCP/IP. Joy et un autre étudiant, Kirk McKusick, commencèrent à travailler sur une version plus rapide du système de fichiers Unix, lequel a historiquement démontré un affaiblissement de son débit après un certain temps même en utilisation modérée. Ce système de fichiers rapide devint le Berkeley Fast FileSystem (FFS), qui montrait un augmentation significative du débit et gaspillait moins d'espace disque par l'usage de la fragmentation des blocs. Ce système de fichiers gérait également mieux sa liste de blocs libres. Plusieurs implémentations UFS actuelles sont basées sur le design FFS.
Joy implémenta aussi les API (basées sur le travail fait par BBN) pour supporter la demande de DARPA pour le protocole TCP/IP. FFS et le réseau TCP/IP, avec un modèle de signal fiable, fut incorporé dans 4.2BSD en 1983. 4.3BSD est sorti en juin 1986, suivi par des améliorations variés et un support matériel résultant des versions 4.3BSD-Tahoe, -NET/1, -Reno et -NET/2.
En même temps, la version PDP-11 de BSD, lequel supportait UNIX Sixième Edition, continua son développement dans la branche 2BSD. La branche 4BSD inclut le support des VAX, des séries de mini-ordinateurs Computer Consoles Inc. Power 6 Tahoe (commencé avec le 4.3BSD-Tahoe) et à partir de 4.4BSD, le motorola 68K, Sun SPARC, MIPS et les architectures Intel PC. La branche 2BSD supporte exclusivement le Digital PDP-11. La dernière version de la branche 2BSD (2.11BSD) est sortie en 1992. Steven Schulz maintient activement cette version jusqu'à ce jour avec une série de patchs.
"""" ===4.4BSD-Lite ("BSD Goes Open-Source" ou "BSD devient Open-Source")===
4.4BSD est sorti en juin 1993 et inclut le support de l'architecture Intel i386 ainsi que le nouveau sous-système de mémoire virtuelle basé sur [[http://www.gnu.org/software/hurd/gnumach.html Mach]]. Il a été divisé en deux versions: une version "complète" ("encumbered") qui inclut les sources de Bell Labs et requiert une licence logicielle UNIX pour l'obtenir ; et une version "allégée" ("unencumbered") appellée 4.4BSD-Lite qui ne contient pas de code AT&T. Le 4.4BSD-Encumbered était prévu mais une action en justice de Unix System Laboratories (USL, la subdivision logicielle de AT&T responsable de System V et des logiciels Unix connexes) alla à l'encontre de la sortie du 4.4BSD-Lite. L'action en justice a été résolue une année après (quand Novell eu racheté USL et qu'il n'y eu plus intéret à la continuer plus longtemps).
Après cela, le CSRG de Berkeley a été dissout par manque de fonds. Ce qui fait que 4.4BSD-Lite 2 a été la dernière vraie version de Berkeley.
Le jeu de patches 386BSD, développé par Bill et Lynn Jolinz et basé sur 4.3BSD-NET/2, a été influent dans l'origine de FreeBSD et NetBSD. Après un temps, ces patches n'étaient plus activement maintenus et en définitive, les projets FreeBSD et NetBSD continuèrent leurs propres développements. En conséquence, BSD/OS (autrefois BSD/i386), développé par Berkeley Software Design Inc., a été exclusivement dérivé de 4.3BSD-NET/2.
D'autres systèmes ont été historiquement dérivés de BSD ou contiennent du code BSD, à commencer par les versions plus récentes des UNIX de Bell Laboratories Research eux-même. En 1982, Bill Joy, un des premiers architectes des systèmes BSD, formait [[http://fr.sun.com Sun MicroSystems]] avec trois autres individus. Il prit 4.1BSD avec lui et Sun/OS fut développé pour le support de la ligne de micro-ordinateurs Sun. [[http://www.cmu.edu/ Carnegie Mellon]] //[NDT: une université américaine]// basa son système MACH sur 4.2BSD (et réciproquement, quand Berkeley basa certains des 4.3BSD-Reno sur MACH 2.5). MACH 2.5 forma aussi la base de NeXTStep et les OSF/1 et DEC UNIX de Digital. De plus, des élements de MACH existent dans les incarnations actuelles de BSD (bien que FreeBSD ait gardé le système de mémoire de MACH, NetBSD et OpenBSD l'ont remplacé par [[http://www.netbsd.org/fr/Documentation/kernel/uvm.html l'implémentation UVM]] de Charles D. Cranor).
Le travail sur FreeBSD, NetBSD et BSD/i386 s'appuye sur les sources de 4.3BSD-NET/2, mais quand Berkeley sort le 4.4BSD-Lite (après quelques batailles juridiques), le travail d'intégration de 4.4BSD-Lite dans ces dérivés commence. NetBSD fut le premier à finir l'intégration en octobre 1994, et put réellement s'appeller "4.4BSD-Lite based". BSD/386 et FreeBSD adoptèrent les changements introduits par 4.4BSD-Lite en janvier 1995; les deux atteignirent leur version 2.0 et BSD/386 changea également de nom pour BSD/OS.
En 1995, Berkeley sortit 4.4BSD-Lite, Release 2, une version corrective de 4.4BSD-Lite, qui fut la dernière version officielle du CSRG. BSD/OS fut le premier à incorporer ces modifications. A la même époque, Theo De Raadt, membre du Core Team de NetBSD, quitte le projet pour fonder OpenBSD, qui se base sur NetBSD 1.1. NetBSD est le prochain à prendre en compte les changements apportés par 4.4BSD-Lite2 au début 1998 avec NetBSD 1.3. OpenBSD le fera avec OpenBSD 2.3 à la mi-1998, suivi par FreeBSD 3.0 à la fin de l'année. A ce moment, les quatres principaux projets BSD se fondent sur 4.4BSD-Lite2.
En 1997, Apple Computers, intéressé par BSD et Unix après son rachat de NeXT en décembre 1996, produisit un dérivé de 4.4BSD-Lite2 nommé Rhapsody en 1997. Ce qui finit, avec l'aide de FreeBSD et NetBSD, par devenir Darwin, un système fondé sur le micro-noyau MACH revêtu d'une interface mimant 4.4BSD-Lite2. Le cofondateur et membre du Core Team de FreeBSD Jordan Hubbard fut à la tête de ce développement. Darwin constitue le coeur de la série des systèmes MacOS X.
Dans un monde technologique où Linux devient un mot courant et s'attire le soutien de compagnies renommées telle IBM, il est important de ne pas se tromper et de comprendre que BSD n'est pas Linux, et vice versa. Chacun a ses différences. Sur le plan organisationnel, BSD, dans tous les projets passés et présents, a été et reste guidé par des choix de conception établis par un noyau de participants et poursuit son amélioration sans oublier ces décisions. Les choix de conception de Linux émanent du seul jugement de Linus Torvald et leur respect, historiquement, a été plus mollement imposé. Le revers de la médaille en est que les améliorations sont ajoutées à sa seule discrétion.
Malgré la popularité de Linux, de nombreuses personnes ne prennent toujours pas conscience qu'il ne s'agit que d'un noyau, et qu'il n'est utilisable qu'une fois intégré, par un distributeur ou manuellement, avec un ensemble d'utilitaires et de bibliothèques. La plupart des distributions Linux reposent sur le projet GNU de la Free Software Fundation pour fournir la plupart de ces composants, bien que des projets plus modestes apparurent pour utiliser un noyau Linux avec des utilitaires et bibliothèques BSD. Richard Stallman a mis en avant la dépendance envers les outils GNU, peut-être à tort, pour justifier l'appellation "GNU/Linux" pour le système, alors que Linus Torvald considère celle-ci comme encore incomplète, citant les contributions de BSD et d'autres projets comme tout autant nécessaires à l'existence de Linux. BSD, par contre, est un système complet comprenant non seulement un noyau mais aussi ses propres bibliothèques, utilitaires, documentation, etc. De nombreuses personnes considèrent que l'approche "noyau seul" est la meilleure, mais cela ne marcherait tout simplement pas dans le cas de BSD. L'intégration des utilitaires et bibliothèques avec le noyau permet aux dérivés de BSD d'évoluer plus naturellement et plus indépendamment que si les différents morceaux du système était partagés entre de multiples organisations.
Le développement de Linux est parti de zéro, à la fin 1991. Bien qu'il ait attiré les masses de "hackers" et de programmeurs hobbyistes, il a naturellement connu un histoire mouvementée quant à la stabilité de sa couche réseau et l'efficacité de sa mémoire virtuelle, jusqu'à ce que les bugs existants et ceux introduits par les ajouts de code furent résolus. BSD, de son côté, bénéficie d'un code qui a subi l'épreuve du temps, stable et performant. De nombreux bugs et problèmes potentiels sont résolus depuis des années. BSD continue également à évoluer, plus récemment avec le développement du support multi-processeurs, l'implémentation des mises à jour des métadonnées différée dans FFS et le développement d'UFS2 par Kirk McKusick, qui a maintenant intégré les branches de travail de la plupart des BSDs.
Linux, en raison de son attractivité pour les "hackers", bénéficie d'un développement plus vigoureux et supporte de ce fait les nouveaux matériels avant la plupart des BSDs. FreeBSD, toutefois, reste dans la course pour ce qui est de l'architecture i386 et une nouveauté est généralement supportée au bout d'un temps relativement court.
Les différents BSDs actuels ont leurs propres objectifs, et ceux-ci peuvent être trouvés sur leurs sites Internet respectifs. En résumé:
FreeBSD a historiquement été conduit à exclusivement supporter l'architecture i386 d'Intel, bien qu'un [[http://www.freebsd.org/platforms/alpha.html support du DEC Alpha]] existe depuis la version 3.0-RELEASE et un [[http://www.freebsd.org/platforms/sparc.html support de Sparc]] est maintenant disponible. Ainsi, un nouveau matériel i386 est supporté à un débit relativement plus rapide que les autres BSD. FreeBSD supporte aussi le très grand subset de POSIX.1-2001 et les spécifications ANSI C99.
NetBSD ("Of course it runs NetBSD!" soit "Bien sûr que NetBSD tourne là -dessus !") avait pour objectif premier d'être le système le plus portable au monde et il l'est à l'extrême. En juillet 2002, le port vers [[http://www.netbsd.org/Ports/ 52 architectures]] existe pour ce BSD. Si vous êtes le fier propriétaire d'une machine qui maintenant prend de la place dans le sous-sol, il est fort probable que NetBSD la supporte.
OpenBSD est le résultat des efforts de Theo de Raadt quand il quitta l'équipe noyau de NetBSD en 1996. L'objectif de OpenBSD a été centré autour de la sécurité proactive, la portabilité et l'intégration de la cryptographie. Le projet OpenBSD est responsable de la création du programme populaire OpenSSH.
BSDi, qui est récemment devenu [[http://www.windriver.com WindRiver]], fournit un système d'exploitation BSD/OS (ce qui était par le passé BSD/386) commercial. Ceci est évidemment une bonne voie pour les entreprises voulant profiter d'un système BSD avec un support technique.
[[Darwin]] est le nom du micro-noyau fondamental associé au système d'exploitation MacOS X de Apple, lequel fournit une interface système BSD sur une interface système MacOS classique. Il fournit la possibilité aux utilisateurs d'Apple de profiter d'une interface MacOS avec l'ajout des bénéfices d'un système BSD. Il est basé sur 4.4BSD-Lite2 et MACH, et inclut les contributions des communautés FreeBSD et NetBSD.
[[DragonflyBSD DragonFly BSD]] commença par un fork de la branche FreeBSD 4-RELEASE par Matt Dillon (ancien développeur pour le projet FreeBSD). C'est un projet de plusieurs années toujours en action, mais qui semble améliorer les mécanismes de paquetage des applications, implémentant un mécanisme de thread noyau léger utilisant des primitives de passage de jetons à la place de mutexes et qui créé une API d'échange de messages.
2.11BSD était la dernière version de CSRG pour la ligne de système DEC PDP-11. Cette version a été maintenu avec une série de niveaux de patches par Steven Schultz. C'est un pré 4.4BSD-Lite et requiert une licence source UNIX.
[[QuasijarusBSD 4.3BSD Quasijarus]] est un fork de la version 4.3BSD-Tahoe, la dernière version de CSRG avec pour but le support de VAX. Michael Sokolov maintient ce projet avec ce but en place et le projet Quasijarus a quatre versions : 0 (27/12/1998), 0a (10/10/1999)), 0b (07/12/2003) et 0c (15/02/2004). C'est un pré 4.4BSD-Lite et requiert une licence source UNIX.
Last updated on Sat Apr 26 18:45:58 CEST 2008