Maison >Opération et maintenance >exploitation et maintenance Linux >En quelles parties Linux peut-il être divisé ?

En quelles parties Linux peut-il être divisé ?

青灯夜游
青灯夜游original
2022-05-12 19:29:2111346parcourir

Linux peut être divisé en 4 parties : 1. Le noyau, qui contrôle tout le matériel et les logiciels du système informatique et est principalement responsable de la gestion de la mémoire système, de la gestion des programmes logiciels, de la gestion des périphériques matériels et de la gestion du système de fichiers ; , à l'exception du noyau Outils nécessaires autres que les périphériques matériels contrôlés, tels que le shell ; 3. Environnement de bureau, tel que KDE 4. Logiciel d'application.

En quelles parties Linux peut-il être divisé ?

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

Linux est un système d'exploitation gratuit et open source de type UNIX. Il s'inspire principalement des idées de Minix et Unix. Il s'agit d'un système d'exploitation multi-utilisateurs, multi-tâches, multi-thread et multi-CPU basé sur POSIX. Linux peut être divisé en quatre parties suivantes :

  • Noyau Linux
  • Outils GNU
  • Environnement de bureau graphique
  • Logiciel d'application

La figure suivante est un schéma fonctionnel de base montrant comment les différentes parties fonctionnent ensemble pour former un système Linux complet.
En quelles parties Linux peut-il être divisé ?

1.Noyau Linux

Le cœur du système Linux est le noyau. Le noyau contrôle tout le matériel et les logiciels d'un système informatique. Le noyau est principalement responsable des quatre fonctions suivantes :

  • Gestion de la mémoire système
  • Gestion des programmes logiciels
  • Gestion des périphériques matériels
  • Gestion du système de fichiers

1.1 Gestion de la mémoire système

L'une des principales fonctions du Le noyau du système d'exploitation est la gestion de la mémoire. Le noyau gère non seulement la mémoire physique disponible sur le serveur, mais il peut également créer et gérer de la mémoire virtuelle (c'est-à-dire de la mémoire qui n'existe pas réellement). Le noyau implémente la mémoire virtuelle via l'espace de stockage sur le disque dur. Cette zone est appelée espace de swap. Le noyau échange constamment le contenu de la mémoire virtuelle entre l'espace d'échange et la mémoire physique réelle. Cela fait penser au système qu’il dispose de plus de mémoire disponible que de mémoire physique.
En quelles parties Linux peut-il être divisé ?

L'unité de stockage de mémoire est divisée en plusieurs blocs selon des groupes, et ces blocs sont appelés pages. Le noyau place chaque page mémoire dans la mémoire physique ou dans l'espace d'échange. Le noyau gère ensuite une table de pages mémoire, indiquant quelles pages se trouvent dans la mémoire physique et quelles pages ont été échangées sur le disque.

Le noyau enregistrera les pages mémoire utilisées et copiera automatiquement les pages mémoire qui n'ont pas été consultées pendant un certain temps dans la zone d'espace d'échange (appelée échange) - même s'il reste de la mémoire disponible. Lorsqu'un programme souhaite accéder à une page mémoire qui a été échangée, le noyau doit échanger une autre page mémoire de la mémoire physique pour lui faire de la place, puis échanger la page mémoire demandée depuis l'espace d'échange. Évidemment, ce processus prend du temps et ralentit le processus en cours. Tant que le système Linux est en cours d'exécution, le processus d'échange de pages de mémoire pour les programmes en cours d'exécution ne s'arrêtera jamais.

1.2 Gestion des programmes logiciels
Le système d'exploitation Linux appelle les programmes en cours d'exécution un processus. Le noyau crée le premier processus (appelé processus d'initialisation) pour démarrer tous les autres processus du système. Lorsque le noyau démarre, il charge le processus d'initialisation dans la mémoire virtuelle. Lorsque le noyau démarre un autre processus, il alloue une zone privée de la mémoire virtuelle au nouveau processus pour stocker les données et le code utilisés par le processus.
Le système d'initialisation du système d'exploitation Linux utilise des niveaux d'exécution. Le niveau d'exécution détermine que le processus d'initialisation exécute certains types de processus définis dans le fichier /etc/inittab ou dans le répertoire /etc/rcX.d. Le système d'exploitation Linux dispose de 5 niveaux d'exécution de démarrage.

Lorsque le niveau d'exécution est 1, seuls les processus système de base et un processus de terminal de console sont démarrés. Nous appelons cela le mode mono-utilisateur. Le mode mono-utilisateur est généralement utilisé pour la maintenance d'urgence du système de fichiers en cas de problème système. Évidemment, dans ce mode, une seule personne (généralement l'administrateur système) peut se connecter au système pour manipuler les données.

Le niveau d'exécution de démarrage standard est 3. À ce niveau d'exécution, la plupart des logiciels d'application, tels que les programmes de support réseau, démarrent. Un autre niveau d'exécution courant sous Linux est 5. À ce niveau d'exécution, le système démarrera le système graphique X Window, permettant aux utilisateurs de se connecter au système via la fenêtre graphique du bureau.

Le système Linux peut contrôler les fonctions de l'ensemble du système en ajustant le niveau d'exécution de démarrage. En ajustant le niveau d'exécution de 3 à 5, le système peut être transformé d'un système basé sur console en un système graphique X Window plus avancé.

1.3 Gestion des périphériques matériels Une autre responsabilité du noyau est de gérer les périphériques matériels. Tout périphérique avec lequel un système Linux doit communiquer doit avoir son code de pilote dans le code du noyau. Le code du pilote agit comme intermédiaire entre l'application et le périphérique matériel, permettant l'échange de données entre le noyau et le périphérique. Il existe deux méthodes pour insérer le code du pilote de périphérique dans le noyau Linux :

    Code du pilote de périphérique compilé dans le noyau
  • Module de pilote de périphérique pouvant être inséré dans le noyau
Le système Linux traite les périphériques matériels comme des fichiers spéciaux, appelés document sur les appareils. Il existe 3 catégories de fichiers d'appareil :

  • Fichier de périphérique de caractère : fait référence à un périphérique qui ne peut traiter qu'un seul caractère à la fois lors du traitement des données. La plupart des types de modems et de terminaux sont créés sous forme de fichiers de périphérique de caractères.
  • Fichier de périphérique bloc : fait référence à un périphérique capable de gérer de gros morceaux de données à la fois, comme un disque dur.
  • Fichiers de périphériques réseau : font référence aux appareils qui utilisent des paquets de données pour envoyer et recevoir des données, y compris diverses cartes réseau et un périphérique de bouclage spécial.

1.4 Gestion du système de fichiers
Le noyau Linux prend en charge la lecture et l'écriture de données à partir du disque dur via différents types de systèmes de fichiers. Le Tableau 1-1 répertorie les systèmes de fichiers standard utilisés par les systèmes Linux pour lire et écrire des données.
En quelles parties Linux peut-il être divisé ?

2.GUN Tools

En plus de contrôler les périphériques matériels par le noyau, les systèmes d'exploitation nécessitent également des outils pour exécuter certaines fonctions standard, telles que le contrôle des fichiers et des programmes. Cet ensemble d'outils de base pour les systèmes Linux est appelé package coreutils (utilitaires de base). Le package GNU coreutils se compose de trois parties :

  • Outils de traitement des fichiers
  • Outils de manipulation de texte
  • Outils de gestion des processus

Shell 2.1

Le shell GNU/Linux est un outil interactif spécial. Il offre aux utilisateurs un moyen de lancer des programmes, de gérer des fichiers dans le système de fichiers et des processus exécutés sur les systèmes Linux. Le cœur du shell est l’invite de ligne de commande. L'invite de ligne de commande est la partie interactive du shell. Il vous permet de saisir des commandes de texte, puis d'interpréter les commandes et de les exécuter dans le noyau. Vous pouvez également placer plusieurs commandes shell dans un fichier et les exécuter en tant que programme. Ces fichiers sont appelés scripts shell.

Sur un système Linux, plusieurs shells Linux sont généralement disponibles. Différents shells ont des fonctionnalités différentes, certains sont meilleurs pour créer des scripts et d'autres pour gérer des processus. Le shell par défaut pour toutes les distributions Linux est le shell bash. Le shell bash a été développé par le projet GNU et est considéré comme un shell Unix standard

2.1.1 Types de shells

Le type de programme shell que le système démarre dépend de la configuration de votre ID utilisateur personnel. Dans le fichier /etc/passwd, le programme shell par défaut est répertorié dans le 7ème champ de l'enregistrement de l'ID utilisateur. Dès que l'utilisateur se connecte à un terminal de console virtuelle ou démarre un émulateur de terminal dans l'interface graphique, le programme shell par défaut démarre. Par exemple : l'utilisateur root utilise /bin/bash (bash shell) comme programme shell par défaut.

[root@node1 bin]# cat /etc/passwdroot:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin
daemon:x:2:2:daemon:/sbin:/sbin/nologin
adm:x:3:4:adm:/var/adm:/sbin/nologin
lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin

Mais il existe un autre shell par défaut, /bin/sh, qui est utilisé comme shell système par défaut pour ceux qui ont besoin du shell système. script utilisé. Vous voyez souvent certaines distributions utiliser des liens symboliques pour définir le shell système par défaut sur le shell bash, comme les distributions CentOS :
$ ls -l /bin/sh

lrwxrwxrwx. 1 root root 4 Mar 18 15:05 /bin/sh -> bash

/bin/sh est équivalent à /bin/bash - -posix , utiliser sh pour appeler et exécuter le script équivaut à activer le mode standard POSIX de bash. Les différentes différences entre eux proviennent des différences entre le mode standard POSIX et bash.

La relation parent-enfant du shell 2.1.2

Le shell interactif par défaut démarré lors de la connexion à un terminal de contrôleur virtuel ou de l'exécution d'un émulateur de terminal dans l'interface graphique est un shell parent.
Lorsque vous entrez la commande /bin/bash ou une autre commande bash équivalente après l'invite CLI, un nouveau programme shell est créé. Ce programme shell est appelé shell enfant. Le sous-shell dispose également d'une invite CLI et attendra également l'entrée de la commande.
Par exemple : en utilisant ps -f

[root@node1 bin]# ps -fUID        PID  PPID  C STIME TTY          TIME CMD
root       727   711  0 11:01 pts/0    00:00:00 -bash
root      4385   727  0 12:06 pts/0    00:00:00 ps -f

Lors de l'utilisation de ps -f, deux processus sont affichés. L'ID de processus de l'un des processus est 727 et il exécute le programme shell bash. L'ID de processus d'un autre processus est 4385, ce qui correspond à la commande ps -f.

[root@node1  bin]# bash[root@node1  bin]#  ps -fUID        PID  PPID  C STIME TTY          TIME CMD
root       727   711  0 11:01 pts/0    00:00:00 -bash
root      4492   727  0 12:08 pts/0    00:00:00 bashroot      4512  4492  0 12:08 pts/0    00:00:00 ps -f

Après avoir entré la commande bash, un sous-shell apparaît. Le deuxième ps -f est exécuté dans un sous-shell. Vous pouvez voir dans les résultats affichés que deux programmes shell bash sont en cours d'exécution. L'ID de processus d'origine du premier programme shell bash, qui est le processus shell parent, est 727. Le deuxième programme shell bash, le processus sous-shell, a un PID de 4492. Notez que l'ID de processus parent (PPID) du sous-shell est 727, ce qui indique que ce processus du shell parent est le processus parent du sous-shell. Lorsqu'un processus sous-shell est généré, seule une partie de l'environnement du processus parent est copiée dans l'environnement sous-shell.

3.Linux Desktop Environment

1.KDE (K Desktop Environment, K Desktop Environment) a été initialement publié en tant que projet open source en 1996. Il génère un environnement de bureau graphique similaire à Microsoft Windows.
En quelles parties Linux peut-il être divisé ?
Le bureau KDE vous permet de placer des icônes d'application et des icônes de fichiers à des emplacements spécifiques sur le bureau. Cliquez sur l'icône de l'application et le système Linux exécutera l'application. Cliquez sur une icône de fichier et le bureau KDE détermine quelle application utiliser pour gérer le fichier.

2.GNOME (l'environnement de modèle d'objet de réseau GNU, l'environnement de modèle d'objet de réseau GNU) est un autre environnement de bureau Linux populaire. GNOME a été publié pour la première fois en 1999 et est devenu l'environnement de bureau par défaut pour de nombreuses distributions Linux.

En quelles parties Linux peut-il être divisé ?

3. Unity Desktop

Si vous utilisez la distribution Ubuntu Linux, vous remarquerez qu'elle est quelque peu différente des environnements de bureau KDE et GNOME. Pour être précis, cela est dû au fait que la société responsable du développement d'Ubuntu a décidé d'adopter son propre environnement de bureau Linux appelé Unity.

Unity Desktop doit son nom à l'objectif du projet : fournir une expérience de bureau cohérente pour les postes de travail, les tablettes et les appareils mobiles. Que vous utilisiez Ubuntu sur un poste de travail ou sur un téléphone mobile, le bureau Unity fonctionne de la même manière.

En quelles parties Linux peut-il être divisé ?

Recommandations associées : "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