CS609 System Programming Assignment 3 Solution Spring 2013

Question 1:                                                                                                                               Marks 10     

Can we use DMA in protected mode or virtual mode of memory? Explain your answer with a solid reason.


The process for performing DMA transfers in the protected mode Windows environment should be similiar to the process for performing DMA transfers in the real mode MS-DOS environment. In both environments, you must initialize the DMA controller with the starting base address, page address, transfer count, and mode. In both environments, you would usually install a hardware interrupt handler to handle terminal count interrupts when a DMA transfer is complete.

In enhanced mode Windows, the Virtual DMA Device (VDMAD) attempts to hide the virtual memory issues from device drivers that are not fully aware of the virtual memory environment. The main purpose of VDMAD is to convert linear addresses virtually programmed into the DMA controller into physical addresses. This is necessary because Windows applications and DLLs that are not fully aware of the virtual memory environmentonly deal with linear addresses, but the DMA controller only deals with physical addresses.


DMA is the hardware mechanism that allows peripheral components to transfer their I/O data directly to and from main memory without the need to involve the system processor. Use of this mechanism can greatly increase throughput to and from a device, because a great deal of computational overhead is eliminated 

Question 2:                                                                                                                               Marks 10     

Compare all accessing mechanisms of a magnetic disk with limitations and uses, and which mechanism will be used for accessing of 1 Terabyte disk?


Magnetic storage media can be classified as either sequential access memory or random access memory although in some cases the distinction is not perfectly clear. The access time can be defined as the average time needed to gain access to stored records. In the case of magnetic wire, the read/write head only covers a very small part of the recording surface at any given time. Accessing different parts of the wire involves winding the wire forward or backward until the point of interest is found. The time to access this point depends on how far away it is from the starting point. The case of ferrite-core memory is the opposite. Every core location is immediately accessible at any given time.

Hard disks and modern linear serpentine tape drives do not precisely fit into either category. Both have many parallel tracks across the width of the media and the read/write heads take time to switch between tracks and to scan within tracks. Different spots on the storage media take different amounts of time to access. For a hard disk this time is typically less than 10 ms, but tapes might take as much as 100 s. The optical disc revolution started with CDs and then moved on to DVDs, and we’re in the midst of the next-gen battle between HD DVD and Blu-ray. Since the birth of the CD 25 years ago, we’ve gone from 600MB to a whopping 50GB of storage capacity on these little, convenient and versatile discs. The company claims that they can store up to 1TB (1,000GB) on an optical disc with the same dimensions—only slightly thicker—than a regular DVD and will be able to store 5TB once the jump to blue lasers is made. The 1TB disc is divided into 200 different layers, each comprising 5GB of storage space. Unlike standard multilayer DVDs, the layers aren’t physically stacked and stuck together.