Searching...
Français
EnglishEnglish
EspañolSpanish
简体中文Chinese
FrançaisFrench
DeutschGerman
日本語Japanese
PortuguêsPortuguese
ItalianoItalian
한국어Korean
РусскийRussian
NederlandsDutch
العربيةArabic
PolskiPolish
हिन्दीHindi
Tiếng ViệtVietnamese
SvenskaSwedish
ΕλληνικάGreek
TürkçeTurkish
ไทยThai
ČeštinaCzech
RomânăRomanian
MagyarHungarian
УкраїнськаUkrainian
Bahasa IndonesiaIndonesian
DanskDanish
SuomiFinnish
БългарскиBulgarian
עבריתHebrew
NorskNorwegian
HrvatskiCroatian
CatalàCatalan
SlovenčinaSlovak
LietuviųLithuanian
SlovenščinaSlovenian
СрпскиSerbian
EestiEstonian
LatviešuLatvian
فارسیPersian
മലയാളംMalayalam
தமிழ்Tamil
اردوUrdu
How Linux Works

How Linux Works

What Every Superuser Should Know
par Brian Ward 2004 368 pages
4.17
1k+ évaluations
Écouter
Listen to Summary
Try Full Access for 7 Days
Unlock listening & more!
Continue

Points clés

1. Linux Accorde un Contrôle Total du Système

Contrairement à certains systèmes d'exploitation, Linux ne cherche pas à vous cacher les éléments importants : il vous donne un contrôle total de votre ordinateur.

Transparence et Accès. Linux se distingue en offrant aux utilisateurs un accès complet aux rouages internes du système. Cette philosophie de conception permet aux utilisateurs de comprendre et de modifier leur environnement informatique, favorisant une compréhension plus profonde du fonctionnement du système d'exploitation. Ce niveau de contrôle constitue une rupture avec les systèmes qui abstraient des composants critiques, faisant de Linux une plateforme idéale pour l'apprentissage et la personnalisation.

Maîtrise par la Compréhension. Pour tirer pleinement parti de la puissance de Linux, il est nécessaire d'explorer ses entrailles. Cela inclut la compréhension du processus de démarrage, des protocoles réseau et du rôle du noyau dans la gestion des ressources système. En saisissant ces concepts fondamentaux, les utilisateurs peuvent résoudre des problèmes, optimiser les performances et adapter le système d'exploitation à leurs besoins spécifiques.

Autonomisation et Personnalisation. L'accessibilité des éléments internes de Linux se traduit par des options de personnalisation sans précédent. Les utilisateurs peuvent modifier les configurations système, écrire des scripts personnalisés et même contribuer au noyau lui-même. Ce niveau de contrôle favorise un sentiment de propriété et permet aux utilisateurs d'adapter le système d'exploitation à leurs flux de travail et préférences uniques.

2. Le Noyau Gère le Matériel et les Processus

Le noyau est responsable de déterminer quels processus sont autorisés à utiliser le CPU.

Fonctions Principales. Le noyau Linux sert de cœur au système d'exploitation, chargé de gérer le matériel et les processus du système. Il agit comme un intermédiaire entre les applications de niveau utilisateur et le matériel sous-jacent, garantissant un fonctionnement efficace et stable. Ses responsabilités clés incluent la gestion des processus, l'allocation de mémoire, la gestion des pilotes de périphériques et le support des appels système.

Planification des Processus. Le noyau détermine quels processus ont accès au CPU, utilisant des algorithmes de planification pour garantir l'équité et empêcher un processus unique de monopoliser les ressources système. Cela implique un changement de contexte, où le noyau passe rapidement d'un processus à l'autre, créant l'illusion d'une exécution simultanée.

Gestion de la Mémoire. Le noyau gère l'allocation de mémoire, veillant à ce que chaque processus dispose de son propre espace mémoire dédié et empêchant l'accès non autorisé à la mémoire d'autres processus. Il met également en œuvre la mémoire virtuelle, permettant au système d'utiliser l'espace disque comme extension de la RAM, ce qui permet l'exécution de programmes nécessitant plus de mémoire que ce qui est physiquement disponible.

3. Les Commandes Shell Sont Essentielles pour l'Interaction

Le shell est l'une des parties les plus importantes d'un système Unix.

Interface en Ligne de Commande. Le shell fournit une puissante interface en ligne de commande (CLI) pour interagir avec le système Linux. En tapant des commandes dans le shell, les utilisateurs peuvent naviguer dans le système de fichiers, exécuter des programmes, gérer des processus et effectuer une large gamme d'autres tâches. Maîtriser les commandes shell est crucial pour une administration système efficace et la création de scripts.

