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
doc:systeme:noyau:theorie [11/02/2014 18:50]
Marie-Lou [Les processus] coquilles
doc:systeme:noyau:theorie [05/11/2015 18:01] (Version actuelle)
milou [Les processus]
Ligne 2: Ligne 2:
  
   * Objet : Comprendre la notion de noyau   * Objet : Comprendre la notion de noyau
-  * Niveau requis : {{tag>​débutant}}+  * Niveau requis : {{tag>​débutant ​avisé}}
   * Commentaires : //Pour vous cultiver dans le mode de fonctionnement des systèmes d'​exploitations.//​   * Commentaires : //Pour vous cultiver dans le mode de fonctionnement des systèmes d'​exploitations.//​
-  * Débutant, à savoir :  +  * Débutant, à savoir : [[:​doc:​systeme:​commandes:​le_debianiste_qui_papillonne|Utiliser GNU/Linux en ligne de commande, tout commence là !]] :-) 
-  * Suivi : {{tag>en-chantier ​à-placer}} +  * Suivi : {{tag>à-compléter ​à-tester}} 
-    * Création par **captnfab** 10/02/2014+    * Création par [[user>captnfab]] le 10/02/2014 
 +    * Testé par ... le ...
   * Commentaires sur le forum : [[https://​debian-facile.org/​topic-8438-wiki-introduction-au-fonctionnement-d-un-systeme-d-exploitation-page-1.html | Lien vers le forum concernant ce tuto]] ((N'​hésitez pas à y faire part de vos remarques, succès, améliorations ou échecs !))   * Commentaires sur le forum : [[https://​debian-facile.org/​topic-8438-wiki-introduction-au-fonctionnement-d-un-systeme-d-exploitation-page-1.html | Lien vers le forum concernant ce tuto]] ((N'​hésitez pas à y faire part de vos remarques, succès, améliorations ou échecs !))
  
-**Nota:** +
-Contributeurs,​ les FIXME sont là pour vous aider, supprimez-les une fois le problème corrigé ou le champ rempli !+
  
 ===== Introduction ===== ===== Introduction =====
Ligne 40: Ligne 40:
 <code user>​nano /​tmp/​test_fork.c</​code>​ <code user>​nano /​tmp/​test_fork.c</​code>​
  
-<code c>#​include <​stdio.h>​+<file c test_fork.c> 
 +#include <​stdio.h>​
 #include <​unistd.h>​ #include <​unistd.h>​
  
Ligne 55: Ligne 56:
    }    }
   return 0;   return 0;
-}</code>+}</file>
  
 <code user>gcc -o /​tmp/​test_fork /​tmp/​test_fork.c</​code>​ <code user>gcc -o /​tmp/​test_fork /​tmp/​test_fork.c</​code>​
