Consider a disk with the following specifications: 20 surfaces, 1000 tracks/surface, 16 sectors/track, data density 1 KB/sector, rotation speed 3000 rpm. The operating system initiates the transfer between the disk and the memory sector-wise. Once the head has been placed on the right track, the disk reads a sector in a single scan. It reads bits from the sector while the head is passing over the sector. The read bits are formed into bytes in a serial-in-parallel-out buffer and each byte is then transferred to memory. The disk writing is exactly a complementary process.
For parts (C) and (D) below, assume memory read-write time = 0.1 microseconds/byte, interrupt driven transfer has an interrupt overhead = 0.4 microseconds, the DMA initialization, and termination overhead is negligible compared to the total sector transfer time. DMA requests are always granted.
- What is the total capacity of the desk?
- What is the data transfer rate?
- What is the percentage of time the CPU is required for this disk I/O for byte-wise interrupts driven transfer?
- What is the maximum percentage of time the CPU is held up for this disk I/O for cycle-stealing DMA transfer?
View worked solution
Answer: 800
This is a multi-part question. The given key 800 corresponds to the Data Transfer Rate (in KB/s) asked in Part (B). Below is the step-by-step solution for all parts:
Part (A): Total Capacity of the Disk
Part (B): Data Transfer Rate
- Rotation speed = .
- Data read per rotation (1 track) = .
- .
Part (C): CPU Percentage for Interrupt-Driven Transfer
- Time to read 1 sector = .
- Assuming for transfer calculations, time per byte = .
- CPU time per byte = .
- .
Part (D): CPU Hold-up Percentage for Cycle-Stealing DMA
- DMA steals 1 memory cycle () per byte transfer.
- .
Free practice · Your answers on this page are not saved.
