operating system multiprogramming with a fixed number of tasks