pim a dit:
Intéressants ces liens. En particulier, l'article de Toms-Hardware, qui confirme que passer sous Intel Dual-Core est une erreur, puisque complètement inutile à l'heure actuelle pour Mac OS X :
Désolé Pim, mais le gars qui a dit ça n'y connait visiblement pas grand chose.
L'ordonancement des processus et la gestion des processeur est une science beaucoup plus chaotique et beaucoup moins prévisible que ce que semble dire le gars.
Il dit que le dual core n'apporte pas de gain de vitesse sur une appli. C'est bien évidemment faux, il suffit de regarder n'importe quel calcul qui utilise plusieurs threads pour démontrer le contraire.
Il y a bien un gain, et si l'application est bien écrite, alors ce gain devrait être de l'ordre de 1.8.
D'autre part, le gars semble vuloir dire que s'il lance son antivirus et photoshop en même temps, vu qu'il y a deux processeurs, eh bien les 2 applis tourneront à une vitesse normale.
C'est un gros racourcis et on peut ici se demander si le gars y connait quelque chose.
Bien évidemment, c'est beaucoup plus complexe que cela. En effet, les applis récentes n'utilisent généralement pas un thread (tâche) mais beaucoup plus en même temps. Le problème est alors beaucoup plus complexe. D'autres part, les threads ne sont généralement pas tout à fait égalitaires au niveau du temps d'éxécution. Ainsi, l'antivirus va faire des traitements très simples sur les entiers mais beaucoup d'accès disque, pendant que Photoshop va faire de gros calculs en virgule flottante, et de gros accès en mémoire vive.
Ainsi, l'antivirus va se contenter souvent d'attendre le disque, et ne va exécuter que de très petits code sur le processeur. de son coté, Photoshop va prendre beaucoup plus de processeur.
Au final, rien ne dit que chaque appli tournera sur un processeur différent.En réalité, il y a même de fortes chances pour que l'ordonanceur de l'OS choisisse de mettre l'anti-virus sur un processeur, et photoshop sur les deux processeurs.
Ni théoriquement ni empiriquement, on ne peut lier le multiprocessing et le multithreading directement. L'ordonanceur a un tas de boulot entre ces 2 étapes, et les deux ne sont pas directement en rapport. Ici aussi, même en lançant plein d'applis en même temps, un P4 à 4GHz donnera de meilleurs résultats que l'actuel dual core Intel des iMac.
Si tu veux quelques références sur l'ordonancement il y a ce lien :
http://revuz.developpez.com/cours/programmation-systeme/
La théorie de l'ordonancement date des années 50-60. Elle n'a été mise en oeuvre que plus tard, alors qu'on avait des machines pour faire tourner ces principes.
Tu pourras un peu mieux comprendre le fonctionnement du noyau. Dans MacOS X, il s'agit de Mach, c'est le micro noyau qui contient l'ordonanceur, la gestion de la mémoire, et les couches très proches du matériel.