Luna escribió:Mi experiencia con los 'cores' Nos la han metido doblada
La teoria: con 4 'cores' en teoría se tendría que poder ejecutar 3 procesos intensivos con la CPU dejandote un core libre para hacer algo sencillo...
en práctica, un 90-100% de los procesos ( incluido el shell en windows) no quieren ni oir hablar de no poder ejecutarse en el core 0, lo colapsan y con un 25% del procesador ocupado ya se queda 100% colgado.
Aunque los procesadores en 10-15 años han avanzado más allá de dicha 'quita' y yá no tiene lógica ir con un Pentium III para librarse del corebug...
No sé adónde quieres llegar siempre con tus afirmaciones tan radicales. No sé si es por desconocimiento o simplemente por querer trollearnos un poco.
Es como si pillas a alguien conduciendo solo por el carril VAO y en vez quejarte de su comportamiento incívico, te quisieses quejar del fabricante del coche o del inventor de los coches...
Partes de una teoría falsa, te la habrás imaginado tú, ya que en absoluto es el objetivo de un sistema operativo multiproceso. Es más, no solo dicha aproximación sería ineficiente, sino contraproducente para la vida a largo plazo del hardware en sí: si 3 de los 4 núcleos están trabajando siempre a la espera de que el cuarto pida uso por parte del usuario, los núcleos tendrían constantemente una gran diferencia de temperatura que a la larga estropearía el procesador.
Para empezar, una aplicación es posible que sea demasiado antigua y no esté programada con un compilador moderno capaz de crear hilos separados de ejecución. Vale, en ese caso se ejecutaría en un único núcleo, pero no necesariamente tiene por qué ser el Core 0. ¿Acaso no tienes la opción "Establecer afinidad" para asignar manualmente uno de los núcleos a tu elección, saltándote la elección del sistema?
Si un proceso está continuamente acaparando un núcleo y llevandolo al 100% del tiempo de proceso, obviamente en un quad-core Windows marcará el 25% del tiempo de ejecución, ya que la cifra es la media de todos ellos. Pero a no ser que hayamos pedido a la aplicación realizar cálculos intensivos (como procesar imagen o vídeo, que suele ser lo más común), si tras los cálculos y pasado un rato ese proceso no vuelve a su estado normal del 0-2% es que el programa está MAL hecho.
En la práctica real, las tareas se ejecutan en los cuatro núcleos y es el sistema operativo quien se encarga de asignarlos correcta y equitativamente. Yo nunca he experimentado los problemas que tú comentas: que en funcionamiento normal, la gran mayoría de procesos se ejecuten en el primer núcleo obviando al resto. En absoluto. A no ser que me digas que todavía eres uno de esos bichos raros que sigue trabajando con XP (ya que la distribución de cargas ha evolucionado muchísimo en W7 y sobre todo en W8.1) y aún así, eso no lo sufrí en su día (2004-2010).
Y por supuesto, Windows no es el único sistema operativo existente. Lo he usado como ejemplo por tu propia cita y por ser conocido que un driver jodido puede acaparar todo el tiempo de proceso. Linux o MacOsX, entre otros, podrían sufrir del mismo problema si el programa está mal hecho... que core dumps, haberlos, haylos.
Guru Meditation!