What changes, if any, would an operating system need to implement to take full advantage of multicore systems? I ask this because I'm doing some research on parallel algorithms and the scheduler, for example, gets in my way of more theoretically-driven work. Are there other issues? Thanks.