Describe the two methods that are used to provide concurrent operations of multiple processes on a single CPU. What are the advantages of each method? If you were designing a I/O device to interface with a keyboard, which approach would you use and why?