I. For each statement below, Explain Why it is True or False
1) Programmed I/O only uses one type of I/O addressing, which is isolated I/O.
2) Each I/O device has a unique address recognized by I/O module.
3) Since programmed I/O consumes CPU time, this I/O approach is not used in any computer nowadays.
4) In Direct Memory Access, there is no need for using Interrupts during the whole process of I/O from beginning to end, since DMA is more efficient than Interrupt-Driven I/O.
5) Using DMA, the whole transfer is carried out by the I/O module.
6) Most RAID systems, except Level 0, are more reliable than single disk due to their interleave data striping schemes with redundancy and parity.
7) An I/O interrupt is a hardware-generated signal to the processor.
8) Priority scheduling is a type of preemptive dispatching, since high-priority processes can take resources away from low-priority processes.
9) RAID is a set of physical disk drives viewed by the operating system as a single logical drive.
10) With isolated I/O there is a single mutually accessible address space for memory locations and I/O devices.
II. Multiple Choices - Choose ONLY 1 Answer
1. Which of the following is NOT included in the interaction between the processor and the I/O module?
A. Address register
B. Control register
C. Data register
D. State register
2. The main features of I/O module DO NOT include:
A. Addressing
B. Interaction computer-controller
C. Instruction decoding
D. Transfer unit
3. Which of the following is NOT included in the information that the processor writes to I/O registers before DMA data transfer
A. Memory address where data are stored or going to be stored
B. Read/Write operation
C. The number of bytes to transfer
D. The number of CPU cycles for synchronization loop
4. The I/O function includes a _________ to coordinate the flow of traffic between internal resources and external devices.
A. cycle B. control interface
C. data register D. status reporting
5. The __________ is a program that controls the execution of application programs and acts as an interface between applications and the computer hardware.
A. job control language B. operating system
C. batch system D. nucleus
6. The _________ scheduling determines which programs are admitted to the system for processing.
A. high-level B. medium-level
C. short-term D. I/O
7. ________ is when the DMA module temporarily uses the bus when the CPU is working with other hardware.
A. Interrupt B. Thunderbolt
C. Cycle stealing D. Lock down
8. The _________ command causes the I/O module to take an item of data from the data bus and subsequently transmit that data item to the peripheral.
A. control B. test
C. read D. write
9. Data are transferred to and from the disk in __________.
A. tracks B. gaps
C. sectors D. pits
10. The disk access time is determined by the following EXCEPT:
A. data buffer time B. data transfer time
C. rotational latency D. seek time
III. Short Answers
1. We know contiguous storage allocation has a major problem: it does not allow flexible size changes of files. Can you explain how linked and indexed allocation methods solve this problem? And compare which one is better, linked or indexed?
2. Explain the concept "Virtualization" and its application in virtual machine.
3. Which component of Operating System is responsible for the following (give the component name, and explain in one sentence):
Write to disk: _____________
Determine which process run next: _____________
Determine where in memory a new process should be placed: _____________
Organize files on disk: _____________
4. Use Interrupt-Driven I/O to explain how to load a file from disk to memory.
5. Can a process issue a disk I/O when it is in the ''ready'' state? Why?
6. How does the operating system prevent a process from occupying the processor for a very long time which may cause starvation of other processes? Explain.
IV. Input / Output (4 points each, 8 points total)
A disk with 2200 sectors on one track is found experimentally to have an average latency of 110 msecond. Please refer reading materials in Week 7, and calculate the following:
a. What is the rotational speed of the disk? (hint: page 33 in OCW_unit-6.pdf)
b. What is the transfer time for one sector? (hint: page 37 in OCW_unit-6.pdf)
V. Process, Thread, and Scheduling (2 points each, 8 points total)
a. Explain why Round-Robin scheduling tends to favor CPU bound processes over I/O bound ones.
b. CPU scheduling quanta (i.e. the time slices assigned to each process) have remained about the same over the past 20 years, but processors are now about 1,000 times faster. Why haven't CPU scheduling quanta changed?
c. Compare the similarity and difference between process and thread.
d. For the six scheduling methods mentioned in reading materials in Week7, namely First In First Out (FIFO), Shortest Job First (SJF), Priority Scheduling, Round Robin, Dynamic Priority, and Multilevel Feedback Queues, which one is optimal with respect to shortest average wait time per process? Please explain.