Maison  >  Article  >  Opération et maintenance  >  Quelles sont les connaissances de base du système d'exploitation Linux

Quelles sont les connaissances de base du système d'exploitation Linux

coldplay.xixi
coldplay.xixioriginal
2020-08-13 11:31:435861parcourir

Connaissance de base du système d'exploitation Linux : 1. Le système d'exploitation fait la distinction entre la mémoire physique et la mémoire virtuelle ; 2. Comprendre la relation entre la mémoire et le disque dur 3. Les vulnérabilités courantes dans chaque partie, telles que le processeur ; sujet à de tels goulots d'étranglement Serveur, serveur Web dynamique ; 4. Maîtriser certaines optimisations de Linux lui-même.

Quelles sont les connaissances de base du système d'exploitation Linux

Connaissance de base du système d'exploitation Linux :

Introduction générale au système d'exploitation

•CPU : tout comme le cerveau humain, il est principalement responsable du jugement des éléments liés et du mécanisme de traitement lui-même.

Commande de requête : cat /proc/cpuinfo

• Mémoire : le bloc de mémoire dans le cerveau, où les informations collectées sur la peau, les yeux, etc. sont enregistrées pour que le processeur puisse porter des jugements. Commande de requête : cat /proc/meminfo

Mémoire physique

La mémoire physique est la capacité de la clé USB que nous insérons dans l'emplacement mémoire de la carte mère. Lorsque l'on regarde la configuration de l'ordinateur, la principale chose à regarder est la mémoire physique

Mémoire virtuelle

La technologie de mémoire virtuelle est utilisée dans Windows, c'est-à-dire qu'une partie de l'espace du disque dur est utilisée comme mémoire Lorsque la mémoire est entièrement occupée, l'ordinateur appellera automatiquement le disque dur pour agir comme mémoire pour soulager la tension de la mémoire.

Relation : la mémoire virtuelle et la mémoire physique peuvent être utilisées sous Windows. Sous Linux, la mémoire virtuelle ne sera utilisée que lorsque la mémoire physique est épuisée

• Disque dur : le bloc de mémoire dans. le cerveau, Enregistrez des données importantes afin qu’elles puissent être réutilisées à l’avenir.

