Debian quoi ?

De Le Wiki de debian-fr.xyz
Aller à : navigation, rechercher

Debian est un système d'exploitation basé sur le noyau Linux (en réalité Debian peut être utilisé avec d'autres noyaux) et les outils GNU. On parle de distribution GNU/Linux (souvent simplifié en « distribution linux »).

Le noyau linux

Noyau 

Le noyau est la partie centrale d'un système d'exploitation. Il a pour charge de permettre aux autres logiciels d'accéder au matériel et de bien vivre ensemble (il ne faut pas que l'un des logiciels prenne le pas sur tous les autres).

Pour accéder au matériel c'est lui qui contient les pilotes de périphériques. Ceux-là sont regroupés dans différentes catégories et rendus accessibles aux autres logiciels via une API, standardisée si possible (voir POSIX).

Pour permettre à toutes les applications de vivre ensemble, le noyau doit permettre de choisir laquelle doit s'exécuter et pendant combien de temps. Par exemple si vous n'avez qu'un seul processeur mais 2 applications il faut que chacune des 2 accède de manière équitable au processeur (chacune l'utilise pendant 50% du temps). Il faut aussi avoir un certains nombre de sécurités pour empêcher un logiciel d'en tuer un autre (imaginez que n'importe quel logiciel puisse tuer l'antivirus, par exemple). Ici nous ne faisons qu'effleurer le sujet qui est très vaste et qui est en perpétuelle évolution.

Linux

C'est un noyau qui a été créé au début des années 90 par Linus Torvald. Aujourd'hui Linus est toujours le développeur principal du noyau, mais il est aidé par des milliers de contributeurs qui permettent à celui-ci d'être aussi bien adapté au très gros serveur qu'aux téléphones portables ou à des appareils embarqués encore plus petits (comme des routeurs, des montres, etc). Le site officiel de linux est kernel.org.

Debian

Debian est un vieux système d'exploitation qui peut utiliser le noyau Linux. Il utilise en outre les outils du projet GNU pour compléter le système de base (le bootloader, le système d'init, un shell, les binutils, un éditeur de texte, etc).

Fonctionnement du système d'exploitation

Ici nous parlons de Debian GNU/Linux sur architecture x86 et x86-64bits, mais c'est applicable à l'énorme majorité des systèmes d'exploitation qu'ils soient basés sur Linux ou non. Certains logiciels cités peuvent changer entre les versions de Debian (et bien sûr d'autres systèmes d'exploitation). Comme très souvent pour expliquer comment tout cela fonctionne nous allons partir du démarrage de l'ordinateur.

Lorsque vous démarrez votre ordinateur c'est un logiciel qui se trouve dans votre carte mère qui est exécuté en premier. Celui-ci a pour tâche de trouver et d'exécuter le chargeur de démarrage (bootloader) qui se trouve sur un disque dur ou un périphérique de stockage de données (clef usb, dvd, etc).

Le bootloader (généralement grub pour les système d'exploitation libre (bien qu'il en existe d'autres comme lilo ou busybox)) a lui pour mission d'ouvrir une partition (on parle de montage (mount) de partition) et pour y trouver le noyau du système d'exploitation (linux dans notre exemple), le copier dans la mémoire vive et l'exécuter en lui passant différents paramètres.

Le noyau lui doit initialiser tous les périphériques (seul un nombre minimal d'entre eux l'ont été jusque là). Notamment (sur architecture x86 et 86-64), il doit initialiser le processeur pour que ce dernier active toutes ses options (jusque là toutes les instruction du processeur n'étaient pas accessibles par exemple). Le noyau va ensuite lancer le premier programme : le système d'init (actuellement init system V, mais il s'agit upstart sur ubuntu et de systemd sur fedora).

C'est le système d'init qui doit s'occuper de tout le reste. Il va vérifier l'état des disques dur et monter ceux qui sont inscrits dans /etc/fstab, il va configurer le réseau, lancer différents programmes en tâche de fond pour qu'ils s'occupent par exemple de lancer d'autres tâches de manière périodique, de configurer le réseau en dhcp, lancer les différents serveurs (web, ssh, ftp, smtp, etc) et lancer s'il s'agit d'une machine de bureau du gestionnaire de connexion (gdm, kdm, litghdm, etc).

Voir aussi