Vous êtes sur la page 1sur 16

CHAPITRE I : INTRODUCTION

1- Histoire d’UNIX et de LINUX

En 1965, trois entreprises, Bell Labs, General Electric, et MIT (Massachussets


Institute of Technology) débutent la conception du système d'exploitation Multics.
Comme le projet n'évolue résolument que très lentement, ces entreprises
abandonnent la conception de Multics. Cinq ans après cet abandon, deux employés
de Bell Labs, Dennis Ritchie et Ken Thompson conçoivent un système d'exploitation
capable de répondre aux besoins de leur entreprise. Ce système d'exploitation sera
baptisé UNIX, sur idée de l'un de leur collègue Brian Kernighan. Le nom est dérivé
du projet de conception du système d'exploitation Multics, abandonné cinq ans
avant. Ce premier UNIX étant programmé en langage assembleur, le langage C est
développé presque simultanément. Le premier UNIX est donc écrit une seconde fois
en langage C.
Bell Labs dépendait de l'entreprise AT&T, démantelée à la fin des années 1970. Il fut
donc impossible de vendre le système d'exploitation conçu. UNIX fut donc distribué
gratuitement aux milieux étudiants et scientifiques. Notez que certaines variantes du
système d'exploitation UNIX créé chez Bell Labs ont vue le jour. Les plus
importantes sont System V, de UNIX System Labs, et BSD, de Berkeley Systems.
L'une des variantes connues est celle de Santa Cruz Operations (UNIX SCO),
utilisée encore aujourd'hui dans des milliers de PME.

En 1985 au Pays-Bas, un professeur, Adrew Tannenbaum, conçoit Minix, durant ses


heures de loisirs. Ce système d'exploitation à comme but de faire découvrir la
programmation des systèmes d'exploitations aux étudiants Hollandais.

Cinq ans plus tard, en Finlande, un étudiant en informatique, Linus Torvalds,


découvre Minix, et décide de concevoir son propre système d'exploitation capable de
fonctionner sur son 386. Il baptise ce système d'exploitation Linux, et envoie un
message sur Internet invitant toute personne à récupérer Linux, avec ses codes
source et un compilateur, afin de le modifier, et de lui apporter des améliorations, et
de le redistribuer. Aujourd'hui, des centaines d'étudiants sont encore présents sur
Internet, où ils rendent téléchargeable les programmes qu'ils ont conçus pour Linux.

2- Qu’est-ce qu’un logiciel libre ?

Il est difficile de parler du système Linux sans aborder une de ses principales
caractéristiques : il s'agit d'un logiciel libre. Mais qu'entend-on par logiciel libre ?

Dans cette section, nous introduirons la notion de logiciel libre afin de bien
comprendre son esprit et les possibilités qu'elle offre à ses utilisateurs.

L'importance du code source

Pour comprendre le concept de logiciel libre, il faut d'abord comprendre ce qu'est un


logiciel (ou encore un programme, ou une application).
Du point de vue de l'utilisateur, un logiciel est souvent vu comme une application qui
répond à l'un de ses besoins (traitement de textes, programme de dessin, jeu, etc.)
Nous l'envisageons sous une perspective un peu plus large, prenant en compte son
mode d'élaboration, pour nous permettre d'évaluer les libertés que nous pouvons
prendre à son égard.

Pour créer un logiciel, un programmeur l'écrit dans un langage de programmation (C,


Perl, Python, Java, ...) compréhensible et utilisable par les programmeurs. Un outil
appelé compilateur permet ensuite de convertir ce langage en un code binaire (dit
langage machine) qui est le seul que puisse interpréter un ordinateur.

Le logiciel dans sa forme compréhensible par les programmeurs est appelé ``code
source'', et dans sa version en langage machine binaire. Le passage du code source
au binaire est réalisé à l'aide d'un compilateur.

Si le code source est facilement compréhensible par un humain (pour peu qu'il
connaisse le langage utilisé), le binaire n'est réellement exploitable que par une
machine. Ainsi, s'il est très difficile de comprendre les rouages d'un logiciel si on ne
dispose que du fichier binaire, l'analyse du code source dévoile tous les mécanismes
mis en oeuvre par le logiciel.

Le code source est donc essentiel en matière de logiciel, car sa connaissance


permet d'examiner le fonctionnement d'une application et éventuellement de
l'améliorer ou d'en corriger les bogues. C'est aussi, par exemple, le garant de
l'absence de porte dérobée compromettant la sécurité d'un système informatique ou
de fonctionnalité malicieuse.

Les libertés apportées aux utilisateurs de logiciels libres

Un logiciel libre est un logiciel garantissant un certain nombre de libertés à ses


utilisateurs. Nous allons procéder par analogie en comparant le code source d'un
logiciel à une recette de cuisine.

