A round-robin scheduler, interrupt handlers, and semaphores in a simulated hardware framework