Introduction à Linux

Introduction à Linux

Durant l’année 1991, un étudiant finlandais, nommé Linus Torvalds, a commencé à ré-écrire certaines parties d’un clone d’Unix nommé Minix afin de lui ajouter des fonctionnalités et de le rendre plus efficace. Il a diffusé ensuite une distribution source de son travail via Internet. La première version de Linux (version 0.1 en août 1991) était née.

Un développement original

La façon dont Linux a été développé (et continue à être développé) est assez originale. En effet, le développement de Linux n’est pas contrôlé par une organisation responsable du système : un ensemble de développeurs, répartis dans le monde entier, collabore pour étendre les fonctionnalités du système, le plus souvent en dialoguant via Internet. Tout programmeur disposant des compétences nécessaires, de temps libre, et d’une certaine dose de courage, peut participer au développement du système. Comme il est dit, le meilleur moyen c’est avant tout de lire les sources et de s’amuser avec. Ensuite on s’abonne à la ML kernel et ensuite et on peut essayer de proposer ses patchs, apporter sa contribution. Une bonne source de documentation est le site http://www.kernelhacking.org

Bien que le nom “Linux” se réfère au noyau du système ou kernel, le développement ne se confine pas à ce seul noyau : certaines équipes travaillent sur d’autres projets, comme la conception et le développement de nouveaux utilitaires ou encore le développement des librairies partagées utilisées pour programmer.

Chaque équipe travaille selon une structure hiérarchique informelle : une personne est responsable d’un projet et plusieurs autres programmeurs participent au développement en contribuant du code. L’exemple typique de cette méthode de développement est le noyau lui-même où :
Linus Torvalds maintient le noyau courant et la série de développement et c’est lui qui décide de distribuer les sources quand il estime que le code est utilisable ; chaque partie importante du noyau (comme la gestion du réseau, les gestionnaires de périphériques, le système de fichiers, …) est sous la responsabilité d’un développeur qui centralise le travail d’autres programmeurs et les transmet à Linus Torvalds pour inclusion dans le noyau officiel.
Le deuxième grand personnage est Alan Cox, actuel mainteneur du noyau 2.2 mais qui dirige l’autre grande branche du noyau à savoir la série des -ac. Les noyaux de la série -ac ont des fois des fonctionnalités plus avancées, fonctionnalités qui seront amenées à être incluse dans la série de Linus lors des merges/fusions entre les 2 séries. Souvent les distribution comme Red Hat ou Mandrake se basent sur les noyaux de la série Alan Cox.

Bien que cette méthode de développement puisse surprendre au premier abord, elle est très efficace. La totalité du noyau de Linux a été écrite par des volontaires, qui ont souvent passé des nuits entières à programmer et à corriger des bogues. L’audit du code source y est plus efficace et la réactivité est tout simplement surprenante

Le code développé dans le cadre de Linux est le plus souvent diffusé sous forme de programme source, sous la licence GNU (“General Public License”, ou GPL). La GPL stipule que les programmes source sont la propriété de leurs auteurs et qu’ils doivent être distribués sous forme de source. Cette licence autorise quiconque à revendre ces programmes mais elle impose que tout utilisateur puisse avoir accès aux programmes source. De plus, la GPL impose que toute modification de ces programmes est couverte par la même licence, et donc que les programmes seront toujours librement disponibles.

Un systeme performant …

Linux offre toutes les fonctionnalités d’un clone Unix sur x86. Il fournit un environnement de travail multi-utilisateurs, plusieurs personnes peuvent utiliser la machine au même moment, et multi-tâches, chaque utilisateur peut exécuter plusieurs programmes en parallèle. Le système fonctionne en mode protégé, exécute du code 32 bits, contrairement à d’autres systèmes qui s’exécutent en mode 16 bits et sont donc moins performants…, et utilise les mécanismes de protection du processeur pour garantir qu’aucun processus ne peut perturber l’exécution des autres ou du système lui-même. Cela donne un système stable et robuste.

Le noyau implémente les sémantiques Unix : processus concurrents, chargement à la demande des programmes exécutables avec partage de pages et copie en écriture, pagination, systèmes de fichiers, support des protocoles réseau TCP/IP.

suite

et polyvalent …

Il supporte, de plus, la majorité des périphériques existant dans le monde PC (y compris les cartes sonores) et permet de relire les partitions MS/DOS, Windows (9x, NT4), OS/2 et tous les formats standards de CD/ROM et de DVDROM. Il peut utiliser des systèmes de fichiers journalisés (Ext3 le successeur légitime de ext2, Reiserfs, JFS, XFS), faire du RAID hardware ou software, faire du clustering, servir de serveur web, mail, news, IRC, firewall, routeur avancé.
A côté de tout ces attributs très “professionnels”, Linux permet aussi de faire de la bureautique, de la musique, du graphisme et de jouer !

Linux se révèle donc un OS très polyvalent qui bien qu’encore “jeune” possède des fonctionnalités avancées et qui évolue très vite. Ainsi, bien que prévu seulement pour l’architecture x86 des PC domestiques, Linux a été porté sur pleins de plateformes différentes. Linux tourne ainsi sur Compaq Alpha AXP, Sun SPARC and UltraSPARC, Motorola 68000, PowerPC, ARM, Hitachi SuperH, IBM S/390, MIPS, HP PA-RISC, Intel IA-64, DEC VAX. et il est en cours de portage sur AMD x86-64

Linux se révèle être alors un OS aux multiples qualités qui, j’en suis sûr, si vous faites l’effort d’apprentissage, vous apportera beaucoup de plaisirs.

qui demande un minimum d’investissement

Cependant Linux demande un minimum d’investissement personnel pour être utilisé pleinement. Si vous chercher un autre windows et que vous êtes déçus par Windows 9x (95, 98, 98SE, Me), je ne pense pas que Linux soit fait pour vous. Orientez vous plutôt vers Windows 2000 ou Windows XP qui sont des OS stables.

Par contre si vous êtes curieux, motivé, débrouillard et que vous aimez avoir la maîtrise de ce que vous faites, alors je pense que Linux est fait pour vous. En effet certaines choses sont plus difficiles à mettre en oeuvre sous Linux, il faudra peut être faire des sacrifices. D’un autre côté, d’autres choses sont plus simple et les avantages que l’on peut en tirer ne sont pas négligeables. De plus utiliser Linux, c’est aussi adhérer à la communauté Linux et à ses pensées ( Logiciel Libre, OpenSource ).

Alors, êtes vous prêt à tenter l’expérience ? Are You ready ?