FreeBSD

Un article de Wikipédia, l'encyclopédie libre.
Aller à : navigation, rechercher
FreeBSD
Logo
Page d'accueil de FreeBSD.
Page d'accueil de FreeBSD.

Famille BSD
Type de noyau Noyau monolithique modulaire
État du projet en développement
Plates-formes i386, x86-64, SPARC, SPARC64, ALPHA, AMD64, IA-64, PC98, PowerPC, ARM architecture
Entreprise /
Développeur
The FreeBSD Project
Licence Licence BSD
États des sources Open source
Dernière version stable 10 (21 janvier 2014) [+/−]
Dernière version avancée 10.0-Bêta 3 (3 novembre 2013) [+/−]
Site web www.freebsd.org

FreeBSD est un système d'exploitation UNIX libre. Le nom vient de l'association d'une part de free qui signifie à la fois « libre » et « gratuit » dans l'anglais courant, et d'autre part de Berkeley software distribution (BSD), l'UNIX développé à l'université de Berkeley. Free prend un sens plus connoté dans ce nom : il signifie que le logiciel peut être utilisé gratuitement même pour un usage commercial, que les sources complètes sont disponibles et utilisables avec un minimum de restrictions quant à leur usage, leur distribution et leur incorporation dans un autre projet (commercial ou non), et enfin que n'importe qui est libre de soumettre son code source pour enlever un bug ou améliorer le logiciel, ce code étant incorporé aux sources après accord.

L'objectif du projet FreeBSD est de fournir un système qui peut servir à tout, avec le moins de restrictions possibles.

Historiquement, les développeurs se sont focalisés pendant un temps sur la plate-forme i386 au sens large (x86) et les performances, c'est-à-dire les temps de réponses du système pour n'importe quelle sollicitation. En 2010, FreeBSD est utilisable et soutenu par la communauté sur un grand nombre de plates-formes : Alpha, AMD64, ARM, i386 (architecture i386 ou x86, incluant les Pentium), ia64 (la famille de processeurs Intel Itanium et Itanium 2), x86-64, MIPS, PC98 (architecture NEC PC-98x1), PowerPC, SPARC (architecture UltraSPARC de Sun Microsystem) et Xbox.

FreeBSD offre des possibilités avancées en termes de réseau, de performance, de sécurité et de compatibilité. Il y a notamment une compatibilité binaire Linux et Windows NT (XP inclus). La première permet l'exécution de programmes compilés sur une plateforme GNU/Linux, la seconde permet l'utilisation des pilotes Windows NT des cartes réseau sans fil Wi-Fi. Le logiciel est un standard industriel sur le marché des serveurs. De nombreux fournisseurs d'accès, hébergeurs et organismes utilisent FreeBSD, parmi lesquels Walnut Creek CDROM, Yahoo! Inc. ou Netcraft. Le 24 mai 1999, l'équipe du serveur miroir ftp.cdrom.com a annoncé avoir battu la veille leur record de transfert de données[1] pour un serveur : 1,33 tébioctets en 24 heures.

Histoire[modifier | modifier le code]

FreeBSD tire ses origines de l'UNIX de Berkeley. Beaucoup de l'organisation humaine, de l'idéologie et des événements du Computer Systems Research Group (en) (CSRG) sont restés dans FreeBSD et se transmettent.

Le projet est lancé en 1993 sur la base de 386BSD, et la version 1.0 est disponible en production dès novembre 1993. L'équipe de Yahoo! cherche alors un système d'exploitation stable et performant. Ils le trouvent avec FreeBSD 2, qu'ils installent sur un Pentium 100 puis sur l'ensemble de leurs ordinateurs, comme le raconte David Filo[2], cofondateur de Yahoo!

Depuis, l'hébergeur met à disposition plusieurs serveurs pour la communauté FreeBSD.

FreeBSD 3 importe du code de 4.4BSD-Lite release 2, qui est la dernière publication faite par l'université de Californie à Berkeley (UCB). FreeBSD devient particulièrement mûr et performant avec les versions 4, jusqu'à la dernière (4.11) parue en janvier 2005[3].

