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 [02/05/2013 13:39]
smolski
doc:systeme:gnu-linux [03/05/2013 09:39]
smolski [Interface graphique]
Ligne 8: Ligne 8:
   * Commentaires : // Informations concernant le système GNU/Linux. //   * Commentaires : // Informations concernant le système GNU/Linux. //
   * Débutant, à savoir : [[manuel:​le_debianiste_qui_papillonne|Utiliser GNU/Linux en ligne de commande, tout commence là !.]] :-)   * Débutant, à savoir : [[manuel:​le_debianiste_qui_papillonne|Utiliser GNU/Linux en ligne de commande, tout commence là !.]] :-)
 +
 +
 +===== Généralités =====
 +
 +Un ordinateur seul ne peut effectuer rien de très utile. \\
 +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). \\
 +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. \\
 +//​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.
 +
 +===== Gestion de la mémoire =====
 +
 +Un des premiers rôles du système d'​exploitation((OS)) est de gérer la mémoire disponible sur la machine. \\
 +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.
 +<note tip>Il ne faut pas que ceux-ci puissent interférer les uns avec les autres.</​note>​
 +Durant son déroulement,​ une 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. \\
 +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ème, il y a la notion de fichier d'​échange (ou **swap**). \\
 +La place supplémentaire nécessaire est prise sur le disque dur. \\
 +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.
 +
 +Un programme ne peut travailler directement qu'​avec les données en mémoire vive. \\
 +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.
 +<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 =====
 +
 +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'​utilise,​ on peut en même temps regarder une vidéo, relever ses mails et graver un CD-ROM par exemple. \\
 +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>​
 +
 +Le rôle du système d'​exploitation est de faire exécuter tour à tour ces applications. \\
 +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 faible, plus l'​impression de multitâche sera grande. \\
 +Mais le passage d'une application à une autre a 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.
 +
 +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. \\
 +On parle de //​multitâche préemptif//​. \\
 +C'est le système d'​exploitation qui prend la décision.
 +
 +== Nota ==
 +
 +Sur d'​anciens systèmes on avait un //​multitâche coopératif//,​ appelé parfois aussi //​pseudo-multitâche//​.
 +
 +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. \\
 +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). \\
 +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 **X.Org**((un fork de XFree86, réalisé juste avant le changement de licence)).
 +
 +Ensuite vient [[manuel:​gestionnaires | le gestionnaire de fenêtres]]. \\
 +Il permet d'​avoir comme son nom l'​indique des fenêtres pour les applications. \\
 +Celles-ci peuvent être agrandies, ré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]]. \\
 +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 =====
 +
 +Appelé driver en anglais, le pilote de périphérique est l'​interface entre le matériel et le système d'​exploitation. \\
 +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 simple, on peut considérer les cartes graphiques. \\
 +Pour faire afficher un point à l'​écran,​ différentes cartes ne procéderont pas de la même manière. \\
 +Mais le pilote de périphérique va se charger de dialoguer avec la carte selon ses spécifications techniques. \\
 +Le système d'​exploitation appelera une méthode toujours identique pour demander à voir apparaître ce point.
 +
 +Ces différences matérielles peuvent être atténuées avec l'​apparition de normes. \\
 +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. \\
 +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>​
  
 ===== Démarrage ===== ===== Démarrage =====
Ligne 13: Ligne 121:
   * [[manuel:​gnu_linux:​demarrage | Le démarrage sous GNU/Linux]]   * [[manuel:​gnu_linux:​demarrage | Le démarrage sous GNU/Linux]]
  
 +===== Processus =====
 +
 +  * [[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