| |
FreeBSD : un meilleur Linux que
Linux ! |
|
On ne présente plus Linux,
le système d'exploitation compatible Unix
et entièrement gratuit conçu pour les
machines équipées de processeurs Intel
386 et suivants. Développé par le jeune
Finlandais Linus Torvalds et une poignée
de volontaires rencontrés sur Internet,
Linux devient à juste titre de plus en
plus populaire.
Linux a même les faveurs
de la presse américaine depuis que Netscape,
IBM ou HP s'y intéressent sérieusement.
Même Microsoft est tout
content de prouver à la justice américaine
qu'il ne détient pas de monopole sur le
marché des systèmes d'exploitation en
exhibant Linux comme faire-valoir.
Par contre, tout le monde
semble avoir oublié FreeBSD, le plus ancien
et probablement le plus stable des systèmes
d'exploitation gratuite. Tout le monde
sauf deux des sites Internet les plus
visités au monde comme http://www.yahoo.com
et http://www.cdrom.com
qui n'ont trouvé que FreeBSD pour supporter
de tels volumes de données en ligne. Au
mieux, ceux qui en ont entendu parler
s'imaginent qu'il s'agit d'une simple
distribution de Linux, comme une Caldera,
Slackware ou Red Hat. Non, FreeBSD est
bien plus que cela
FreeBSD est un système
d'exploitation haut de gamme dérivé de
BSD ou Berkeley Software Distribution
, la version Unix développée par le Computer
Systems Research Group de l'Université
of California de Berkeley entre 1975 et
1993. FreeBSD n'est pas un clone UNIX
comme Linux. Historiquement et techniquement,
il a de plus fortes raisons de s'appeler
Unix qu'un Unix System V par exemple.
Il n'a plus légalement le droit de s'appeler
UNIX qui est désormais une marque déposée
de l'Open Group ( http://www.opengroup.org )
Si BSD acquiert une telle
importance aujourd'hui, c'est avant tout
parce qu'il est le premier système d'exploitation
à avoir accueilli des couches TCP/IP en
1983. C'est à cette époque que DARPA (Defense
Advanced Research Projects Agency ), l'agence
à l'origine du projet ARPANET, le futur
INTERNET, crée la firme privée Bolt, Beranek
& Newman (BBN)
pour implémenter les couches réseau TCP/IP
à l’intérieur du système d’exploitation
Berkeley BSD Unix. La grande histoire
d’amour Unix + TCP/IP remonte donc à cette
époque. Quel système d'exploitation
contemporain, à part BSD, peut s'enorgueillir
de seize années de développement du standard
TCP/IP, épine dorsale de l'Internet ?
Le modèle de développement
de BSD est similaire à celui de tous les
projets Open Source mais se distingue
singulièrement du modèle Linux. Chaque
BSD a son équipe de base, son "core"
team qui prend collégialement des décisions
et pilote le projet. Un nombre plus étendu
de "Committers" a le droit d'apporter
des changements au code source originel.
La gestion du code source est assurée
par le mécanisme CVS qui permet à plusieurs
développeurs de travailler sur les mêmes
contenus sans interférer l'un sur l'autre.
Via le programme 'cvsup', les utilisateurs
peuvent télécharger le code source des
nouvelles révisions ou régénérer une version
plus ancienne.
- Le projet FreeBSD est conduit par
un groupe de 100 développeurs dirigés
par un "core team" de 17 personnes.
Ce noyau dur de développeurs garantit
à FreeBSD une convergence, une gestion
centralisée, une stabilité qui manquent
dans les versions de Linux confrontées
à des développements plus anarchiques,
des incompatibilités entre distributions
etc. Le FreeBSD core team assume le
rôle joué par Linus Torvalds qui gère
seul et autocratiquement l'avenir du
kernel Linux.
- FreeBSD est complètement gratuit. Le code source du système d'exploitation
est fourni dans le package de base.
Le code source Linux est aussi public
mais est soumis aux conditions d'utilisation
plus restrictives de la GNU Public License
qui oblige à inclure les sources de
chaque altération de l'OS. Avec FreeBSD,
vous n'êtes pas obligés de joindre le
code source tant que vous mentionnez
clairement les emprunts que vous avez
réalisé.
- FreeBSD est un système d'exploitation 32 bits de A à Z. N'oubliez
pas par exemple que Windows 98 contient
encore énormément de portions de code
16 bits dans son kernel même s'il a
été conçu pour accueillir des applications
32 bits.
- Il propose un multitâche préemptif
avec ajustement dynamique des priorités
des processes. Windows 3 est un système
multitâche mais de type coopératif.
Cela signifie que toutes les applications
se partagent une seule queue de messages
et que chaque application a la responsabilité
de passer la main aux autres tâches.
Si une application ne prend pas soin
de rendre la main aux autres, si elle
se perd dans une boucle de longue durée
ou contient un bug qui l'empêche de
se comporter correctement, l'ensemble
des autres tâches n'a plus accès au
temps CPU. Dans un système multitâche
préemptif, c'est le système d'exploitation
lui-même qui, via le Task Scheduler,
détermine quelle application prend le
contrôle du processeur en fonction de
niveaux de priorité. C'est ce même Task
Scheduler qui distribue le temps CPU
entre toutes les tâches.
- FreeBSD est multiuser. C'est probablement ce qui manque le plus à
Windows NT qui ne dispose pas de plusieurs
consoles simultanées et ne contient
pas en standard de serveur Telnet..
- FreeBSD est doté de couches TCP/IP très élaborées comportant notamment
le support SLIP ( Serial Line Internet
Protocol), PPP ( Point to Point Protocol
), NFS ( Network File System ) et NIS.
FrreBSD propose les applications les
plus populaires chez les ISP comme sendmail
pour la gestion du serveur SMTP, Apache
pour le daemon HTTP, Bind/named pour
le serveur DNS, squid comme serveur
proxy etc. Des services routing, firewalling,
network address translation de très
bonne qualité sont également fournis.
- Memory protection . Le memory manager fournit
un mécanisme de protection de la mémoire
empêchant une application de manipuler
un espace mémoire qui appartient à une
autre application.
- Gestion performante de la virtual
memory. Chaque programme a à sa
disposition un espace mémoire adressable
linéaire découpé en pages de 4 KB. Ces
pages peuvent être chargées et déchargées
de la mémoire, placées sur disque via
une procédure appelée page fault.
Chaque fois qu'une application tente
d'accéder à une page qui n'est pas physiquement
présente en mémoire, une page fault
est générée. Le noyau FreeBSd se charge
alors de la charger en mémoire en déchargeant
éventuellement de la mémoire des pages
qui n'ont plus été utilisées depuis
longtemps pour faire de la place à la
nouvelle application
- Gestion des Shared libraries ( l'équivalent Unix des librairies
dynamiques MS-Windows DLLs)
- Outils de développement C, C++, Fortran, Perl, fournis en standard
- Une interface graphique est disponible gracieusement sur http://www.xfree86.org . Les window managers
les plus classiques comme kde
(http://www.kde.org/ ) , enlightenment (http://www.enlightenment.org/ ),
fvwm (http://www.fvwm.org/
), fvwm95, windowmaker (http://www.windowmaker.org/
) et afterstep (http://www.afterstep.org/
) sont proposés en version native FreeBSD.
- 2300 applications ont été portées sur FreeBSD et sont utilisables
gracieusement. Il faut y ajouter toutes
les applications SCO Unix, BSDI et Linux
qui tournent sous FreeBSD en émulation.
Ajoutons que les applications Linux
sont quelquefois plus performantes dans
l'environnement FreeBSD. FreeBSD supporte
les formats ELF et les files systems
Linux. A titre anecdotique, votre serviteur
a par exemple pu récemment récupérer
sur une machine FreeBSD les données
d'un disque dur "ext2fs" qu'une
distribution linux Slackware n'arrivait
plus à réparer.
- L'installation de FreeBSD est nettement
plus simple qu'une installation Linux.
Une seule disquette d'installation suffit
quelle que soit votre configuration
disque (IDE, SCSI, ATAPI) ou réseau.
La création des partitions et swapfile
est automatique. Un seul programme :stand/sysinstall
gère la totalité des composants du système
d'exploitation.
Comme Windows NT, FreeBSD
remonte à 1993. S'il n'a pas percé aussi
médiatiquement que Linux, c'est pour des
raisons légales. En 1992, AT&T et
son Unix Systems laboratories déposent
une plainte contre BSD Inc. pour distribution
de code source ATT en violation des accords
entre AT&T et l'Université de Berkeley.
Le développement de FreeBSD en a été retardé
puisque FreeBSD s'est vu dans l'obligation
de retirer les pans de code développés
par AT&T et de les réécrire complètement.
C'est ce qui a été fait dans la version
2 de FreeBSD en 1994.
FrreBSD en est aujourd'hui
à la version 3.2 disponible depuis mai
1999. Ses principales nouveautés sont
- Le support USB et AGP
- Le support natif des partitions NTFS
|
Quel BSD ? |
|
Nous avons recensé cinq variantes de
BSD : BSDI, FreeBSD, NetBSD, OpenBSD et
PicoBSD. Ils ont tous le même héritage
du University California Berkeley 4.4BSD
mais se sont spécialisés.
Au départ du projet BSD open source,
deux clans se sont constitués : NetBSD
voulant se concentrer sur une version
portable et multi plate-forme tandis que
FreeBSD voulait une version de l'OS optimalisée
pour les processeurs Intel. BSDI a repris
le code source et s'est transformée en
société commerciale proposant un Unix
dont les sources ne sont plus ouvertes.
OpenBSD est une branche dissidente de
NetBSD spécialisée dans les domaines de
la sécurité et de la cryptographie. PicoBSD
est une variante de FreeBSD conçue pour
tenir sur un seul floppy disk.
|
Mac
OS X et BSD |
|
Avec
l'annonce en avril du projet Darwin, Apple
est le premier géant de l'industrie informatique
à publier complètement le code source
d'un système d'exploitation, le Mac OS
X server, et à le placer sous licence
Open Source à l'abri de coûteuses licences
propriétaires. Le projet Darwin veut réunir
le meilleur de deux mondes : la solidité
d'un serveur back office Unix et la convivialité
de l'interface graphique Macintosh.
Mac
OS X est entièrement basé sur des technologies
Open Source. Au centre de Mac OS X, on
retrouve le micro noyau Mach 2.5 et 4.4BSD-Lite,
relevé d'un ensemble de programmes additionnels
comme le serveur HTTP Apache et le support
des file systems Unix et Macintosh. Contrairement
aux autres systèmes Unix, Mac OS X n'est
pas fourni avec une interface graphique
XWindow mais avec sa propre interface
à la Macintosh.
Apple vend Mac OS X Server seul au prix
de USD499. Un Macintosh Server G3 configuré
avec Mac OS X Server coûte lui USD4,999
pour une configuration avec
·
Processeur
400-MHz PowerPC G3 avec 1MB de cache backside,
·
256MB
de PC100 SDRAM,
·
deux
disques durs 9GB 10,000-rpm Ultra2 LVD
SCSI,
·
un
connecteur Ethernet 10/100BASE-T et une
carte PCI Ethernet 10/100BASE-T à quatre
ports,
·
un
lecteur CD-ROM drive
·
Mac
OS X Server software (preinstallé) avec
un nombre illimité de licences, Appletalk,
HFS+, la base de données distribuée NetInfo
Une
version d'évaluation est librement accessible
aux développeurs sur http://www.apple.com/darwin
http://publicsource.apple.com/projects/darwin/release.html
|
Mach
|
|
L'ancêtre
des systèmes d'exploitation portables
est indiscutablement MACH. Windows NT
en a largement adopté la philosophie.
Dès 1979, Richard Rashid, de la Carnegie-Mellon
University, s'est attaqué à la conception
d'un système d'exploitation modulaire,
conçu comme une collection de processus
communiquant entre eux au sein d'un réseau
par l'échange de messages. En 1984, il
décide d'apporter à Mach la compatibilité
UNIX lui offrant ainsi un grand volume
d'applications disponibles. Mach contient
déjà des threads, un mécanisme de communication
inter-processus, un support multi-processeurs
et un système original de mémoire virtuelle.
DARPA, l'Agence pour les Projets
de Recherche Avancés du Département Américain
de la Défense, s'intéresse bientôt à
Mach et finance la fusion de Mach et du
Berkeley Unix 4.2BSD en un seul et unique
noyau. Cette première mouture de Mach
débouche en 1986 sur une version dédiée
au VAX 11/784, un système composé de quatre
processeurs. Suivent rapidement des versions
pour l'IBM PC/RT, Sun 3, Encore et Sequent.
Le microkernel de Mach a été pensé
comme une plate-forme susceptible d'accueillir
d'autres systèmes d'exploitation: Unix
4.3 BSD, Unix System V, HP/UX et MS-DOS.
L'émulation des systèmes d'exploitation
hôtes est prise en charge par une couche
logicielle tournant en dehors du noyau,
dans l'espace utilisateur
Dans
un recoin verdoyant de la Silicon Valley,
la société Walnut Creek CDROM Inc, est
l'heureuse propriétaire du plus populaire
des sites d'archives de logiciels ftp://ftp.cdrom.com . En mai 1999, ftp.cdrom.com a atteint des
piques incroyables d'un terabyte de données
téléchargé chaque jour avec des pointes
quotidiennes de 750000 utilisateurs. Le
record absolu pour un dimanche est un
montant de download atteignant 1.39TB
sur un tout nouveau réseau Gigabit Ethernet
et de bons vieux PC Intel équipés de FreeBSD.
|
Cadre D Yahoo et FreeBSD
Le projet Yahoo a démarré à la Stanford
University sur une station DEC Alpha
box tournant sous OSF et une Sparc 20
sous SunOS. Le système a fonctionné une
année sans trop de problèmes même si ces
stations n'étaient pas réellement architecturées
pour supporter un tel nombre de requêtes
HTTP. Lorsque Yahoo Inc quitte Stanford
pour voler de ses propres ailes, le choix
des stations serveurs se porte sur des
systèmes SGI IRIX, Linux, et BSDI. Les
résultats en terme de "scability"
HTTP n'étant toujours pas probants, Tim
Koogle, CEO de Yahoo, et son équipe découvrent
le site FreeBSD, téléchargent la disquette
de démarrage, rebootent le PC et se retrouvent
quelques questions plus loin connectés
à Internet. Nous citons le même Tim Koogle
"it was the easiest and most painless
OS installs I had ever experienced. "
Quelques jours plus tard,
un PC équipé de FreeBSD entre en production,
dépasse les performances du reste du parc
informatique et s'avère plus stable à
longue échéance. Ce simple Pentium100
équipé de FreeBSD 2.0.5 a désormais fait
place à 1000 serveurs équipés de FreeBSD
2.1. Pour Yahoo, la stabilité et les performances
comptent bien plus que le prix du système
d'exploitation. Deux exemples vous situeront
aisément le niveau de stabilité et de
performance du système :
Les machines gérant en
moyenne 4 millions de requêtes HTTP par
jour sont rebootées en moyenne tous les
180 jours.
Un PentiumPro 200 avec
128 MB de mémoire vive et un système de
disk striping est capable de gérer à lui
seul 12 millions de requêtes par jour
!
Cadre E FreeBSD au cinéma The Matrix
Jurassic
Park s'est construit à l'ombre de centaines
de stations Silicon Graphics, Titanic
a réclamé deux cent machines Linux mais
le dernier film à succès de Warner Bros,
The Matrix, n'a nécessité que 32 Dell
Precision 410 Dual P-II/450 tournant sous
FreeBSD. La société Manex Visual Effects,
célèbre depuis ses effets 3D dans Starship
Troopers, n'avait pas assez de puissance
avec son infrastructure SGI, pour supporter
tous les rendus 3D réclamés par sa dernière
production. Son patron et visionnaire
Charles Henrich, affirme avoir reçu ses
32 PC un mercredi et avoir lancé les machines
en production le samedi.
http://www.mvfx.com/
http://www.whatisthematrix.com/
Cadre F OpenBSD
OpenBSD est une variante
BSD supportant la compatibilité binaire
avec SVR4 (Solaris), FreeBSD, Linux, BSDI,
SunOS, et HPUX. OpenBSD est une dissidence
FreeBSD gérée par Theo de Raadt
La
version actuelle remontant à mai 1999
est baptisée 2.5 et est disponible pour
les processeurs suivants
- DEC Alpha,
- modèles Amiga m68k,
- machines Mips R4K et R5K y compris les plates-formes ARC,
- Hewlett-Packard HP300/HP400,
- PC à base d'Intel i386, 486, Pentium et compatibles,
- MC680x0 Apple Macintosh,
- Motorola MVME147/16x/17x 68K VME,
- machines DEC MIPS,
- PowerPC
- SPARC ( modèles Sun4, Sun4c et Sun4m )
- Sun's 68020 based Sun3 models.
- Acorn ARM6+ computers.
- Atari TT et Falcon
- NS32532 computer.
- Sun 68030 Sun3
- DEC's VAX
- SHARP X680x0 m68k
- Motorola MVME18x/19x 88K VME cards
- IBM PC RT
- MIPS Silicon Graphics workstations.
- Hewlett-Packard PA-RISC HP700/HP800
http://www.openbsd.org
Cadre G NetBSD
NetBSD est un autre dérivé
BSD à la portabilité maximale. Il tourne
sous
|
Port
|
CPU
|
Machines
|
|
alpha
|
alpha
|
Digital Alpha (64bit)
|
|
amiga
|
m68k
|
Commodore Amiga, MacroSystem DraCo
|
|
arm32
|
arm32
|
Acorn RiscPC/A7000, CATS, Digital
Shark, EBSA-285, VLSI RC7500
|
|
atari
|
m68k
|
Atari TT030, Falcon, Hades
|
|
bebox
|
powerpc
|
Be, Inc BeBox
|
|
hp300
|
m68k
|
Hewlett-Packard 9000/300
et 400
|
|
i386
|
i386
|
i386 IBM PCs et clones
|
|
mac68k
|
m68k
|
Apple Macintosh
|
|
macppc
|
powerpc
|
Apple Power Macintosh
|
|
mvme68k
|
m68k
|
Motorola MVME 68k SBCs
|
|
newsmips
|
mips
|
Sony NEWS 3400
|
|
next68k
|
m68k
|
NeXT 68k 'black' hardware
|
|
ofppc
|
powerpc
|
PowerPC avec OpenFirmware
|
|
pc532
|
ns32k
|
PC532
|
|
pica
|
mips
|
Acer Pica
|
|
pmax
|
mips
|
Digital MIPS DECstations
et DECsystems
|
|
sparc
|
sparc
|
Sun SPARC
|
|
sparc64
|
sparc
|
Sun Ultrasparc (64bit)
|
|
sun3
|
m68k
|
Sun 3 et Sun 3x
|
|
vax
|
vax
|
Digital VAX
|
|
x68k
|
m68k
|
Sharp X680x0
|
Là où FreeBSD vise l'efficacité
maximale sur machines Intel, le projet
NetBSD vise plutôt la portabilité. NetBSD
a eu son heure de gloire lorsque Apple
l'a exploité comme noyau central de son
projet Rhapsody.
http://www.netbsd.org
Cadre H Pico BSD FreeBSD
sur une seule disquette
Un
vieux 386SX avec 8 MB de RAM sans disque
dur suffit à satisfaire PicoBSD 0.42,
la version de FreeBSD qui tient sur une
disquette 1.44 MB. PicoBSD se décline
en quatre versions optimisées pour les
accès dial-up, le réseau local, le routage
ou même pour les serveurs d'accès.
En
une disquette, vous trouvez
- Support PPP
- IP Firewalling
- Network Address Translation
- ifconfig, route, ping, ns (mini-netstat),
traceroute
- telnet, ftp et SSH
- shell, mount (FreeBSD, DOS, Linux),
umount, ps, kill, vm (mini-vmstat),
fsck, df, etc..
- editeur ee
- routed, inetd, telnetd, snmpd.
http://www.freebsd.org/~picobsd/picobsd.html
Cadre H Différences Linux - FreeBSD
FreeBSD
|
Linux
|
|
Descendant direct
de l'Unix original
|
Clone Unix
|
|
Gestion centralisée
par un noyau de développeurs
|
Kernel maintenu autocratiquement
par Linus Torvalds
|
|
Environnement de
production stable
|
Environnement de
développement pour bidouilleurs
|
|
Facilité d'installation
|
La facilité d'installation
dépend de la distribution
|
|
Compatible Linux
|
Incompatible BSD
|
|
1 seule disquette
d'installation
|
Plusieurs disquettes
d'installation
|
|
Le bootmanager BootEasy
est techniquement supérieur à LILO
|
Lilo fonctionne mal
avec les partitions > à 4GB
|
|
1 seule version officielle
|
Plusieurs distributions
incompatibles
|
Références
Le site de Référence
http://www.freebsd.org
FreeBSD francophone
http://www.freebsd-fr.org/
Code source original
du CSRG BSD
http://www.mckusick.com/csrg/
Liste de mailing list
BSD disponible sur
http://www.freebsd.org/handbook/eresources.html#ERESOURCES-MAIL
Newsgroups
·
comp.unix.bsd.freebsd.announce
·
comp.unix.bsd.freebsd.misc
·
comp.bugs.4bsd
·
comp.bugs.4bsd.ucb-fixes
·
comp.unix.bsd
Magazines techniques
consacrés à BSD
http://www.daemonnews.org/
http://www.freebsdzine.org/
http://www.freebsdrocks.com/
http://www.watson.org/fbsd-hardening/
Tutorial
http://www.vmunix.com/fbsd-book/
http://www.freebsddiary.com/freebsd/
Commande de CD BSD en
ligne
http://cart.cheapbytes.com/cgi-bin/cart
http://www.cdrom.com/titles/freebsd/freebsd.phtml
Conclusions
Linux est peut-être
le système d'exploitation présenté par
la presse et les analystes comme le nouveau
concurrent en vogue de NT mais de nombreux
développeurs et managers IT se moquent
des modes et ont choisi FreeBSD pour sa
stabilité et ses performances en tant
que serveur Web. Les PSI ( Prestataires
de Services Internet ) l'ont adopté en
masse et pour paraphraser IBM "FreeBSD
est un meilleur Linux que Linux".
FreeBSD n'a pas la prétention de concurrencer
Microsoft sur le terrain des desktop OS
mais outrepasse Windows NT en terme de
stabilité et de performance côté des serveurs
back office.
eric@netline.be
|
|
|
|
|