Ligne 68: Ligne 69:
 C'est donc ce que fait le noyau, sur ses versions non-préemptives((Parfois,​ quand vous êtes partis pour bosser pendant 1h, et qu'au bout de deux minutes vous recevez un message sur IRC, vous êtes interrompus et changez de tâche plus tôt que prévu. Bravo, vous êtes compilé avec préemption.)) il laisse un temps de calcul à un processeur sur un processus, puis au bout d'un petit laps de temps, reprend la main et la donne à quelqu'​un d'​autre. C'est donc ce que fait le noyau, sur ses versions non-préemptives((Parfois,​ quand vous êtes partis pour bosser pendant 1h, et qu'au bout de deux minutes vous recevez un message sur IRC, vous êtes interrompus et changez de tâche plus tôt que prévu. Bravo, vous êtes compilé avec préemption.)) il laisse un temps de calcul à un processeur sur un processus, puis au bout d'un petit laps de temps, reprend la main et la donne à quelqu'​un d'​autre.
  
-Une première problématique qui se pose est celle dite de la **famine**. Prenons un exemple concret, imagé, etc. Vous vous baladez dans la rue, un jour de marché. Vous êtes juste à l'​angle entre le marchand de pommes bio et l'​Apple Store. Deux petites filles pleurent chacune devant un de ces magasins. Vous êtes très riche parce que libriste, elles sont très pauvres parce que leur parents claquent tout leur argent respectivement dans les salades bio et dans les 4x4 citadins. Vous décidez d'​aider une des deux petites filles aujourd'​hui en lui achetant l'​objet qu'​elle convoite, mais n'avez pas le temps d'​aider les deux. À laquelle allouez-vous vos ressources ? Celle qui en a le plus besoin ? Celle qui a besoin du plus de ressources ? Celle dont les parents sont les plus influents ? Je vous laisse choisir.+Une première problématique qui se pose est celle dite de la **famine**. Prenons un exemple concret, imagé, etc. Vous vous baladez dans la rue, un jour de marché. Vous êtes juste à l'​angle entre le marchand de pommes bio et l'​Apple Store. Deux petites filles pleurent chacune devant un de ces magasins. Vous êtes très riche parce que libriste, elles sont très pauvres parce que leurs parents claquent tout leur argent respectivement dans les salades bio et dans les 4x4 citadins. Vous décidez d'​aider une des deux petites filles aujourd'​hui en lui achetant l'​objet qu'​elle convoite, mais n'avez pas le temps d'​aider les deux. À laquelle allouez-vous vos ressources ? Celle qui en a le plus besoin ? Celle qui a besoin du plus de ressources ? Celle dont les parents sont les plus influents ? Je vous laisse choisir.
  
 Maintenant, imaginez que la situation se reproduise chaque jour, que les deux petites filles soient des processus qui veulent du temps de calcul, et que vous êtes un noyau. Maintenant, imaginez que la situation se reproduise chaque jour, que les deux petites filles soient des processus qui veulent du temps de calcul, et que vous êtes un noyau.
Ligne 86: Ligne 87:
 <code user>​nano /​tmp/​test_minishell.c</​code>​ <code user>​nano /​tmp/​test_minishell.c</​code>​
  
-<code c>#​include <​stdio.h>​+<file c test_minishell.c> 
 +#include <​stdio.h>​
 #include <​unistd.h>​ #include <​unistd.h>​
 #include <​string.h>​ #include <​string.h>​
Ligne 114: Ligne 116:
   return 0;   return 0;
 } }
-</code>+</file> 
  
 <code user>gcc -o /​tmp/​test_minishell /​tmp/​test_minishell.c</​code>​ <code user>gcc -o /​tmp/​test_minishell /​tmp/​test_minishell.c</​code>​
 <code user>/​tmp/​test_minishell</​code>​ <code user>/​tmp/​test_minishell</​code>​
-Ctrl-c pour interrompre le shell.+<​key>​C-c</​key> ​pour interrompre le shell.
 Attention, ce mini-shell n'​accepte pas les commandes avec arguments.</​note>​ Attention, ce mini-shell n'​accepte pas les commandes avec arguments.</​note>​
 ===== Les interruptions matérielles ===== ===== Les interruptions matérielles =====
Ligne 138: Ligne 141:
 <code root>od -t x1 -w3 /​dev/​input/​mice</​code>​ <code root>od -t x1 -w3 /​dev/​input/​mice</​code>​
 Bougez votre souris. Bougez votre souris.
-Ctrl-c pour quitter.</​note>​+<​key>​C-c</​key> ​pour quitter.</​note>​
  
 //Pouf.// Vous avez atteint le lien, et l'avez subtilement éraflé du clic, afin de visiter la page des nouvelles contributions. //Pouf.// Vous avez atteint le lien, et l'avez subtilement éraflé du clic, afin de visiter la page des nouvelles contributions.
doc/systeme/noyau/theorie.1392141041.txt.gz · Dernière modification: 11/02/2014 18:50 par Marie-Lou

Pied de page des forums

Propulsé par FluxBB