35Fermer37
squalylLe 25/06/2013 à 22:40
Zerosquare (./31) :
Il me semble que les timeslices de Windows et Linux sont aux alentours de 10 ms

windows oui, linux très souvent.
Folco (./29) :
C'est marrant, comme j'ai l'impression que ce sont toujours des millisecondes qui sont donnés aux processus, le temps de scheduling est du coup important en comparaison. De plus, il faut modifier le proc, au niveau des registres et du pipeline (à moins que certaines instructions modernes permettent de faire un backup/restore très rapide de l'état du CPU j'imagine ?), je pense aussi qu'il doit y avoir des changements dans la MMU, les ports etc... Bon bref, je constate que ça marche très bien, mais je sais pas du tout comment


oui, on donne des ms au process, mais le scheduler s'exécute en quelques microsecondes, les vitesses d'exécution d'instructions individuelles sont encore plus faibles.

A sauvegarder, il y a les registres normaux, les FPU, et le pointeur vers la table des pages, qui est juste un registre de plus (cr3 sur x86, c2 du coprocesseur 15 sur ARM)
Il y a un tout petit peu de temps perdu par le vidage des caches, que ce soit instruction ou table de pages, justement.
http://fr.wikipedia.org/wiki/Translation_Lookaside_Buffer
http://infocenter.arm.com/help/topic/com.arm.doc.ddi0198e/Babjcchb.html