Operating System and Scheduling for Future Multi-core and Many-Core Platforms