Une grande quantité de nouveautés apparaît avec les versions 5, mais Matthew Dillon, en désaccord avec d'autres membres de la core team (les développeurs dirigeants)[réf. souhaitée] décide de continuer la version 4 avec une nouvelle équipe sous le nom de DragonFly BSD. Parmi ces nouveautés, on compte : une architecture multiprocesseurs nouvelle génération (SMPng, Symmetrical Multi-Processor scheduler next generation) avec des temps de latences plus courts, la possibilité d'exécuter en mode kernel plusieurs programmes, le système de fichiers UFS2, un système de politiques de sécurité en provenance de Trusted BSD[4].

Les versions 6 apparaissent en novembre 2005. Elles continuent entre autres le travail sur le système SMP (Symmetrical Multi-Processor scheduler), les threads, et la sécurité. Le système de fichiers est maintenant multi-threadé, et les processeurs 386 ne sont plus gérés. Il y a trois releases (publications) en 2006 et une en 2007.

La version 7.0 sort le 27 février 2008[5] et la 8.0 en novembre 2009[6]. Parmi les nouveautés importantes figure le nouvel ordonnanceur, SCHED_ULE, optimisé pour les machines multiprocesseurs sans diminution des performances en monoprocesseur. Cette version a néanmoins été critiquée pour l'intégration tardive de la propolice au sein du kernel[7].

Versions[modifier | modifier le code]


Développement[modifier | modifier le code]

Beaucoup est resté de l'époque Berkeley Software Distribution et du CSRG avec, entre autres, de grandes parties des sources, des sources sont publiées avec le système, des décisions prises par un groupe réduit de développeurs. Les développeurs sont dispersés dans le monde entier. Les sources de toutes les branches depuis la version 2.2 jusqu'aux dernières expérimentations de CURRENT sont en permanence disponibles sur les serveurs. Il est même possible de télécharger les sources d'une branche telles qu'elles étaient à une date précise.

L'équipe[modifier | modifier le code]

Le développement se fait d'une manière assez hiérarchisée. La core team rassemble des développeurs élus qui décident de l'évolution générale de FreeBSD. Ils sont actuellement neuf, et on compte 29 anciens (depuis 1992) qui continuent à contribuer. Les élections se tiennent tous les deux ans ; la dernière (en 2009) s’est déroulée en juillet 2008[8].

