Comment en savoir plus sur le noyau Linux à partir de votre propre machine



Essayez Notre Instrument Pour Éliminer Les Problèmes

Apprendre à travailler avec GNU / Linux implique généralement d'apprendre à travailler avec un environnement de bureau. La technologie de thème permet à ces environnements de bureau d'imiter les interfaces des appareils iOS, Microsoft Windows et OS X. Cela aide à minimiser cela pour ainsi dire. Beaucoup de gens vont plus loin et apprennent l'administration de la ligne de commande Unix avec les shells Bash ou tcsh. Cependant, vous familiariser avec les composants internes du noyau Linux peut vous aider à mieux comprendre comment différents morceaux d'opcode interagissent les uns avec les autres.



Certaines personnes soutiendraient qu'il serait préférable d'aller plusieurs étapes plus loin et d'apprendre en plus comment les compilateurs transmutent le code C en instructeurs de machine pour un microprocesseur. Les partisans du code d'assemblage soutiendraient alors qu'il est préférable d'apprendre l'ASM pour vraiment comprendre la programmation sur les plates-formes x86 et x86_64. Indépendamment de ces positions, les commandes Linux de base peuvent fournir une mine d'informations sur la façon dont le noyau voit votre ordinateur. Apprendre à travers un look sans toucher au paradigme est un excellent moyen de maîtriser le noyau lui-même. Bien que le compte racine ait été utilisé pour les exemples de cette page, il est fortement recommandé de ne jamais afficher les répertoires liés au noyau que via un compte utilisateur.



Méthode 1: Le répertoire / proc

Le répertoire / proc se trouve dans l'une des régions principales du répertoire racine de niveau supérieur de toute structure de fichiers Unix. Il contient ce qu'on appelle le système de fichiers proc, mieux connu sous le nom de procfs, qui contient des informations sur la manière dont différentes ressources accèdent à la mémoire du noyau. Il est mappé à / proc au moment où le système démarre. Étant donné que cette structure de fichier proxy sert d’interface avec la structure de données interne du noyau Linux, il est encore une fois préférable de n’explorer cela que via un compte utilisateur. De toute façon, la plupart des fichiers sont classés en lecture seule selon la structure de fichiers système visible, mais il vaut mieux être prudent.



Cela étant dit, chacun de ces fichiers est un fichier texte, vous pouvez donc les visualiser si vous le souhaitez. Utilisez la commande cd pour entrer dans le répertoire / proc, puis lancez ls pour voir ce qu'il y a. Utilisez la commande cat, less ou more avec l'un des fichiers pour les consulter. Le fichier cpuinfo est un bon point de départ, car il affiche la façon dont le noyau voit votre microprocesseur. Regardez le fichier stat pour une vue des processus en cours.

2016-11-25_020006

Taper des appareils pour chats vous donnera un aperçu des éléments attachés à votre machine.



2016-11-25_020109

En passant, vous pouvez toujours lancer la commande man proc pour un aperçu de la relation entre la structure du fichier / proc et le noyau. La page servie provient du manuel du programmeur Linux.

25/11/2016_020156

Méthode 2: Le répertoire / sys

Votre prochaine étape de la visite guidée de votre noyau est / sys, qui est un autre répertoire mappé à une structure de fichiers simulée. Cela suit le même concept général Unix que / proc, mais il exporte à la place activement des informations sur les lecteurs de périphériques associés et un certain nombre de sous-systèmes du noyau. Si vous avez déjà travaillé avec un système basé sur BSD, vous serez peut-être plus familier avec sysctl fournissant ces fonctions. Les périphériques de bus PCI, USB et S / 390 sont tous mappés vers le répertoire / sys.

Utilisez cd / sys pour accéder au répertoire, puis exécutez la commande ls ou dir. Vous pouvez avoir des répertoires intitulés block, class, devices, fs, kernel et peut-être d'autres. Vous pouvez les explorer pour d'autres fichiers plats contenant des informations sur le système, mais une fois de plus, faites-le à partir d'un compte utilisateur et gardez un œil, mais ne touchez pas à votre mentalité.

Méthode 3: Le répertoire / dev

Utilisez la commande cd / dev pour vous diriger vers le répertoire / dev, qui est peut-être la structure virtuelle du noyau que vous connaissez déjà le mieux. Le nom signifie les périphériques et contient une représentation de fichier des périphériques connectés à votre système. Une commande ls dans ce répertoire renverra de nombreux fichiers, même sur la distribution de serveur la plus simple.

25/11/2016_020242

Quelques-uns d'entre eux sont très spéciaux. Le fichier / dev / null est un périphérique nul qui ne fait rien. Si vous tapez cat / dev / null, vous n’en retirerez rien. Il s’appelle le compartiment de bits et la sortie peut y être redirigée pour garder l’écran propre. Un fichier appelé / dev / zero ne contient rien d'autre que zéro donnée, qui peut être écrite sur un disque pour la remettre à zéro. Les fichiers aléatoires et urandom contiennent des données indésirables aléatoires pour créer des hachages de sécurité.