Imaginons que vous vous trouvez dans un restaurant et que vous mangez un
excellent plat. Peut-être aurez vous l'envie de pouvoir le cuisiner chez vous pour vos
amis ?

C'est impossible si vous n'avez pas la recette du plat. Vous pouvez toujours le
manger dans le restaurant, mais même si vous connaissez le goût, vous ne savez
comment le reproduire. La liberté d'échanger des recettes de cuisines est essentielle
pour les cuisiniers comme pour les simples gourmets.

En informatique, il en va de même pour un logiciel. Le code source est la recette, le


binaire est le plat déjà cuisiné. La plupart des logiciels dits logiciels propriétaires sont
distribués sans leur code source, et il est interdit d'essayer de comprendre leur
fonctionnement. Il est interdit de les partager avec vos amis, et il est interdit
d'essayer de les modifier pour les adapter à vos besoins.

A l'opposé un logiciel libre garantit aux utilisateurs quatre libertés :


• la liberté d'utiliser le logiciel, pour quelque usage que ce soit,
• la liberté d'étudier le fonctionnement du programme, et de l'adapter à vos
propres besoins,
• la liberté de redistribuer des copies de façon à pouvoir aider votre voisin,
• la liberté d'améliorer le programme, et de diffuser vos améliorations au
public, de façon à ce que l'ensemble de la communauté en tire avantage.

Ce sont ces libertés fondamentales à l'utilisation de l'informatique, à la création et au


partage des informations, que l'APRIL entend protéger et développer. Les logiciels
libres sont avant tout porteurs de liberté de partage et d'accès à la connaissance.

Elles sont bien sûr essentielles aux informaticiens, mais aussi aux utilisateurs, pour
lesquelles elles garantissent la capacité de maîtriser les outils et les informations
sans risque de dépendance vis-à-vis d'un quelconque éditeur de logiciels.

Les logiciels libres ont connu un succès planétaire grâce à l'effort de développement
entrepris voilà plus de 15 ans dans le cadre du projet GNU.

3- Projet du GNU, FSF, et le GPL