Commande de requête : fdisk -l (nécessite l'autorisation root)

2. La relation entre la mémoire et le disque dur

La commande spécifique sera introduite. plus tard

3. Commande de surveillance du système d'exploitation>Écrire une copie séparée

•vmstat

•sar

• iostat

•top

•gratuit

•uptime

•netstat

•ps

•strace

•lsof

4. Comment analyser le système d'exploitation

Processus réel : Lire les données》Données>Disque dur》Mémoire virtuelle ( swaP)》Mémoire》 Cache CPU》File d'attente d'exécution

La direction de l'analyse est exactement le contraire

5 Vulnérabilités qui se produisent souvent dans diverses parties

. •CPU : ce type de goulot d'étranglement est susceptible de se produire sur les serveurs de messagerie, les serveurs Web dynamiques

•Mémoire : serveurs d'impression, serveurs de base de données, serveurs Web statiques sujets à de tels goulots d'étranglement

•Disque I /O : Projets avec des opérations de lecture et d'écriture fréquentes

•Bande passante réseau : téléchargement fréquent de grandes quantités de projets

Quelques optimisations de Linux lui-même.

1. Optimisation de l'installation du système

Lors de l'installation d'un système Linux, le partitionnement du disque et l'allocation de mémoire SWAP affectent directement les performances du système. Concernant le paramétrage de la mémoire virtuelle SWAP, il n'est plus nécessaire que la mémoire virtuelle soit deux fois supérieure à la mémoire physique. Cependant, selon l'expérience, si la mémoire est petite (la mémoire physique est inférieure à 4 Go), la partition de swap SWAP. la taille est généralement définie sur deux fois la mémoire ; si la mémoire physique est d'environ 4 Go et inférieure à 16 Go, vous pouvez définir la taille du SWAP pour qu'elle soit égale ou légèrement inférieure à la mémoire physique si la mémoire est supérieure à 16 Go, en principe vous ; peut définir SWAP sur 0, mais il est préférable de définir une certaine taille de SWAP

• 2. Optimisation des paramètres du noyau

Par exemple, si le système déploie une application de base de données Oracle, alors vous avez besoin pour optimiser le segment de mémoire partagée du système (kernel.shmmax, kenerl.shmmni, kernel.shmall),

le sémaphore système (kernel.sem), le descripteur de fichier (fs.file0max) et d'autres paramètres sont optimisés et définis ; si une application WEB est déployée, alors les paramètres réseau doivent être optimisés en fonction des caractéristiques de l'application Web, comme la modification de net.ipv4.ip_local_port_range, net ipv4.tc_tw_reuse, net.core.somaxconn et d'autres réseaux

.

Paramètres du noyau

• 3. Optimisation du système de fichiers

Les systèmes de fichiers optionnels sous Linux sont ext2, ext3 , xfs, ReiserFS

Le système de fichiers standard Linux démarre à partir de VFS, puis ext, ext2, ext2 est le système de fichiers standard sous Linux, et ext3 est formé en ajoutant des journaux sur la base d'ext2. De VFS à ext3, la philosophie de conception n'a pas beaucoup changé. Ils ont tous été conçus sur la base des concepts de conception de super blocs et d'inodes de la première famille UNIX. Le système de fichiers XFS est un système de fichiers journaux avancé développé par SGI. Il offre un accès à faible latence et à bande passante élevée aux données du système de fichiers en distribuant les requêtes de disque, en localisant les données et en maintenant la cohérence du cache. Par conséquent, XFS est extrêmement évolutif et très robuste. , avec d'excellentes capacités de journalisation, une forte évolutivité et une écriture rapide. ReiserFS est un système de fichiers journaux hautes performances développé sous la direction de Hans Reiser. Il gère les données via une arborescence complètement équilibrée, comprenant les données des fichiers, les noms de fichiers, la prise en charge des journaux, etc. Par rapport à ext2 et ext3, le plus grand avantage est que les performances d'accès et la sécurité sont grandement améliorées. Il présente les avantages d'une utilisation efficace et raisonnable de l'espace disque, d'un mécanisme de gestion des journaux de première classe, d'une méthode de recherche spéciale, d'un stockage sur disque massif, etc.

4. Connaissances clés

Mémoire physique et mémoire virtuelle

(1) Comment vérifier la mémoire physique et la mémoire virtuelle ?

La commande Top peut afficher les valeurs de la mémoire physique et de la mémoire virtuelle

(2).Buffer

est une puce mémoire sur le contrôleur de disque dur, qui a une vitesse d'accès extrêmement rapide. Il s'agit d'un tampon entre le stockage interne du disque dur et l'interface externe. Étant donné que la vitesse de transmission des données internes du disque dur est différente de la vitesse de transmission de l'interface externe, le cache joue un rôle tampon. La taille et la vitesse du cache sont des facteurs importants directement liés à la vitesse de transmission du disque dur et peuvent grandement améliorer les performances globales du disque dur.

(3).Cache

La mémoire cache est une mémoire temporaire située entre le CPU et la mémoire. Sa capacité est bien inférieure à celle de la mémoire, mais elle. est échangée. La vitesse est beaucoup plus rapide que la mémoire. L'émergence du cache vise principalement à résoudre la contradiction entre la vitesse de fonctionnement du processeur et la vitesse de lecture et d'écriture de la mémoire. Étant donné que la vitesse de fonctionnement du processeur est beaucoup plus rapide que la vitesse de lecture et d'écriture de la mémoire, cela entraînera une longue attente du processeur. pour que les données arrivent ou écrivent des données dans la mémoire. Les données dans le cache représentent une petite partie de la mémoire, mais cette petite partie est sur le point d'être accédée par le CPU dans un court laps de temps. Lorsque le CPU appelle une grande quantité de données, il peut éviter la mémoire et l'appeler. directement depuis le cache, accélérant ainsi la vitesse de lecture

(4).Interruption du CPU

Lorsque le CPU termine d'exécuter une instruction en cours, si le périphérique envoie un demande d'interruption au CPU, le CPU répondra si le , un signal de réponse d'interruption sera émis et les interruptions seront désactivées en même temps, indiquant que le CPU n'accepte plus les interruptions d'un autre périphérique. À ce moment-là, la CPU détecte quel périphérique est la source de la demande d'interruption et enregistre le contenu de son propre compteur de programme (PC). Il sera ensuite transféré vers la routine de service d'interruption qui gère cette source d'interruption. Une fois que le processeur a enregistré les informations sur site et effectué des services d'équipement (tels que l'échange de données), il restaurera les informations sur site. Une fois ces actions terminées, ouvrez l'interruption et revenez à l'instruction suivante du programme principal interrompu d'origine.

(5). Changement de contexte

Changement de contexte ou changement d'environnement

Dans un système multitâche, le changement de contexte fait référence à l'événement CPU. cela se produit lorsque le contrôle est transféré d’une tâche en cours d’exécution à une autre tâche prête.

Dans le système d'exploitation, lorsque le CPU passe à un autre processus, il est nécessaire de sauvegarder l'état du processus en cours et de restaurer l'état de l'autre processus : la tâche en cours d'exécution passe à l'état prêt (ou suspendu , supprimé) et une autre est sélectionnée. La tâche prête spécifiée devient la tâche actuelle. Le changement de contexte inclut la sauvegarde de l'environnement d'exécution de la tâche en cours et la restauration de l'environnement d'exécution de la tâche à exécuter.

Le contexte du processus est représenté par le PCB (bloc de contrôle de processus, également appelé PCB, bloc de contrôle de tâches) du processus, qui comprend l'état du processus, les valeurs des registres du CPU, etc.

Enregistrez généralement l'état actuel du processeur en effectuant une sauvegarde d'état, puis effectuez une restauration d'état pour redémarrer l'opération.

