Is it possible to move an application (or task) to another core to make it run faster and get all of that cores processing power?
The way I understand it is that in an operating system applications share the main CPU and get a shared "slice of time". So if ten applications are running over the course of one second each application would get a total of one hundred milliseconds. If a computer has multiple cores would an application run faster if you moved it or all of it's processes to an unused core?
For example, let's say you create a desktop application called MyNumberCruncher©. In that you have a task in a for loop in that should theoretically should take one second to complete. In fact you time it when no other applications are running. If you have ten applications open that are all doing their own thing the task should take ten seconds to complete, correct? If you move that process to it's own core that has no processes running on it then it should take one second to complete correct?
This question is asking how multicore CPU works and if it's possible or a good idea to move an application to a second core and if so, why aren't operating systems doing that yet (or maybe they are)?