Les autres équipes sont responsables de :

  • la sécurité (sept membres) ;
  • des releases (une équipe principale et autant d'équipes que de plates-formes) ;
  • de la documentation ;
  • de la gestion des ports ;
  • des dons.

Certains développeurs font partie de plusieurs équipes, par exemple core team et release engineering team.

FreeBSD compte en novembre 2006 :

  • environ 370 développeurs (dont les membres de la core team) qui ont accès en écriture aux sources officielles ; ce sont les FreeBSD committers, terme venant de la commande commit du programme CVS (Concurrent Version System), qui permet de transmettre les modifications sur le serveur central ;
  • 1905 contributeurs sans privilège ;
  • un certain nombre d'utilisateurs et testeurs, parmi lesquels des individus, des organismes, des fournisseurs d'accès et des hébergeurs en général.

Il y a régulièrement des importations et exportations de code entre les systèmes BSD (FreeBSD, NetBSD, OpenBSD, DragonFly BSD). Par conséquent, les développeurs BSD en général participent au code des BSD. Il y a plusieurs raisons à cela : tous ont pour ancêtre commun 4.4BSDLite et ont une architecture proche - en moyenne bien plus que deux distributions GNU/Linux, et tous ont la même licence BSD.

D'autres licences proches comme celle de Solaris permettent également des flux de code. Dtrace, un outil Solaris qui permet de voir d'une manière arbitraire tout ce qui se passe dans le système, est ainsi en train d'être porté sur FreeBSD :

  • Devon O'Dell a commencé une grande partie du travail[9] ;
  • John Birrell principalement le continue :
    • l’avancement peut être suivi sur la page du projet[10],
    • fin mai 2006, 793 sur 1039 tests que DTrace réalise sous Solaris, réussissent sous FreeBSD.

Apple a utilisé une grande partie du système version 5, et a participé en retour à l'ajout de fonctionnalités[11]. Il y a donc une communauté de développeurs FreeBSD - au sens large - très importante.

L'organisation[modifier | modifier le code]

FreeBSD a trois étiquettes pour les sources :

  • HEAD, version en développement sans restriction (version 7 jusqu'à l'été 2007) ;
  • RELENG_x, version en développement mais à l'architecture fixée ;
  • RELENG_x_y, version de production mise à jour.

Au numéro x correspond donc une architecture ou une branche. Au numéro y correspond une release. Tous les quatre à six mois, les sources d'une branche sont gelées pour préparer une release, étiquetée RELEASE.

Pour un système compilé :

  • HEAD devient CURRENT ;
  • RELENG_x devient FreeBSD-x-STABLE ;
  • RELENG_x_y devient FreeBSD-x.y-RELEASE au moment de la release, et FreeBSD-x.y-RELEASE-p1, puis p2, etc avec les mises à jour.

Pour un système FreeBSD de production, les FreeBSD-x.y-RELEASE-pz sont les mieux indiqués. FreeBSD-CURRENT est tout à fait expérimental[12] et contient des fonctionnalités qui ne sont que susceptibles d'être présentes dans la prochaine branche.

Les personnes qui utilisent FreeBSD-CURRENT sont :

  • les développeurs actifs qui travaillent de manière spécialisée sur les sources ;
  • les testeurs de la communauté qui participent à l'assainissement de FreeBSD-CURRENT, qui proposent aussi des directions d'évolution de FreeBSD, ainsi que des patches (portions de code source) ;
  • les personnes qui plutôt suivent l'évolution de FreeBSD, ce qui peut être une activité à plein temps, et éventuellement proposent des patches.

L'organisation du développement et de la communauté fait que le support de FreeBSD est très réactif, notamment en matière de sécurité. Quelques minutes ou heures en général séparent la découverte d'une faille dans la sécurité et le moment où les sources sont corrigées sur le serveur principal.

Le système[modifier | modifier le code]

FreeBSD est un système d'exploitation à part entière qui comprend le noyau, une partie utilisateur, et les sources. Les programmes ne faisant pas partie de FreeBSD comme Apache et Firefox sont dans le système de ports. Les logiciels importants comme le serveur graphique X11, les gestionnaires de fenêtres comme FluxBox et les environnements de bureau tel que KDE sont intégrés comme packages (port précompilé) dans les cédéroms de publication de FreeBSD.

FreeBSD est publié en grande majorité sous licence BSD, et sous licence GPL (GNU General Public Licence). Les sources protégées par la licence GPL sont dans un répertoire séparé.

Les « ports »[modifier | modifier le code]

Il s'agit d'une des grandes forces de FreeBSD. Chaque port est un ensemble de fichiers informatifs précisant où trouver les sources d'une application, éventuellement quelles corrections apporter, comment compiler, et quels sont les programmes ou bibliothèques dont l'application dépend (ces programmes et bibliothèques sont simplement appelées dépendances). Par extension, un port est une application portée sur FreeBSD. À l'été 2013, il y a plus de 24 000 ports.

Chaque port peut être installé sous forme binaire ou package (système équivalent aux fichiers .rpm, .deb, etc. des distributions GNU/Linux) ou compilé depuis les dernières sources (équivalent des pkgsrc de NetBSD). Le système est fait de telle manière qu'avec une seule commande, les sources de l'application et des dépendances sont téléchargées, compilées et installées sur le système d'exploitation.

Depuis 2008, l'environnement Java de Sun Microsystems est disponible pour les plates-formes i386 et AMD64 (Java Runtime Environment/JRE et Java Development Kit/JDK) en version 1.6. La fondation FreeBSD a négocié une licence auprès de Sun Microsystems pour une distribution précompilée de cet environnement.

Projets associés et personnalisations de FreeBSD[modifier | modifier le code]

  • TrustedBSD est créé en 2000 par Robert Watson, membre de la core team. Il s'agit d'un ensemble d'extensions de FreeBSD et a pour tâche de développer des services de sécurité et d'audit du code source. Régulièrement des éléments de TrustedBSD sont intégrés à FreeBSD.
  • (en) NanoBSD fait partie de FreeBSD. C'est un système FreeBSD de taille très réduite pour un usage spécialisé.
  • PC-BSD est une release 6.1 personnalisée avec une interface d'installation "plus facile".
  • DesktopBSD est une autre personnalisation de FreeBSD qui se focalise sur une utilisation de bureau, opposée à une utilisation comme serveur.
  • FreeNAS est une distribution qui permet d'utiliser un ordinateur pour réaliser du stockage en réseau NAS.

Trois cédéroms avec système utilisable sans installation sur disque dur (LiveCD) existent : d'une part FreeSBIE du groupe italien GUFI,Frenzy BSD, un projet russe documenté en français (Frenzy en français), ainsi que le récent GhostBSD.

Pénétration des marchés[modifier | modifier le code]

FreeBSD est considéré comme un standard industriel dans le marché des serveurs. Il n'y a pas de données maintenues sur les utilisateurs du système d'exploitation, mais des organismes d'observation comme Netcraft (qui a tous ses serveurs sous FreeBSD) permettent d'effectuer des évaluations qualitatives.

De grandes parties d'internet (Netblock owners) sont sous FreeBSD :

  • Yahoo!, qui comprend HotJobs.com Ltd, Altavista ou Geocities ;
  • Rackspace.com ;
  • Isle, Inc ;
  • Bayerischer Rundfunk ;
  • Japan Network Information Center ;
  • ViaNet Communications ;
  • Hopemoon Co, Ltd ;
  • Full Internet Provider.

D'anciens utilisateurs (ou actuels mais non confirmés) de FreeBSD sur serveurs sont :

L'utilisation de FreeBSD pour un usage domestique, sans être confidentielle, est bien plus modérée auprès du grand public que le système GNU/Linux.

Pourtant, FreeBSD fait fonctionner les logiciels qui ont largement aidé à populariser les systèmes GNU/Linux, parmi lesquels le serveur graphique X associé à l'espace bureautique et de fenêtrage KDE, la suite bureautique OpenOffice.org, le navigateur web Firefox.

D'autres facteurs entrent en jeu. Sans prétention d'exhaustivité, de hiérarchie quant à l'impact, il y a vraisemblablement :

  • la médiatisation, à laquelle ont participé de grandes entreprises comme IBM, Microsoft, Novell ou RedHat, des organismes d'état et les différents médias qui relayent les sujets sélectionnés ;
  • une synergie entre des mouvements : logiciel-libre, un contre courant par rapport à Microsoft et aux solutions propriétaires ;
  • la licence : parfois jugée trop libre, elle permet à des entreprises comme Apple ou Microsoft d'intégrer du code FreeBSD à leur système d'exploitation.

Sans être décisif, un logo ou un slogan est un porte parole qui par la répétition et la force de l'image aident à marquer les esprits.

Le daemon BSD (beastie)[modifier | modifier le code]

Le personnage rouge et souriant est le daemon BSD. Dans le contexte des systèmes UNIX, les daemons — d(isk) a(nd) e(xecution) mon(itor) — sont des programmes de maintenance travaillant en arrière plan et ne nécessitant pas d'intervention humaine. Si daemon était entre le milieu du XVIe siècle et le XIXe siècle l'orthographe d'usage pour demon, aujourd'hui ces deux termes diffèrent. Dans les anciennes croyances grecques daemon désignait une divinité, un être surnaturel, un génie ou ange gardien. En revanche demon (démon en français) a une connotation diabolique. Le terme daemon est réapparu dans les années 1980 avec les débuts d'UNIX, ce avec la même ancienne connotation grecque. Le daemon BSD à la fois revêt l'apparence d'un démon (avec les cornes, et la queue pointue) et incarne un daemon par son apparence bienveillante.

Le daemon BSD s'appelle officiellement beastie, ce qui se prononce comme BSD en anglais. Le nom erroné de Chuck a été employé pendant un temps, à l'origine par Walnut Creek CD-ROM. John Lasseter (écurie Pixar, réalisateur et producteur de Toy Story et 1001 pattes) créa le premier l'image de beastie. Depuis 1988 les droits sur le daemon BSD sont détenus par Marshall Kirk McKusick, ancien développeur à l'UC Berkeley Computer Systems Research Group (CSRG). L'image de beastie ci-contre a été créée par Poul-Henning Kamp, ancien membre de la core team.

Comparaison avec GNU/Linux[modifier | modifier le code]

Cette section ne cite pas suffisamment ses sources (mai 2010). Pour l'améliorer, ajouter en note des références vérifiables ou les modèles {{Référence nécessaire}} ou {{Référence souhaitée}} sur les passages nécessitant une source.

FreeBSD et GNU/Linux sont deux systèmes de type Unix. Alors que FreeBSD tend à être entièrement conçu par une seule équipe, chaque composant de GNU/Linux est développé par une équipe différente. De cette manière la cohésion de ces composants est assurée d'office dans le cas de FreeBSD tandis que sous GNU/Linux elle se révèle très complexe, c'est pourquoi il existe des distributions GNU/Linux, qui sont des systèmes préassemblés dans le but d'être plus rapidement fonctionnel pour l'utilisateur.

Entre les deux systèmes, la nomenclature des périphériques diffère, de même que quelques commandes, ou encore l'arborescence du système de fichiers. C'est typiquement le même genre de différences que l'on peut trouver entre deux distributions GNU/Linux très différentes.

L'ensemble des distributions GNU/Linux étant très hétérogène, il est extrêmement difficile de le comparer à une seule entité. Cependant tout comme quelques distributions GNU/Linux, FreeBSD entend fournir un système simple, rapide, stable, sûr, à destination des utilisateurs qui ont déjà une bonne connaissance des systèmes informatiques (par exemple si lors de l'installation l'utilisateur a choisi d'installer un environnement graphique, il ne sera pas configuré automatiquement ni lancé au démarrage par défaut). À ce titre, FreeBSD se rapproche de Gentoo par exemple.