Richard STALLMAN, considéré par tous comme le père des logiciels libres a
commencé à penser au logiciel libre lorsqu'il travaillait au laboratoire d'intelligence
artificielle au MIT dans les années 1980.
En 1983, Richard M. STALLMAN initie le projet GNU (GNU est un jeu de mots
récursif signifiant GNU's Not Unix). Ce projet vise à concevoir un système
d'exploitation complet et entièrement libre. Ce système sera compatible avec UNIX,
mais sera différent car il n'exploitera pas les sources originales d'AT&T. Pour
soutenir le développement du projet GNU, la Free Software Foundation
(http://www.fsf.org) est créée en 1985.
Pour valider ce système, une base légale est nécessaire. Cette base légale, créée de
toutes pièces, est la licence GNU GPL (pour GNU General Public License). La GNU
GPL est la licence des logiciels libres par excellence. Elle détermine des conditions
de distribution qui garantissent les libertés de l'utilisateur. Un programme protégé par
la GPL est libre, mais la GPL impose aussi que tout travail dérivé de ce logiciel reste
libre. On peut estimer à plus de 70% le nombre de logiciels libres qui sont protégés
par la GNU GPL.
Il faut distinguer les logiciels libres de logiciels du domaine public (freeware). En
effet, les logiciels libres sont systématiquement livrés avec leur code source, qu'il est
possible de modifier à condition de redistribuer les sources modifiées. Cette
obligation n'existe pas pour les logiciels du domaine public, dont seule la version
binaire est gratuite.
L'utilisation de logiciels du domaine publique pour un usage professionnel est
stratégiquement risquée car il est impossible de s'assurer que les mises à jour
ultérieures du logiciel resteront gratuites. On peut ainsi imaginer un éditeur
distribuant gratuitement son logiciel pour faciliter sa diffusion et, une fois le marché
acquit ferait payer les nouvelles versions.
Ce scénario est impossible avec des logiciels libres exploitant la licence GPL, car
cette dernière oblige chaque contributeur à diffuser librement les sources de toute
adaptation d'un logiciel libre. Même si une nouvelle version devenait propriétaire, ce
qui est tout à fait envisageable, il serait toujours possible de poursuivre le
développement de l'application dans sa version libre à partir des sources de l'avant
dernière version (qui était libre).
Il existe d'autres licences qualifiées de libres, bien que souvent moins contraignantes
quant à la divulgation des sources (la licence BSD, la licence Mozilla). Il faut toutefois
souligner que la licence GPL, véritable clef de voûte d'un grand nombre de logiciels
libres (dont Linux), n'a jamais été éprouvée devant la justice. La question de sa
validité juridique reste donc levée.
Bien que cela puisse paraître contradictoire, il est tout à fait possible de
commercialiser une solution exploitant la licence GPL, à condition de rendre
disponibles les sources des programmes. Par exemple, si une société A développe
une solution basée sur un logiciel libre adapté par ses soins, elle peut la
commercialiser et en tirer des bénéfices financiers. Par contre, elle est tenue de
rendre les sources de ses adaptations disponibles gratuitement. De ce fait, une
société concurrente B peut reprendre ces sources, les modifier et les commercialiser
à son tour. La société A peut alors se sentir lésée par cette divulgation de son travail,
mais comme la société B est aussi tenue de publier les sources de ses modifications,
elle peut à son tour profiter des améliorations apportées pour les intégrer à son offre.
De plus, la société A n'est plus contrainte d'assurer seule la maintenance et
l'évolution de sa solution, elle est désormais aidée par la société B. Pour que ce
modèle soit rentable, il faut bien entendu que la société A garde une plus value par
rapport à la société B, autre que le code source de sa solution.
Ce fonctionnement nous oblige à revoir notre façon d'envisager l'approche
commerciale de l'industrie informatique. La plus value d'une entreprise choisissant de
commercialiser du logiciel libre ne réside plus dans la rétention du code source de
ses programmes, jusqu'alors considéré comme le patrimoine le plus précieux de
l'éditeur. L'enjeu se situe sur le service rendu à ses clients afin de proposer les
solutions les plus adaptées en se basant sur un ensemble de briques de bases
puisées parmi les logiciels libres.
Cette approche permet d'optimiser le travail des différents acteurs qui, au lieu de
développer maintes fois le même code source, peuvent s'appuyer sur un travail
existant en l'améliorant si besoin, pour le plus grand bien de la communauté. A titre
d'exemple, essayez d'imaginer les ressources financières et humaines qui ont été
gaspillées à développer les fonctionnalités communes des différents traitements de
texte que nous avons connu jusqu'à présent. N'aurait-il pas été plus fructueux de
capitaliser ce travail dans le développement d'une solution libre ?
Bien évidement, cette réflexion ne convient pas du tout à des acteurs ayant réussi à
verrouiller un marché autour d'une situation de monopole comme l'a fait Microsoft
dans le domaine de la bureautique. Le logiciel libre est aussi une solution permettant
d'éviter ce genre de situation. Il constitue en ce sens un garde-fou précieux pour le
futur.
D'une autre façon, une entreprise ayant développé une application pour ses besoins
internes peut trouver un intérêt évident à publier les sources de cette dernière sous
une licence GPL. En effet, si la solution proposée est adoptée par d'autres
utilisateurs, l'ensemble de ces derniers peut collaborer à la maintenance et l'évolution
de l'application et, ainsi, se partager les coûts inhérents.
4- Avantages de GNU/Linux

Stable et robuste

GNU/Linux offre une base solide car assure en continu un bon service : pas « de
plantage surprise » du système ni d'instabilité de l'ensemble causée par les erreurs
de certains programmes.

Nombreux logiciels interopérables, souples et extensibles

De nombreux logiciels libres coopèrent facilement, sont facilement adaptables à de


nouveaux besoins, et offrent un langage de programmation grâce auquel
l'automatisation des traitements et l'ajout de nouvelles fonctions respecte au mieux
les exigences de l'utilisateur tout en demeurant relativement simple (car forment un
ensemble cohérent et bien décrit).

Assistance

Les sources d'information abondent : forums de news Usenet, documents publiés sur
le Web, clubs d'utilisateurs, revues et livres publiés... Leurs niveaux de qualité varient
mais beaucoup perçoivent une très nette amélioration.

Code source disponible

Cela facilite l'apprentissage et la maintenance corrective (correction de bugs) ou


adaptative (extension des fonctions assurées). Cette caractéristique offre des
avantages majeurs (commun à tous les logiciels libres) :

• Examen réparti du code source (la fameuse « peer review ») : de très


nombreux passionnés examinent et tentent d'améliorer le code source de
Linux, ce qui en améliore la qualité
• Transparence : pas de « loup » tapi dans l'ombre, car chacun peut vérifier que
Linux ne se comportera pas de façon abusive

La disponibilité des codes sources garantie aussi que les utilisateurs ne seront
jamais otages de formats de fichiers ou d'algorithmes aux spécifications non rendues
publiques.

Conforme aux normes et standards

Il est dit « ouvert » car ses concepteurs tentent toujours de ménager sa compatibilité
avec les standards et normes, donc avec les autres systèmes ouverts. Il n'est pas
conçu de sorte que ses utilisateurs deviennent otages de ses développeurs.

Très proche des autres Unix et libre

De nombreux programmes, documentations et compétences humaines, tant


commerciales que gratuites, sont disponibles.
Il ne peut connaître de sort funeste grâce au mode de diffusion de son code source :
nul ne peut s'en emparer et interdire aux autres d'assurer son évolution. Mais même
dans le pire des cas les investissements de ses utilisateurs consacrés au
développement ou au déploiement d'applications seraient préservés car la plupart
d'entre elles fonctionnent sous d'autres versions d'Unix.

X Window

X Window est un système de fenêtrage (pour interface graphique) souple, puissant et


robuste. Il permet, grâce au réseau, d'utiliser sur une machine une application
graphique fonctionnant sur une autre. N'importe quel poste de travail connecté au
réseau dispose ainsi des ressources de tous les autres.

Dynamique industrielle

Un nombre croissant de sociétés commerciales proposent des services, des logiciels


et périphériques compatibles GNU/Linux.

Adopter GNU/Linux dans une entreprise la rapproche du monde universitaire et


engendre à coup sûr de nouveaux modes de traitement de l'information (bénéficiant
directement des recherches en cours) nettement mieux maîtrisés (car non
dépendants de produits utilisés par les concurrents, fermés, fournis par des entités
tierces) ....

Performances et rendement

GNU/Linux, à configuration matérielle égale, s'avère très souvent plus rapide que les
autres systèmes d'exploitation.

Une seule machine peut satisfaire les besoins de plusieurs utilisateurs


simultanément connectés.

Il fonctionne de façon utile même sur des machines modestes ou obsolètes, grâce à
sa modularité.

Disponible sur de nombreux types de systèmes

Voici une liste des machines et processeurs compatibles Linux. Qui maîtrise ce
dernier sur l'un quelconque de ces environnements pourra en tirer parti sur un autre :

• ordinateur de type PC, à processeur Intel ou compatible (80386 minimum,


mais au moins un projet d'adaptation au 8086 existe),
• DEC Alpha,
• machines Apple, Atari et Amiga equipées d'une circuiterie de gestion de la
mémoire (CPU Motorola 68020 avec MMU, ou 68030 et plus),
• PowerPC,
• Sun Sparc,
• ARM et MIPS (versions en cours de développement)
Gratuit

Des serveurs FTP librement accessibles stockent les fichiers grâce auxquels une
machine peut fonctionner sous GNU/Linux.

Le téléchargement et l'assemblage de tous les composants exigent du temps, la


plupart des utilisateurs installent donc GNU/Linux grâce à un support (le plus souvent
un CD-ROM) contenant une distribution laissées à disposition sur l'Internet par des
groupes d'utilisateurs ou commercialisées par des sociétés commerciales.

Bénéficie à tous les utilisateurs

Même à ceux qui ne l'emploient pas, car l'informatique libre ne contraint personne et
oblige les éditeurs commerciaux à améliorer leurs produits, voire à offrir (enfin !) une
véritable garantie ou assistance.

Migration facilitée par les émulateurs et certaines applications

Linux ne peut directement exécuter les programmes exécutables pour MS-DOS et


MS-Windows mais :

• un émulateur libre nommé dosemu peut faire fonctionner la plupart des


programmes MS-DOS,
• un émulateur libre nommé WINE peut exécuter certains programmes MS-
Windows (des émulateurs commerciaux fonctionnent mieux, et un émulateur
commercial pour Macintosh/MacOS existe),
• de nombreuses applications Linux commerciales peuvent lire (et engendrer)
des fichiers issus de (ou destinés aux) logiciels commerciaux,
• Linux peut exécuter des binaires SCO

5- Inconvénients réels de GNU/Linux

Apprentissage nécessaire

Cet octroi demeure l'inconvénient majeur, le plus difficile à surmonter mais aussi le
moins connu.

Il concerne en fait tous les logiciels, même hors du monde Unix, car aucun n'atteint le
niveau d'intelligence qui lui permettrait d'interagir harmonieusement avec un
utilisateur ignorant tout de l'informatique.

Nul ne sait encore hisser la machine au niveau de l'humain chargé de son


administration. Ce dernier doit donc se familiariser avec cet outil, sous peine de
devoir se contenter de la sous-exploiter ou bien de recourir souvent aux services
d'un informaticien.

Les auteurs d'autres systèmes d'exploitation masquent souvent cette nécessité en ne


proposant qu'un nombre fort limité de fonctions aisément accessibles mais
totalement dépourvues de souplesse (voire d'élégance), non conformes aux normes,
et souvent bâties de façon non documentée.
L'administrateur de machine GNU/Linux devra, lui, aimer apprendre. Car le système
ne lui cachera rien, ne maintiendra nulle ressource hors de sa portée.

Linux, héritier d'Unix lui-même conçu par des chercheurs pour leurs pairs, ne brille
d'ordinaire pas par son ergonomie. Les auteurs de programmes se soucient souvent
davantage de l'efficacité et de la richesse des fonctions assurées que de l'attrait
exercé par l'interface utilisateur.

Des interfaces ergonomiques existent (KDE, GNOME) et GNU/Linux, configuré de


façon adéquate, offre donc à l'utilisateur, si nécessaire, un superbe clicodrome de
menus graphiques et d'applications fenêtrées.

Même l'administrateur peut à présent disposer d'une interface ergonomique, qui


masque les fichiers de configuration mais n'en interdit pas la modification manuelle
(souvent utile car elle lui offre le moyen d'intervenir rapidement et de résoudre les
problèmes majeurs à chaud ou en mode dégradé).

Coût de déploiement et d'administration

Le coût découlant du déploiement d'une machine Unix (installation, configuration,


administration, assistance, formation ...) demeure élevé mais, grâce à la cohérence
et à la souplesse du système, ne croît pas en raison directe du nombre de postes
concernés.

La télé-administration, par exemple par réseaux ou modems interposés, permet aux


petits sites de profiter de GNU/Linux sans devoir rémunérer un administrateur
système à temps plein. On peut préférer laisser l'administration des machines et du
réseau à des non professionnels, mais leurs erreurs engendrent des coûts induits.

Difficultés liées à la récupération et à l'engendrement de fichiers aux formats


propriétaires

Les données stockées selon des formats non documentés demeurent généralement
hors de la portée des applications libres, surtout lorsque des dispositions discutables
liées à la propriété industrielle ou intellectuelle interdisent leur analyse.

Manque d'applications verticales (domaines non techniques)

Les premiers développeurs de logiciels libres s'intéressaient surtout aux aspects


scientifiques et techniques. Les applications relevant d'autres domaines d'activité, en
particulier de la gestion, manquent encore à l'appel. Mais certains nouveaux
convaincus peuvent étendre le champ, et certains s’y emploient.

Pas de version française complète

De nombreuses adaptations en français existent, y compris des messages du


système (libc), des pages de documentation en ligne (man) ou non (HOWTO), ainsi
que des distributions Red Hat, SuSE et Debian. Mais la plupart des applications n'ont
pas (encore) été adaptées. La bibliothèque de programmation gettext, de plus en plus
souvent utilisée par les développeurs, permet cependant d'adapter facilement les
programmes qui l'emploient.

6- Critiques peu fondées

Aucune garantie

Nul participant au développement de Linux lui-même ou d'applications libres ne signe


d'engagement de résultat. Mais ne négligeons pas que la teneur des licences
d'exploitation attachées aux logiciels commerciaux correspond en pratique à cette
approche : rien n'est garanti et nul n'est responsable !

Des entreprises proposent d'ores et déjà d'assurer, de façon contractuelle, le


déploiement et l'administration de machines Linux.

Évolue vite

Il n'est cependant pas nécessaire d'installer systématiquement la plus récente


version du noyau Linux (qui change parfois plusieurs fois par semaine). De
nombreux utilisateurs satisfaits se contentent de deux ou trois mises à jour
annuelles.

Documents pléthoriques et de qualités inégales

La série de documents HOWTO en français constitue une irremplaçable référence.

J. Kalifa écrit : Le fait que les documentations soient pléthoriques est plutôt un
avantage dans la mesure ou leur technicité est variable, et que les auteurs ont
parfois des points de vue très différents les uns des autres, ce qui augmente les
chances de trouver une documentation que l'on comprendra aisément et qui va très
vite se focaliser sur son problème spécifique. Évidemment, ces documentations sont
de qualités inégales, mais ce qui compte c'est que pour chaque sujet il en existe au
moins une qui n'aie rien a envier à celles des logiciels commerciaux.

Très proche d'Unix

C'est, selon certains et par divers aspects, un défaut. Car Unix a plus de vingt-cinq
ans et la compatibilité ascendante implique certaines obsolescences.

Mais il a considérablement évolué et Linux tend vers les plus récentes spécifications
des systèmes ouverts (appelées "POSIX") communes à de nombreux systèmes,
donc garantes de leur interopérabilité.

Unix demeure le système de prédilection de la plupart des laboratoires de recherche


et de très nombreux secteurs de l'industrie et des services.

Certains systèmes plus récents relèvent davantage de la bureautique que de


l'informatique et, étudiés de près, s'avèrent en fait techniquement obsolètes.

Certains matériels ne sont pas pris en charge


Durant les premières années de son existence Linux ne gérait que peu de
périphériques car leurs constructeurs ne livraient pas les informations nécessaires
aux développeurs de pilotes logiciels (drivers). Mais les constructeurs préfèrent
vendre davantage et, le nombre d'utilisateurs de Linux augmentant sans cesse, ils
les fournissent de plus en plus souvent.

Compétences des intervenants plutôt « autoproclamée »

Certains détracteurs affirment que la quête d'intervenants aux compétences


certifiées demeure infructueuse.

Ils négligent certains faits établis :

▪ la certification, sauf erreur, ne « garantit » rien : ceux qui la délivrent


endosseront-t-il les effets des erreurs et retards des diplômés ?
▪ les réalisations d'un prestataire plaident mieux sa cause que de ronflants
titres,
▪ pour les autres ... les ténors de ce marché établissent des programmes de
certification.

Modèle de développement inadéquat

D'aucuns affirment que le mode de développement du logiciel libre lui interdit de


satisfaire les besoins constatés.

La qualité de nombre de logiciels libres et leur spectre d'application sans cesse élargi
montrent l'inanité de cette assertion.

Rappelons d'ailleurs que certains avaient annoncé que le développement d'un


compilateur demeurerait hors de portée pour des groupes informels de volontaires.
Puis gcc, l'excellent compilateur C et C++ de la FSF, vînt. Ils reportèrent leurs doutes
sur le noyau, et Linux ne tarda guère.

La « revue des pairs », sur laquelle repose le mode de développement du logiciel,


offre depuis longtemps aux scientifiques un excellent moyen de progresser.

Lassitude des développeurs de logiciels libres causée par la récupération


commerciale

Beaucoup ne s'en soucient pas car développent dans le cadre de leurs activités
professionnelles ou personnelles, certains se lasseront, mais d'autres vendront leurs
compétences et, par voie de conséquence, développeront davantage. Les sociétés
qui commercialisent du logiciel libre, par exemple, emploieront certains d'entre eux
afin de préserver leur compétitivité.

Pas « d'interface standard »

Le développeur d'application libre est lui-même un spécialiste du domaine, et réalise


une interface correspondant au problème traité et non à des conventions souvent
discutables héritées d'environnements de bureautique, bien distincts de son champ
d'expertise.

7- Avenir de Linux

L'avenir de Linux reste lié à celui du logiciel libre. Ce dernier laisse le qualitatif
reprendre le pas sur le quantitatif.

La mercatique, qui gouverne depuis longtemps l'industrie du logiciel, cultive les


apparences. Les techniciens (chez les fournisseurs comme chez les clients) en
prennent conscience et constatent l'inanité de tout ce qui n'est pas une preuve
patente de qualité (adéquation, stabilité, robustesse, souplesse...) et de marge de
manoeuvre accordée.

Tous apprennent peu à peu que le coût total d'une solution de mauvaise qualité
dépasse fort souvent, au mieux à moyen terme, celui de la réalisation complète
d'outils adéquats. Le libre offre un moyen de se contenter de profiter des fruits de
cette dernière approche ou bien de participer à l'effort de développement afin de
conquérir une salutaire autonomie, voire une expertise rendue profitable par les
prestations de services.

Les logiciels fermés déployés contraignent sans cesse davantage les utilisateurs
mais cela réduit à leurs yeux le coût réel d'une réforme complète, donc l'intérêt du
logiciel ouvert dont le libre est la plus pure forme.

On peut donc croire et espérer que le nombre d'utilisateurs de logiciels libres


augmentera.

8- Caractéristiques de Linux

Linux présente certaines caractéristiques fondamentales. Celles-ci sont décrites ci-


dessous.

Multitâche:

Linux est capable de travailler avec plusieurs applications simultanément.


Bien entendu, un ordinateur n'est pas capable d'effectuer plusieurs travaux à la fois.
Lorsque deux traitements (applications) sont actifs, le processeur suspend son travail
dans l'un des traitement et progresse dans l'autre. Il cesse ensuite le travail du
second traitement, pour reprendre le premier. En d'autres termes, le processeur
commute entre les applications actives, et consacre ainsi une tranche équivalente de
son temps à chacunes d'elles. Le processeur traite un seul travail à la fois, mais il
commute d’une application à une autre si rapidement que nous avons l'illusion qu'il
effectue plusieurs travaux à la fois. Bien entendu, plus le nombre d'applications
actives est grand, plus lent sera le traitement pour chacune d'elles.

Multi-utilisateurs:
Lorsque plusieurs personnes utilisent le même ordinateur, il est utile de leur attribuer
un espace individuel dans lequel ils puissent stocker leurs informations, sans avoir
accès à celles des autres utilisateurs. C'est sur ce concept que repose la notion de
multi-utilisateur. Dans Linux, comme dans d'autres systèmes d'exploitation, il est
possible de créer plusieurs utilisateurs. Chaque utilisateur à donc droit à un espace
qui lui est réservé et sur lequel il n'a accès qu'à ces propres données. Un utilisateur
spécial, dit root (chef), peut gérer et administrer les comptes d'utilisateurs créés. Il
peut ajouter, créer, supprimer, ou simplement modifier les paramètres de chaque
utilisateur.

Multi-plates formes:

Linux est capable de fonctionner sur un très grand nombre de processeurs différents.
Il fonctionne sur les processeurs qui nous sont très familiers, comme les processeurs
Intel, AMD, ou Cyrix. Il fonctionne également sur d'autres processeurs, comme
Alpha, Motorola, Sparc... Lorsqu'un système d'exploitation à la capacité (comme
nous venons de l'expliquer) de fonctionner sur un très grand nombre de processeurs,
on dit qu'il est multi-plates formes.

Multi-processeurs:

La notion de multi-processeur ne doit pas être confondue avec celle de multi-plates


formes. Un système d'exploitation multi-processeurs détient simplement la capacité
de fonctionner sur une machine dotée de plusieurs processeurs.

9- Composants de Linux

Le système d’exploitation est un ensemble de programmes qui supervise toutes les


opérations de l’ordinateur et fournit une interface entre l’utilisateur et les ressources
du système.

Le système d’exploitation UNIX est basé sur des fichiers. Il est composé de trois
composants essentiels :

▪ Le noyau
▪ Le shell
▪ Le système de fichiers

Le système d’exploitation utilise la mémoire virtuelle, composée de mémoire RAM et


de zone de swap.

Les tâches du système d’exploitation sont assumées par des processus qui
fonctionnent en permanence dans le système : on parle de démons.
Le noyau

Le noyau, cœur du système d’exploitation, effectue les opérations suivantes :

▪ il gère les périphériques, la mémoire, les processus et les démons,

▪ il contrôle les échanges entre les utilitaires du système et le matériel,

▪ il séquence et exécute les commandes,


▪ il gère la zone de swap, partie du disque réservée au noyau, et supervise les
démons qui effectuent des tâches particulières dans le système.

Le shell

Le shell constitue l’interface entre le noyau et l’utilisateur. Il interprète ce que vous


tapez et démarre les fichiers exécutables en conséquence.

Il existe plusieurs types de shell sous LINUX, ils se différencient par la syntaxe et la
richesse des commandes.

On distingue :

▪ Le Bourne Shell ($) : développé pour l’environnement UNIX AT&T.

▪ Le Korn Shell ($): version améliorée du précédent. Il ajoute les fonctionnalités


comme, l’historique et l’édition de la ligne de commande.

▪ Le C Shell (%) : un shell dont la syntaxe est proche du celle du langage C


d’où son nom. Ses fonctionnalités sont proches de celles du Korn Shell.

▪ Le Bash Shell ($) : (GNU Bourne-Again Shell) est le shell standard sous
Linux. Il est compatible avec le Bourne Shell et incorpore les fonctionnalités
issues de Korn et C shell.

▪ Le Z Shell : c’est une version améliorée du Korn Shell.

▪ Le TC Shell : (Turbo C Shell) est une version améliorée du C Shell.

Le système de fichiers

Le système de fichiers sous Linux se compose d’une hiérarchie de répertoires, sous


répertoires et fichiers regroupés par entités.

▪ Répertoire (directory en anglais) : emplacement contenant d’autres répertoires


ou fichiers.
▪ Fichier (file en anglais) : élément de base de la structure arborescente du
système de fichiers.
root (/)

usr dev var lib etc

bin lib log www httpd

Le répertoire le plus élevé de la hiérarchie (la base de l’arborescence) est nommé la


racine (root) et est désigné par le symbole /. Cet répertoire contient certains fichiers
et répertoire critiques pour le démarrage du système (/boot, /sbin par exemple).

Le répertoire racine (/) est fondamental pour le système et contient des répertoires et
fichiers critiques. Il contient aussi :

▪ Le répertoire /usr contient quantité d'utilitaires, de bibliothèques, de manuels,

▪ Le répertoire /etc contient les fichiers d’administration (passwrd, hosts …)


ainsi que des scripts de démarrage (/etc/rc.d/init.d/).
▪ Le répertoire /home héberge le répertoire personnel de chaque utilisateur du
système.

▪ Le répertoire /bin contient les commandes employées par tous les utilisateurs
(root et autres).

▪ Le répertoire /dev représente le point d’accès aux périphériques comme les


disques, les bandes, le clavier, etc.

Mémoire virtuelle et démons

▪ La mémoire virtuelle représente l’ensemble des ressources mémoire


disponibles pour le processeur. Elle se compose de la mémoire physique
électronique (la RAM) et d’espace disque complémentaire nommé zone de
d’échange ou swap.

Sous Linux, la zone de swap est mise à contribution lorsque la RAM est quasi
saturée.

▪ Les démons sont des éléments essentiels dans le bon fonctionnement du


système. Un démon est un exécutable qui fonctionne en arrière-plan et qui
assure un rôle particulier, comme l’impression ou l’exécution de tâches à
certaines heures.
10- Distributions de Linux

Pour faciliter l'installation et l'utilisation de systèmes Linux, on a vu apparaître des


distributions, intégrant dans un environnement homogène l'ensemble des outils
nécessaires à une utilisation courante et automatisant au maximum l'installation et le
paramétrage du système. Ces distributions facilitent grandement l'installation de
Linux et leur qualité s'est grandement accrue ces derniers temps, au point que
n'importe qui peut aujourd'hui installer un système Linux viable sans trop de
problème.

Distribution = noyau + pilotes + bibliothèques + utilitaires d'installation + utilitaires


post-Install + grand nombre de logiciels.

La plupart des distributions de linux sont l'oeuvre de sociétés commerciales, ce qui


peut sembler en contradiction avec la notion de logiciel libre. Il faut souligner que la
licence GPL n'interdit pas la vente de logiciels libres, par contre elle oblige de rendre
publiques et librement utilisables le code source de tout logiciel basé sur un logiciel
libre. Voici les principales distributions qu'il est possible de rencontrer :

Mandrake
Est une distribution française, certainement la version la plus diffusée en France.
Très agréable à utiliser, surtout sur un poste client, elle est très bien traduite en
Français et bénéficie de mises à jours très régulières. Cette réactivité est peut-être
même un défaut de cette distribution dans le cadre d'un usage professionnel. Il est
en effet difficile de suivre le rythme de mise à jour imposé et la migration d'une
version à l'autre est souvent problématique.

Suse
Est une distribution allemande. Une des distributions les plus utilisées en Europe
(surtout en Allemagne, où Linux est très populaire). Très complète en terme de
nombre de logiciels disponibles, elle a connu récemment des problèmes financiers
(qui semblent depuis être résolus, notamment grâce à l'appui de certains gros
acteurs du marché informatique).

Debian
Est complète, puissante et disponible sur un grand nombre de plates-formes. Cette
distribution est reconnue pour sa stabilité et la rigueur des tests d'intégration (chaque
modification est soigneusement réceptionnée et testée sur l'ensemble des plates-
formes supportées avant d'être intégrée). De ce fait, ses mises à jour sont
relativement rares mais chacune d'elle peut être utilisée avec sérénité dès sa sortie.
Ce rythme de mise à jour s'adapte bien à un usage professionnel, d'autant plus que,
du fait de la rigueur des tests de non régression, le passage d'une version à une
autre ne pose généralement pas de difficultés. C'est une des distributions favorites
des utilisateurs avancés de Linux, par contre, son installation reste relativement
complexe.

SlackWare
Est une des premières distributions de Linux. Elle bénéficie d'une forte expérience
mais peut paraître relativement rustique. C'est la distribution des nostalgiques du
Linux de la première heure.
Lindows OS
Comme son nom l'indique, se positionne en concurrence de Windows pour le poste
client. Il a été annoncé à grand renfort de polémiques comme étant un système
révolutionnaire, capable de faire tourner indifféremment des applications Windows ou
Linux. Le plus grand coup de pousse médiatique a été apporté par Microsoft lui
même lorsqu'il a porté plainte contre l'éditeur pour violation de sa marque déposée
Windows susceptible d'induire le consommateur en erreur. Tout ce battage
médiatique s'est calmé depuis la sortie commerciale de la distribution : En fait de
système révolutionnaire, il s'agit d'une distribution classique destinée au poste de
travail, dont le ``look'n feel'' est très largement inspiré de celui de Windows. Elle
utilise l'émulateur Wine pour faire fonctionner les applications Windows, ce que
propose la quasi totalité des distributions Linux. Cette déception n'empêche pas
Lindows de s'améliorer progressivement et de marquer des points sur le plan
commercial. La chaîne de distribution Woolmark propose, par exemple, des PC bas
de gamme équipés de ce Lindows en lieu et place de Windows. Une version
spécifique va même être lancée pour concurrencer l'édition Tablet PC de Windows
XP.

Corel-Linux
Était proposée comme une alternative à Windows pour les postes clients (pas pour
les serveurs). Elle privilégiait donc la facilité d'utilisation et d'installation. Corel a
abandonné le développement des distributions Linux pour se recentrer sur son coeur
de métier, à savoir l'édition de logiciels.

Les distributions actuelles éprouvent encore quelques difficultés pour optimiser les
périphériques exotiques, et souvent seules les fonctionnalités de base sont
correctement configurées après une installation classique. Les outils de configuration
des distributions vous permettront sans doute de configurer votre système de base
simplement, mais pour aller au-delà, il faudra sans doute intervenir manuellement.

Red Hat
Est l'une des distributions les plus connues dans le milieu professionnel (au moins
aux USA), même si ce n'est pas la plus standard. C'est la première distribution dont
l'entreprise a été introduite en bourse. Un grand nombre de logiciel est disponible
prêt à l'emploi pour cette version de Linux.