Le changement de contexte peut avoir un impact négatif sur les performances. Cependant, certains changements de contexte sont plus coûteux que d’autres ; l’un des changements de contexte les plus coûteux est le changement de contexte intercœur. Un thread peut s'exécuter sur un processeur dédié ou sur plusieurs processeurs. Les threads servis par un seul processeur ont une affinité de processeur (Processor Affinity), qui est plus efficace. La préemption et la planification de threads sur un autre cœur de processeur peuvent entraîner des échecs de cache en raison d'échecs de cache et de changements de contexte excessifs pour accéder à la mémoire locale. En bref, c'est ce qu'on appelle le « changement de contexte entre cœurs ».

6. Processus et threads

Concept de processus

Le processus est la représentation de base de la ressource L'unité d'allocation est l'unité de base de l'opération de planification. Par exemple, lorsqu'un utilisateur exécute son propre programme, le système crée un processus et lui alloue des ressources, notamment diverses tables, espace mémoire, espace disque, périphériques d'E/S, etc. Ensuite, placez le processus dans la file d'attente prête du processus. Le planificateur de processus le sélectionne et lui alloue le processeur et d'autres ressources associées avant que le processus ne s'exécute réellement. Le processus est donc l’unité d’exécution simultanée dans le système.

Concept de thread

Un thread est la plus petite unité permettant d'effectuer des opérations dans un processus, qui est également l'unité de base pour la planification du processeur. Si un processus est compris comme une tâche logiquement complétée par le système d'exploitation, alors un thread représente l'une des nombreuses sous-tâches possibles pour terminer la tâche

La relation entre le processus et le thread

(1) Un thread ne peut appartenir qu'à un seul processus, et un processus peut avoir plusieurs threads, mais il y a au moins un thread. (2) Les ressources sont allouées aux processus et tous les threads du même processus partagent toutes les ressources du processus.

(3) Le processeur est attribué à des threads, c'est-à-dire que les threads s'exécutent réellement sur le processeur.

(4) Les threads doivent coopérer et se synchroniser pendant l'exécution. Les threads des différents processus doivent utiliser la communication par messages pour réaliser la synchronisation.

Recommandations d'apprentissage associées : Vidéo Linux

Remarque :

1.Linux est un système sensible à la casse. Par exemple, Mozilla, MOZILLA, mOzilla et mozilla sont quatre commandes différentes (mais seule la quatrième mozilla est une commande vraiment valide). De plus, my_filE, my_file et my_FILE sont trois fichiers différents. Le nom de connexion et le secret de l'utilisateur sont également sensibles à la casse (car la tradition des systèmes UNIX et du langage C a toujours été sensible à la casse).

2. Le nom du fichier peut contenir jusqu'à 256 caractères et peut contenir des chiffres, des points ".", des traits de soulignement "_", des barres horizontales "-", ainsi que d'autres caractères non recommandés.

3. Les fichiers avec "." devant le nom du fichier ne sont généralement pas affichés lors de la saisie de la commande "ls" ou "dir". Ces fichiers peuvent être considérés comme des fichiers cachés. Bien entendu, vous pouvez également utiliser la commande "ls -a" pour afficher ces fichiers.

4. "/" est équivalent à "" sous DOS (le répertoire racine, ce qui signifie le répertoire parent de tous les autres répertoires, ou un symbole d'espacement entre les répertoires et entre les répertoires et les fichiers). Par exemple, cd /usr/doc.

5. Sous le système Linux, tous les répertoires sont affichés sous une seule arborescence de répertoires (différente de l'identification du lecteur du système DOS). Cela signifie que tous les fichiers et répertoires de tous les appareils physiques sont regroupés sous une seule arborescence de répertoires.

6. Dans le fichier de configuration, les lignes commençant par # sont des lignes de commentaires. Lors de la modification du fichier de configuration, essayez de ne pas supprimer les anciens paramètres - vous pouvez ajouter "#" aux paramètres d'origine pour les transformer en lignes de commentaires. Ajoutez toujours des commentaires sur les modifications correspondant aux emplacements de modification. Vous le constaterez à l'avenir. gestion Bénéficiez-en beaucoup.

7.Linux est un système d'exploitation multi-utilisateurs hérité. Vos paramètres personnels (et ceux des autres utilisateurs) sont placés dans votre répertoire personnel (généralement /home/your_user_login_name). Les noms de fichiers de nombreux fichiers de configuration commencent par ".", de sorte que les utilisateurs ne peuvent généralement pas voir ces fichiers.

8. Les paramètres à l'échelle du système sont généralement placés dans le répertoire /etc.

9. Semblable à d'autres systèmes d'exploitation multi-utilisateurs, sous Linux, les fichiers et les répertoires ont leurs propres propriétaires et autorisations d'accès. De manière générale, vous n'êtes autorisé qu'à stocker des fichiers dans votre répertoire personnel (/home/your_user_login_name). Apprenez quelques connaissances pertinentes sur la gestion des autorisations de fichiers, sinon vous trouverez certainement Linux très gênant.

10. Les options des paramètres de commande sont généralement guidées par "-", suivi d'un caractère (ou "--", lorsque l'option dépasse un caractère). De cette façon, "-" est un peu comme "/" sous DOS. Par exemple, entrez la commande rm --help.

Recommandations associées : Cours vidéo de programmation

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