FreeBSD est très loin de l'installation en quelques clic d'Ubuntu, qui est parfaitement fonctionnel fraîchement installé et déjà équipé de tous les logiciels de base pour une utilisation domestique. C'est ce que propose PC-BSD, un système FreeBSD pré-installé pour une utilisation bureautique, à l'image d'une distribution GNU/Linux.

De nombreux débats ont lieu sur la sécurité, les performances et diverses qualités de ces systèmes[15].

FreeBSD possède quelques atouts face aux distributions GNU/Linux :

  • La séparation de la base du système et des applications tierces permet en quelque sorte de bénéficier des avantages d'une distribution en publication continue pour ce qui est des applications, tout en maintenant un système de base particulièrement stable. En quelque sorte, les avantages conjoints d'une Debian et d'une Archlinux.
  • Le système des jails, intégré au système de base, est activable instantanément.
  • le système de fichiers ZFS, qui est actuellement l'un des plus puissants disponibles, est intégré à FreeBSD depuis 2008.

Cependant, les distributions GNU/Linux sont en train de rattraper ces quelques retards :

  • Les containers LXC sont devenus moins difficiles à mettre en œuvre, grâce aux Dockers
  • L'utilisation de ZFS sur un noyau Linux est possible à travers ZFS on Linux[16]. De plus, Btrfs le prochain système de fichiers natif pour noyau Linux reprend une grande partie des fonctionnalités de ZFS, mais n'est pas encore considéré comme stable pour la production.