Utilitaires de Base. Les commandes shell essentielles incluent ls (lister les fichiers), cd (changer de répertoire), cp (copier des fichiers), mv (déplacer des fichiers), rm (supprimer des fichiers) et mkdir (créer un répertoire). Ces commandes forment la base de nombreuses tâches d'administration système et sont largement utilisées dans les scripts shell.

Scripting Shell. Les scripts shell sont des fichiers texte contenant une séquence de commandes shell. Ils permettent aux utilisateurs d'automatiser des tâches répétitives, de créer des utilitaires personnalisés et de gérer des processus système. Le scripting shell est un outil puissant pour les administrateurs système et les développeurs, leur permettant de rationaliser les flux de travail et d'automatiser des opérations complexes.

4. Les Périphériques Sont Accédés par des Fichiers

Un périphérique est généralement accessible uniquement en mode noyau, car un accès inapproprié (comme un processus utilisateur demandant d'éteindre l'alimentation) pourrait faire planter la machine.

Fichiers de Périphériques. Linux représente les périphériques matériels sous forme de fichiers dans le répertoire /dev. Cette abstraction permet aux programmes en espace utilisateur d'interagir avec les périphériques en utilisant des opérations d'entrée/sortie de fichiers standard, telles que la lecture et l'écriture. Les fichiers de périphériques fournissent une interface cohérente et unifiée pour accéder à une large gamme de composants matériels.

Types de Périphériques. Les fichiers de périphériques sont classés en périphériques de blocs (par exemple, disques durs), périphériques de caractères (par exemple, terminaux) et tubes nommés. Les périphériques de blocs sont accessibles par blocs de taille fixe, tandis que les périphériques de caractères sont accessibles sous forme de flux de données. Chaque fichier de périphérique est associé à un numéro majeur et mineur, que le noyau utilise pour identifier le pilote de périphérique correspondant.

udev et Gestion Dynamique des Périphériques. Le système udev gère dynamiquement les fichiers de périphériques, les créant et les supprimant à mesure que les périphériques sont connectés et déconnectés. Cela garantit que le répertoire /dev reflète avec précision le matériel disponible et simplifie la gestion des périphériques pour les utilisateurs et les administrateurs.

5. Les Systèmes de Fichiers Organisent les Données sur les Disques

Acquérir les connaissances requises est un défi dans l'apprentissage de tout sujet technique.

Structure Hiérarchique. Les systèmes de fichiers fournissent une structure hiérarchique pour organiser les données sur les dispositifs de stockage. Ils définissent comment les fichiers et les répertoires sont stockés, accessibles et gérés. Linux prend en charge une variété de types de systèmes de fichiers, chacun ayant ses propres forces et faiblesses.

Types de Systèmes de Fichiers Courants. Les types de systèmes de fichiers courants incluent ext4 (le défaut pour de nombreuses distributions Linux), XFS, Btrfs et FAT32. Chaque type de système de fichiers a ses propres caractéristiques, telles que le journalisation, la compression et le support des fichiers volumineux. Le choix du système de fichiers dépend des besoins spécifiques du système et du type de données à stocker.

Montage des Systèmes de Fichiers. Pour accéder à un système de fichiers, il doit être monté à un point de montage, qui est un répertoire dans la hiérarchie de fichiers existante. La commande mount est utilisée pour attacher un système de fichiers à un point de montage, rendant son contenu accessible aux utilisateurs et aux applications. Le fichier /etc/fstab spécifie quels systèmes de fichiers doivent être montés automatiquement au démarrage.

6. Les Chargeurs de Démarrage Initient le Démarrage du Noyau

Le chargeur de démarrage trouve l'image du noyau sur le disque, la charge en mémoire et la démarre.

Rôle Essentiel. Le chargeur de démarrage est le premier programme à s'exécuter lorsque l'ordinateur est allumé. Sa tâche principale est de localiser l'image du noyau sur le disque, de la charger en mémoire et de transférer le contrôle au noyau. Le chargeur de démarrage fournit également un menu pour sélectionner différents systèmes d'exploitation ou versions de noyau.

GRUB (Grand Unified Bootloader). GRUB est le chargeur de démarrage le plus utilisé sur les systèmes Linux. Il prend en charge une variété de systèmes de fichiers et de schémas de partitionnement, lui permettant de démarrer à partir de différents dispositifs de stockage et configurations. GRUB offre également une interface en ligne de commande pour une configuration avancée et le dépannage.

