- Operating Systems Basics
- Operating System (OS) Home
- Operating System Basics
- What is an Operating System
- History of Operating System
- Mainframe Operating System
- Server Operating System
- Multiprocessor Operating System
- Personal Computer OS
- Real-Time Operating System
- Embedded Operating System
- Smart Card Operating System
- OS Processors
- OS Memory
- OS System Calls
- Operating System Structure
- OS Processes and Threads
- OS Processes
- OS Process Model
- OS Process Creation
- OS Process Termination
- OS Process Hierarchies
- OS Process States
- OS Process Implementation
- OS Threads
- OS Thread Model
- OS Thread Implementation
- OS Pop-up Threads
- OS Interprocess Communication
- OS Scheduling
- OS Thread Scheduling
- OS Deadlocks
- OS Deadlocks
- OS Deadlock Resources
- OS Deadlock Conditions
- OS Deadlock Modelling
- OS Deadlock Detection
- OS Deadlock Recovery
- OS Deadlock Avoidance
- OS Deadlock Prevention
- OS Two-Phase Locking
- OS Memory Management
- OS Memory Management
- OS Monoprogramming
- OS Multiprogramming
- OS Relocation and Protection
- Memory Management with Bitmap
- Memory Management with Linked List
- OS Virtual Memory
- OS Page Replacement Algorithms
- OS Local vs Global Allocation Policie
- OS Load Control
- OS Page Size
- OS Separate Instruction & Data Space
- OS Shared Pages
- OS Cleaning Policies
- OS Virtual Memory Interface
- OS Implementation Issues
- OS Involvement with Paging
- OS Page Fault Handling
- OS Instruction Backup
- OS Locking Pages in Memory
- OS Backing Store
- OS Separation of Policy & Mechanism
- OS Segmentation
- Operating System Input/Output
- Operating System Input/Output
- OS Input/Output Devices
- OS Device Controllers
- OS Memory-Mapped Input/Output
- OS Direct Memory Access DMA
- OS Input/Output Software Goals
- OS Programmed Input/Output
- OS Interrupt-Driven Input/Output
- OS Input/Output using DMA
- OS Input/Output Software Layers
- OS Disks
- OS Disk Hardware
- OS Disk Formatting
- OS Stable Storage
- OS Clocks
- OS Character-Oriented Terminals
- OS RS-232 Terminal Hardware
- OS Graphical User Interfaces
- OS Network Terminals
- OS Power Management
- OS File Systems
- OS Files
- OS File Naming
- OS File Structure
- OS File Types
- OS File Access
- OS File Attributes
- OS File Operations
- OS Memory-Mapped Files
- OS Directories
- OS Single-Level Directory System
- OS Two-Level Directory System
- OS Hierarchical Directory System
- OS Path Names
- OS Directory Operations
- OS File System Implementation
- OS File System Layout
- OS Disk Space Management
- Multimedia Operating System
- Multimedia Operating System
- OS Multimedia Files
- OS Audio Encoding
- OS Video Encoding
- OS Video Compression
- OS Multimedia Process Scheduling
- OS Multimedia File System Paradigm
- OS File Placement
- OS Caching
- OS Disk Scheduling
- OS Multiple Processor System
- OS Multiprocessors
- OS Multiprocessor Hardware
- OS Multiprocessor Synchronization
- OS Multiprocessor Scheduling
- OS Multicomputers
- OS Multicomputer Hardware
- Low-Level Communication Software
- User-Level Communication Software
- OS Remote Procedure Call
- OS Distributed Shared Memory
- OS Multicomputer Scheduling
- OS Load Balancing
- OS Distributed System
- OS Network Hardware
- OS Network Services and Protocols
- OS Document-Based Middleware
- OS File System-Based Middleware
- OS Shared Object-Based Middleware
- Operating System Security
- Operating System Security
- OS Threats
- OS Intruders
- OS Accidental Data Loss
- Basics of Cryptography
- Secret-Key Cryptography
- Public-Key Cryptography
- OS Digital Signatures
- OS User Authentication
- OS Trojan Horses
- OS Login Spoofing
- OS Logic Bombs
- OS Trap Doors
- OS Viruses
- OS AntiViruses
- OS Internet Worms
- Give Online Test
- All Test List
- Operating System Test
OS Direct Memory Access DMA
It doesn't matter whether a central processing unit (CPU) does/doesn't have memory-mapped input/output, it needs the device controllers to exchange the data with them.
Central processing unit can request data from an input/output controller one byte at a time. But it wastes time on doing this, therefore a different way is used called as Direct Memory Access (DMA).
The OS can use direct memory access only if the hardware has a direct memory access controller.
The direct memory access controller can be integrated into disk/other controllers. But this type of design requires a separate direct memory access controller for each devices.
Generally, a single direct memory access (DMA) controller is available for regulating transfers to more than one devices or multiple devices, sometime at the same time.
It doesn't matter where the direct memory access controller is physically located, it has access to the system bus independent of the central processing unit as shown in the figure given below:

The direct memory access controller contains following several registers that can be written and read by the central processing unit:
- Memory address register
- Byte count register
- One or more control register(s)
Here the control register(s) specify the input/output port to use, the transfer direction, the transfer unit, and the byte numbers to transfer in one burst.
« Previous Tutorial Next Tutorial »
Like/Share Us on Facebook 😋