Inversement, FreeBSD essaie de rattraper le retard qu'il avait sur GNU/Linux concernant les hyperviseurs avec le tout récent bhyve (en), la gestion des paquets binaires avec pkgng[17] et le support des cartes graphiques avec l'intégration du Kernel-mode Setting.

Notes et références[modifier | modifier le code]

Voir aussi[modifier | modifier le code]

Sur les autres projets Wikimedia :

Articles connexes[modifier | modifier le code]

Bibliographie[modifier | modifier le code]

Références[modifier | modifier le code]

  1. Oxford American dictionary, 2005.
  2. Oxford American thesaurus, 2005.
  3. (en) Evi Nemeth, Unix system administration handbook, 3rd edition,‎ septembre 2000, 896 p. (ISBN 978-0-13-020601-5, résumé).
  4. (en) Chris DiBona et al., Open sources : voices from the open source revolution, O'Reilly,‎ janvier 1999, 280 p. (ISBN 978-1-56592-582-3, résumé)
  5. Le site officiel freebsd.org et sa version traduite en français freebsd.org/fr/.

Bibliographie supplémentaire[modifier | modifier le code]

En anglais[modifier | modifier le code]

Technique[modifier | modifier le code]
    • The Design and Implementation of the FreeBSD Operating System. Marshall Kirk McKusick and George V. Neville-Neil, Addison Wesley Professional, 2004.
Générale[modifier | modifier le code]
    • The Complete FreeBSD, Greg Lehey. L'ouvrage est depuis le 24 février 2006 disponible en ligne.
    • BSD Hacks, 100 Industrial-Strength tips for BSD users and administrators. Dru Lavigne. O'Reilly, 2004.
    • The FreeBSD Laptop Compatibility List : liste de compatibilité entre FreeBSD et les ordinateurs portables.
    • FreshPorts : un portail avancé sur les ports.

En français[modifier | modifier le code]