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 →
Ci-dessous, les différences entre deux révisions de la page.
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:noyau:theorie [11/02/2014 17:22] captnfab [Les processus] |
doc:systeme:noyau:theorie [11/02/2014 18:27] captnfab [Les interruptions matérielles] |
||
---|---|---|---|
Ligne 36: | Ligne 36: | ||
<note warning>Comment cela s'est-il passé ? Le programme a effectué un //appel système//, c'est à dire qu'il a passé un coup de fil direct au noyau, et lui a demandé «copie moi». Cet appel système s'appelle le **fork**((fork: de l'anglais //fourchette//, parce que le flot d'exécution se divise en deux, ça fait donc une petite fourche. Voir [[http://debian-facile.org/man.php?page=fork§ion=&lang=fr_FR|man 2 fork]]. Cela dit, une fourchette anglaise à deux doigts, c'est bien la preuve que les //british// mangent des escargots eux aussi.)), le noyau copie alors le processus à l'identique, à l'exception d'une variable les distinguant.</note> | <note warning>Comment cela s'est-il passé ? Le programme a effectué un //appel système//, c'est à dire qu'il a passé un coup de fil direct au noyau, et lui a demandé «copie moi». Cet appel système s'appelle le **fork**((fork: de l'anglais //fourchette//, parce que le flot d'exécution se divise en deux, ça fait donc une petite fourche. Voir [[http://debian-facile.org/man.php?page=fork§ion=&lang=fr_FR|man 2 fork]]. Cela dit, une fourchette anglaise à deux doigts, c'est bien la preuve que les //british// mangent des escargots eux aussi.)), le noyau copie alors le processus à l'identique, à l'exception d'une variable les distinguant.</note> | ||
- | <note info>**Interlude pratique:** | + | <note info>**Interlude pratique:** Un petit code C pour forker dans votre garage. |
<code user>nano /tmp/test_fork.c</code> | <code user>nano /tmp/test_fork.c</code> | ||
Ligne 82: | Ligne 82: | ||
Notre jumeau est donc devenu très différent de son père((Hein ?)). | Notre jumeau est donc devenu très différent de son père((Hein ?)). | ||
- | <note info>**Interlude pratique:** | + | <note info>**Interlude pratique:** Votre premier shell, toujours en C. Le début d'un long projet ! |
<code user>nano /tmp/test_minishell.c</code> | <code user>nano /tmp/test_minishell.c</code> | ||
Ligne 120: | Ligne 120: | ||
Ctrl-c pour interrompre le shell. | Ctrl-c 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> | ||
- | t | ||
===== Les interruptions matérielles ===== | ===== Les interruptions matérielles ===== | ||
Ligne 141: | Ligne 140: | ||
Ctrl-c pour quitter.</note> | Ctrl-c pour quitter.</note> | ||
- | //Pouf.// Vous avez atteint le lien, et l'avait 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. |
==== Tennis de table ==== | ==== Tennis de table ==== | ||
Ligne 188: | Ligne 187: | ||
" | nc debian-facile.org 80 | less</code> | " | nc debian-facile.org 80 | less</code> | ||
- | Ce qui se traduit en bon françoy par [i]Envoyer la requête HTTP du echo sur le port 80 de la machine derrière le nom ''debian-facile.org'' et en afficher la réponse grace au pager ''[[:doc:editeurs:less|less]]''. | + | Ce qui se traduit en bon françoy par //Envoyer la requête HTTP du echo sur le port 80 de la machine derrière le nom ''debian-facile.org'' et en afficher la réponse grace au pager ''[[:doc:editeurs:less|less]]''.// |
(''q'' pour quitter) | (''q'' pour quitter) | ||
</note> | </note> |