Processus de Démarrage. Le processus de démarrage implique généralement le BIOS ou le firmware UEFI chargeant le chargeur de démarrage à partir du Master Boot Record (MBR) ou de la Partition de Système EFI (ESP). Le chargeur de démarrage lit ensuite son fichier de configuration, présente un menu à l'utilisateur et charge l'image du noyau sélectionnée en mémoire. Enfin, le chargeur de démarrage transfère le contrôle au noyau, initiant la séquence de démarrage du système d'exploitation.

7. Les Systèmes Init Gèrent le Démarrage de l'Espace Utilisateur

Dans ce cas, chaque processus utilise le CPU pendant une petite fraction de seconde, puis fait une pause ; ensuite, un autre processus utilise le CPU pendant une autre petite fraction de seconde ; puis un autre processus prend son tour, et ainsi de suite.

Initialisation de l'Espace Utilisateur. Après que le noyau a initialisé le matériel et monté le système de fichiers racine, il transfère le contrôle au système init, qui est responsable du démarrage des services et processus restants du système. Le système init gère l'environnement de l'espace utilisateur, veillant à ce que tous les composants nécessaires soient en cours d'exécution et configurés correctement.

Systemd, Upstart et System V Init. Plusieurs systèmes init sont disponibles pour Linux, notamment Systemd, Upstart et System V init. Systemd est le système init le plus moderne et le plus largement adopté, offrant des fonctionnalités telles que le démarrage parallèle, la gestion des dépendances et la surveillance des services. Upstart est un autre système init populaire, connu pour son architecture orientée événements. System V init est le système init traditionnel, reposant sur un processus de démarrage séquentiel.

Niveaux d'Exécution et Cibles. Les systèmes init utilisent des niveaux d'exécution ou des cibles pour définir l'état du système. Chaque niveau d'exécution ou cible correspond à un ensemble spécifique de services et de processus qui doivent être en cours d'exécution. Par exemple, un niveau d'exécution ou une cible graphique démarrerait le gestionnaire d'affichage et l'environnement de bureau, tandis qu'un niveau d'exécution ou une cible multi-utilisateur démarrerait les services système essentiels et fournirait une interface en ligne de commande.

8. Les Fichiers de Configuration Contrôlent le Comportement du Système

En particulier, la plupart des configurations système peuvent être trouvées dans des fichiers en texte clair qui sont suffisamment faciles à lire.

Configuration en Texte Clair. Linux s'appuie fortement sur des fichiers de configuration en texte clair pour contrôler le comportement des services et applications système. Ces fichiers se trouvent généralement dans le répertoire /etc et peuvent être modifiés avec n'importe quel éditeur de texte. L'utilisation de fichiers de configuration en texte clair facilite la compréhension et la modification des paramètres système.

Formats de Fichiers de Configuration. Les fichiers de configuration suivent souvent des formats spécifiques, tels que des paires clé-valeur, des sections de style INI ou des scripts shell. Comprendre ces formats est crucial pour configurer efficacement les services et applications système. De nombreux fichiers de configuration incluent également des commentaires, fournissant des informations précieuses sur les options disponibles et leurs effets.

Gestion Centralisée. Bien que les fichiers de configuration soient répartis dans tout le système, le répertoire /etc sert de lieu central pour gérer les paramètres globaux du système. Cela facilite la localisation et la modification des fichiers de configuration, garantissant la cohérence et simplifiant l'administration système.

9. Le Réseau S'appuie sur des Protocoles en Couches

La manière la plus efficace de comprendre comment un système d'exploitation fonctionne est à travers l'abstraction—une façon élégante de dire que vous pouvez ignorer la plupart des détails.

Architecture en Couches. Le réseau dans Linux est basé sur une architecture en couches, chaque couche étant responsable d'un aspect spécifique de la communication. Le modèle le plus courant est le modèle TCP/IP, qui se compose de quatre couches : application, transport, réseau et physique. Chaque couche s'appuie sur les services fournis par la couche inférieure, créant un système modulaire et flexible.

Protocoles Clés. Le modèle TCP/IP inclut une variété de protocoles, tels que HTTP (pour la navigation web), TCP (pour la transmission de données fiable), IP (pour l'adressage et le routage) et Ethernet (pour l'accès réseau physique). Comprendre ces protocoles est crucial pour résoudre des problèmes de réseau et configurer des services réseau.

Configuration Réseau. La configuration du réseau dans Linux implique la mise en place des interfaces réseau, l'attribution d'adresses IP, la configuration des tables de routage et la gestion des paramètres DNS. Ces tâches peuvent être effectuées manuellement à l'aide d'outils en ligne de commande ou automatiquement à l'aide d'outils de gestion de réseau comme NetworkManager.