Si vous avez déjà formaté un disque, vous avez probablement au moins une certaine expérience de la façon dont le noyau Linux les voit. Chaque disque attaché au système reçoit un nom comme sda, sdb, etc. pour chaque disque. Différents types de disques ont des noms différents. Gardez à l’esprit que le répertoire / dev utilise une définition informatique formelle potentielle du disque plutôt que la manière dont nous utilisons habituellement ce terme. Cela signifie qu'un disque dur, un SSD, une carte SD, une carte microSDHC, un système de fichiers de smartphone monté via USB, des clés USB et même des tablettes montées sont tous des disques du noyau.

Chaque nom de disque sous Linux reçoit ensuite un chiffre après celui-ci indiquant un numéro de partition. Si vous aviez un SSD avec deux partitions principales, vous pourriez avoir / dev / sda1 et / dev / sda2 comme volumes valides. Plus que probablement, si vous exécutez Linux à partir d'un ordinateur de bureau ou d'un ordinateur portable avec un partitionnement de style MBR, alors vous avez défini / dev / sda1 sur la partition ext4 sur laquelle Linux est réellement installé. Plus que probablement / dev / sda2 est une partition étendue qui contient alors / dev / sda5 comme partition d'échange. Ce schéma est courant, mais en aucun cas nécessaire. Notez que puisque la partition d'échange dans cet exemple courant est un disque logique à l'intérieur d'une partition étendue, elle reçoit 5 au lieu de 3 comme son chiffre.

Si vous souhaitez en savoir plus sur la façon dont le noyau affiche et formate les partitions, vous pouvez en fait afficher une liste de partitions prises en charge avec la commande fdisk. Tandis que fdisk n'écrit pas de tables de partition tant que vous ne le lui demandez pas, il est toujours préférable d'essayer cela avec quelque chose que vous ne vous souciez pas de griller. Il est recommandé de le pointer vers quelque chose comme une clé USB vierge que vous pourriez simplement reformater.

Supposons que votre bâton s’affiche comme / dev / sdc , alors vous pouvez utiliser sudo fdisk / dev / sdc pour le charger. Si vous avez une partition valide, tapez t pour changer le type et le type L pour charger une liste de codes hexadécimaux. Notez que les schémas de partition MBR et GUID parlent différemment au noyau et ont donc des affectations différentes.

25/11/2016_020331

Le plus souvent, vous aurez des lecteurs définis sur le type 83, qui est pour les lecteurs Linux, 82, qui est pour les partitions de swap Linux, ou l’un des types de fichiers FAT. FAT remonte sous une forme ou une autre à 1977 et est toujours préféré pour de nombreux types d'appareils mobiles ainsi que pour de nombreux lecteurs amovibles. Notez que certains types de partition, tels que le type 0x0c, comportent quelque chose appelé prise en charge LBA.

Lorsqu'un programmeur conçoit un noyau pour un système d'exploitation, il peut regarder les disques de différentes manières. La première consiste à diviser les plateaux en cylindres, têtes et secteurs. C'était la manière classique de désigner les disques durs le plus longtemps. La véritable géométrie du disque n'a jamais vraiment été importante pour Linux, et ce schéma manque malheureusement d'adresses après environ 8 gigaoctets binaires. La deuxième méthode consiste à utiliser l’adressage logique C / H / S, qui fait cela, mais permet ensuite au contrôleur de disque de mapper les numéros de cylindre, de tête et de secteur où ils le souhaitent. C'est pourquoi un système d'exploitation pourrait théoriquement prétendre qu'il y avait des têtes dans une carte SD ou une clé USB lorsque cela est physiquement impossible.

La troisième méthode consiste à utiliser l'adressage de bloc logique, ce que signifie LBA. Chaque bloc physique d'un volume reçoit un chiffre dans ce schéma. Le système d’exploitation demande au contrôleur de disque d’écrire dans un certain bloc numéroté, mais ne sait pas vraiment si c’est le bloc direct sur le disque. C’est le schéma le plus utilisé aujourd’hui, et il est certainement utilisé sur la grande majorité des disques durs depuis le milieu des années 1990.

Linux offre une prise en charge du noyau pour monter une grande variété de types de partitions sans entrée directe, mais il est toujours préférable de ne pas être trop farfelu lors de leur sélection. Vous pourriez porter un toast à vos données si vous faites un choix de type de partition très étrange pour le système de fichiers.

Méthode 4: Appels système à partir du manuel du programmeur Linux

Les lecteurs de pages de manuel intégrés inclus dans la majorité des distributions Linux peuvent en fait vous donner un cours intensif sur les appels système, ce qui peut vous aider énormément à en apprendre davantage sur le noyau. Démarrez le navigateur de pages man graphiques xman soit à partir d'un lien .desktop si vous en avez un, soit en maintenant enfoncés simultanément la touche super et R, puis en tapant xman et en appuyant sur Entrée. Sélectionnez l'option «Page manuelle», puis choisissez «Sections» et enfin «(2) Appels système» dans le menu déroulant.

2016-11-25_020430

Une fois une option lisant ' intro »Apparaît, sélectionnez-le. Une page du manuel du programmeur Linux qui vous en apprendra un peu plus sur les appels système vous accueillera alors.

2016-11-25_020518

6 minutes de lecture