J'ai lu quelque part que dans le noyau 2.6 l'ordonnanceur avait pas mal changé, et qu'il était devenu préemptif, de façon à ce que linux se rapproche d'un système temps-réel.
Cependant, je ne comprends pas trop comment fonctionnait l'ancien scheduler s'il n'était pas préemptif, parce qu'il me semble avoir lu également que l'ancien scheduler donnait la main aux processus pendant un certain quantum de temps (en supposant que le processus ne fait pas de wait/sleep ou demande d'I/O) au bout duquel il lui retire la main, or, je ne vois pas comment on peut faire ça sans que ce soit préemptif.
Quelqu'un peut-il m'expliquer ?

« Quand le dernier arbre sera abattu, la dernière rivière empoisonnée, le dernier poisson capturé, alors vous découvrirez que l'argent ne se mange pas
. »
Mais intégré seulement dans la ligne 2.5->2.6, pas dans le 2.4 stable à l'époque.
D'ailleurs, selon les ingénieurs de Red Hat s'occupant du noyau (Alan Cox et autres), le noyau préemptible est instable actuellement, et cette fonctionnalité est désactivée dans le noyau de Fedora.
Question pour ceux qui connaissent : unix utilise un ordonnanceur préemptif (ou préemptible ?) ?

« Quand le dernier arbre sera abattu, la dernière rivière empoisonnée, le dernier poisson capturé, alors vous découvrirez que l'argent ne se mange pas
. »
scalability = facilité de passage à l'échelle, je pense (ça veut dire que T(2n)/T(n) n'est pas prohibitif, en gros)
« The biggest civil liberty of all is not to be killed by a terrorist. » (Geoff Hoon, ministre des transports anglais)
nitro Le 26/05/2004 à 00:07 "both performance and scalability is much better"
-> non seulement les performances sont meilleures, mais elles sont bonnes à la fois sur des petites machines et sur des machines puissantes (mainframes, clusters, multi-processeurs, ...).
So much code to write, so little time.