10. Les Outils de Développement Permettent la Création de Logiciels

Vous devriez être en mesure de faire en sorte que votre logiciel fasse ce que vous voulez qu'il fasse (dans les limites raisonnables de ses capacités, bien sûr).

Outils Essentiels. Linux fournit un ensemble riche d'outils de développement pour créer et gérer des logiciels. Ces outils incluent des compilateurs (par exemple, GCC), des débogueurs (par exemple, GDB), des outils d'automatisation de construction (par exemple, Make) et des langages de script (par exemple, Python, Perl). Maîtriser ces outils est essentiel pour le développement de logiciels sur Linux.

Compilateurs et Éditeurs de Liens. Les compilateurs traduisent le code source en code machine, tandis que les éditeurs de liens combinent des fichiers objets et des bibliothèques pour créer des programmes exécutables. La GNU Compiler Collection (GCC) est le compilateur le plus utilisé sur Linux, prenant en charge une variété de langages de programmation, y compris C, C++ et Fortran.

Automatisation de la Construction. Les outils d'automatisation de la construction, tels que Make, rationalisent le processus de compilation et de liaison des projets logiciels. Make utilise un Makefile pour définir les dépendances et les règles de construction, permettant aux développeurs d'automatiser le processus de construction et de garantir que tous les composants nécessaires sont compilés et liés correctement.

Dernière mise à jour:

Avis

4.17 sur 5
Moyenne de 1k+ évaluations de Goodreads et Amazon.

Comment fonctionne Linux reçoit principalement des critiques positives, les lecteurs louant sa couverture à la fois complète et concise des rouages internes de Linux. Beaucoup le trouvent éducatif tant pour les débutants que pour les utilisateurs expérimentés, soulignant ses explications claires sur des sujets complexes. Le livre est apprécié pour son approche pratique, abordant tout, des processus de démarrage à la mise en réseau. Certains lecteurs notent que certaines sections peuvent sembler trop superficielles ou techniques, selon le niveau de connaissance de chacun. Dans l'ensemble, il est considéré comme une ressource précieuse pour comprendre les fondamentaux de Linux et combler les lacunes de connaissances.

Your rating:
4.51
8 évaluations

À propos de l'auteur

Brian Ward est l'auteur de "Comment fonctionne Linux", un ouvrage très apprécié sur les rouages internes de Linux. Bien que les informations biographiques spécifiques soient limitées dans le contenu donné, l'expertise de Ward en systèmes Linux se manifeste à travers la profondeur et l'étendue des sujets abordés dans son livre. Les lecteurs louent sa capacité à expliquer des concepts complexes de manière claire et concise, rendant le matériel accessible à un large public. L'approche de Ward allie des exemples pratiques à des connaissances théoriques, démontrant une compréhension approfondie de l'architecture et de la fonctionnalité de Linux. Son travail est apprécié tant par les utilisateurs novices qu'expérimentés de Linux, suggérant une maîtrise complète du sujet et des compétences pédagogiques efficaces.

0:00
-0:00
1x
Dan
Andrew
Michelle
Lauren
Select Speed
1×
+
200 words per minute
Home
Library
Get App
Create a free account to unlock:
Requests: Request new book summaries
Bookmarks: Save your favorite books
History: Revisit books later
Recommendations: Personalized for you
Ratings: Rate books & see your ratings
100,000+ readers
Try Full Access for 7 Days
Listen, bookmark, and more
Compare Features Free Pro
📖 Read Summaries
All summaries are free to read in 40 languages
🎧 Listen to Summaries
Listen to unlimited summaries in 40 languages
❤️ Unlimited Bookmarks
Free users are limited to 10
📜 Unlimited History
Free users are limited to 10
Risk-Free Timeline
Today: Get Instant Access
Listen to full summaries of 73,530 books. That's 12,000+ hours of audio!
Day 4: Trial Reminder
We'll send you a notification that your trial is ending soon.
Day 7: Your subscription begins
You'll be charged on May 10,
cancel anytime before.
Consume 2.8x More Books
2.8x more books Listening Reading
Our users love us
100,000+ readers
"...I can 10x the number of books I can read..."
"...exceptionally accurate, engaging, and beautifully presented..."
"...better than any amazon review when I'm making a book-buying decision..."
Save 62%
Yearly
$119.88 $44.99/year
$3.75/mo
Monthly
$9.99/mo
Try Free & Unlock
7 days free, then $44.99/year. Cancel anytime.
Scanner
Find a barcode to scan

Settings
General
Widget
Loading...
Black Friday Sale 🎉
$20 off Lifetime Access
$79.99 $59.99
Upgrade Now →