Maison  >  Article  >  Opération et maintenance  >  Qu’est-ce que la pile de protocoles Linux ?

Qu’est-ce que la pile de protocoles Linux ?

WBOY
WBOYoriginal
2022-07-13 16:05:532403parcourir

Sous Linux, la pile de protocoles est une implémentation logicielle spécifique de la suite de protocoles de réseau informatique, qui est la somme des protocoles de toutes les couches du réseau ; un protocole de la suite de protocoles est généralement conçu dans un seul but, qui peut rendre la conception plus facile, la pile de protocoles reflète le processus de transfert de fichiers dans un réseau.

Qu’est-ce que la pile de protocoles Linux ?

L'environnement d'exploitation de ce tutoriel : système linux7.3, ordinateur Dell G3.

Qu'est-ce que la pile de protocoles de Linux ?

La pile de protocoles (anglais : Protocol stack), également connue sous le nom de pile de protocoles, est une implémentation logicielle spécifique de la suite de protocoles de réseau informatique. Un protocole dans une suite de protocoles est généralement conçu dans un seul but, ce qui facilite la conception. Étant donné que chaque module de protocole communique généralement avec deux autres modules de protocole au-dessus et en dessous, ils peuvent généralement être considérés comme des couches dans une pile de protocoles. Les protocoles de niveau le plus bas décrivent toujours l'interaction physique avec le matériel. Chaque niveau avancé ajoute plus de fonctionnalités. Les applications utilisateur gèrent uniquement les protocoles de niveau supérieur.

Explication : La somme des protocoles à chaque couche du réseau reflète le processus de transfert de fichiers dans un réseau

Introduction à la pile de protocoles de stockage Linux :

Qu’est-ce que la pile de protocoles Linux ?

Flux de données :
L'application émet une écriture demande via un appel système, le but ultime est d'écrire des données sur le disque. Le système de fichiers est chargé de localiser l'emplacement de la demande d'écriture et de la convertir en blocs requis par le périphérique bloc, puis d'envoyer la demande au périphérique. .

    La mémoire joue le rôle d'un cache disque dans ce processus, isolant les parties supérieure et inférieure en deux processus exécutés de manière asynchrone. Pour la partie supérieure, conserver les données en mémoire est le meilleur moyen, car il n'y a aucun moyen de prédire. s'il y aura des modifications dans le futur. Si le même emplacement doit être modifié fréquemment, une synchronisation continue des données avec le disque n'est pas nécessaire. Quant à la seconde moitié, les données sont synchronisées du cache de pages (Page Cache) vers le disque, et la requête émise est regroupée dans une requête. Une requête contient un ensemble de bios, et chaque bio contient les pages de données qui en ont besoin. être synchronisé.
  1. Couche application

Les applications accèdent aux fichiers via des appels système. Par exemple, open call

appel système

La manière dont les applications utilisateur peuvent accéder et utiliser divers services fournis par le noyau passe par des appels système. Le noyau fournit un ensemble d'interfaces d'appel système via lesquelles les applications peuvent accéder au matériel système et aux ressources du système d'exploitation.

L'application appelle l'interface d'appel système->noyau->fait fonctionner le matériel->retourne au noyau->application

Les principales choses liées au système de stockage sont la lecture, l'écriture, l'ouverture
"mmap() sera fichier (par descripteur de fichier spécifié par fd) Un bloc de longueur commençant à partir du décalage de décalage est mappé dans la zone mémoire, mappant ainsi une certaine section du fichier à l'espace d'adressage du processus, afin que le programme puisse accéder au fichier par accéder à la mémoire. »
« Un exemple typique consiste à utiliser /dev/mem pour mapper certaines adresses physiques auxquelles la MMU peut accéder aux adresses virtuelles de la couche application, afin que certaines adresses physiques puissent être directement accessibles au niveau de la couche application pour obtenir certaines adresses physiques. développement simple de pilotes. »


Système de fichiers virtuel

En utilisant un ensemble commun d'API, Linux peut prendre en charge plusieurs systèmes de fichiers sur plusieurs appareils. Un système de fichiers est un mécanisme permettant de stocker et d'organiser des fichiers et des données sur un périphérique de stockage.

Linux prend en charge une variété de systèmes de fichiers


"Le système de fichiers virtuel protège les différences entre les différents systèmes de fichiers en établissant une couche d'abstraction sur divers systèmes de fichiers spécifiques. Grâce à l'architecture en couches du système de fichiers virtuel), nous sommes en fonctionnement, vous ne Vous n'avez pas besoin de vous soucier des détails spécifiques du système de fichiers où se trouvent les fichiers pertinents. »
« C'est le système de fichiers virtuel qui rend possible ce type d'opération sur différents périphériques de stockage et différents systèmes de fichiers »

L'API commune fournie par VFS. Il y a :


mount(), umount() …
 open(),close() …
 mkdir() …


Système de fichiers

Je pense que tout le monde connaît cette couche de système de fichiers À l'heure actuelle, le système de fichiers par défaut utilisé par la plupart des distributions Linux est généralement ext4. également sur le point de sortir, quoi qu'il arrive. De tels systèmes de fichiers sont créés par une série de commandes mkfs.xxx, telles que :
mkfs.ext4 /dev/sda
mkfs.btrfs /dev/sdb

Les types de systèmes de fichiers pris en charge par le noyau peuvent être visualisés via le contenu du répertoire fs du noyau arborescence de répertoires.

Couche de périphérique de bloc général

Le rôle de cette couche est que différents disques durs fourniront différentes interfaces IO. Le noyau estime que cette interface désordonnée n'est pas propice à la gestion, et ces interfaces doivent être abstraites pour former une interface unifiée. De cette façon, quel que soit le type de disque dur ou de pilote dont vous disposez, il n'y a aucune différence dans les interfaces IO qu'ils fournissent au monde extérieur, et ils sont tous traités de la même manière comme des périphériques bloc.

Ainsi, si des modifications sont apportées à un niveau, cela affectera directement tous les systèmes de fichiers, qu'il s'agisse de ext3, ext4 ou d'autres systèmes de fichiers. Tant qu'une modification est apportée à ce niveau, ils seront affectés.

Disque dur

Les types de disques durs courants incluent PATA, SATA et AHCI, etc. Dans les systèmes Linux, les modules de pilotes fournis pour différents disques durs sont généralement stockés dans l'arborescence du répertoire drivers/ata du noyau, et pour les disques durs à usage général. lecteurs Le pilote peut être compilé directement dans le noyau au lieu d'apparaître sous forme de module. Vous pouvez le confirmer en consultant le fichier /boot/config-xxx.xxx.

Apprentissage recommandé : Tutoriel vidéo Linux

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn