logo Debian Debian Debian-France Debian-Facile Debian-fr.org Forum-Debian.fr Debian ? Communautés logo inclusivité

Debian-facile

Bienvenue sur Debian-Facile, site d'aide pour les nouveaux utilisateurs de Debian.

Vous n'êtes pas identifié(e).


L'icône rouge permet de télécharger chaque page du wiki visitée au format PDF et la grise au format ODT → ODT PDF Export

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentes Révision précédente
Prochaine révision
Révision précédente
Prochaine révision Les deux révisions suivantes
doc:systeme:gnu-linux [03/05/2013 09:28]
smolski [Processus]
doc:systeme:gnu-linux [13/06/2013 06:40]
martinux_qc [La mémoire]
Ligne 1: Ligne 1:
 ====== GNU/Linux ====== ====== GNU/Linux ======
 +
 +**TUTO EN COURS DE MODIFICATION** smolski - //​05-05-2013//​
  
 (**smolski** 02-05-2013 //fait ce qu'il te plaît !//) Le retour sur le forum est ici : [[http://​debian-facile.org/​viewtopic.php?​id=6780 | Lien vers le forum concernant ce tuto]] (**smolski** 02-05-2013 //fait ce qu'il te plaît !//) Le retour sur le forum est ici : [[http://​debian-facile.org/​viewtopic.php?​id=6780 | Lien vers le forum concernant ce tuto]]
Ligne 10: Ligne 12:
  
  
-===== Généralités ​=====+===== Le PC =====
  
-Un ordinateur seul ne peut effectuer rien de très utile. \\ +Un PC est une machine qui écrit ​des 0 et des 1 sur les secteurs d'un disque ​et qui utilise ​une carte graphique ​pour nous permettre de les lire sur un écran\\
-Pour lui un disque dur n'est qu'un endroit pour stocker ​des 0 et des 1 et une carte graphique ​n'est qu'un module mis dans un emplacement.+
  
-Pour lui dire que faire de tout cela, il y a //une première couche logicielle//​ qui est le système ​d'​exploitation ​(sur un PC il y a [[manuel:​bios | le BIOS]] avant tout). \\ +===== Système ​d'​exploitation ​=====
-On y trouve dedans tout ce qui est nécessaire pour gérer le matériel et fournir à l'​utilisateur les fonctions de base.+
  
-Certains systèmes ​d'​exploitation ​relativement récents rendent tout cela un peu confus ​en mélangeant toutes ​les couches. \\ +Un système ​d'​exploitation ​(ou **OS**) est un logiciel qui, en première couche, possède ​les bases de fonctionnement pour gérer ​le matériel installé((En premier lieu : [[manuel:​bios | le BIOS]])).
-//​L'​interface graphique// est fournie //​avec ​le système d'​exploitation//​ comme c'​est ​le cas par exemple avec Windows depuis la version 95.+
  
-Pour qui souhaite un peu mieux comprendre ​l'architecture interne, il vaut mieux s'​intéresser à un système comme **GNU/Linux** ​qui met plus en évidence ce découpage.+L'OS fournit aussi //l'interface graphique// qui se trouvera à être plus ou moins séparée de cette première couche.
  
-===== Gestion ​de la mémoire =====+Par exemple. windows mélange ces deux couches alors que, dans le but d'un meilleur fonctionnement et de clarté pour l'​utilisateur,​ GNU/Linux les sépare davantage.
  
-Un des premiers rôles du système d'​exploitation((OS)) est de gérer la mémoire disponible sur la machine. \\ +===== Interface graphique =====
-Par cela, il s'agit de la **RAM** présente sur la machine, mais pas seulement, comme cela sera expliqué ci-après.+
  
-Sur une machine plusieurs programmes peuvent s'​exécuter simultanément comme expliqué dans la section suivante. +Bien que fournis ​avec l'OSl'​interface graphique n'​en ​fait pas réellement partie.
-<note tip>Il ne faut pas que ceux-ci puissent interférer les uns avec les autres.</​note>​ +
-Durant son déroulementune application a besoin de sauvegarder des données temporairement. \\ +
-Quand vous utilisez un traitement de texte par exemple, il conserve la police actuellement utilisée. \\ +
-Cela se fait dans la //​mémoire//​. \\ +
-Et il ne faut pas que le jeu qui est en train d'​être utilisé en même temps (par exemple) puisse altérer cette valeur lorsqu'​il enregistre l'​emplacement actuel du joueur.+
  
-Pour réaliser cela, les programmes ne peuvent pas écrire directement dans la RAM de la machine. \\ +L'interface graphique vient se placer __au-dessus__ ​de ce dernier et se divise en plusieurs parties :
-Pour eux tout se passe comme si c'était le cas, mais le système d'​exploitation ​se charge d'​écrire dans certaines zones indépendantes les unes des autres. \\ +
-Le programme voit un espace ​de mémoire virtuelle dans lequel il peut faire ce qu'il veut sans risquer de déranger les autres. \\+
  
-Pour résoudre ​ce problèmeil y a la notion ​de fichier d'​échange (ou **swap**). \\ +  -  Le //X.Org// qui se charge de tout qui concerne le matériel (par exemple la carte graphique : //​affichage//,​ //​manipulation//​ de ce qui apparaît à l'​écrangestion de la //HD// et de la //3D//...). 
-La place supplémentaire nécessaire est prise sur le disque dur\\ +  - [[manuel:​gestionnaires | Les gestionnaire de fenêtres]]
-Si la mémoire est pleine et qu'il faut y écrire ​de nouvelles données, les plus anciennes (ou les moins fréquemment utilisées) seront sauvegardées sur le disque pour libérer de l'​espace.+  - [[manuel:​gui | Les gestionnaire ​de bureau]].
  
-Un programme ne peut travailler directement qu'​avec les données en mémoire ​vive. \\ +===== La mémoire ​=====
-Donc si celles qui avaient été sauvegardées sont requises, elles suivront le chemin inverse pour revenir en mémoire depuis le disque.+
  
-Tout ce mécanisme est invisible pour l'​application. ​C'​est ​le système d'exploitation ​qui se charge de ces opérations selon les besoins. +C'​est ​l'OS qui gère la mémoire.
-<note tip>Les temps d'​accès au disque dur sont coûteux. Donc si la mémoire ​est insuffisante par rapport aux applications utilisées, l'​utilisation du **swap** sera intensive et ralentira la machine.</​note>​+
  
-===== Multitâche =====+La mémorisation permet de conserver et de distinguer les données propres à chacune des applications actives dans la machine.
  
-Sur un PC standard, on a un seul processeur. Celui-ci ne peut globalement exécuter qu'une opération à la fois. Or lorsqu'on l'utiliseon peut en même temps regarder une vidéo, relever ses mails et graver un CD-ROM ​par exemple. \\ +La mémoire c'est d'abord la **RAM** installée((la mémoire vive)) mais c'est aussi [[manuel:​partition?&#​la_swap | la partition ​ swap]] créée sur le disque dur, lors de l'installation, et qui est utilisée ​par l'OS en cas de besoin.
-Vu de l'utilisateur,​ c'est comme si tous ces programmes s'​exécutaient simultanément.+
  
-<note tip>En fait il n'en est rien du fait des limitations matérielles.</​note>​+==== Détail ====
  
-Le rôle du système d'​exploitation est de faire exécuter tour à tour ces applications. \\ +En effet, une application ​en cours besoin de conserver ​en mémoire des données à sauvegarder le temps de son exécution.
-Chacune va à son tour disposer de l'​unité de calcul (le processeur) pour réaliser ce qu'il désire. \\ +
-Cet intervalle de temps (//​time-slice//​ en anglais) peut varier selon les systèmes de quelques millisecondes à plusieurs dizaines de millisecondes. \\ +
-Plus la valeur est faibleplus l'​impression de multitâche sera grande. \\ +
-Mais le passage d'une application ​à une autre un coût en termes ​de temps. \\ +
-Il faut restaurer le contexte dans lequel se trouvait l'​application avant que l'​accès au processeur lui ait été retiré.+
  
-Il faut donc trouver le bon compromis pour que tout le temps ne soit pas passé ​à basculer.+Plusieurs applications((ou **programmes**)) peuvent demander à s'​exécuter en même temps et doivent donc //chacune// conserver en //​mémoire//​ __des données temporaires__ différentes. 
 +  
 +Par exemple l'​application [[logiciel:​gimp]] conservera une couleur particulière ​à reproduire pendant qu'une application de traitement de texte conservera une police de texte en cours et qu'un navigateur visitera une page sur la //Toile//...
  
-Cette restauration de contexte comprend notamment le rétablissement de l'​espace de mémoire virtuelle évoqué ci-dessus. \\ 
-Il y a aussi le processeur qui doit être remis comme il était lorsque le programme a été interrompu. 
  
-Il faut noter qu'une application ​ne sait pas quand elle ne sera plus exécutée ​pour laisser la place à une autre. \\ +  - L'OS se charge d'​écrire ces mémorisation //​directement//​ dans des zones séparées de la mémoire. 
-On parle de //multitâche ​préemptif//​. ​\\ +  - Les programmes ​ne voient qu'un espace de mémoire //​virtuelle//​ dédié par l'OS où ils stockent les données qu'ils ont besoin de conserver ​pour fonctionner. 
-C'est le système d'exploitation ​qui prend la décision.+ 
 +==== Multitâche ==== 
 + 
 +Schématiquement,​ un PC standard d'un seul processeur ne peut exécuter qu'une opération ​à la fois. 
 + 
 +Pourtant, nous pouvons : 
 +  - utiliser ​une application,​ 
 +  - naviguer sur internet, 
 +  - copier des fichiers, 
 +  - etc... 
 + 
 +Et nous le faisons comme si tous ces programmes s'​exécutaient ensembles ! \\ 
 +C'est le principe du multitâche dit //​préemptif//​. 
 + 
 +En fait, l'OS répartit ces actions en les exécutant non chacune dans son ensemble mais chacune en pointillé avec les autres. Et il le fait si rapidement qu'il donne l'​illusion qu'​elles s'​exécutent toutes en même temps ! 
 +<​note>​En fait, entre ces pointillés il se crée un temps de quelques millisecondes (un //​time-slice//​) variable selon le système ​installé.</​note>​ 
 + 
 +Toutefois, le passage ​d'une application à l'​autre a un coût de temps qui est d'​autant plus long qu'il s'y ajoute ​la restauration de l'​ensemble des paramètres de chaque application en exécution simultanée,​ notamment la reconnaissance de la mémoire virtuelle attribuée et l'​instant de calcul du processeur avant l'​interruption.
  
 == Nota == == Nota ==
  
-Sur d'​anciens systèmes on avait un //​multitâche ​coopératif//, appelé parfois aussi //pseudo-multitâche//.+  - Plus le **time-slice** est faible, ​//plus l'​exécution du multitâche// ​ne sera pas apparente pour l'​utilisateur. 
 +  ​C'est l'​OS((le système d'​exploitation)) qui dirige le multitâche ​et non l'​application. 
 +  - L'​application n'​utilise directement que la RAM.
  
-Dans ce cas-là, c'​étaient les applications qui décidaient qu'​elles n'​avaient pendant un certains temps plus besoin du processeur (par exemple si elles attendent des données provenant du disque dur ou du réseau) et peuvent donc être mise en sommeil. \\ 
-Windows 3.1 rajoutait cette couche de multitâche coopératif sur //MS DOS// qui était **monotâche**. 
  
-===== Interface graphique ===== 
  
-Comme dit précédemment,​ l'​interface graphique ne fait pas réellement partie du système d'​exploitation lui-même. \\ +===== Le pilote ​de périphérique =====
-L'​interface graphique vient se placer au-dessus ​de ce dernier et se divise encore en plusieurs parties.+
  
-Tout d'​abord la partie la plus proche du matériel qui comprend les pilotes des cartes graphiques (voir section suivante). \\ +Le pilote ​de périphérique((le **driver**)) permet à l'OS de faire fonctionner ​le matériel installé via une interface toujours identique (//Hardware Abstraction Layer//) malgré leurs composants électroniques différents.
-Cette partie utilise les spécificités du matériel pour fournir des fonctions ​de base (afficher ou déplacer un rectangle par exemple) ou plus avancées ​(gestion de la 3D notamment). \\ +
-Sous GNU/Linux c'est le plus souvent géré par XFree86.+
  
-Ensuite vient [[manuel:​gestionnaires | le gestionnaire de fenêtres]]\\ +Par exemple, les cartes graphiques diffèrent les unes des autresLe driver en établit les spécifications techniques et permet ​à l'OS de demander ​d'afficher les données sur l'écran toujours selon la même méthode. \\ 
-Il permet d'avoir comme son nom l'indique des fenêtres pour les applications. \\ +Ainsiquelque soit les composants des cartes graphiquespour l'OS un point reste un point, un rectangle un rectangle, etc...
-Celles-ci peuvent être agrandiesréduites,... Et le passage d'une application à une autre est facilité.+
  
-Et enfin on trouve la partie la plus optionnelle,​ [[manuel:​gui | le gestionnaire ​de bureau]]. \\ +<note tip>Des normes permettent ​de standardiser ​un peu tout çaPar exemple, la norme **VGA** pour les cartes graphiques. Cependant, pour la HD ou la 3D chaque fabricant crée ses propres spécifités.</​note>​
-Il permet d'​avoir ​un environnement de travail avec un ou plusieurs bureaux virtuels sur lesquels peuvent être placés des liens vers des programmes\\ +
-Il y a aussi généralement d'​autres outils comme une barre des tâches ou des menus configurables. +
-<​note>​Les deux représentants les plus connus sous GNU/Linux sont **KDE** et **GNOME**.</​note>​+
  
-===== Rôle d'un pilote ​de périphérique =====+Les drivers font partie ​de l'OS bien qu'ils puissent être fournis séparément par le constructeur.
  
-Appelé driver en anglais, le pilote de périphérique est l'​interface entre le matériel et le système d'​exploitation. \\ +==== Mode ====
-Il permet de faire l'​abstraction de celui-ci (on parle de //Hardware Abstraction Layer//) en fournissant une interface toujours identique. \\ +
-Les différents matériels ne sont pas constitués des mêmes composants électroniques. Mais les fonctionnalités qu'ils présentent sont les mêmes.+
  
-Comme exemple simpleon peut considérer les cartes graphiques. \\ +Aujourd'​huiil existe ​un mode dit //​protégé//​ qui permet d'avoir entre autres un meilleur modèle d'​accès à la mémoire. \\ 
-Pour faire afficher ​un point à l'écran, différentes cartes ne procéderont pas de la même manière. \\ +Dans ce dernier, il y a plusieurs niveaux ​d'exécution qui permettent d'​avoir des privilèges différents : 
-Mais le pilote de périphérique va se charger de dialoguer avec la carte selon ses spécifications techniques. \\ +  - le mode noyau, (appelé ring 0), 
-Le système ​d'exploitation appelera une méthode toujours identique pour demander à voir apparaître ce point.+  - un mode intermédiaire (ring 1), et 
 +  - le mode utilisateur (ring 2).
  
-Ces différences matérielles peuvent être atténuées avec l'​apparition de normes. \\ +<note tip>​**GNU/​Linux** utilise uniquement le ring 0 (pour le noyau…) ​et le ring 2 pour les applications.</note>
-Pour en revenir aux cartes graphiques, la norme VGA permet de standardiser l'​initialisation ​et l'​utilisation de la carte. \\ +
-Cette norme ne prévoit pas les hautes résolutions,​ ni les fonctions 3D\\ +
-Pour ces dernières, on en revient à des spécificités pour chaque fabricant/modèle.+
  
-Les drivers sont considérés comme faisant partie du système d'​exploitation. \\ +==== firmware ====
-Ils ne le sont pas forcément au sens logiciel, car ils peuvent être fournis séparément par le constructeur. Mais ils s'​exécutent dans un mode spécial, appelé mode réel. +
-<note tip>Ce mode leur permet de contourner les protections du système d'​exploitation du mode protégé (dont notamment le contrôle de la mémoire).</​note>​+
  
 +[[manuel:​wifi:​detecter-le-materiel | Les Firmware]] sont des //​micro-programmes//​ souvent fournis par le constructeur que le pilote noyau doit charger dans une RAM __incluse dans le matériel__ devant la RAM du PC gérée elle par l'OS. \\
 +Ce matériel peut aussi posséder un processeur agissant préalablement à celui du PC géré par l'OS.
 +
 +<note important>​De nombreux périphériques nécessitent aujourd'​hui que soient chargés des //​firmware//,​ et comme ceux-ci sont rarement libres, __ils ne sont pas installés par défaut sous Debian__.</​note>​
 ===== Démarrage ===== ===== Démarrage =====
  
-  ​* [[manuel:gnu_linux:demarrage ​| Le démarrage sous GNU/Linux]]+Au démarrage, ​**GNU/​Linux** doit passer par plusieurs //​initialisations//​ et divers programmes pour devenir utilisable \\ 
 +Chacune de ces étapes peut être configurée afin d'​obtenir par exemple des fonctions supplémentaires,​ gagner du temps au démarrage, etc... 
 + 
 +===== Le chargeur de noyau ===== 
 + 
 +Le tout premier programme à être lancé est [[manuel:bios | le BIOS]]. 
 +Celui-ci va chercher dans les paramètres du BIOS un chargeur, c'est à dire un petit programme destiné à lancer l'​OS. 
 + 
 +Un chargeur permet aussi à l'​utilisateur de lancer un des OS installé dans le même PC. \\ 
 +C'est ce qu'on nomme le **multiboot**. 
 + 
 +Les chargeurs les plus utilisés pour lancer un noyau Linux sont //LILO// et //GRUB// et sont capables tous deux de passer des options au noyau. 
 + 
 +La configuration pour GRUB : 
 +  * [[manuel:​grub2 ​Voir le tuto grub2 ici]] 
 + 
 +===== Le noyau ===== 
 + 
 +Au démarrage, le noyau va initialiser le matériel présent à l'aide des drivers des périphériques qu'il contient. 
 +<note warning>​Par contre, les drivers compilés ​sous forme de modules ne sont pas encore pris en compte.</​note>​ 
 + 
 +Sont d'​abord initialisés les éléments principaux du PC, comme le processeur, les contrôleurs de périphérique... Les périphériques externes viennent ensuite. \\ 
 +À ce stade, le noyau configure rapidement la carte graphique dans un mode standart pour permettre la lisibilité des opérations par l'​utilisateur. \\ 
 +<note tip>On peut même configurer cela par une option du noyau.</​note>​ 
 + 
 +Il y a deux manières d'​influer sur ce que va faire le noyau. 
 +  - On peut le recompiler en changeant les paramètres accessibles lors de la configuration ou alors 
 +  - lui passer des options. 
 + 
 +Les options peuvent être modifiées d'un démarrage à l'​autre de façon temporaire ou définitive. //Cool, non ?// 8-) \\ 
 +La recompilation n'est nécessaire que pour des cas particuliers d'​ajout de matériels spécifiques par exemple... 
 + 
 + 
 +==== Tableau des options ==== 
 + 
 +^Option ^Description ^ 
 +|vga=XXX |Modifier la résolution d'​écran utilisée pendant le démarrage.| 
 +|no-scroll |Désactive le défilement du texte sur l'​écran.| 
 +|noapic |L'​APIC permet à plusieurs périphériques de partager des ressources communes (les IRQ). Avec cette option, on désactive ce mécanisme en cas de problème avec certains matériels.| 
 +|mem=XXX |Indique la valeur de la mémoire vive présente sur la machine. Par exemple 512M désignera 512 Méga-octets de mémoire.| 
 +|init=XXX |Indique le programme lancé après l'​initialisation du noyau.| 
 + 
 +//Et d'​autres encore...//​ 
 +===== Le processus init ===== 
 + 
 +Une fois que le noyau a fini l'​initialisation,​ il lance le programme ''​init''​ qui va devenir le père de tous les autres processus et portera l'​identifiant((le PID)) 1. \\ 
 +Pour trouver //init//, le //noyau// va lancer sa recherche dans ces répertoires : 
 +  * /​sbin/​init 
 +  * /etc/init 
 +  * /bin/init 
 +  * /bin/sh 
 + 
 +Dès qu'il trouve //init//, le //noyau// lui passe immédiatement le contrôle de la suite des évènements. \\ 
 +  - S'il ne le trouve pas, le noyau tentera de lancer [[manuel:​shell | un shell]] pour permettre un accès au système. 
 +  - Si le shell ne fonctionne pas, le noyau indique l'​erreur et s'​arrête. 
 + 
 +Pour modifier la recherche on utilise l'​option du noyau **init=** en lui indiquant le chemin complet((Voir : [[manuel:​repertoire | Les chemins absolus et relatifs en détail.]])) de l'​exécutable à lancer. 
 + 
 +==== Configuration d'init ==== 
 + 
 +Le fichier //init// se configure dans le répertoire : ''/​etc/​inittab''​. \\ 
 +Exemple de configurations : 
 +<​code>​ 
 +id:​5:​initdefault:​ 
 + 
 +si::​sysinit:/​etc/​rc.sysinit 
 + 
 +l0:​0:​wait:/​etc/​rc.d/​rc 0 
 +l1:​1:​wait:/​etc/​rc.d/​rc 1 
 +l2:​2:​wait:/​etc/​rc.d/​rc 2 
 +l3:​3:​wait:/​etc/​rc.d/​rc 3 
 +l4:​4:​wait:/​etc/​rc.d/​rc 4 
 +l5:​5:​wait:/​etc/​rc.d/​rc 5 
 +l6:​6:​wait:/​etc/​rc.d/​rc 6 
 + 
 +ca::​ctrlaltdel:/​sbin/​shutdown -t3 -r now</​code>​ 
 +Explication en tableau : 
 +^Position ^Nom ^Description ^ 
 +|1 |Identifiant |Une chaîne de caractère choisie par l'​utilisateur (sauf dans certains cas particuliers) et permettant d'​identifier la ligne. | 
 +|2 |Niveaux d'​exécution |Les niveaux d'​exécution pour lesquels cette ligne doit être prise en compte. | 
 +|3 |Action |Contient une des actions prédéfinies indiquant ce qui doit être fait. | 
 +|4 |Programme |Le programme qui doit être exécuté lorsque l'on rentre dans les niveaux indiqués. | 
 + 
 +Certains champs peuvent être ignorés selon ce qui est choisi. 
 + 
 +==== Configuration d'​inittab ==== 
 + 
 +Tableau de configuration pour ''/​etc/​inittab''​ (//les configurations principales...//​) 
 +^Action ^Champs ignorés ^Description ^ 
 +|initdefault |Programme |Permet d'​indiquer le niveau d'​exécution à utiliser par défaut. Le champs Niveaux d'​exécution contiendra alors une seule valeur qui sera ce niveau par défaut.| 
 +|sysinit |Niveaux d'​exécution |Le champs Programme contient le chemin vers un exécutable qui sera lancé en tout premier par init (donc juste après que le noyau ait terminé ses initialisations).| 
 +|wait |Aucun |Lorsque le système passera dans la niveau d'​exécution spécifié, init exécutera la commande indiquée puis attendra qu'​elle se termine.| 
 +|respawn |Aucun |Semblable à wait si ce n'est qu'à chaque fois que le programme se termine, init le relancera.| 
 +|ctrlaltdel |Niveaux d'​exécution |Permet d'​indiquer une commande devant être exécutée lorsque l'​utilisateur presse la combinaison de touches Ctrl-Alt-Suppr.| 
 + 
 +===== Les modes d'​exécution ===== 
 + 
 +Selon les services qui sont lancés, plusieurs modes d'​exécution sont possibles. \\ 
 +La convention appliquée est appelée ''​System V init''​. Elle définit la gestion des différents niveaux. 
 + 
 +Dans le fichier **inittab** c'est le programme ''/​etc/​rc.d/​rc''​ qui gère cela. Il est lancé avec un numéro en paramètre qui défini le niveau d'​exécution attribué. 
 + 
 +Il y a habituellement 7 niveaux d'​exécution numérotés de 0 à 6. \\ 
 + 
 +==== Tableau des niveaux d'​exécution ==== 
 + 
 +^Numéro ^Désignation ^Description ^ 
 +|0 |Arrêt |Ce niveau provoque un arrêt de la machine.| 
 +|1 |Maintenance |Accès à un shell sans aucun service de lancé. Utilisé pour le dépannage.| 
 +|2 |Multi-utilisateurs simple |Ouverture à plusieurs utilisateurs en mode texte. Mais les services sont limités (pas de réseau par exemple).| 
 +|3 |Multi-utilisateurs complet |Ajoute le démarrage de tous les services nécessaires pour plusieurs utilisateurs connectés en mode texte.| 
 +|4 |Mode utilisateur |Librement utilisé.| 
 +|5 |Graphique |Identique au mode 3. Lles utilisateurs peuvent se connecter en mode graphique et disposer d'un gestionnaire de fenêtre.| 
 +|6 |Redémarrage |Redémarre la bécane.| 
 + 
 +==== mode initdefault ==== 
 + 
 +Après le démarrage, le système se trouve dans le mode indiqué par **initdefault** dans ''/​etc/​inittab''​. 
 + 
 +Pour le changer, il existe un outil appellé //​telinit//​. Il suffit de le lancer en lui passant en paramètre un numéro du niveau. \\ 
 +Par exemple : 
 +<code bash> 
 +telinit 6</​code>​ 
 + 
 +Cette commande redémarre la machine. 
 + 
 +==== Le programme /etc/... ==== 
 + 
 +**En cours de création...** smolski //​06-05-2013//​ 
 + 
 +Le programme gérant les niveaux d'​exécution va consulter le contenu du répertoire ''/​etc/??/??​X.?''​ (où X correspond au numéro du niveau devant être changé). 
 +  - Il y recherche d'​abord les exécutables commençant par la lettre K (pour Kill) suivie de deux chiffres. \\ 
 +  - Il lance ces programmes en leur passant en paramètre //stop//. Cela correspond aux services qui doivent être arrêté dans ce mode là. \\ 
 +  - Ils sont lancés dans l'​ordre croissant du nombre indiqué après le K. 
 + 
 +Ensuite au tour des programmes dont le nom commence par la lettre S (pour Start) avec pareillement le nombre sur deux chiffres. \\ 
 +Ils sont lancés de la même manière que les précédents mais avec le paramètre //​start//​. 
 + 
 +Ces fichiers sont des scripts shell et le même sera lancé pour le démarrage ou l'​arrêt. \\ 
 +C'est donc de la responsabilité du script de voir s'il a été appelé avec le paramètre start ou stop pour savoir quelle action entreprendre. 
 + 
 +<​note>​Les distributions ​GNU/​Linux ​incluent ce genre de script lorsqu'​un service est installé. L'​utilisateur n'a donc ensuite qu'à modifier les liens symboliques.</​note>​ 
 + 
 +Voici un exemple ... (//à suivre...//​) 
 +===== La connexion en mode texte ===== 
 + 
 +Après que le système ait terminé les actions à entreprendre dans un niveau donné, un utilisateur peut alors se connecter au système. \\ 
 +Lorsque cela se fait en mode texte, un message invite la personne à entrer son nom d'​utilisateur puis son mot de passe. 
 + 
 +C'est généralement le programme **login** qui se charge de ça. Une fois le nom et le mot de passe saisis, ce programme va lire le fichier ''/​etc/​passwd''​(([[commande:​passwd]])) pour vérifier ces informations. 
 + 
 +En mode texte, le programme permettant de se connecter va donc lancer le shell choisi par l'​utilisateur. Sur un système GNU/Linux, c'est par défaut : [[manuel:​bash]]. 
 + 
 +Bash (comme les autres shells) va alors lancer un script dans le répertoire de l'​utilisateur. Il s'agit dans ce cas de ''​.bashrc''​ qui est un fichier caché. \\ 
 +C'est donc dans ce script qu'un utilisateur peut rajouter des commandes qu'il souhaite voir exécutées lorsqu'​il se connecte. 
 + 
 +===== La connexion en mode graphique ===== 
 + 
 +Lors d'une connexion en mode graphique, l'​utilisateur doit saisir son nom d'​utilisateur et son mot de passe dans une fenêtre créée par ce que l'on appelle souvent un gestionnaire d'​affichage. \\ 
 +Il existe plusieurs de ces programmes. Les plus connus sont **KDM** et **GDM**. \\ 
 +Ils offrent des fonctionnalités équivalentes : Afficher la liste des utilisateurs,​ vérifier le mot de passe, ... Et surtout lancer ensuite le gestionnaire de fenêtre/​bureau choisi par l'​utilisateur. 
 + 
 +[[manuel:​environnement_graphique | L'​environnement graphique]] sélectionné va ensuite se lancer. Cela correspondra à lancer le gestionnaire de fenêtre, éventuellement un gestionnaire de bureau, puis d'​autres applications. \\ 
 +Une fois que ceci est terminé, il y a la possibilité pour l'​utilisateur d'​avoir des programmes lancés automatiquement. 
 + 
 +Selon les cas, choisir ces programmes peut varier fortement. Toutefois, il existe une organisation,​ ''​freedesktop.org'',​ qui tente d'​uniformiser tout ce qui touche aux environnements graphiques. 
 + 
 +Très souvent un répertoire sera donc utilisé pour stocker les applications devant être lancées (dans la pratique, il contiendra des liens symboliques). Ce répertoire est ''​Desktop/​Autostart/''​ qui se trouve dans le répertoire personnel de l'​utilisateur. \\ 
 +Il suffira donc d'y ajouter ce que l'on souhaite. 
 + 
 +A noter également que la plupart des gestionnaires de bureau récents inclut aussi un gestionnaire de session. \\ 
 +Le rôle de ce programme est de sauvegarder l'​état dans lequel est l'​environnement de l'​utilisateur quand il se déconnecte (principalement quelles sont les applications lancées). \\ 
 +Il va ensuite le restaurer lorsque le même utilisateur se reconnecte sur le système. 
 + 
 +Cette restauration comprend notamment le lancement des applications qui étaient lancées lors de la fermeture de session précédente.
  
 ===== Processus ===== ===== Processus =====
Ligne 125: Ligne 289:
   * [[manuel:​gnu_linux:​processus | Les processus dans le détail.]]   * [[manuel:​gnu_linux:​processus | Les processus dans le détail.]]
  
-===== Source ===== 
- 
-  * [[http://​www.c-sait.net/​cours/​systemes_exploitation.php | SAIT NET - Les systèmes d'​exploitation]] 
doc/systeme/gnu-linux.txt · Dernière modification: 19/04/2023 18:58 par bendia

Pied de page des forums

Propulsé par FluxBB