Logout

6.5.2 Define direct memory access (DMA) and buffer.

(No teaching notes for this one.

JSR Notes:

DMA Definition: Short for direct memory access, a technique for transferring data from main memory to a device without passing it through the CPU. Computers that have DMA channels can transfer data to and from devices much more quickly than computers without a DMA channel can. This is useful for making quick backups and for real-time applications.
The point here is that if all you’re doing is backing up something, then there’s no need to have the CPU involved except to tell it where to go.  So if there is a channel established for just this sort of backing-up task, then it can be used instead of wasting time going back and forth to the CPU just to be told where to go.

Could Time Machine actually use DMA?  Don’t think so, but not only would that make it faster, but it wouldn’t burden the CPU with backing up tasks.  But since there is compression involved I have my doubts.

Buffer Definition: A temporary storage area, usually in RAM. The purpose of most buffers is to act as a holding area, enabling the CPU to manipulate data before transferring it to a device.

For the 6.5.2 definition this will do nicely, but you should develop your understanding of how buffers work as you go through the rest of 6.5.

The ‘what’ of buffers, as phrased above is straight-forward enough, and matches other buffer situations that you may be able to think of in non-IT situations.  But another main thing to recognize is the ‘why’ of buffers.  They exist because different devices are different speeds.  If they weren’t then why would we need them?  There in fact may be an answer to this.  But for our purposes, it makes sense to note that the CPU is faster than the RAM, and the RAM is able to be written to faster than the hard drive can be.  So when one device in a chain of events is faster than the other on down the line, there needs to be a place to put the stuff until such time as the next device has the ability to accommodate it. 

The best analogy is that of filling up a tea pot or whatever through a spout.  You can pour out the water from your bucket etc. faster than you want to carefully put the water in the tea pot.  So you use a funnel that can hold a lot of water temporarily as a steady, all-be-it small rate of water exits through the narrow funnel.  Another similar analogy would be eavestroughing that collects water running off the roof.  It can only go through the drain at a certain slow rate, so it is collected above.