Question 1: Consider the following I/O scenarios on a single-user PC: a. A mouse used with a graphical user interface b. A tape drive on a multitasking operating system (with no device preallocation available) c. A disk drive containing user files d. A graphics card with direct bus connection, accessible through memory-mapped I/O For each of these scenarios, would you design the operating system to use buffering, spooling, caching, or a combination? Would you use polled I/O or interrupt-driven I/O? Give reasons for your choices. Question 2: Describe three circumstances under which blocking I/O should be used. Describe three circumstances under which nonblocking I/O should be used. Why not just implement nonblocking I/O and have processes busy-wait until their devices are ready?
Get a comprehensive answer to this question