Multicore requires OS rework, Windows architect advises

19.03.2010

With all these virtual CPUs, however, come struggles over who gets the attention of the real CPU. The overhead of switching between all these CPUs starts to grow to the point where responsiveness suffers, especially when multiple cores are introduced.

But with Intel and AMD predicting that the core count of their products will continue to multiply, the OS community may be safe in jettisoning abstractions such as user mode and kernel mode, Probert argued.

"With many-core, CPUs [could] become CPUs again," he said. "If we get enough of them, maybe we can start to hand them out" to individual programs.

In this approach, the operating system would no longer resemble the kernel mode of today's OSes, but rather act more like a hypervisor. A concept from virtualization, a hypervisor acts as a layer between the virtual machine and the actual hardware.

The programs, or runtimes as Probert called them, themselves would take on many of the duties of resource management. The OS could assign an application a CPU and some memory, and the program itself, using metadata generated by the compiler, would best know how to use these resources.