C'est ainsi que GNU / Linux et d'autres systèmes multitâches fonctionnent, ils partagent le processeur entre les processus en cours d'exécution, dot
n'auront pas 99%, mais 100% pendant 99% du temps. Chaque processus domine le processeur pendant une certaine période de temps.
Ceci est géré par les planificateurs (Linux a plusieurs planificateurs, certains utilisent simplement la stratégie habituelle, certains essaient de donner plus de temps aux interfaces utilisateur, etc.).
Maintenant, dans votre cas, le problème était - probablement - qui dot
ne prenait pas beaucoup de temps processeur, mais beaucoup de mémoire. Et quand un programme utilise trop de mémoire, il y a thrashing , qui est exactement un processus qui fait figer le système, non pas parce qu'il en dot
fait beaucoup, mais parce que le noyau doit déplacer les pages mémoire entre le disque (partition de swap) et la mémoire système.
Même si cela dot
ne prenait que 99% du temps CPU, il est probable que le passage à un terminal texte soit presque immédiat, ce qui se passe est que le noyau doit déplacer des dot
éléments hors de la mémoire afin qu'il puisse les remettre X
en mémoire afin de X
pouvoir voir les clés vous venez de frapper et de vous déplacer vers le terminal texte, puis le noyau doit X
sortir de la mémoire pour dot
laquelle il est toujours en cours d'exécution, puis dot
sortir pour déplacer les processus du terminal texte (peut-être juste login
?) en mémoire. (Si ce semble désordonnée, ce n'est pas seulement parce que l'exemple est en désordre - la réalité est ce . Désordre)
Un exemple est que si vous vous connectez au terminal texte, vous pourrez peut-être simplement appuyer sur des touches, appuyer sur la touche de retour arrière, et cela se fera avec plaisir en temps réel, mais si vous faites quelque chose d'aussi simple que d'exécuter un petit outil comme ps
, il "gèlera" "pendant un certain temps car il doit libérer de la mémoire pour se charger ps
(et il doit également attendre dans la file d'attente d'E / S disque, qui est largement utilisée pour déplacer des données vers et depuis la mémoire, jusqu'à ce qu'il soit en mesure de demander ps
au système de fichiers) .