Je faisais une expérience dans VirtualBox. C'est ma configuration.OS invité dans VirtualBox utilisant plus de cœurs que ceux alloués
J'ai couru un code simple dans l'OS invité
# include <stdio.h>
# include <stdlib.h>
int main()
{
while(1)
{
int * p = (int *)malloc(sizeof(int));
}
return 0;
}
j'ai vu qu'il y avait des pointes simultanées dans tous les 4 cœurs du système d'exploitation hôte.
Je pensais que le système d'exploitation invité est censé utiliser un seul noyau. Qu'est-ce que je fais de mal ou ce comportement est-il normal (Si oui, alors pourquoi)?
Je pensais à cette logique mais ne sera-t-elle pas extrêmement inefficace? – xavier666
@ xavier666, je ne sais pas. Je pense qu'il pourrait être nécessaire car un programme avec une boucle infinie (comme votre exemple) peut empêcher le processus d'OS nécessaire d'être effectué. De plus, le système d'exploitation hôte ne devrait pas passer trop de temps à passer par rapport au temps de calcul s'il est bien conçu. – tinlyx