

Study with the several resources on Docsity
Earn points by helping other students or get them with a premium plan
Prepare for your exams
Study with the several resources on Docsity
Earn points to download
Earn points by helping other students or get them with a premium plan
Material Type: Assignment; Class: Operating System Kernels; Subject: Computer Science and Engineering ; University: University of Nebraska - Lincoln; Term: Fall 2001;
Typology: Assignments
1 / 2
This page cannot be seen from the preview
Don't miss anything!


(5 points) If a disk controller writes the bytes it receives from the disk to memory as fast as it receives them, with no internal buffering, is interleaving conceivably useful? Explain.
(10 points) Consider a disk that is doubled interleaved, as in Fig 3-4(c) of your text. It has eight sectors of 512 bytes per track and a rotation rate of 300 rpm.
How long does it take to read all the sectors of a track in order, assuming the arm is already correctly positioned, and ½ rotation is needed to get sector 0 under the head?
What is the data transfer rate from the disk (to the controller)?
How long does it take to read all the sectors of a track in order, assuming the arm is already correctly positioned, and ½ rotation is needed to get sector 0 under the head?
What is the data transfer rate from the disk (to the controller)?
Given the performance degradation, why is disk interleaving commonly used?
(10 points) The DM-11 terminal multiplexer, which was used on the (now ancient) PDP- 11, sampled each (half-duplex) terminal line at seven times the baud rate to see if the incoming bit was a 0 or a 1. Sampling the line took 5.7 microseconds. How many 1200- baud lines could the DM-11 support?
(10 points) A local area network is used as follows. The user issues a system call to write data packets to the network. The OS then copies the data to a kernel buffer. Then it copies the data to the network controller board. When all the bytes are safely inside the controller, they are sent over the network at a rate of 10 megabits/sec. The receiving network controller stores each bit a microsecond after it is sent. When the last bit arrives, the destination CPU is interrupted, and the kernel copies the newly arrived packet to a kernel buffer to inspect it. Once it has figured out which user the packet is for, the kernel copies the data to the user’s space.
Assume that each interrupt and its associated processing takes 1 millisecond, that packets are 1024 bytes (ignore headers), and that copying a byte takes 1 microsecond. Further, assume that the send is blocked until the work is finished at the receiving side and an acknowledgement comes back. For simplicity, however, assume that the time to get the acknowledgement back is so small it can be ignored.
What is the maximum rate at which one process can pump data to another?
(10 points) The message format of Figure 3-15 in your text is used for sending request messages to block device drivers. Which fields, if any, could be omitted for messages to character device drivers? Explain.
(10 points) Disk requests come in to the disk driver for cylinders 10, 22, 20, 2, 40, 6, and 38, in that order. A seek takes 5 msec per cylinder moved. How much seek time is needed for
A) First-Come, First Served (FCFS).
B) Shortest Seek First (SSF).
C) Elevator algorithm (initially moving upward).
What happens if a user process accidentally sends a message to a block device driver (task)?
Describe a solution to this problem (i.e., how could the code be changed so that a mistaken message is handled more gracefully).
What does this routine do for a RAM disk?
What does this routine do for a normal hard disk?
(5 points) What does the routine clock_mess() do. Why is it used?
(5 points) What does a call to enable_iop() do? Why is it used?