2010-09-05 6 views
1

Le noyau Linux est dit SMP. Il est dit que les processus et les threads du noyau doivent être répartis entre les processeurs.Multithread et SMP Linux

  1. Est-ce que toutes les distributions Linux comme fedora13, ubuntu 10.04 Lucid par défaut activent SMP Linux?

  2. Sur un SMP Linux, ce qui est mieux suivi a) approche multi-processus par rapport b) approche multi-threading

  3. Est-pthread par défaut créer un thread de niveau du noyau afin que toute application peut tirer parti de LWP ainsi que SMP?

Sinon, comment peut-on créer un thread de niveau noyau en utilisant Pthreads. Toutes les références seraient très appréciées.

Répondre

7
  1. SMP fait partie du noyau depuis de nombreuses années. Avec la plupart des systèmes modernes arborant au moins deux noyaux, il est presque toujours utilisé.
  2. Ce que vous devez utiliser dépend beaucoup plus de votre espace de problème que du nombre de cœurs que vous avez.
  3. Oui, les Pthreads créent des threads au niveau du noyau. (Si vous voulez des threads d'espace utilisateur, vous pouvez utiliser quelque chose comme GNU Pth).
+0

Salut Marcelo, Merci pour votre réponse! Donc, lorsque vous utilisez pthreads, un thread peut fonctionner dans un core alors qu'un autre peut fonctionner dans un autre core? – Sashi

+0

@Sashi: Oui. En fait, un seul thread peut être planifié sur plusieurs cœurs au cours de sa durée de vie (pas simultanément, bien sûr, mais il peut être commuté de core à core, en fonction de la disponibilité). –

+0

Merci Marcelo! – Sashi